diff --git a/Partner-Core/src/main/java/work/slhaf/partner/module/modules/perceive/PerceiveMonitor.java b/Partner-Core/src/main/java/work/slhaf/partner/module/modules/perceive/PerceiveMonitor.java index d3b47346..e7ddadc8 100644 --- a/Partner-Core/src/main/java/work/slhaf/partner/module/modules/perceive/PerceiveMonitor.java +++ b/Partner-Core/src/main/java/work/slhaf/partner/module/modules/perceive/PerceiveMonitor.java @@ -1,27 +1,49 @@ package work.slhaf.partner.module.modules.perceive; -import lombok.AllArgsConstructor; import lombok.Setter; import org.jetbrains.annotations.NotNull; import org.w3c.dom.Document; import org.w3c.dom.Element; import work.slhaf.partner.api.agent.factory.capability.annotation.InjectCapability; import work.slhaf.partner.api.agent.factory.component.abstracts.AbstractAgentModule; -import work.slhaf.partner.api.agent.runtime.interaction.flow.ContextBlock; +import work.slhaf.partner.core.cognition.CognitionCapability; +import work.slhaf.partner.core.cognition.CommunicationBlockContent; +import work.slhaf.partner.core.cognition.ContextBlock; import work.slhaf.partner.core.perceive.PerceiveCapability; import work.slhaf.partner.runtime.interaction.data.context.PartnerRunningFlowContext; import java.time.ZonedDateTime; import java.time.format.DateTimeFormatter; +import java.util.Set; @Setter public class PerceiveMonitor extends AbstractAgentModule.Running { @InjectCapability private PerceiveCapability perceiveCapability; + @InjectCapability + private CognitionCapability cognitionCapability; @Override public void execute(PartnerRunningFlowContext context) { - context.getContextBlocks().add(new PerceiveBlock(perceiveCapability.refreshInteract())); + String lastInteractTime = perceiveCapability.refreshInteract(); + ContextBlock block = new ContextBlock( + new CommunicationBlockContent( + "environment_perceive_info", + "perceive_monitor", + CommunicationBlockContent.Projection.SUPPLY + ) { + @Override + protected void fillXml(@NotNull Document document, @NotNull Element root) { + appendTextElement(document, root, "last_interact_time", lastInteractTime); + appendTextElement(document, root, "current_time", ZonedDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); + } + }, + Set.of(ContextBlock.VisibleDomain.COMMUNICATION), + 100, + 30, + 0 + ); + cognitionCapability.contextWorkspace().register(block); } @Override @@ -29,43 +51,4 @@ public class PerceiveMonitor extends AbstractAgentModule.Running