From b2a664d5728490ec0020394539c819a1185ec83a Mon Sep 17 00:00:00 2001 From: Julian Waller Date: Wed, 13 May 2026 12:54:59 +0100 Subject: [PATCH] fix: activeRundown handling --- .../packages/generic/src/fakeCore.ts | 2 +- .../generateExpectations/nrk/expectations.ts | 31 +++++++++---------- .../packages/generic/src/packageManager.ts | 8 +++++ 3 files changed, 24 insertions(+), 17 deletions(-) diff --git a/apps/package-manager/packages/generic/src/fakeCore.ts b/apps/package-manager/packages/generic/src/fakeCore.ts index 260409d3d..338bf0a0f 100644 --- a/apps/package-manager/packages/generic/src/fakeCore.ts +++ b/apps/package-manager/packages/generic/src/fakeCore.ts @@ -1,5 +1,5 @@ /* eslint-disable node/no-extraneous-import */ -import { ExternalPeripheralDeviceAPI } from '@sofie-automation/server-core-integration/dist/lib/methods' +import { ExternalPeripheralDeviceAPI } from '@sofie-automation/server-core-integration' import { ExpectedPackageId } from '@sofie-automation/shared-lib/dist/core/model/Ids' import { LoggerInstance } from '@sofie-package-manager/api' diff --git a/apps/package-manager/packages/generic/src/generateExpectations/nrk/expectations.ts b/apps/package-manager/packages/generic/src/generateExpectations/nrk/expectations.ts index 53dc1b143..483c9a658 100644 --- a/apps/package-manager/packages/generic/src/generateExpectations/nrk/expectations.ts +++ b/apps/package-manager/packages/generic/src/generateExpectations/nrk/expectations.ts @@ -435,26 +435,25 @@ function addExpectation( } /** Returns a priority for an expectation. */ function getPriority( - _activeRundownMap: Map, - _packageWrap: ExpectedPackageWrap, + activeRundownMap: Map, + packageWrap: ExpectedPackageWrap, exp: Expectation.Any ): number { // Returns the initial priority, based on the expectedPackage - // HACK: This is wanted, but is causing type errors, so disable temporarily - // const activeRundown: PackageManagerActiveRundown | undefined = packageWrap.expectedPackage.rundownId - // ? activeRundownMap.get(packageWrap.expectedPackage.rundownId) - // : undefined - - // if (activeRundown) { - // // The expected package is in an active rundown. - // // Earlier rundowns should have higher priority: - // return exp.priority + activeRundown._rank + PriorityMagnitude.PLAY_NOW - // } else { - // The expected package is in an inactive rundown. - // Make that a low priority: - return exp.priority + PriorityMagnitude.OTHER - // } + const activeRundown: PackageManagerActiveRundown | undefined = packageWrap.expectedPackage.rundownId + ? activeRundownMap.get(packageWrap.expectedPackage.rundownId) + : undefined + + if (activeRundown) { + // The expected package is in an active rundown. + // Earlier rundowns should have higher priority: + return exp.priority + activeRundown._rank + PriorityMagnitude.PLAY_NOW + } else { + // The expected package is in an inactive rundown. + // Make that a low priority: + return exp.priority + PriorityMagnitude.OTHER + } } type ExpectationCollection = Record diff --git a/apps/package-manager/packages/generic/src/packageManager.ts b/apps/package-manager/packages/generic/src/packageManager.ts index be425104c..51674a156 100644 --- a/apps/package-manager/packages/generic/src/packageManager.ts +++ b/apps/package-manager/packages/generic/src/packageManager.ts @@ -8,6 +8,7 @@ import { import { ExpectedPackageId as CoreExpectedPackageId, ExpectedPackageWorkStatusId, + RundownId, } from '@sofie-automation/shared-lib/dist/core/model/Ids' import { PackageManagerActivePlaylist, @@ -1203,6 +1204,13 @@ export function deleteAllUndefinedProperties(o } export type ConvertExpectedPackage = Omit & { _id: ExpectedPackageId + + /** + * The ID of the rundown this package belongs to, if any. + * Note: This aligns with the property in the interfaces from sofie-core + */ + rundownId?: RundownId + sources: Array< Omit & { containerId: PackageContainerId // Converts string -> PackageContainerId