refactor(context): add urgency attribute/label to BlockContent

This commit is contained in:
2026-03-24 22:52:02 +08:00
parent 7879836b91
commit 155d06df45
2 changed files with 14 additions and 4 deletions

View File

@@ -5,6 +5,7 @@ import org.w3c.dom.Element
import java.io.StringWriter
import java.time.Duration
import java.time.Instant
import java.util.*
import java.util.concurrent.locks.ReentrantReadWriteLock
import javax.xml.parsers.DocumentBuilderFactory
import javax.xml.transform.OutputKeys
@@ -195,11 +196,19 @@ data class ContextBlock @JvmOverloads constructor(
)
}
abstract class BlockContent protected constructor(
abstract class BlockContent @JvmOverloads protected constructor(
val blockName: String,
val source: String,
val urgency: Urgency = Urgency.NORMAL
) {
enum class Urgency {
LOW,
NORMAL,
HIGH,
CRITICAL
}
fun encodeToXml(): Element {
val document = DocumentBuilderFactory.newInstance()
.newDocumentBuilder()
@@ -207,6 +216,7 @@ abstract class BlockContent protected constructor(
val root = document.createElement(blockName)
root.setAttribute("source", source)
root.setAttribute("urgency", urgency.name.lowercase(Locale.ROOT))
document.appendChild(root)
fillXml(document, root)

View File

@@ -150,7 +150,7 @@ public class ActionPlanner extends AbstractAgentModule.Running<PartnerRunningFlo
}
private BlockContent buildPendingBlock(String blockName, ExecutableAction executableAction, EvaluatorResult evaluatorResult) {
return new BlockContent(blockName, PENDING_BLOCK_SOURCE) {
return new BlockContent(blockName, PENDING_BLOCK_SOURCE, BlockContent.Urgency.HIGH) {
@Override
protected void fillXml(@NotNull Document document, @NotNull Element root) {
appendTextElement(document, root, "state", "waiting_confirm");
@@ -190,7 +190,7 @@ public class ActionPlanner extends AbstractAgentModule.Running<PartnerRunningFlo
}
private BlockContent buildPendingCompactBlock(String blockName, ExecutableAction executableAction, EvaluatorResult evaluatorResult) {
return new BlockContent(blockName, PENDING_BLOCK_SOURCE) {
return new BlockContent(blockName, PENDING_BLOCK_SOURCE, BlockContent.Urgency.HIGH) {
@Override
protected void fillXml(@NotNull Document document, @NotNull Element root) {
appendTextElement(document, root, "state", "waiting_confirm");
@@ -202,7 +202,7 @@ public class ActionPlanner extends AbstractAgentModule.Running<PartnerRunningFlo
}
private BlockContent buildPendingAbstractBlock(String blockName, ExecutableAction executableAction, EvaluatorResult evaluatorResult) {
return new BlockContent(blockName, PENDING_BLOCK_SOURCE) {
return new BlockContent(blockName, PENDING_BLOCK_SOURCE, BlockContent.Urgency.HIGH) {
@Override
protected void fillXml(@NotNull Document document, @NotNull Element root) {
appendTextElement(document, root, "pending_tendency", executableAction.getTendency());