From f8399d22805f2f56438017cda8a38f4e7678cdec Mon Sep 17 00:00:00 2001 From: slhafzjw Date: Sat, 21 Feb 2026 16:28:20 +0800 Subject: [PATCH] refactor(framework): add additional component storage and guarded registration in `AgentContext` --- .../api/agent/factory/context/AgentContext.kt | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) 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 c19f1516..e412cc86 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 work.slhaf.partner.api.agent.factory.AgentComponent import work.slhaf.partner.api.agent.factory.module.abstracts.AbstractAgentModule import java.time.ZonedDateTime @@ -18,6 +19,11 @@ object AgentContext { val capabilities: Map, Any?> get() = _capabilities + private val _additionalComponents = mutableSetOf() + + val additionalComponents: Set + get() = _additionalComponents + val metadata: MutableMap = mutableMapOf() fun addModule(name: String, module: ModuleContextData) { @@ -27,6 +33,17 @@ object AgentContext { fun addCapability(type: Class, value: T) { _capabilities[type] = value } + + fun addAdditionalComponent(type: Class, value: T): Boolean { + if (type.isAnnotationPresent(AgentComponent::class.java)) { + return false + } + if (value == null) { + return false + } + _additionalComponents.add(value) + return true + } } sealed class ModuleContextData {