From f8d90fbcee7aea32939774fc61655e953eaaa06b Mon Sep 17 00:00:00 2001 From: slhafzjw Date: Tue, 3 Mar 2026 21:23:52 +0800 Subject: [PATCH] refactor(framework): make `AgentRuntime.submit` blocking and remove `runBlocking` from `AgentInteractionAdapter` --- .../api/agent/runtime/interaction/AgentInteractionAdapter.kt | 5 +---- .../partner/api/agent/runtime/interaction/AgentRuntime.kt | 4 ++-- 2 files changed, 3 insertions(+), 6 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 48df7e71..be015bc3 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 @@ -1,6 +1,5 @@ package work.slhaf.partner.api.agent.runtime.interaction -import kotlinx.coroutines.runBlocking import work.slhaf.partner.api.agent.runtime.interaction.data.AgentInputData import work.slhaf.partner.api.agent.runtime.interaction.data.AgentOutputData import work.slhaf.partner.api.agent.runtime.interaction.flow.RunningFlowContext @@ -16,9 +15,7 @@ abstract class AgentInteractionAdapter< fun submit(inputData: I): O { val ctx = parseInputData(inputData) - val result = runBlocking { - runtime.submit(ctx) - } + val result = runtime.submit(ctx) return parseOutputData(result) } diff --git a/Partner-Framework/src/main/java/work/slhaf/partner/api/agent/runtime/interaction/AgentRuntime.kt b/Partner-Framework/src/main/java/work/slhaf/partner/api/agent/runtime/interaction/AgentRuntime.kt index c881be79..16db55e9 100644 --- a/Partner-Framework/src/main/java/work/slhaf/partner/api/agent/runtime/interaction/AgentRuntime.kt +++ b/Partner-Framework/src/main/java/work/slhaf/partner/api/agent/runtime/interaction/AgentRuntime.kt @@ -32,11 +32,11 @@ object AgentRuntime { runningModules = buildRunningModules() } - suspend fun submit(context: C): C { + fun submit(context: C): C = runBlocking { val deferred = CompletableDeferred() channel.send(TurnRequest(context, deferred)) @Suppress("UNCHECKED_CAST") - return deferred.await() as C + (return@runBlocking deferred.await() as C) } private suspend fun executeTurn(