From 15c11ac5003c269653a727b14e684361e47d0e62 Mon Sep 17 00:00:00 2001 From: slhafzjw Date: Sat, 21 Feb 2026 17:10:46 +0800 Subject: [PATCH] refactor(framework): type `AgentContext` metadata entries and add JSON-backed metadata registration --- .../api/agent/factory/context/AgentContext.kt | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) 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 {