diff --git a/Partner-Framework/src/main/java/work/slhaf/partner/api/agent/factory/context/AgentContext.kt b/Partner-Framework/src/main/java/work/slhaf/partner/api/agent/factory/context/AgentContext.kt index e412cc86..e5e4bfce 100644 --- a/Partner-Framework/src/main/java/work/slhaf/partner/api/agent/factory/context/AgentContext.kt +++ b/Partner-Framework/src/main/java/work/slhaf/partner/api/agent/factory/context/AgentContext.kt @@ -1,6 +1,7 @@ package work.slhaf.partner.api.agent.factory.context import com.alibaba.fastjson2.JSONArray +import com.alibaba.fastjson2.JSONObject import work.slhaf.partner.api.agent.factory.AgentComponent import work.slhaf.partner.api.agent.factory.module.abstracts.AbstractAgentModule import java.time.ZonedDateTime @@ -24,7 +25,10 @@ object AgentContext { val additionalComponents: Set get() = _additionalComponents - val metadata: MutableMap = mutableMapOf() + private val _metadata: MutableMap = mutableMapOf() + + val metadata: Map + get() = _metadata fun addModule(name: String, module: ModuleContextData) { _modules[name] = module @@ -44,6 +48,16 @@ object AgentContext { _additionalComponents.add(value) return true } + + fun addMetadata(name: String, type: Class, value: T) { + val content = MetaDataContent(type, JSONObject.toJSONString(value)) + _metadata[name] = content + } + + data class MetaDataContent( + val clazz: Class<*>, + val value: String + ) } sealed class ModuleContextData {