mirror of
https://github.com/slhaf/Partner.git
synced 2026-05-12 16:53:04 +08:00
框架: - 调整模块注册以及AgentRunningFlow的相关逻辑,以支持同组模块并发执行,将以@AgentModule注解中的order属性区分组间顺序先后及是否同组 - 针对@CoordinateManager注解新增了Core的自动注入处理,以便更好的协调不同Core的逻辑 本体: - 开始推进行动模块。将采取类似记忆模块的分层思路,分为ActionPlanner与ActionDispatcher两个主要模块,再各自细分子模块划分 - 将CognationCore从核心统筹的身份下降至与其他核心平级,同时将其中的序列化逻辑抽取至统一的PartnerCore父类,所有核心都将继承该类以获得序列化能力,不同core的内容将序列化至各自的memory文件 - 将SessionManager移除,相关逻辑迁移至CognationCore,统一序列化逻辑的同时又保证语义正确 - 将CognationCore中的某些缓存性质逻辑移动至CacheCore,确保语义正确 - 调整了目录结构以适应优化过的架构
26 lines
1.0 KiB
Java
26 lines
1.0 KiB
Java
package module;
|
|
|
|
import net.bytebuddy.ByteBuddy;
|
|
import net.bytebuddy.implementation.MethodDelegation;
|
|
import net.bytebuddy.matcher.ElementMatchers;
|
|
import org.junit.jupiter.api.Test;
|
|
import work.slhaf.partner.api.agent.runtime.interaction.flow.abstracts.AgentRunningModule;
|
|
|
|
import java.io.IOException;
|
|
import java.lang.reflect.InvocationTargetException;
|
|
|
|
public class ModuleProxyTest {
|
|
@Test
|
|
public void test() throws NoSuchMethodException, InvocationTargetException, InstantiationException, IllegalAccessException, IOException, ClassNotFoundException {
|
|
Class<? extends AgentRunningModule> clazz = new ByteBuddy().subclass(MyAgentRunningModule.class)
|
|
.method(ElementMatchers.isOverriddenFrom(AgentRunningModule.class))
|
|
.intercept(MethodDelegation.to(
|
|
new MyModuleProxyInterceptor()
|
|
))
|
|
.make()
|
|
.load(ModuleProxyTest.class.getClassLoader())
|
|
.getLoaded();
|
|
clazz.getConstructor().newInstance().execute(null);
|
|
}
|
|
}
|