refactor(interaction-api): extract interaction data models into new Partner-Interaction-Api module and update imports/dependencies

This commit is contained in:
2026-05-08 20:32:11 +08:00
parent 4c042769f2
commit e6e0eef161
14 changed files with 45 additions and 17 deletions

2
.idea/encodings.xml generated
View File

@@ -11,6 +11,8 @@
<file url="file://$PROJECT_DIR$/Partner-External-Modules/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/Partner-Framework/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/Partner-Framework/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/Partner-Interaction-Api/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/Partner-Interaction-Api/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/PartnerCtl/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/PartnerCtl/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/src/main/java" charset="UTF-8" />

View File

@@ -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

View File

@@ -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;

View File

@@ -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;

View File

@@ -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 {

View File

@@ -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
/**

View File

@@ -83,6 +83,11 @@
<artifactId>openai-java</artifactId>
<version>4.26.0</version>
</dependency>
<dependency>
<groupId>work.slhaf.partner</groupId>
<artifactId>partner-interaction-api</artifactId>
<version>0.5.0</version>
</dependency>
</dependencies>
<properties>

View File

@@ -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<I extends InputData, C extends RunningFlowContext> extends ResponseChannel, AutoCloseable {

View File

@@ -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

View File

@@ -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 {

View File

@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>work.slhaf.partner</groupId>
<artifactId>partner</artifactId>
<version>0.5.0</version>
</parent>
<artifactId>partner-interaction-api</artifactId>
<properties>
<maven.compiler.source>21</maven.compiler.source>
<maven.compiler.target>21</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
</project>

View File

@@ -1,4 +1,4 @@
package work.slhaf.partner.framework.agent.interaction.data
package work.slhaf.partner.api
open class InputData(
val source: String,

View File

@@ -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

View File

@@ -9,8 +9,9 @@
<packaging>pom</packaging>
<modules>
<module>Partner-Core</module>
<module>Partner-Interaction-Api</module>
<module>Partner-Framework</module>
<module>Partner-Core</module>
<module>Partner-External-Modules</module>
<module>PartnerCtl</module>
</modules>