From fbcb790c42be28b277aa8298f6432bb6271a5d6b Mon Sep 17 00:00:00 2001 From: Jan Starzak Date: Tue, 21 Jan 2025 14:23:20 +0100 Subject: [PATCH] fix(Stream Deck): update elgato-stream-deck library to resolve an issue with slow discovery of HID devices --- package.json | 6 +- packages/input-gateway/package.json | 16 +- packages/input-gateway/src/coreHandler.ts | 2 +- .../input-gateway/src/inputManagerHandler.ts | 8 +- packages/input-manager/package.json | 8 +- .../input-manager/src/generated/streamdeck.ts | 4 +- packages/input-manager/src/inputManager.ts | 2 +- .../src/integrations/streamdeck/index.ts | 165 ++--- yarn.lock | 590 ++++++++++++------ 9 files changed, 524 insertions(+), 277 deletions(-) diff --git a/package.json b/package.json index 66108d5..6aa5b9d 100644 --- a/package.json +++ b/package.json @@ -23,7 +23,7 @@ "unitci": "yarn workspaces foreach --all run unitci", "dev:manager": "cd packages/input-manager && run build:watch", "dev:gateway": "nodemon --config nodemon.json", - "dev": "concurrently \"yarn dev:manager\" \"yarn dev:gateway\"", + "dev": "concurrently \"yarn dev:manager\" --handle-input \"yarn dev:gateway\"", "release:set-version": "lerna version --exact --no-changelog --no-git-tag-version --no-push --yes", "release:bump-release": "lerna version --exact --conventional-commits --conventional-graduate --tag-version-prefix='v' --no-push", "release:bump-prerelease": "lerna version --exact --conventional-commits --conventional-prerelease --tag-version-prefix='v' --no-push", @@ -57,13 +57,13 @@ "ts-jest": "^29.1.2", "ts-node": "^10.9.2", "type-fest": "^4.18.2", - "typescript": "~5.1.3", + "typescript": "5.6.3", "zip-a-folder": "^3.1.6" }, "prettier": "@sofie-automation/code-standard-preset/.prettierrc.json", "packageManager": "yarn@4.2.2", "dependencies": { - "@yao-pkg/pkg": "^5.11.5" + "@yao-pkg/pkg": "6.2.0" }, "resolutions": { "node-hid": "npm:@julusian/hid@3.0.1-0" diff --git a/packages/input-gateway/package.json b/packages/input-gateway/package.json index 850f97c..5730373 100644 --- a/packages/input-gateway/package.json +++ b/packages/input-gateway/package.json @@ -26,7 +26,7 @@ "scripts": { "start": "node dist/index.js", "build": "run -T -B rimraf dist && run build:main", - "buildstart": "run build && run start -id localDevInp", + "buildstart": "run build && run start -id localDevInp -token localDevInp", "build:main": "run -T -B tsc -p tsconfig.build.json", "lint:raw": "run -T g:eslint --ext .ts --ext .js --ext .tsx --ext .jsx --ignore-pattern dist", "lint": "run lint:raw .", @@ -73,13 +73,13 @@ ], "dependencies": { "@sofie-automation/input-manager": "0.3.0", - "@sofie-automation/server-core-integration": "1.51.0-nightly-release51-20240524-100952-fa306dc.0", - "@sofie-automation/shared-lib": "1.51.0-nightly-release51-20240524-100952-fa306dc.0", + "@sofie-automation/server-core-integration": "1.51.6", + "@sofie-automation/shared-lib": "1.51.6", "debug": "^4.3.4", - "eventemitter3": "^4.0.7", - "p-all": "^3.0.0", - "p-queue": "^6.6.2", - "p-timeout": "^3.2.0", + "eventemitter3": "5.0.1", + "p-all": "5.0.0", + "p-queue": "8.0.1", + "p-timeout": "6.1.4", "sprintf-js": "^1.1.3", "tslib": "^2.6.2", "underscore": "^1.13.6", @@ -98,7 +98,7 @@ "./package.json" ], "targets": [ - "node18-win" + "node22-win" ], "outputPath": "deploy" } diff --git a/packages/input-gateway/src/coreHandler.ts b/packages/input-gateway/src/coreHandler.ts index 36f4f65..6dc96c8 100644 --- a/packages/input-gateway/src/coreHandler.ts +++ b/packages/input-gateway/src/coreHandler.ts @@ -199,7 +199,7 @@ export class CoreHandler { this.logger.info('Loglevel: ' + this.logger.level) } - this.logger.info('Changed PeripheralDevice: ' + JSON.stringify(device)) + this.logger.info('Changed PeripheralDevice') if (this._onChanged) this._onChanged() } } diff --git a/packages/input-gateway/src/inputManagerHandler.ts b/packages/input-gateway/src/inputManagerHandler.ts index d1fdf81..4094ec5 100644 --- a/packages/input-gateway/src/inputManagerHandler.ts +++ b/packages/input-gateway/src/inputManagerHandler.ts @@ -33,6 +33,8 @@ import { PeripheralDevicePubSubCollectionsNames, } from '@sofie-automation/server-core-integration' import { literal, sleep } from '@sofie-automation/shared-lib/dist/lib/lib' +// Eslint doesn't seee p-queue, because it's hoisted, but TypeScript does +// eslint-disable-next-line node/no-missing-import import PQueue from 'p-queue' import { InputGatewaySettings } from './generated/options' @@ -140,8 +142,6 @@ export class InputManagerHandler { async initInputManager(settings: DeviceSettings): Promise { this.#logger.info('Initializing Input Manager with the following settings:') - this.#logger.info(JSON.stringify(settings)) - this.#deviceSettings = settings this.#inputManager = await this.#createInputManager(settings) @@ -650,9 +650,7 @@ export class InputManagerHandler { contentLayerLongName = previewedAdlibs[0].sourceLayerName?.name contentLayerShortName = previewedAdlibs[0].sourceLayerName?.abbreviation contentLabel = previewedAdlibs.map((adlib) => InputManagerHandler.getStringLabel(adlib.label)).join(', ') - contentTypes = previewedAdlibs - .map((adlib) => adlib.sourceLayerType) - .filter((a) => a !== undefined) as SourceLayerType[] + contentTypes = previewedAdlibs.map((adlib) => adlib.sourceLayerType).filter((a) => a !== undefined) styleClassNames = previewedAdlibs[0].styleClassNames } } diff --git a/packages/input-manager/package.json b/packages/input-manager/package.json index 93d51a1..c6b5672 100644 --- a/packages/input-manager/package.json +++ b/packages/input-manager/package.json @@ -91,14 +91,14 @@ "production" ], "dependencies": { - "@elgato-stream-deck/node": "^6.2.0", + "@elgato-stream-deck/node": "7.1.2", "@julusian/jpeg-turbo": "^2.1.0", "easymidi": "^3.1.0", - "eventemitter3": "^4.0.7", + "eventemitter3": "5.0.1", "fold-to-ascii": "^5.0.1", - "lru-cache": "^10.4.2", + "lru-cache": "11.0.2", "osc": "^2.4.4", - "skia-canvas": "^1.0.2", + "skia-canvas": "2.0.1", "xkeys": "^3.1.1" }, "peerDependencies": { diff --git a/packages/input-manager/src/generated/streamdeck.ts b/packages/input-manager/src/generated/streamdeck.ts index 6b87127..a375d6b 100644 --- a/packages/input-manager/src/generated/streamdeck.ts +++ b/packages/input-manager/src/generated/streamdeck.ts @@ -29,7 +29,7 @@ export interface StreamdeckStylePreset { fontWeight?: 'normal' | 'bold' fontWidth?: 'normal' | 'narrow' fontStyle?: 'normal' | 'italic' - color?: boolean & string + color?: string textStrokeColor?: string textShadowColor?: string textShadowOffset?: number @@ -43,7 +43,7 @@ export interface StreamdeckStylePreset { | 'left bottom' | 'center bottom' | 'right bottom' - textTransform?: 'capitalize' | 'uppercase' | 'lowercase' + textTransform?: 'none' | 'capitalize' | 'uppercase' | 'lowercase' lineClamp?: number inlineBackground?: string inlineBackgroundPadding?: string diff --git a/packages/input-manager/src/inputManager.ts b/packages/input-manager/src/inputManager.ts index 4a1ee42..be6b0a3 100644 --- a/packages/input-manager/src/inputManager.ts +++ b/packages/input-manager/src/inputManager.ts @@ -97,7 +97,7 @@ class InputManager extends EventEmitter { } private refreshDevicesInterval = (): void => { - this.#logger.silly(`Refreshing devices... ${this.#refreshRunning}`) + this.#logger.silly(`Refreshing devices... Is already running: ${this.#refreshRunning}`) if (this.#refreshRunning === true) return this.#refreshRunning = true diff --git a/packages/input-manager/src/integrations/streamdeck/index.ts b/packages/input-manager/src/integrations/streamdeck/index.ts index 8d376d0..7c477f1 100644 --- a/packages/input-manager/src/integrations/streamdeck/index.ts +++ b/packages/input-manager/src/integrations/streamdeck/index.ts @@ -1,8 +1,14 @@ -import { listStreamDecks, openStreamDeck, StreamDeck } from '@elgato-stream-deck/node' +import { + listStreamDecks, + openStreamDeck, + StreamDeck, + StreamDeckButtonControlDefinitionLcdFeedback, + StreamDeckControlDefinition, +} from '@elgato-stream-deck/node' import { Logger } from '../../logger' import { Device } from '../../devices/device' import { FeedbackStore } from '../../devices/feedbackStore' -import { DEFAULT_ANALOG_RATE_LIMIT, Symbols } from '../../lib' +import { assertNever, DEFAULT_ANALOG_RATE_LIMIT, Symbols } from '../../lib' import { BitmapFeedback, Feedback, SomeFeedback } from '../../feedback/feedback' import { getBitmap } from '../../feedback/bitmap' import { StreamDeckDeviceOptions, StreamdeckStylePreset } from '../../generated' @@ -14,9 +20,6 @@ export class StreamDeckDevice extends Device { private config: StreamDeckDeviceOptions private feedbacks = new FeedbackStore() private isButtonDown: Record = {} - private BTN_SIZE: number | undefined = undefined - private ENC_SIZE_WIDTH: number | undefined = undefined - private ENC_SIZE_HEIGHT: number | undefined = undefined constructor(config: StreamDeckDeviceOptions, logger: Logger) { super(logger) @@ -46,17 +49,14 @@ export class StreamDeckDevice extends Device { }) if (!device) throw new Error(`Could not open device: "${deviceInfo.path}"`) this.streamDeck = device - this.BTN_SIZE = this.streamDeck.ICON_SIZE - this.ENC_SIZE_HEIGHT = this.streamDeck.LCD_ENCODER_SIZE?.height - this.ENC_SIZE_WIDTH = this.streamDeck.LCD_ENCODER_SIZE?.width const brightness = this.config.brightness ?? DEFAULT_BRIGHTNESS this.streamDeck.setBrightness(brightness).catch((err) => { this.logger.error(`Error setting brightness: ${err}`, err) }) - this.streamDeck.addListener('down', (key) => { - const id = `${key}` + this.streamDeck.addListener('down', (control) => { + const id = StreamDeckDevice.getTriggerId(control) const triggerId = `${id} ${Symbols.DOWN}` this.addTriggerEvent({ triggerId }) @@ -65,8 +65,8 @@ export class StreamDeckDevice extends Device { this.quietUpdateFeedbackWithDownState(id) }) - this.streamDeck.addListener('up', (key) => { - const id = `${key}` + this.streamDeck.addListener('up', (control) => { + const id = StreamDeckDevice.getTriggerId(control) const triggerId = `${id} ${Symbols.UP}` this.addTriggerEvent({ triggerId }) @@ -75,56 +75,22 @@ export class StreamDeckDevice extends Device { this.quietUpdateFeedbackWithDownState(id) }) - this.streamDeck.addListener('encoderDown', (encoder) => { - const id = `Enc${encoder}` - const triggerId = `${id} ${Symbols.DOWN}` - - this.addTriggerEvent({ triggerId }) - - this.isButtonDown[id] = true - - this.quietUpdateFeedbackWithDownState(id) - }) - this.streamDeck.addListener('encoderUp', (encoder) => { - const id = `Enc${encoder}` - const triggerId = `${id} ${Symbols.UP}` - - this.addTriggerEvent({ triggerId }) - - this.isButtonDown[id] = false - - this.quietUpdateFeedbackWithDownState(id) - }) - this.streamDeck.addListener('rotateLeft', (encoder, deltaValue) => { - const id = `Enc${encoder}` - const triggerId = `${id} ${Symbols.JOG}` - - this.updateTriggerAnalog({ triggerId, rateLimit: DEFAULT_ANALOG_RATE_LIMIT }, (prev?: { deltaValue: number }) => { - if (!prev) prev = { deltaValue: 0 } - return { - deltaValue: prev.deltaValue - deltaValue, - direction: -1, - } - }) - - this.quietUpdateFeedbackWithDownState(id) - }) - this.streamDeck.addListener('rotateRight', (encoder, deltaValue) => { - const id = `Enc${encoder}` + this.streamDeck.addListener('rotate', (control, deltaValue) => { + const id = StreamDeckDevice.getTriggerId(control) const triggerId = `${id} ${Symbols.JOG}` this.updateTriggerAnalog({ triggerId, rateLimit: DEFAULT_ANALOG_RATE_LIMIT }, (prev?: { deltaValue: number }) => { if (!prev) prev = { deltaValue: 0 } return { deltaValue: prev.deltaValue + deltaValue, - direction: 1, + direction: -1, } }) this.quietUpdateFeedbackWithDownState(id) }) - this.streamDeck.addListener('lcdShortPress', (encoder, position) => { - const id = `Enc${encoder}` + this.streamDeck.addListener('lcdShortPress', (control, position) => { + const id = StreamDeckDevice.getTriggerId(control) const triggerId = `${id} Tap` this.addTriggerEvent({ @@ -137,8 +103,8 @@ export class StreamDeckDevice extends Device { this.quietUpdateFeedbackWithDownState(id) }) - this.streamDeck.addListener('lcdLongPress', (encoder, position) => { - const id = `Enc${encoder}` + this.streamDeck.addListener('lcdLongPress', (control, position) => { + const id = StreamDeckDevice.getTriggerId(control) const triggerId = `${id} Press` this.addTriggerEvent({ @@ -151,15 +117,13 @@ export class StreamDeckDevice extends Device { this.quietUpdateFeedbackWithDownState(id) }) - this.streamDeck.addListener('lcdSwipe', (fromEncoder, toEncoder, from, to) => { - const id = `Enc${fromEncoder}` + this.streamDeck.addListener('lcdSwipe', (control, from, to) => { + const id = StreamDeckDevice.getTriggerId(control) const triggerId = `${id} Swipe` this.addTriggerEvent({ triggerId, arguments: { - fromEncoder, - toEncoder, fromXPosition: from.x, fromYPosition: from.y, toXPosition: to.x, @@ -182,10 +146,61 @@ export class StreamDeckDevice extends Device { await this.streamDeck.close() } + private isValidButtonIndex(index: number): boolean { + return !!this.streamDeck?.CONTROLS.find((control) => control.type === 'button' && control.index === index) + } + + private getLCDSizeForButtonIndex(index: number): { width: number; height: number } { + const control = this.streamDeck?.CONTROLS.find( + (control): control is StreamDeckButtonControlDefinitionLcdFeedback => + control.type === 'button' && control.feedbackType === 'lcd' && control.index === index + ) + if (!control) { + throw new Error(`Unknown button index: ${index} or button does not have LCD feedback type`) + } + return { width: control.pixelSize.width, height: control.pixelSize.height } + } + + private getLCDSizeForLCDSegmentId(id: number): { width: number; height: number } { + const control = this.streamDeck?.CONTROLS.find( + (control): control is StreamDeckButtonControlDefinitionLcdFeedback => + control.type === 'lcd-segment' && control.id === id + ) + if (!control) { + throw new Error(`Unknown LCD Segment id: ${id} or button does not have LCD feedback type`) + } + return { width: control.pixelSize.width, height: control.pixelSize.height } + } + + private static getPrefixForControl(control: StreamDeckControlDefinition): string { + switch (control.type) { + case 'button': + return '' + case 'encoder': + return 'Enc' + case 'lcd-segment': + return 'LCD' + default: + assertNever(control) + return 'Unknown' + } + } + + private static getTriggerId(control: StreamDeckControlDefinition): string { + const prefix = StreamDeckDevice.getPrefixForControl(control) + switch (control.type) { + case 'lcd-segment': + return `${prefix}${control.id}` + default: + return `${prefix}${control.index}` + } + } + private static parseTriggerId(triggerId: string): { id: string key: number | undefined encoder: number | undefined + lcdSegment: number | undefined action: string } { const triggerElements = triggerId.split(/\s+/) @@ -193,54 +208,62 @@ export class StreamDeckDevice extends Device { const action = triggerElements[1] ?? '' let key: number | undefined = undefined let encoder: number | undefined = undefined + let lcdSegment: number | undefined = undefined let result = null if ((result = id.match(/^Enc(\d+)$/))) { encoder = Number(result[1]) ?? 0 - return { id, key, encoder, action } + lcdSegment = encoder + return { id, key, encoder, lcdSegment, action } + } else if ((result = id.match(/^LCD(\d+)$/))) { + lcdSegment = encoder + return { id, key, encoder, lcdSegment, action } } key = Number(id) ?? 0 - return { id, key, encoder, action } + return { id, key, encoder, lcdSegment, action } } private updateFeedback = async (trigger: string, isDown: boolean): Promise => { const streamdeck = this.streamDeck if (!streamdeck) return - const { id, key, encoder } = StreamDeckDevice.parseTriggerId(trigger) + const { id, key, lcdSegment } = StreamDeckDevice.parseTriggerId(trigger) const feedback = this.feedbacks.get(id, ACTION_PRIORITIES) try { if (!feedback) { if (key !== undefined) await streamdeck.clearKey(key) - if (encoder !== undefined && this.ENC_SIZE_HEIGHT && this.ENC_SIZE_WIDTH) { - const imgBuffer = await getBitmap(null, this.ENC_SIZE_WIDTH, this.ENC_SIZE_HEIGHT, false) - await streamdeck.fillEncoderLcd(encoder, imgBuffer, { + + if (lcdSegment !== undefined) { + const dimensions = this.getLCDSizeForLCDSegmentId(lcdSegment) + const imgBuffer = await getBitmap(null, dimensions.width, dimensions.height, false) + await streamdeck.fillLcd(lcdSegment, imgBuffer, { format: 'rgba', }) } return } - if (key !== undefined && this.BTN_SIZE) { - this.streamDeck?.checkValidKeyIndex(key) + if (key !== undefined && this.isValidButtonIndex(key)) { + const dimensions = this.getLCDSizeForButtonIndex(key) const imgBuffer = await getBitmap( this.convertFeedbackToBitmapFeedback(feedback), - this.BTN_SIZE, - this.BTN_SIZE, + dimensions.width, + dimensions.height, isDown ) await this.streamDeck?.fillKeyBuffer(key, imgBuffer, { format: 'rgba', }) - } else if (encoder !== undefined && this.ENC_SIZE_HEIGHT && this.ENC_SIZE_WIDTH) { + } else if (lcdSegment !== undefined) { + const dimensions = this.getLCDSizeForLCDSegmentId(lcdSegment) const imgBuffer = await getBitmap( this.convertFeedbackToBitmapFeedback(feedback), - this.ENC_SIZE_WIDTH, - this.ENC_SIZE_HEIGHT, + dimensions.width, + dimensions.height, isDown ) - await streamdeck.fillEncoderLcd(encoder, imgBuffer, { + await streamdeck.fillLcd(lcdSegment, imgBuffer, { format: 'rgba', }) } diff --git a/yarn.lock b/yarn.lock index b028475..42d51cd 100644 --- a/yarn.lock +++ b/yarn.lock @@ -66,15 +66,16 @@ __metadata: languageName: node linkType: hard -"@babel/generator@npm:7.23.0": - version: 7.23.0 - resolution: "@babel/generator@npm:7.23.0" +"@babel/generator@npm:^7.23.0": + version: 7.26.5 + resolution: "@babel/generator@npm:7.26.5" dependencies: - "@babel/types": "npm:^7.23.0" - "@jridgewell/gen-mapping": "npm:^0.3.2" - "@jridgewell/trace-mapping": "npm:^0.3.17" - jsesc: "npm:^2.5.1" - checksum: 10/bd1598bd356756065d90ce26968dd464ac2b915c67623f6f071fb487da5f9eb454031a380e20e7c9a7ce5c4a49d23be6cb9efde404952b0b3f3c0c3a9b73d68a + "@babel/parser": "npm:^7.26.5" + "@babel/types": "npm:^7.26.5" + "@jridgewell/gen-mapping": "npm:^0.3.5" + "@jridgewell/trace-mapping": "npm:^0.3.25" + jsesc: "npm:^3.0.2" + checksum: 10/aa5f176155431d1fb541ca11a7deddec0fc021f20992ced17dc2f688a0a9584e4ff4280f92e8a39302627345cd325762f70f032764806c579c6fd69432542bcb languageName: node linkType: hard @@ -178,20 +179,34 @@ __metadata: languageName: node linkType: hard -"@babel/helper-string-parser@npm:^7.22.5, @babel/helper-string-parser@npm:^7.24.1": +"@babel/helper-string-parser@npm:^7.24.1": version: 7.24.1 resolution: "@babel/helper-string-parser@npm:7.24.1" checksum: 10/04c0ede77b908b43e6124753b48bc485528112a9335f0a21a226bff1ace75bb6e64fab24c85cb4b1610ef3494dacd1cb807caeb6b79a7b36c43d48c289b35949 languageName: node linkType: hard -"@babel/helper-validator-identifier@npm:^7.22.20, @babel/helper-validator-identifier@npm:^7.24.5": +"@babel/helper-string-parser@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-string-parser@npm:7.25.9" + checksum: 10/c28656c52bd48e8c1d9f3e8e68ecafd09d949c57755b0d353739eb4eae7ba4f7e67e92e4036f1cd43378cc1397a2c943ed7bcaf5949b04ab48607def0258b775 + languageName: node + linkType: hard + +"@babel/helper-validator-identifier@npm:^7.24.5": version: 7.24.5 resolution: "@babel/helper-validator-identifier@npm:7.24.5" checksum: 10/38aaf6a64a0ea2e84766165b461deda3c24fd2173dff18419a2cc9e1ea1d3e709039aee94db29433a07011492717c80900a5eb564cdca7d137757c3c69e26898 languageName: node linkType: hard +"@babel/helper-validator-identifier@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-validator-identifier@npm:7.25.9" + checksum: 10/3f9b649be0c2fd457fa1957b694b4e69532a668866b8a0d81eabfa34ba16dbf3107b39e0e7144c55c3c652bf773ec816af8df4a61273a2bb4eb3145ca9cf478e + languageName: node + linkType: hard + "@babel/helper-validator-option@npm:^7.23.5": version: 7.23.5 resolution: "@babel/helper-validator-option@npm:7.23.5" @@ -222,21 +237,23 @@ __metadata: languageName: node linkType: hard -"@babel/parser@npm:7.23.0": - version: 7.23.0 - resolution: "@babel/parser@npm:7.23.0" +"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.23.9, @babel/parser@npm:^7.24.0, @babel/parser@npm:^7.24.5": + version: 7.24.5 + resolution: "@babel/parser@npm:7.24.5" bin: parser: ./bin/babel-parser.js - checksum: 10/201641e068f8cca1ff12b141fcba32d7ccbabc586961bd1b85ae89d9695867f84d57fc2e1176dc4981fd28e5e97ca0e7c32cd688bd5eabb641a302abc0cb5040 + checksum: 10/f5ed1c5fd4b0045a364fb906f54fd30e2fff93a45069068b6d80d3ab2b64f5569c90fb41d39aff80fb7e925ca4d44917965a76776a3ca11924ec1fae3be5d1ea languageName: node linkType: hard -"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.23.9, @babel/parser@npm:^7.24.0, @babel/parser@npm:^7.24.5": - version: 7.24.5 - resolution: "@babel/parser@npm:7.24.5" +"@babel/parser@npm:^7.23.0, @babel/parser@npm:^7.26.5": + version: 7.26.5 + resolution: "@babel/parser@npm:7.26.5" + dependencies: + "@babel/types": "npm:^7.26.5" bin: parser: ./bin/babel-parser.js - checksum: 10/f5ed1c5fd4b0045a364fb906f54fd30e2fff93a45069068b6d80d3ab2b64f5569c90fb41d39aff80fb7e925ca4d44917965a76776a3ca11924ec1fae3be5d1ea + checksum: 10/d92097066e3e26625a485149f54c27899e4d94d7ef2f76d8fc9de2019212e7951940a31c0003f26ccad22e664f89ff51e5d5fe80a11eafaaec2420655010533c languageName: node linkType: hard @@ -432,17 +449,6 @@ __metadata: languageName: node linkType: hard -"@babel/types@npm:7.23.0": - version: 7.23.0 - resolution: "@babel/types@npm:7.23.0" - dependencies: - "@babel/helper-string-parser": "npm:^7.22.5" - "@babel/helper-validator-identifier": "npm:^7.22.20" - to-fast-properties: "npm:^2.0.0" - checksum: 10/ca5b896a26c91c5672254725c4c892a35567d2122afc47bd5331d1611a7f9230c19fc9ef591a5a6f80bf0d80737e104a9ac205c96447c74bee01d4319db58001 - languageName: node - linkType: hard - "@babel/types@npm:^7.0.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.22.5, @babel/types@npm:^7.23.0, @babel/types@npm:^7.24.0, @babel/types@npm:^7.24.5, @babel/types@npm:^7.3.0, @babel/types@npm:^7.3.3, @babel/types@npm:^7.8.3": version: 7.24.5 resolution: "@babel/types@npm:7.24.5" @@ -454,6 +460,16 @@ __metadata: languageName: node linkType: hard +"@babel/types@npm:^7.26.5": + version: 7.26.5 + resolution: "@babel/types@npm:7.26.5" + dependencies: + "@babel/helper-string-parser": "npm:^7.25.9" + "@babel/helper-validator-identifier": "npm:^7.25.9" + checksum: 10/148f6bead7bc39371176ba681873c930087503a8bfd2b0dab5090de32752241806c95f4e87cee8b2976bb0277c6cbc150f16c333fc90269634b711d3711c0f18 + languageName: node + linkType: hard + "@bcoe/v8-coverage@npm:^0.2.3": version: 0.2.3 resolution: "@bcoe/v8-coverage@npm:0.2.3" @@ -495,27 +511,38 @@ __metadata: languageName: node linkType: hard -"@elgato-stream-deck/core@npm:6.2.0": - version: 6.2.0 - resolution: "@elgato-stream-deck/core@npm:6.2.0" +"@elgato-stream-deck/core@npm:7.1.2": + version: 7.1.2 + resolution: "@elgato-stream-deck/core@npm:7.1.2" dependencies: - eventemitter3: "npm:^4.0.7" - tslib: "npm:^2.6.2" - checksum: 10/e4f055b77e99735f04049ad4159354e4b07cd182073d0610641906faec791a02d75d2315bbfa9340dd5560c15d2301ece9c463a374eb14bc4fd6613910402741 + eventemitter3: "npm:^5.0.1" + tslib: "npm:^2.7.0" + checksum: 10/2231b37f11f9ec7fe3a26e9315391974843f6043e511af5585bc4ac182145cbfcd97ca1c223da5613a418bff81d1ca55e48107e3bbbe94f2789e3b41ce911634 languageName: node linkType: hard -"@elgato-stream-deck/node@npm:^6.2.0": - version: 6.2.0 - resolution: "@elgato-stream-deck/node@npm:6.2.0" +"@elgato-stream-deck/node-lib@npm:7.1.2": + version: 7.1.2 + resolution: "@elgato-stream-deck/node-lib@npm:7.1.2" dependencies: - "@elgato-stream-deck/core": "npm:6.2.0" jpeg-js: "npm:^0.4.4" - node-hid: "npm:^3.0.0" - tslib: "npm:^2.6.2" + tslib: "npm:^2.6.3" peerDependencies: "@julusian/jpeg-turbo": ^1.1.2 || ^2.0.0 - checksum: 10/66f60540b92ac05684b11cf88ec0d011fa78704f6a701c1e5eb81f1864c5ddaf9a802160a2fac55bc7996188b4f3f392275098058066c2b18ef99bb5e56191a8 + checksum: 10/133e560590bffd5b023a0ac2a385ebed015defa963b9fe63a2445e129217c590bd9ee12400623dc7ca05cd718a332a695f3393ab4fdfdf28dcdbffaccf33459d + languageName: node + linkType: hard + +"@elgato-stream-deck/node@npm:7.1.2": + version: 7.1.2 + resolution: "@elgato-stream-deck/node@npm:7.1.2" + dependencies: + "@elgato-stream-deck/core": "npm:7.1.2" + "@elgato-stream-deck/node-lib": "npm:7.1.2" + eventemitter3: "npm:^5.0.1" + node-hid: "npm:^3.1.0" + tslib: "npm:^2.7.0" + checksum: 10/95e0170bde21e705edf35a85da52e9b4ce196b0fb5a13f6a7197c187fa6ff7a8d2a60849aad784bce43715534994be8b9f90ec149352bc489cf6eb56d8167e7b languageName: node linkType: hard @@ -614,6 +641,15 @@ __metadata: languageName: node linkType: hard +"@isaacs/fs-minipass@npm:^4.0.0": + version: 4.0.1 + resolution: "@isaacs/fs-minipass@npm:4.0.1" + dependencies: + minipass: "npm:^7.0.4" + checksum: 10/4412e9e6713c89c1e66d80bb0bb5a2a93192f10477623a27d08f228ba0316bb880affabc5bfe7f838f58a34d26c2c190da726e576cdfc18c49a72e89adabdcf5 + languageName: node + linkType: hard + "@istanbuljs/load-nyc-config@npm:^1.0.0": version: 1.1.0 resolution: "@istanbuljs/load-nyc-config@npm:1.1.0" @@ -864,7 +900,7 @@ __metadata: languageName: node linkType: hard -"@jridgewell/gen-mapping@npm:^0.3.2, @jridgewell/gen-mapping@npm:^0.3.5": +"@jridgewell/gen-mapping@npm:^0.3.5": version: 0.3.5 resolution: "@jridgewell/gen-mapping@npm:0.3.5" dependencies: @@ -906,7 +942,7 @@ __metadata: languageName: node linkType: hard -"@jridgewell/trace-mapping@npm:^0.3.12, @jridgewell/trace-mapping@npm:^0.3.17, @jridgewell/trace-mapping@npm:^0.3.18, @jridgewell/trace-mapping@npm:^0.3.24, @jridgewell/trace-mapping@npm:^0.3.25": +"@jridgewell/trace-mapping@npm:^0.3.12, @jridgewell/trace-mapping@npm:^0.3.18, @jridgewell/trace-mapping@npm:^0.3.24, @jridgewell/trace-mapping@npm:^0.3.25": version: 0.3.25 resolution: "@jridgewell/trace-mapping@npm:0.3.25" dependencies: @@ -1017,9 +1053,9 @@ __metadata: languageName: node linkType: hard -"@mapbox/node-pre-gyp@npm:^1.0.9": - version: 1.0.10 - resolution: "@mapbox/node-pre-gyp@npm:1.0.10" +"@mapbox/node-pre-gyp@npm:^1.0.11": + version: 1.0.11 + resolution: "@mapbox/node-pre-gyp@npm:1.0.11" dependencies: detect-libc: "npm:^2.0.0" https-proxy-agent: "npm:^5.0.0" @@ -1032,14 +1068,14 @@ __metadata: tar: "npm:^6.1.11" bin: node-pre-gyp: bin/node-pre-gyp - checksum: 10/ebdde8d64be15755cec0deed373b99d518aff48ff48a7e001db8d52da76df05dd9b76ccf532bb8f9fdc575b2c2517117885cd8cb5bacc31853ef32b6cc492533 + checksum: 10/59529a2444e44fddb63057152452b00705aa58059079191126c79ac1388ae4565625afa84ed4dd1bf017d1111ab6e47907f7c5192e06d83c9496f2f3e708680a languageName: node linkType: hard -"@mos-connection/model@npm:^4.1.0": - version: 4.1.0 - resolution: "@mos-connection/model@npm:4.1.0" - checksum: 10/c57eeac9f7fc0b783cafe0e64f2d46ec017cb515b4cd6f3b2fb8126252672f5354bb27f6c23abe9a56312f20497619d5e678b46ae9e204ef9d30f33490ea536c +"@mos-connection/model@npm:^4.1.1": + version: 4.2.0 + resolution: "@mos-connection/model@npm:4.2.0" + checksum: 10/ee3798f2630254a5d3c71b0d8434e3f726fba2558bca5eeccc909349744991fd60ca0d23b93d5104275d8f29bc226525fe809e56d212dc8589d20ad98eba80ee languageName: node linkType: hard @@ -1745,45 +1781,45 @@ __metadata: version: 0.0.0-use.local resolution: "@sofie-automation/input-manager@workspace:packages/input-manager" dependencies: - "@elgato-stream-deck/node": "npm:^6.2.0" + "@elgato-stream-deck/node": "npm:7.1.2" "@julusian/jpeg-turbo": "npm:^2.1.0" "@types/fold-to-ascii": "npm:^5.0.2" easymidi: "npm:^3.1.0" - eventemitter3: "npm:^4.0.7" + eventemitter3: "npm:5.0.1" fold-to-ascii: "npm:^5.0.1" - lru-cache: "npm:^10.4.2" + lru-cache: "npm:11.0.2" osc: "npm:^2.4.4" - skia-canvas: "npm:^1.0.2" + skia-canvas: "npm:2.0.1" xkeys: "npm:^3.1.1" peerDependencies: "@sofie-automation/shared-lib": "*" languageName: unknown linkType: soft -"@sofie-automation/server-core-integration@npm:1.51.0-nightly-release51-20240524-100952-fa306dc.0": - version: 1.51.0-nightly-release51-20240524-100952-fa306dc.0 - resolution: "@sofie-automation/server-core-integration@npm:1.51.0-nightly-release51-20240524-100952-fa306dc.0" +"@sofie-automation/server-core-integration@npm:1.51.6": + version: 1.51.6 + resolution: "@sofie-automation/server-core-integration@npm:1.51.6" dependencies: - "@sofie-automation/shared-lib": "npm:1.51.0-nightly-release51-20240524-100952-fa306dc.0" + "@sofie-automation/shared-lib": "npm:1.51.6" ejson: "npm:^2.2.3" eventemitter3: "npm:^4.0.7" faye-websocket: "npm:^0.11.4" got: "npm:^11.8.6" tslib: "npm:^2.6.2" underscore: "npm:^1.13.6" - checksum: 10/f8c496a5aa4b6680018923ae6377067db11da590a3a0182f4bb30a7e1af93cf5ba75623f239968634a34c37ab62dc171c09a5a8fdfb819712ef56a36ac68ce63 + checksum: 10/36f0786661dedf51ade354bb194464d5261471006e4a238102cd2761bb1500a20d05c30cb0e1e571c7b41f6b86fb7df02f9fa21c88d5e9dc0a9b67627941416c languageName: node linkType: hard -"@sofie-automation/shared-lib@npm:1.51.0-nightly-release51-20240524-100952-fa306dc.0": - version: 1.51.0-nightly-release51-20240524-100952-fa306dc.0 - resolution: "@sofie-automation/shared-lib@npm:1.51.0-nightly-release51-20240524-100952-fa306dc.0" +"@sofie-automation/shared-lib@npm:1.51.6": + version: 1.51.6 + resolution: "@sofie-automation/shared-lib@npm:1.51.6" dependencies: - "@mos-connection/model": "npm:^4.1.0" - timeline-state-resolver-types: "npm:9.1.0-nightly-release51-20240228-132329-b7ceb6950.0" + "@mos-connection/model": "npm:^4.1.1" + timeline-state-resolver-types: "npm:9.2.0" tslib: "npm:^2.6.2" type-fest: "npm:^3.13.1" - checksum: 10/183f278c8c953e06a9c1da755f0d192a7ad131dca7bf642c4e42948ee668ad26ebb640c878fe96cfe4def9549a44560561237f4964f5029879baab05e77ef3af + checksum: 10/9d15e44b01791e25e63470d6e458be5ba01d47e562a6f98188c86f369bfad94a8197d93dff21799c0708a9b612c05af99544d0870cdc0750525e1eefb92e7518 languageName: node linkType: hard @@ -2233,45 +2269,45 @@ __metadata: languageName: node linkType: hard -"@yao-pkg/pkg-fetch@npm:3.5.9": - version: 3.5.9 - resolution: "@yao-pkg/pkg-fetch@npm:3.5.9" +"@yao-pkg/pkg-fetch@npm:3.5.18": + version: 3.5.18 + resolution: "@yao-pkg/pkg-fetch@npm:3.5.18" dependencies: - chalk: "npm:^4.1.2" - fs-extra: "npm:^9.1.0" https-proxy-agent: "npm:^5.0.0" node-fetch: "npm:^2.6.6" + picocolors: "npm:^1.1.0" progress: "npm:^2.0.3" semver: "npm:^7.3.5" tar-fs: "npm:^2.1.1" yargs: "npm:^16.2.0" bin: pkg-fetch: lib-es5/bin.js - checksum: 10/9a621d5e89ba9b07299e3c66daa262f3e15af9fe62b8f247fc08f8af5d1474ca15e861ffd7ab28094bac6be9666ffb77d497d0224ac703eda09ef8feb9aba642 + checksum: 10/a4399dde3146a4109239349bf6ba59a63db87c8ecfb7a281a59c933a1582a8b63895974171933027c7041e43dc1aee4f30160a1af39d2ae8997b041a72ea2a8b languageName: node linkType: hard -"@yao-pkg/pkg@npm:^5.11.5": - version: 5.11.5 - resolution: "@yao-pkg/pkg@npm:5.11.5" +"@yao-pkg/pkg@npm:6.2.0": + version: 6.2.0 + resolution: "@yao-pkg/pkg@npm:6.2.0" dependencies: - "@babel/generator": "npm:7.23.0" - "@babel/parser": "npm:7.23.0" - "@babel/types": "npm:7.23.0" - "@yao-pkg/pkg-fetch": "npm:3.5.9" - chalk: "npm:^4.1.2" - fs-extra: "npm:^9.1.0" - globby: "npm:^11.1.0" + "@babel/generator": "npm:^7.23.0" + "@babel/parser": "npm:^7.23.0" + "@babel/types": "npm:^7.23.0" + "@yao-pkg/pkg-fetch": "npm:3.5.18" into-stream: "npm:^6.0.0" - is-core-module: "npm:2.9.0" minimist: "npm:^1.2.6" multistream: "npm:^4.1.0" - prebuild-install: "npm:7.1.1" + picocolors: "npm:^1.1.0" + picomatch: "npm:^4.0.2" + prebuild-install: "npm:^7.1.1" resolve: "npm:^1.22.0" stream-meter: "npm:^1.0.4" + tar: "npm:^7.4.3" + tinyglobby: "npm:^0.2.9" + unzipper: "npm:^0.12.3" bin: pkg: lib-es5/bin.js - checksum: 10/28e95f541b01e1121e030717a9dcc821bf376aeba37459f14973916e25b6ee439fc11575bafea03481737fb2c8a28e9df82c82cc0ab158abbbe3262c93d18847 + checksum: 10/4c41a4193c1516766ac0421e47cc27a09e23d28e6b6eb681458b4c884a55af95617a179d3f30577e8a31c756a2b7af61fa1b5ca0de57e5c5278a1038334b1d73 languageName: node linkType: hard @@ -2647,13 +2683,6 @@ __metadata: languageName: node linkType: hard -"at-least-node@npm:^1.0.0": - version: 1.0.0 - resolution: "at-least-node@npm:1.0.0" - checksum: 10/463e2f8e43384f1afb54bc68485c436d7622acec08b6fad269b421cb1d29cebb5af751426793d0961ed243146fe4dc983402f6d5a51b720b277818dbf6f2e49e - languageName: node - linkType: hard - "axios@npm:^1.6.0, axios@npm:^1.6.5": version: 1.6.8 resolution: "axios@npm:1.6.8" @@ -2794,6 +2823,13 @@ __metadata: languageName: node linkType: hard +"bluebird@npm:~3.7.2": + version: 3.7.2 + resolution: "bluebird@npm:3.7.2" + checksum: 10/007c7bad22c5d799c8dd49c85b47d012a1fe3045be57447721e6afbd1d5be43237af1db62e26cb9b0d9ba812d2e4ca3bac82f6d7e016b6b88de06ee25ceb96e7 + languageName: node + linkType: hard + "brace-expansion@npm:^1.1.7": version: 1.1.11 resolution: "brace-expansion@npm:1.1.11" @@ -3157,6 +3193,13 @@ __metadata: languageName: node linkType: hard +"chownr@npm:^3.0.0": + version: 3.0.0 + resolution: "chownr@npm:3.0.0" + checksum: 10/b63cb1f73d171d140a2ed8154ee6566c8ab775d3196b0e03a2a94b5f6a0ce7777ee5685ca56849403c8d17bd457a6540672f9a60696a6137c7a409097495b82c + languageName: node + linkType: hard + "ci-info@npm:^3.2.0, ci-info@npm:^3.6.1": version: 3.9.0 resolution: "ci-info@npm:3.9.0" @@ -4021,6 +4064,15 @@ __metadata: languageName: node linkType: hard +"duplexer2@npm:~0.1.4": + version: 0.1.4 + resolution: "duplexer2@npm:0.1.4" + dependencies: + readable-stream: "npm:^2.0.2" + checksum: 10/f60ff8b8955f992fd9524516e82faa5662d7aca5b99ee71c50bbbe1a3c970fafacb35d526d8b05cef8c08be56eed3663c096c50626c3c3651a52af36c408bf4d + languageName: node + linkType: hard + "duplexer@npm:^0.1.1": version: 0.1.2 resolution: "duplexer@npm:0.1.2" @@ -4481,6 +4533,13 @@ __metadata: languageName: node linkType: hard +"eventemitter3@npm:5.0.1, eventemitter3@npm:^5.0.1": + version: 5.0.1 + resolution: "eventemitter3@npm:5.0.1" + checksum: 10/ac6423ec31124629c84c7077eed1e6987f6d66c31cf43c6fcbf6c87791d56317ce808d9ead483652436df171b526fc7220eccdc9f3225df334e81582c3cf7dd5 + languageName: node + linkType: hard + "eventemitter3@npm:^4.0.4, eventemitter3@npm:^4.0.7": version: 4.0.7 resolution: "eventemitter3@npm:4.0.7" @@ -4488,13 +4547,6 @@ __metadata: languageName: node linkType: hard -"eventemitter3@npm:^5.0.1": - version: 5.0.1 - resolution: "eventemitter3@npm:5.0.1" - checksum: 10/ac6423ec31124629c84c7077eed1e6987f6d66c31cf43c6fcbf6c87791d56317ce808d9ead483652436df171b526fc7220eccdc9f3225df334e81582c3cf7dd5 - languageName: node - linkType: hard - "execa@npm:5.0.0": version: 5.0.0 resolution: "execa@npm:5.0.0" @@ -4692,6 +4744,18 @@ __metadata: languageName: node linkType: hard +"fdir@npm:^6.4.2": + version: 6.4.3 + resolution: "fdir@npm:6.4.3" + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true + checksum: 10/8e6d20f4590dc168de1374a9cadaa37e20ca6e0b822aa247c230e7ea1d9e9674a68cd816146435e4ecc98f9285091462ab7e5e56eebc9510931a1794e4db68b2 + languageName: node + linkType: hard + "fecha@npm:^4.2.0": version: 4.2.3 resolution: "fecha@npm:4.2.3" @@ -4903,18 +4967,6 @@ __metadata: languageName: node linkType: hard -"fs-extra@npm:^9.1.0": - version: 9.1.0 - resolution: "fs-extra@npm:9.1.0" - dependencies: - at-least-node: "npm:^1.0.0" - graceful-fs: "npm:^4.2.0" - jsonfile: "npm:^6.0.1" - universalify: "npm:^2.0.0" - checksum: 10/08600da1b49552ed23dfac598c8fc909c66776dd130fea54fbcad22e330f7fcc13488bb995f6bc9ce5651aa35b65702faf616fe76370ee56f1aade55da982dca - languageName: node - linkType: hard - "fs-minipass@npm:^2.0.0, fs-minipass@npm:^2.1.0": version: 2.1.0 resolution: "fs-minipass@npm:2.1.0" @@ -4959,7 +5011,7 @@ __metadata: languageName: node linkType: hard -"function-bind@npm:^1.1.1, function-bind@npm:^1.1.2": +"function-bind@npm:^1.1.2": version: 1.1.2 resolution: "function-bind@npm:1.1.2" checksum: 10/185e20d20f10c8d661d59aac0f3b63b31132d492e1b11fcc2a93cb2c47257ebaee7407c38513efd2b35cafdf972d9beb2ea4593c1e0f3bf8f2744836928d7454 @@ -5188,6 +5240,22 @@ __metadata: languageName: node linkType: hard +"glob@npm:^11.0.0": + version: 11.0.1 + resolution: "glob@npm:11.0.1" + dependencies: + foreground-child: "npm:^3.1.0" + jackspeak: "npm:^4.0.1" + minimatch: "npm:^10.0.0" + minipass: "npm:^7.1.2" + package-json-from-dist: "npm:^1.0.0" + path-scurry: "npm:^2.0.0" + bin: + glob: dist/esm/bin.mjs + checksum: 10/57b12a05cc25f1c38f3b24cf6ea7a8bacef11e782c4b9a8c5b0bef3e6c5bcb8c4548cb31eb4115592e0490a024c1bde7359c470565608dd061d3b21179740457 + languageName: node + linkType: hard + "glob@npm:^7.1.1, glob@npm:^7.1.3, glob@npm:^7.1.4": version: 7.2.3 resolution: "glob@npm:7.2.3" @@ -5202,7 +5270,7 @@ __metadata: languageName: node linkType: hard -"glob@npm:^8.0.0, glob@npm:^8.0.1, glob@npm:^8.0.3": +"glob@npm:^8.0.0, glob@npm:^8.0.1": version: 8.1.0 resolution: "glob@npm:8.1.0" dependencies: @@ -5276,7 +5344,7 @@ __metadata: languageName: node linkType: hard -"graceful-fs@npm:4.2.11, graceful-fs@npm:^4.1.11, graceful-fs@npm:^4.1.15, graceful-fs@npm:^4.1.2, graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.6, graceful-fs@npm:^4.2.9": +"graceful-fs@npm:4.2.11, graceful-fs@npm:^4.1.11, graceful-fs@npm:^4.1.15, graceful-fs@npm:^4.1.2, graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.2, graceful-fs@npm:^4.2.6, graceful-fs@npm:^4.2.9": version: 4.2.11 resolution: "graceful-fs@npm:4.2.11" checksum: 10/bf152d0ed1dc159239db1ba1f74fdbc40cb02f626770dcd5815c427ce0688c2635a06ed69af364396da4636d0408fcf7d4afdf7881724c3307e46aff30ca49e2 @@ -5336,15 +5404,6 @@ __metadata: languageName: node linkType: hard -"has@npm:^1.0.3": - version: 1.0.3 - resolution: "has@npm:1.0.3" - dependencies: - function-bind: "npm:^1.1.1" - checksum: 10/a449f3185b1d165026e8d25f6a8c3390bd25c201ff4b8c1aaf948fc6a5fcfd6507310b8c00c13a3325795ea9791fcc3d79d61eafa313b5750438fc19183df57b - languageName: node - linkType: hard - "hasown@npm:^2.0.0": version: 2.0.2 resolution: "hasown@npm:2.0.2" @@ -5672,7 +5731,7 @@ __metadata: "@types/node": "npm:^18.19.33" "@types/sprintf-js": "npm:^1.1.4" "@types/underscore": "npm:^1.11.15" - "@yao-pkg/pkg": "npm:^5.11.5" + "@yao-pkg/pkg": "npm:6.2.0" concurrently: "npm:^8.2.2" jest: "npm:^29.7.0" json-schema-to-typescript: "npm:^14.0.4" @@ -5684,7 +5743,7 @@ __metadata: ts-jest: "npm:^29.1.2" ts-node: "npm:^10.9.2" type-fest: "npm:^4.18.2" - typescript: "npm:~5.1.3" + typescript: "npm:5.6.3" zip-a-folder: "npm:^3.1.6" languageName: unknown linkType: soft @@ -5694,13 +5753,13 @@ __metadata: resolution: "input-gateway@workspace:packages/input-gateway" dependencies: "@sofie-automation/input-manager": "npm:0.3.0" - "@sofie-automation/server-core-integration": "npm:1.51.0-nightly-release51-20240524-100952-fa306dc.0" - "@sofie-automation/shared-lib": "npm:1.51.0-nightly-release51-20240524-100952-fa306dc.0" + "@sofie-automation/server-core-integration": "npm:1.51.6" + "@sofie-automation/shared-lib": "npm:1.51.6" debug: "npm:^4.3.4" - eventemitter3: "npm:^4.0.7" - p-all: "npm:^3.0.0" - p-queue: "npm:^6.6.2" - p-timeout: "npm:^3.2.0" + eventemitter3: "npm:5.0.1" + p-all: "npm:5.0.0" + p-queue: "npm:8.0.1" + p-timeout: "npm:6.1.4" sprintf-js: "npm:^1.1.3" tslib: "npm:^2.6.2" underscore: "npm:^1.13.6" @@ -5788,15 +5847,6 @@ __metadata: languageName: node linkType: hard -"is-core-module@npm:2.9.0": - version: 2.9.0 - resolution: "is-core-module@npm:2.9.0" - dependencies: - has: "npm:^1.0.3" - checksum: 10/1a17939da6f9c6c90073a2a13a6b79c423ed375b9ba1f87ca5daab6e706ccef6b5aaba7ebede08514441ba773ce21a0f8ce29ff2b88e68d5ede8b8de2b157bde - languageName: node - linkType: hard - "is-core-module@npm:^2.13.0, is-core-module@npm:^2.5.0, is-core-module@npm:^2.8.1": version: 2.13.1 resolution: "is-core-module@npm:2.13.1" @@ -6116,6 +6166,15 @@ __metadata: languageName: node linkType: hard +"jackspeak@npm:^4.0.1": + version: 4.0.2 + resolution: "jackspeak@npm:4.0.2" + dependencies: + "@isaacs/cliui": "npm:^8.0.2" + checksum: 10/d9722f0e55f6c322c57aedf094c405f4201b834204629817187953988075521cfddb23df83e2a7b845723ca7eb0555068c5ce1556732e9c275d32a531881efa8 + languageName: node + linkType: hard + "jake@npm:^10.8.5": version: 10.8.5 resolution: "jake@npm:10.8.5" @@ -6622,6 +6681,15 @@ __metadata: languageName: node linkType: hard +"jsesc@npm:^3.0.2": + version: 3.1.0 + resolution: "jsesc@npm:3.1.0" + bin: + jsesc: bin/jsesc + checksum: 10/20bd37a142eca5d1794f354db8f1c9aeb54d85e1f5c247b371de05d23a9751ecd7bd3a9c4fc5298ea6fa09a100dafb4190fa5c98c6610b75952c3487f3ce7967 + languageName: node + linkType: hard + "json-buffer@npm:3.0.1": version: 3.0.1 resolution: "json-buffer@npm:3.0.1" @@ -7180,6 +7248,13 @@ __metadata: languageName: node linkType: hard +"lru-cache@npm:11.0.2, lru-cache@npm:^11.0.0": + version: 11.0.2 + resolution: "lru-cache@npm:11.0.2" + checksum: 10/25fcb66e9d91eaf17227c6abfe526a7bed5903de74f93bfde380eb8a13410c5e8d3f14fe447293f3f322a7493adf6f9f015c6f1df7a235ff24ec30f366e1c058 + languageName: node + linkType: hard + "lru-cache@npm:^10.0.1, lru-cache@npm:^10.2.0": version: 10.2.2 resolution: "lru-cache@npm:10.2.2" @@ -7187,13 +7262,6 @@ __metadata: languageName: node linkType: hard -"lru-cache@npm:^10.4.2": - version: 10.4.3 - resolution: "lru-cache@npm:10.4.3" - checksum: 10/e6e90267360476720fa8e83cc168aa2bf0311f3f2eea20a6ba78b90a885ae72071d9db132f40fda4129c803e7dcec3a6b6a6fbb44ca90b081630b810b5d6a41a - languageName: node - linkType: hard - "lru-cache@npm:^5.1.1": version: 5.1.1 resolution: "lru-cache@npm:5.1.1" @@ -7517,6 +7585,15 @@ __metadata: languageName: node linkType: hard +"minimatch@npm:^10.0.0": + version: 10.0.1 + resolution: "minimatch@npm:10.0.1" + dependencies: + brace-expansion: "npm:^2.0.1" + checksum: 10/082e7ccbc090d5f8c4e4e029255d5a1d1e3af37bda837da2b8b0085b1503a1210c91ac90d9ebfe741d8a5f286ece820a1abb4f61dc1f82ce602a055d461d93f3 + languageName: node + linkType: hard + "minimatch@npm:^3.0.4, minimatch@npm:^3.0.5, minimatch@npm:^3.1.1, minimatch@npm:^3.1.2": version: 3.1.2 resolution: "minimatch@npm:3.1.2" @@ -7686,6 +7763,13 @@ __metadata: languageName: node linkType: hard +"minipass@npm:^7.1.2": + version: 7.1.2 + resolution: "minipass@npm:7.1.2" + checksum: 10/c25f0ee8196d8e6036661104bacd743785b2599a21de5c516b32b3fa2b83113ac89a2358465bc04956baab37ffb956ae43be679b2262bf7be15fce467ccd7950 + languageName: node + linkType: hard + "minizlib@npm:^2.1.1, minizlib@npm:^2.1.2": version: 2.1.2 resolution: "minizlib@npm:2.1.2" @@ -7696,6 +7780,16 @@ __metadata: languageName: node linkType: hard +"minizlib@npm:^3.0.1": + version: 3.0.1 + resolution: "minizlib@npm:3.0.1" + dependencies: + minipass: "npm:^7.0.4" + rimraf: "npm:^5.0.5" + checksum: 10/622cb85f51e5c206a080a62d20db0d7b4066f308cb6ce82a9644da112367c3416ae7062017e631eb7ac8588191cfa4a9a279b8651c399265202b298e98c4acef + languageName: node + linkType: hard + "mkdirp-classic@npm:^0.5.2, mkdirp-classic@npm:^0.5.3": version: 0.5.3 resolution: "mkdirp-classic@npm:0.5.3" @@ -8605,12 +8699,12 @@ __metadata: languageName: node linkType: hard -"p-all@npm:^3.0.0": - version: 3.0.0 - resolution: "p-all@npm:3.0.0" +"p-all@npm:5.0.0": + version: 5.0.0 + resolution: "p-all@npm:5.0.0" dependencies: - p-map: "npm:^4.0.0" - checksum: 10/267a620c2330b14246b92008f4be8758debe74e1454c8fb5808544f51fd038ac4597dbeeaa1542f237794e613cd42e4f1a58c01e5a0a6a6b21340fef616257df + p-map: "npm:^6.0.0" + checksum: 10/c9e1391871a106fdd7984cb0be6c2434793baf6e02599dbd50585738cff0388ee4204e7e09b8066126fa8bfb3f69636a5abd344c35ab2b4634c3815e06b68bab languageName: node linkType: hard @@ -8723,6 +8817,13 @@ __metadata: languageName: node linkType: hard +"p-map@npm:^6.0.0": + version: 6.0.0 + resolution: "p-map@npm:6.0.0" + checksum: 10/1fd59257b3828a4c4def676ef64acb0edb7809b161ada25efd9a0c8db312ad81c66bcaa9e5d8fd982fd20d412609aabcb8da9b090e81f6c449bc1203752ba0eb + languageName: node + linkType: hard + "p-pipe@npm:3.1.0": version: 3.1.0 resolution: "p-pipe@npm:3.1.0" @@ -8730,7 +8831,7 @@ __metadata: languageName: node linkType: hard -"p-queue@npm:6.6.2, p-queue@npm:^6.6.2": +"p-queue@npm:6.6.2": version: 6.6.2 resolution: "p-queue@npm:6.6.2" dependencies: @@ -8740,6 +8841,16 @@ __metadata: languageName: node linkType: hard +"p-queue@npm:8.0.1": + version: 8.0.1 + resolution: "p-queue@npm:8.0.1" + dependencies: + eventemitter3: "npm:^5.0.1" + p-timeout: "npm:^6.1.2" + checksum: 10/8dcf8fbb8339675eba7d369f6eebac9e249e2412280ad73938403b83a28a2627a2072c732890d22ef98837cef89ff09eecd839cbac358cdc532d00ef4f736d0d + languageName: node + linkType: hard + "p-reduce@npm:2.1.0, p-reduce@npm:^2.0.0, p-reduce@npm:^2.1.0": version: 2.1.0 resolution: "p-reduce@npm:2.1.0" @@ -8747,6 +8858,13 @@ __metadata: languageName: node linkType: hard +"p-timeout@npm:6.1.4, p-timeout@npm:^6.1.2": + version: 6.1.4 + resolution: "p-timeout@npm:6.1.4" + checksum: 10/5ee0df408ba353cc2d7036af90d2eb1724c428fd1cf67cd9110c03f0035077c29f6506bff7198dfbef4910ec558c711f21f9741d89d043a6f2c2ff82064afcaf + languageName: node + linkType: hard + "p-timeout@npm:^3.2.0": version: 3.2.0 resolution: "p-timeout@npm:3.2.0" @@ -8779,6 +8897,13 @@ __metadata: languageName: node linkType: hard +"package-json-from-dist@npm:^1.0.0": + version: 1.0.1 + resolution: "package-json-from-dist@npm:1.0.1" + checksum: 10/58ee9538f2f762988433da00e26acc788036914d57c71c246bf0be1b60cdbd77dd60b6a3e1a30465f0b248aeb80079e0b34cb6050b1dfa18c06953bb1cbc7602 + languageName: node + linkType: hard + "pacote@npm:^17.0.5": version: 17.0.7 resolution: "pacote@npm:17.0.7" @@ -8929,6 +9054,16 @@ __metadata: languageName: node linkType: hard +"path-scurry@npm:^2.0.0": + version: 2.0.0 + resolution: "path-scurry@npm:2.0.0" + dependencies: + lru-cache: "npm:^11.0.0" + minipass: "npm:^7.1.2" + checksum: 10/285ae0c2d6c34ae91dc1d5378ede21981c9a2f6de1ea9ca5a88b5a270ce9763b83dbadc7a324d512211d8d36b0c540427d3d0817030849d97a60fa840a2c59ec + languageName: node + linkType: hard + "path-type@npm:^3.0.0": version: 3.0.0 resolution: "path-type@npm:3.0.0" @@ -8959,6 +9094,13 @@ __metadata: languageName: node linkType: hard +"picocolors@npm:^1.1.0": + version: 1.1.1 + resolution: "picocolors@npm:1.1.1" + checksum: 10/e1cf46bf84886c79055fdfa9dcb3e4711ad259949e3565154b004b260cd356c5d54b31a1437ce9782624bf766272fe6b0154f5f0c744fb7af5d454d2b60db045 + languageName: node + linkType: hard + "picomatch@npm:^2.0.4, picomatch@npm:^2.2.1, picomatch@npm:^2.2.3, picomatch@npm:^2.3.1": version: 2.3.1 resolution: "picomatch@npm:2.3.1" @@ -8966,6 +9108,13 @@ __metadata: languageName: node linkType: hard +"picomatch@npm:^4.0.2": + version: 4.0.2 + resolution: "picomatch@npm:4.0.2" + checksum: 10/ce617b8da36797d09c0baacb96ca8a44460452c89362d7cb8f70ca46b4158ba8bc3606912de7c818eb4a939f7f9015cef3c766ec8a0c6bfc725fdc078e39c717 + languageName: node + linkType: hard + "pidtree@npm:0.6.0, pidtree@npm:^0.6.0": version: 0.6.0 resolution: "pidtree@npm:0.6.0" @@ -9055,9 +9204,9 @@ __metadata: languageName: node linkType: hard -"prebuild-install@npm:7.1.1": - version: 7.1.1 - resolution: "prebuild-install@npm:7.1.1" +"prebuild-install@npm:^7.1.1": + version: 7.1.2 + resolution: "prebuild-install@npm:7.1.2" dependencies: detect-libc: "npm:^2.0.0" expand-template: "npm:^2.0.3" @@ -9073,7 +9222,7 @@ __metadata: tunnel-agent: "npm:^0.6.0" bin: prebuild-install: bin.js - checksum: 10/6c70a2f82fbda8903497c560a761b000d861a3e772322c8bed012be0f0a084b5aaca4438a3fad1bd3a24210765f4fae06ddd89ea04dc4c034dde693cc0d9d5f4 + checksum: 10/32d5c026cc978dd02762b9ad3c765178aee8383aeac4303fed3cd226eff53100db038d4791b03ae1ebc7d213a7af392d26e32095579cedb8dba1d00ad08ecd46 languageName: node linkType: hard @@ -9458,6 +9607,21 @@ __metadata: languageName: node linkType: hard +"readable-stream@npm:^2.0.2": + version: 2.3.8 + resolution: "readable-stream@npm:2.3.8" + dependencies: + core-util-is: "npm:~1.0.0" + inherits: "npm:~2.0.3" + isarray: "npm:~1.0.0" + process-nextick-args: "npm:~2.0.0" + safe-buffer: "npm:~5.1.1" + string_decoder: "npm:~1.1.1" + util-deprecate: "npm:~1.0.1" + checksum: 10/8500dd3a90e391d6c5d889256d50ec6026c059fadee98ae9aa9b86757d60ac46fff24fafb7a39fa41d54cb39d8be56cc77be202ebd4cd8ffcf4cb226cbaa40d4 + languageName: node + linkType: hard + "readable-stream@npm:^3.0.0, readable-stream@npm:^3.0.2, readable-stream@npm:^3.1.1, readable-stream@npm:^3.4.0, readable-stream@npm:^3.6.0": version: 3.6.0 resolution: "readable-stream@npm:3.6.0" @@ -9684,6 +9848,17 @@ __metadata: languageName: node linkType: hard +"rimraf@npm:^5.0.5": + version: 5.0.10 + resolution: "rimraf@npm:5.0.10" + dependencies: + glob: "npm:^10.3.7" + bin: + rimraf: dist/esm/bin.mjs + checksum: 10/f3b8ce81eecbde4628b07bdf9e2fa8b684e0caea4999acb1e3b0402c695cd41f28cd075609a808e61ce2672f528ca079f675ab1d8e8d5f86d56643a03e0b8d2e + languageName: node + linkType: hard + "rimraf@npm:^5.0.7": version: 5.0.7 resolution: "rimraf@npm:5.0.7" @@ -9927,17 +10102,17 @@ __metadata: languageName: node linkType: hard -"skia-canvas@npm:^1.0.2": - version: 1.0.2 - resolution: "skia-canvas@npm:1.0.2" +"skia-canvas@npm:2.0.1": + version: 2.0.1 + resolution: "skia-canvas@npm:2.0.1" dependencies: - "@mapbox/node-pre-gyp": "npm:^1.0.9" + "@mapbox/node-pre-gyp": "npm:^1.0.11" cargo-cp-artifact: "npm:^0.1" - glob: "npm:^8.0.3" + glob: "npm:^11.0.0" path-browserify: "npm:^1.0.1" simple-get: "npm:^4.0.1" string-split-by: "npm:^1.0.0" - checksum: 10/9b67669c37a98995ff9359a22f6315ab6d4a7fcca4b48a2ce45a812923070fbcd1cf4cce387a0edf2587c5f77e4c6fb0e472553a2baaa2f8dd49cdb949e7a908 + checksum: 10/d1bc96fa1c9870af7be8ab3ce2896102602b071919e7e6fb165714fd00c27535e413fb16241f0b0727b8c88877df5b9373a856bf0f4bebf218ecbec797904830 languageName: node linkType: hard @@ -10490,6 +10665,20 @@ __metadata: languageName: node linkType: hard +"tar@npm:^7.4.3": + version: 7.4.3 + resolution: "tar@npm:7.4.3" + dependencies: + "@isaacs/fs-minipass": "npm:^4.0.0" + chownr: "npm:^3.0.0" + minipass: "npm:^7.1.2" + minizlib: "npm:^3.0.1" + mkdirp: "npm:^3.0.1" + yallist: "npm:^5.0.0" + checksum: 10/12a2a4fc6dee23e07cc47f1aeb3a14a1afd3f16397e1350036a8f4cdfee8dcac7ef5978337a4e7b2ac2c27a9a6d46388fc2088ea7c80cb6878c814b1425f8ecf + languageName: node + linkType: hard + "temp-dir@npm:1.0.0": version: 1.0.0 resolution: "temp-dir@npm:1.0.0" @@ -10583,12 +10772,12 @@ __metadata: languageName: node linkType: hard -"timeline-state-resolver-types@npm:9.1.0-nightly-release51-20240228-132329-b7ceb6950.0": - version: 9.1.0-nightly-release51-20240228-132329-b7ceb6950.0 - resolution: "timeline-state-resolver-types@npm:9.1.0-nightly-release51-20240228-132329-b7ceb6950.0" +"timeline-state-resolver-types@npm:9.2.0": + version: 9.2.0 + resolution: "timeline-state-resolver-types@npm:9.2.0" dependencies: tslib: "npm:^2.6.2" - checksum: 10/9299b3c94cb271bbd4ca3cc21389953a7bca4d13818babab8a46af814499e7917fb07227ff6b3fd509761ed40df8f925833d4c825b56fc1911a207fbaa2bf85d + checksum: 10/fd8fff1ccbde248f3f7d4be767fa29fbff4426befecb8f6bed039a3fb3e737172078c950c3f3558ab059794a474d5792dfd5ec4f8b27fef97751dcb3e58899df languageName: node linkType: hard @@ -10602,6 +10791,16 @@ __metadata: languageName: node linkType: hard +"tinyglobby@npm:^0.2.9": + version: 0.2.10 + resolution: "tinyglobby@npm:0.2.10" + dependencies: + fdir: "npm:^6.4.2" + picomatch: "npm:^4.0.2" + checksum: 10/10c976866d849702edc47fc3fef27d63f074c40f75ef17171ecc1452967900699fa1e62373681dd58e673ddff2e3f6094bcd0a2101e3e4b30f4c2b9da41397f2 + languageName: node + linkType: hard + "tmp@npm:^0.0.33": version: 0.0.33 resolution: "tmp@npm:0.0.33" @@ -10804,6 +11003,13 @@ __metadata: languageName: node linkType: hard +"tslib@npm:^2.6.3, tslib@npm:^2.7.0": + version: 2.8.1 + resolution: "tslib@npm:2.8.1" + checksum: 10/3e2e043d5c2316461cb54e5c7fe02c30ef6dccb3384717ca22ae5c6b5bc95232a6241df19c622d9c73b809bea33b187f6dbc73030963e29950c2141bc32a79f7 + languageName: node + linkType: hard + "tsutils@npm:^3.21.0": version: 3.21.0 resolution: "tsutils@npm:3.21.0" @@ -10953,6 +11159,16 @@ __metadata: languageName: node linkType: hard +"typescript@npm:5.6.3": + version: 5.6.3 + resolution: "typescript@npm:5.6.3" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 10/c328e418e124b500908781d9f7b9b93cf08b66bf5936d94332b463822eea2f4e62973bfb3b8a745fdc038785cb66cf59d1092bac3ec2ac6a3e5854687f7833f1 + languageName: node + linkType: hard + "typescript@npm:>=3 < 6": version: 5.4.5 resolution: "typescript@npm:5.4.5" @@ -10963,13 +11179,13 @@ __metadata: languageName: node linkType: hard -"typescript@npm:~5.1.3": - version: 5.1.6 - resolution: "typescript@npm:5.1.6" +"typescript@patch:typescript@npm%3A5.6.3#optional!builtin": + version: 5.6.3 + resolution: "typescript@patch:typescript@npm%3A5.6.3#optional!builtin::version=5.6.3&hash=b45daf" bin: tsc: bin/tsc tsserver: bin/tsserver - checksum: 10/f347cde665cf43dc4c1c7d9821c7d9bbec3c3914f4bdd82ee490e9fb9f6d99036ed8666463b6a192dd005eeef333c5087d5931bdd51ec853436ff9a670a7417e + checksum: 10/dc4bec403cd33a204b655b1152a096a08e7bad2c931cb59ef8ff26b6f2aa541bf98f09fc157958a60c921b1983a8dde9a85b692f9de60fa8f574fd131e3ae4dd languageName: node linkType: hard @@ -10983,16 +11199,6 @@ __metadata: languageName: node linkType: hard -"typescript@patch:typescript@npm%3A~5.1.3#optional!builtin": - version: 5.1.6 - resolution: "typescript@patch:typescript@npm%3A5.1.6#optional!builtin::version=5.1.6&hash=5da071" - bin: - tsc: bin/tsc - tsserver: bin/tsserver - checksum: 10/f5481fa3ba0eee8970f46708d13c05650a865ad093b586fc9573f425c64c57ca97e3308e110bb528deb3ccebe83f6fd7b5a8ac90018038da96326a9ccdf8e77c - languageName: node - linkType: hard - "uglify-js@npm:^3.1.4": version: 3.17.4 resolution: "uglify-js@npm:3.17.4" @@ -11089,6 +11295,19 @@ __metadata: languageName: node linkType: hard +"unzipper@npm:^0.12.3": + version: 0.12.3 + resolution: "unzipper@npm:0.12.3" + dependencies: + bluebird: "npm:~3.7.2" + duplexer2: "npm:~0.1.4" + fs-extra: "npm:^11.2.0" + graceful-fs: "npm:^4.2.2" + node-int64: "npm:^0.4.0" + checksum: 10/b210c421308e1913e01b54faad4ae79e758c674311892414a0697acacba9f82fa0051b677faa77e62fab422eef928c858f2d5cda9ddb47a2f3db95b0e9b36359 + languageName: node + linkType: hard + "upath@npm:2.0.1": version: 2.0.1 resolution: "upath@npm:2.0.1" @@ -11514,6 +11733,13 @@ __metadata: languageName: node linkType: hard +"yallist@npm:^5.0.0": + version: 5.0.0 + resolution: "yallist@npm:5.0.0" + checksum: 10/1884d272d485845ad04759a255c71775db0fac56308764b4c77ea56a20d56679fad340213054c8c9c9c26fcfd4c4b2a90df993b7e0aaf3cdb73c618d1d1a802a + languageName: node + linkType: hard + "yaml@npm:2.3.4": version: 2.3.4 resolution: "yaml@npm:2.3.4"