refactor(framework): generalize AgentContext and ModuleContextData generics with wildcard bounds

This commit is contained in:
2026-02-20 20:55:56 +08:00
parent e62cddfe44
commit 00ef090d2f

View File

@@ -2,23 +2,22 @@ package work.slhaf.partner.api.agent.factory.context
import com.alibaba.fastjson2.JSONArray
import work.slhaf.partner.api.agent.factory.module.abstracts.AbstractAgentModule
import work.slhaf.partner.api.agent.runtime.interaction.flow.entity.RunningFlowContext
import java.time.ZonedDateTime
object AgentContext {
val modules = mutableMapOf<String, ModuleContextData<out AbstractAgentModule>>()
val capabilities = mutableMapOf<Class<Any>, Any>()
val modules = mutableMapOf<String, ModuleContextData<AbstractAgentModule>>()
val capabilities = mutableMapOf<Class<*>, Any>()
}
sealed class ModuleContextData<T : AbstractAgentModule> {
abstract val clazz: Class<T>
sealed class ModuleContextData<out T : AbstractAgentModule> {
abstract val clazz: Class<out T>
abstract val instance: T
abstract val launchTime: ZonedDateTime
val modelInfo: ModelInfo? = null
val metadata = mutableMapOf<String, Any>()
data class Running<T : AbstractAgentModule.Running<out RunningFlowContext>>(
data class Running<T : AbstractAgentModule.Running<*>>(
override val clazz: Class<T>,
override val instance: T,
override val launchTime: ZonedDateTime,
@@ -27,7 +26,7 @@ sealed class ModuleContextData<T : AbstractAgentModule> {
val enabled: Boolean
) : ModuleContextData<T>()
data class Sub<T : AbstractAgentModule.Sub<out Any, out Any>>(
data class Sub<T : AbstractAgentModule.Sub<*, *>>(
override val clazz: Class<T>,
override val instance: T,
override val launchTime: ZonedDateTime,