fix(web): assert matching transition IDs in SearchPath constructor

This commit is contained in:
Joshua Horton 2025-10-30 12:50:51 -05:00
parent df580c2fad
commit a625596f4d

View file

@ -74,10 +74,16 @@ export abstract class SearchQuotientSpur implements SearchQuotientNode {
inputStartIndex: 0
}
};
const inputSrc = inputSource as TokenInputSource;
const transitionId = (inputs?.[0].sample.id);
if(transitionId !== undefined && inputSrc?.trueTransform.id != transitionId) {
throw new Error("Input distribution and input-source transition IDs must match");
}
this.parentNode = parentNode;
this.inputSource = inputSource as TokenInputSource;
this.lowestPossibleSingleCost = (parentNode?.lowestPossibleSingleCost ?? 0) - Math.log(this.inputSource?.bestProbFromSet ?? 1);
this.lowestPossibleSingleCost = (parentNode?.lowestPossibleSingleCost ?? 0) - Math.log(inputSrc?.bestProbFromSet ?? 1);
this.inputs = inputs?.length > 0 ? inputs : null;
this.inputCount = (parentNode?.inputCount ?? 0) + (this.inputs ? 1 : 0);
}