feat(workflow): typed produces slots — StageConfig uses TypedArtifactSlot, TOML accepts {name, kind} objects

This commit is contained in:
2026-05-18 21:39:08 +04:00
parent c2267a58a0
commit a5dc983a57
4 changed files with 34 additions and 13 deletions
@@ -1,11 +1,10 @@
package com.correx.core.transitions.graph
import com.correx.core.artifacts.kind.TypedArtifactSlot
import com.correx.core.events.types.ArtifactId
import com.correx.core.inference.GenerationConfig
import com.correx.core.inference.ModelCapability
import kotlinx.serialization.Serializable
@Serializable
data class StageConfig(
val requiredCapabilities: Set<ModelCapability> = emptySet(),
val tokenBudget: Int = 4096,
@@ -16,7 +15,7 @@ data class StageConfig(
),
val allowedTools: Set<String> = emptySet(),
val maxRetries: Int = 3,
val produces: Set<ArtifactId> = emptySet(),
val produces: List<TypedArtifactSlot> = emptyList(),
val needs: Set<ArtifactId> = emptySet(),
val metadata: Map<String, String> = emptyMap(),
)