refactor(framework): correct InteractionAdapter, support loading latest modules while running

This commit is contained in:
2026-03-03 11:26:36 +08:00
parent cf25fce09e
commit 5ae8b713d7

View File

@@ -13,17 +13,16 @@ import work.slhaf.partner.api.agent.runtime.interaction.flow.RunningFlowContext
abstract class AgentInteractionAdapter<I : AgentInputData, O : AgentOutputData, C : RunningFlowContext> {
private val runningModules =
fun call(runningFlowContext: C): C = runBlocking {
val runningModules =
mutableMapOf<Int, MutableList<ModuleContextData.Running<AbstractAgentModule.Running<RunningFlowContext>>>>()
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<AbstractAgentModule.Running<RunningFlowContext>> }
.filter { it.enabled }
.sortedBy { it.order }
.forEach { runningModules.computeIfAbsent(it.order) { mutableListOf() }.add(it) }
}
try {
for (modules in runningModules.values) {