refactor(context): add PartnerRunningFlowContext factories for user/self source and update adapter creation

This commit is contained in:
2026-03-04 20:02:56 +08:00
parent da1abbdc88
commit 839f19f15b
2 changed files with 37 additions and 10 deletions

View File

@@ -32,11 +32,9 @@ public class PartnerInteractionAdapter extends AgentInteractionAdapter<PartnerIn
@NotNull
@Override
protected PartnerRunningFlowContext parseInputData(PartnerInputData inputData) {
return new PartnerRunningFlowContext(
inputData.getUserInfo(),
return PartnerRunningFlowContext.Companion.fromUser(inputData.getUserInfo(),
inputData.getContent(),
inputData.getPlatform(),
inputData.getUserNickName()
);
inputData.getUserNickName());
}
}

View File

@@ -6,16 +6,45 @@ import work.slhaf.partner.module.common.entity.AppendPromptData
import work.slhaf.partner.runtime.interaction.data.context.subcontext.CoreContext
import work.slhaf.partner.runtime.interaction.data.context.subcontext.ModuleContext
class PartnerRunningFlowContext(
class PartnerRunningFlowContext private constructor(
override val source: String,
override val input: String,
platform: String,
nickName: String
) : RunningFlowContext() {
init {
putUserInfo("platform", platform)
putUserInfo("nickname", nickName)
companion object {
private const val SOURCE_SELF = "self"
private const val SOURCE_SELF_PLATFORM = "AGENT_INTERNAL"
private const val SOURCE_SELF_NICKNAME = "PARTNER"
private object InfoKeys {
const val PLATFORM = "platform"
const val NICKNAME = "nickname"
}
private object SourceTag {
private const val AGENT = "[AGENT]"
private const val USER = "[USER]"
fun buildUserSource(userId: String): String = "$USER: $userId"
fun buildAgentSource(): String = "$AGENT: $SOURCE_SELF"
}
fun fromUser(
userId: String,
input: String,
platform: String,
nickName: String
) = PartnerRunningFlowContext(SourceTag.buildUserSource(userId), input).apply {
putUserInfo(InfoKeys.PLATFORM, platform)
putUserInfo(InfoKeys.NICKNAME, nickName)
}
fun fromSelf(input: String) =
PartnerRunningFlowContext(SourceTag.buildAgentSource(), input).apply {
putUserInfo(InfoKeys.PLATFORM, SOURCE_SELF_PLATFORM)
putUserInfo(InfoKeys.NICKNAME, SOURCE_SELF_NICKNAME)
}
}
val moduleContext = ModuleContext()