Files
quant-trader-service/src/main/java/com/quantai/trader/artifact/TraderArtifactBundle.java
T
2026-06-26 22:07:43 +08:00

24 lines
868 B
Java

package com.quantai.trader.artifact;
import com.quantai.trader.domain.TraderPmConfig;
import java.util.Set;
public record TraderArtifactBundle(
String modelBundleVersion,
String calibrationBundleVersion,
String pmConfigVersion,
String bundleHashSha256,
Set<String> providedModels,
TraderPmConfig pmConfig,
TraderArtifactModelPolicy modelPolicy
) {
public TraderArtifactBundle {
if (providedModels == null || !providedModels.containsAll(Set.of("DIRECTION", "ENTRY", "CONTINUE", "EXIT", "RISK"))) {
throw new IllegalArgumentException("artifact bundle must provide all five V4 models");
}
pmConfig = java.util.Objects.requireNonNull(pmConfig, "pmConfig is required");
modelPolicy = java.util.Objects.requireNonNull(modelPolicy, "modelPolicy is required");
}
}