From e6e0eef161e6526b53293f47f9b7135d83bc87a2 Mon Sep 17 00:00:00 2001 From: slhafzjw Date: Fri, 8 May 2026 20:32:11 +0800 Subject: [PATCH] refactor(interaction-api): extract interaction data models into new Partner-Interaction-Api module and update imports/dependencies --- .idea/encodings.xml | 2 ++ .../module/communication/ReplyDispatcher.kt | 4 ++-- .../runtime/gateway/WebSocketGateway.java | 4 ++-- .../onebot/gateway/OnebotGateway.java | 4 ++-- .../onebot/v11/OneBotV11EventCodec.kt | 2 +- .../onebot/v11/OneBotV11ResponseDispatcher.kt | 8 ++++---- Partner-Framework/pom.xml | 5 +++++ .../agent/interaction/AgentGateway.java | 2 +- .../agent/interaction/AgentRuntime.kt | 2 +- .../agent/interaction/ResponseChannel.kt | 2 +- Partner-Interaction-Api/pom.xml | 20 +++++++++++++++++++ .../java/work/slhaf/partner/api}/InputData.kt | 2 +- .../slhaf/partner/api}/InteractionEvent.kt | 2 +- pom.xml | 3 ++- 14 files changed, 45 insertions(+), 17 deletions(-) create mode 100644 Partner-Interaction-Api/pom.xml rename {Partner-Framework/src/main/java/work/slhaf/partner/framework/agent/interaction/data => Partner-Interaction-Api/src/main/java/work/slhaf/partner/api}/InputData.kt (81%) rename {Partner-Framework/src/main/java/work/slhaf/partner/framework/agent/interaction/data => Partner-Interaction-Api/src/main/java/work/slhaf/partner/api}/InteractionEvent.kt (96%) diff --git a/.idea/encodings.xml b/.idea/encodings.xml index 8d66599e..6009d221 100644 --- a/.idea/encodings.xml +++ b/.idea/encodings.xml @@ -11,6 +11,8 @@ + + diff --git a/Partner-Core/src/main/java/work/slhaf/partner/module/communication/ReplyDispatcher.kt b/Partner-Core/src/main/java/work/slhaf/partner/module/communication/ReplyDispatcher.kt index 4af72069..fc9750d2 100644 --- a/Partner-Core/src/main/java/work/slhaf/partner/module/communication/ReplyDispatcher.kt +++ b/Partner-Core/src/main/java/work/slhaf/partner/module/communication/ReplyDispatcher.kt @@ -1,11 +1,11 @@ package work.slhaf.partner.module.communication import kotlinx.coroutines.* +import work.slhaf.partner.api.InteractionEvent.EventStatus +import work.slhaf.partner.api.ReplyEvent import work.slhaf.partner.framework.agent.exception.AgentRuntimeException import work.slhaf.partner.framework.agent.exception.ExceptionReporterHandler import work.slhaf.partner.framework.agent.interaction.AgentRuntime -import work.slhaf.partner.framework.agent.interaction.data.InteractionEvent.EventStatus -import work.slhaf.partner.framework.agent.interaction.data.ReplyEvent import work.slhaf.partner.framework.agent.model.StreamChatMessageConsumer import kotlin.time.Duration.Companion.milliseconds diff --git a/Partner-Core/src/main/java/work/slhaf/partner/runtime/gateway/WebSocketGateway.java b/Partner-Core/src/main/java/work/slhaf/partner/runtime/gateway/WebSocketGateway.java index 237fd88d..bd5bb5f2 100644 --- a/Partner-Core/src/main/java/work/slhaf/partner/runtime/gateway/WebSocketGateway.java +++ b/Partner-Core/src/main/java/work/slhaf/partner/runtime/gateway/WebSocketGateway.java @@ -9,9 +9,9 @@ import org.java_websocket.framing.Framedata; import org.java_websocket.handshake.ClientHandshake; import org.java_websocket.server.WebSocketServer; import org.jetbrains.annotations.NotNull; +import work.slhaf.partner.api.InputData; +import work.slhaf.partner.api.InteractionEvent; import work.slhaf.partner.framework.agent.interaction.AgentGateway; -import work.slhaf.partner.framework.agent.interaction.data.InputData; -import work.slhaf.partner.framework.agent.interaction.data.InteractionEvent; import work.slhaf.partner.runtime.PartnerRunningFlowContext; import java.net.InetSocketAddress; diff --git a/Partner-External-Modules/Partner-Onebot-Adapter/src/main/java/work/slhaf/partner/external/onebot/gateway/OnebotGateway.java b/Partner-External-Modules/Partner-Onebot-Adapter/src/main/java/work/slhaf/partner/external/onebot/gateway/OnebotGateway.java index aa2a7cb1..a484ba29 100644 --- a/Partner-External-Modules/Partner-Onebot-Adapter/src/main/java/work/slhaf/partner/external/onebot/gateway/OnebotGateway.java +++ b/Partner-External-Modules/Partner-Onebot-Adapter/src/main/java/work/slhaf/partner/external/onebot/gateway/OnebotGateway.java @@ -7,10 +7,10 @@ import org.java_websocket.WebSocket; import org.java_websocket.handshake.ClientHandshake; import org.java_websocket.server.WebSocketServer; import org.jetbrains.annotations.NotNull; +import work.slhaf.partner.api.InputData; +import work.slhaf.partner.api.InteractionEvent; import work.slhaf.partner.external.onebot.v11.*; import work.slhaf.partner.framework.agent.interaction.AgentGateway; -import work.slhaf.partner.framework.agent.interaction.data.InputData; -import work.slhaf.partner.framework.agent.interaction.data.InteractionEvent; import work.slhaf.partner.runtime.PartnerRunningFlowContext; import java.net.InetSocketAddress; diff --git a/Partner-External-Modules/Partner-Onebot-Adapter/src/main/java/work/slhaf/partner/external/onebot/v11/OneBotV11EventCodec.kt b/Partner-External-Modules/Partner-Onebot-Adapter/src/main/java/work/slhaf/partner/external/onebot/v11/OneBotV11EventCodec.kt index 65348b30..b1c5a958 100644 --- a/Partner-External-Modules/Partner-Onebot-Adapter/src/main/java/work/slhaf/partner/external/onebot/v11/OneBotV11EventCodec.kt +++ b/Partner-External-Modules/Partner-Onebot-Adapter/src/main/java/work/slhaf/partner/external/onebot/v11/OneBotV11EventCodec.kt @@ -2,7 +2,7 @@ package work.slhaf.partner.external.onebot.v11 import com.alibaba.fastjson2.JSONArray import com.alibaba.fastjson2.JSONObject -import work.slhaf.partner.framework.agent.interaction.data.InputData +import work.slhaf.partner.api.InputData object OneBotV11EventCodec { diff --git a/Partner-External-Modules/Partner-Onebot-Adapter/src/main/java/work/slhaf/partner/external/onebot/v11/OneBotV11ResponseDispatcher.kt b/Partner-External-Modules/Partner-Onebot-Adapter/src/main/java/work/slhaf/partner/external/onebot/v11/OneBotV11ResponseDispatcher.kt index bf9798e3..51616ad0 100644 --- a/Partner-External-Modules/Partner-Onebot-Adapter/src/main/java/work/slhaf/partner/external/onebot/v11/OneBotV11ResponseDispatcher.kt +++ b/Partner-External-Modules/Partner-Onebot-Adapter/src/main/java/work/slhaf/partner/external/onebot/v11/OneBotV11ResponseDispatcher.kt @@ -1,9 +1,9 @@ package work.slhaf.partner.external.onebot.v11 -import work.slhaf.partner.framework.agent.interaction.data.InteractionEvent -import work.slhaf.partner.framework.agent.interaction.data.ModuleEvent -import work.slhaf.partner.framework.agent.interaction.data.ReplyEvent -import work.slhaf.partner.framework.agent.interaction.data.SystemEvent +import work.slhaf.partner.api.InteractionEvent +import work.slhaf.partner.api.ModuleEvent +import work.slhaf.partner.api.ReplyEvent +import work.slhaf.partner.api.SystemEvent import java.util.concurrent.ConcurrentHashMap /** diff --git a/Partner-Framework/pom.xml b/Partner-Framework/pom.xml index b08d9aac..d7eed5ec 100644 --- a/Partner-Framework/pom.xml +++ b/Partner-Framework/pom.xml @@ -83,6 +83,11 @@ openai-java 4.26.0 + + work.slhaf.partner + partner-interaction-api + 0.5.0 + diff --git a/Partner-Framework/src/main/java/work/slhaf/partner/framework/agent/interaction/AgentGateway.java b/Partner-Framework/src/main/java/work/slhaf/partner/framework/agent/interaction/AgentGateway.java index bc681bf7..77439032 100644 --- a/Partner-Framework/src/main/java/work/slhaf/partner/framework/agent/interaction/AgentGateway.java +++ b/Partner-Framework/src/main/java/work/slhaf/partner/framework/agent/interaction/AgentGateway.java @@ -1,6 +1,6 @@ package work.slhaf.partner.framework.agent.interaction; -import work.slhaf.partner.framework.agent.interaction.data.InputData; +import work.slhaf.partner.api.InputData; import work.slhaf.partner.framework.agent.interaction.flow.RunningFlowContext; public interface AgentGateway extends ResponseChannel, AutoCloseable { diff --git a/Partner-Framework/src/main/java/work/slhaf/partner/framework/agent/interaction/AgentRuntime.kt b/Partner-Framework/src/main/java/work/slhaf/partner/framework/agent/interaction/AgentRuntime.kt index 627246cf..17558b67 100644 --- a/Partner-Framework/src/main/java/work/slhaf/partner/framework/agent/interaction/AgentRuntime.kt +++ b/Partner-Framework/src/main/java/work/slhaf/partner/framework/agent/interaction/AgentRuntime.kt @@ -4,6 +4,7 @@ import com.alibaba.fastjson2.JSONObject import com.alibaba.fastjson2.annotation.JSONField import kotlinx.coroutines.* import kotlinx.coroutines.channels.Channel +import work.slhaf.partner.api.InteractionEvent import work.slhaf.partner.framework.agent.config.Config import work.slhaf.partner.framework.agent.config.ConfigDoc import work.slhaf.partner.framework.agent.config.ConfigRegistration @@ -12,7 +13,6 @@ import work.slhaf.partner.framework.agent.exception.ExceptionReporterHandler import work.slhaf.partner.framework.agent.factory.component.abstracts.AbstractAgentModule import work.slhaf.partner.framework.agent.factory.context.AgentContext import work.slhaf.partner.framework.agent.factory.context.ModuleContextData -import work.slhaf.partner.framework.agent.interaction.data.InteractionEvent import work.slhaf.partner.framework.agent.interaction.flow.RunningFlowContext import work.slhaf.partner.framework.agent.support.Result import java.nio.file.Path diff --git a/Partner-Framework/src/main/java/work/slhaf/partner/framework/agent/interaction/ResponseChannel.kt b/Partner-Framework/src/main/java/work/slhaf/partner/framework/agent/interaction/ResponseChannel.kt index e4623724..b8362849 100644 --- a/Partner-Framework/src/main/java/work/slhaf/partner/framework/agent/interaction/ResponseChannel.kt +++ b/Partner-Framework/src/main/java/work/slhaf/partner/framework/agent/interaction/ResponseChannel.kt @@ -2,7 +2,7 @@ package work.slhaf.partner.framework.agent.interaction import com.alibaba.fastjson2.JSONObject import org.slf4j.LoggerFactory -import work.slhaf.partner.framework.agent.interaction.data.InteractionEvent +import work.slhaf.partner.api.InteractionEvent interface ResponseChannel { diff --git a/Partner-Interaction-Api/pom.xml b/Partner-Interaction-Api/pom.xml new file mode 100644 index 00000000..3ac7f1c6 --- /dev/null +++ b/Partner-Interaction-Api/pom.xml @@ -0,0 +1,20 @@ + + + 4.0.0 + + work.slhaf.partner + partner + 0.5.0 + + + partner-interaction-api + + + 21 + 21 + UTF-8 + + + \ No newline at end of file diff --git a/Partner-Framework/src/main/java/work/slhaf/partner/framework/agent/interaction/data/InputData.kt b/Partner-Interaction-Api/src/main/java/work/slhaf/partner/api/InputData.kt similarity index 81% rename from Partner-Framework/src/main/java/work/slhaf/partner/framework/agent/interaction/data/InputData.kt rename to Partner-Interaction-Api/src/main/java/work/slhaf/partner/api/InputData.kt index 155eeb61..117cda35 100644 --- a/Partner-Framework/src/main/java/work/slhaf/partner/framework/agent/interaction/data/InputData.kt +++ b/Partner-Interaction-Api/src/main/java/work/slhaf/partner/api/InputData.kt @@ -1,4 +1,4 @@ -package work.slhaf.partner.framework.agent.interaction.data +package work.slhaf.partner.api open class InputData( val source: String, diff --git a/Partner-Framework/src/main/java/work/slhaf/partner/framework/agent/interaction/data/InteractionEvent.kt b/Partner-Interaction-Api/src/main/java/work/slhaf/partner/api/InteractionEvent.kt similarity index 96% rename from Partner-Framework/src/main/java/work/slhaf/partner/framework/agent/interaction/data/InteractionEvent.kt rename to Partner-Interaction-Api/src/main/java/work/slhaf/partner/api/InteractionEvent.kt index 9b69a34d..6f49f8f1 100644 --- a/Partner-Framework/src/main/java/work/slhaf/partner/framework/agent/interaction/data/InteractionEvent.kt +++ b/Partner-Interaction-Api/src/main/java/work/slhaf/partner/api/InteractionEvent.kt @@ -1,4 +1,4 @@ -package work.slhaf.partner.framework.agent.interaction.data +package work.slhaf.partner.api import java.time.ZonedDateTime import java.time.format.DateTimeFormatter diff --git a/pom.xml b/pom.xml index b86e8b16..6a0fa7c7 100644 --- a/pom.xml +++ b/pom.xml @@ -9,8 +9,9 @@ pom - Partner-Core + Partner-Interaction-Api Partner-Framework + Partner-Core Partner-External-Modules PartnerCtl