Register artifacts dynamically if not already initialized

This commit is contained in:
crazywhalecc
2026-05-18 10:54:32 +08:00
parent fdc75cb9fe
commit ce70c0df6a

View File

@@ -36,6 +36,13 @@ class ArtifactLoader
public static function getArtifactInstance(string $artifact_name): ?Artifact
{
self::initArtifactInstances();
if (!isset(self::$artifacts[$artifact_name])) {
// Artifact may have been registered after initArtifactInstances() ran (e.g., from a vendor registry)
$config = ArtifactConfig::get($artifact_name);
if ($config !== null) {
self::$artifacts[$artifact_name] = new Artifact($artifact_name, $config);
}
}
return self::$artifacts[$artifact_name] ?? null;
}