From 5ae8b713d7b6c5a7dc307a3f1b9e19009dfb9a9a Mon Sep 17 00:00:00 2001 From: slhafzjw Date: Tue, 3 Mar 2026 11:26:36 +0800 Subject: [PATCH] refactor(framework): correct InteractionAdapter, support loading latest modules while running --- .../interaction/AgentInteractionAdapter.kt | 21 +++++++++---------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/Partner-Framework/src/main/java/work/slhaf/partner/api/agent/runtime/interaction/AgentInteractionAdapter.kt b/Partner-Framework/src/main/java/work/slhaf/partner/api/agent/runtime/interaction/AgentInteractionAdapter.kt index 7675ff1c..928b7dfe 100644 --- a/Partner-Framework/src/main/java/work/slhaf/partner/api/agent/runtime/interaction/AgentInteractionAdapter.kt +++ b/Partner-Framework/src/main/java/work/slhaf/partner/api/agent/runtime/interaction/AgentInteractionAdapter.kt @@ -13,17 +13,16 @@ import work.slhaf.partner.api.agent.runtime.interaction.flow.RunningFlowContext abstract class AgentInteractionAdapter { - private val runningModules = - mutableMapOf>>>() - fun call(runningFlowContext: C): C = runBlocking { - if (runningModules.isEmpty()) { - AgentContext.modules - .filter { ModuleContextData.Running::class.java.isAssignableFrom(it.value.javaClass) } - .map { it.value as ModuleContextData.Running> } - .sortedBy { it.order } - .forEach { runningModules.computeIfAbsent(it.order) { mutableListOf() }.add(it) } - } + val runningModules = + mutableMapOf>>>() + + AgentContext.modules + .filter { ModuleContextData.Running::class.java.isAssignableFrom(it.value.javaClass) } + .map { it.value as ModuleContextData.Running> } + .filter { it.enabled } + .sortedBy { it.order } + .forEach { runningModules.computeIfAbsent(it.order) { mutableListOf() }.add(it) } try { for (modules in runningModules.values) { @@ -34,7 +33,7 @@ abstract class AgentInteractionAdapter