mirror of
https://github.com/slhaf/Partner.git
synced 2026-05-12 08:43:02 +08:00
refactor(action): remove ActionDispatcher and related empty directory
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
package work.slhaf.partner.core.action.entity
|
||||
|
||||
import work.slhaf.partner.module.modules.action.dispatcher.executor.entity.HistoryAction
|
||||
import work.slhaf.partner.module.modules.action.executor.entity.HistoryAction
|
||||
import java.time.ZonedDateTime
|
||||
import java.util.*
|
||||
|
||||
|
||||
@@ -1,69 +0,0 @@
|
||||
package work.slhaf.partner.module.modules.action.dispatcher;
|
||||
|
||||
import lombok.val;
|
||||
import work.slhaf.partner.api.agent.factory.capability.annotation.InjectCapability;
|
||||
import work.slhaf.partner.api.agent.factory.component.annotation.Init;
|
||||
import work.slhaf.partner.api.agent.factory.component.annotation.InjectModule;
|
||||
import work.slhaf.partner.core.action.ActionCapability;
|
||||
import work.slhaf.partner.core.action.ActionCore;
|
||||
import work.slhaf.partner.core.action.entity.ExecutableAction;
|
||||
import work.slhaf.partner.core.action.entity.ImmediateExecutableAction;
|
||||
import work.slhaf.partner.core.action.entity.SchedulableExecutableAction;
|
||||
import work.slhaf.partner.module.common.module.PostRunningAbstractAgentModuleAbstract;
|
||||
import work.slhaf.partner.module.modules.action.dispatcher.executor.ActionExecutor;
|
||||
import work.slhaf.partner.module.modules.action.dispatcher.executor.entity.ActionExecutorInput;
|
||||
import work.slhaf.partner.module.modules.action.dispatcher.scheduler.ActionScheduler;
|
||||
import work.slhaf.partner.runtime.interaction.data.context.PartnerRunningFlowContext;
|
||||
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
import java.util.concurrent.ExecutorService;
|
||||
|
||||
public class ActionDispatcher extends PostRunningAbstractAgentModuleAbstract {
|
||||
@InjectCapability
|
||||
private ActionCapability actionCapability;
|
||||
@InjectModule
|
||||
private ActionExecutor actionExecutor;
|
||||
@InjectModule
|
||||
private ActionScheduler actionScheduler;
|
||||
private ExecutorService executor;
|
||||
|
||||
@Init
|
||||
public void init() {
|
||||
executor = actionCapability.getExecutor(ActionCore.ExecutorType.VIRTUAL);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void doExecute(PartnerRunningFlowContext context) {
|
||||
// 只需要处理prepared action,因为pending action在用户确认后也将变为prepared action
|
||||
// 将PLANNING action放入时间轮中,IMMEDIATE action直接进入并发执行流
|
||||
// 对于将触发的PLANNING
|
||||
// action,理想做法是将执行工具做成执行链的形式,模型的自对话流程、是否通知用户都做成与普通工具同等的通用可选能力,避免绑定固定流程
|
||||
executor.execute(() -> {
|
||||
String userId = context.getSource();
|
||||
val preparedActions = actionCapability.listActions(ExecutableAction.Status.PREPARE, userId);
|
||||
// 分类成PLANNING和IMMEDIATE两类
|
||||
Set<SchedulableExecutableAction> scheduledActions = new HashSet<>();
|
||||
Set<ImmediateExecutableAction> immediateActions = new HashSet<>();
|
||||
for (ExecutableAction preparedAction : preparedActions) {
|
||||
if (preparedAction instanceof SchedulableExecutableAction actionInfo) {
|
||||
scheduledActions.add(actionInfo);
|
||||
} else if (preparedAction instanceof ImmediateExecutableAction actionInfo) {
|
||||
immediateActions.add(actionInfo);
|
||||
}
|
||||
}
|
||||
actionExecutor.execute(new ActionExecutorInput(immediateActions));
|
||||
actionScheduler.schedule(scheduledActions);
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean relyOnMessage() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int order() {
|
||||
return 7;
|
||||
}
|
||||
}
|
||||
@@ -1,11 +1,11 @@
|
||||
package work.slhaf.partner.module.modules.action.dispatcher.executor;
|
||||
package work.slhaf.partner.module.modules.action.executor;
|
||||
|
||||
import com.alibaba.fastjson2.JSONObject;
|
||||
import lombok.val;
|
||||
import work.slhaf.partner.api.agent.factory.component.abstracts.AbstractAgentModule;
|
||||
import work.slhaf.partner.api.agent.factory.component.abstracts.ActivateModel;
|
||||
import work.slhaf.partner.module.modules.action.dispatcher.executor.entity.CorrectorInput;
|
||||
import work.slhaf.partner.module.modules.action.dispatcher.executor.entity.CorrectorResult;
|
||||
import work.slhaf.partner.module.modules.action.executor.entity.CorrectorInput;
|
||||
import work.slhaf.partner.module.modules.action.executor.entity.CorrectorResult;
|
||||
|
||||
/**
|
||||
* 负责在单组行动执行后,根据行动意图与结果检查后续行动是否符合目的,必要时直接调整行动链,或发起自对话请求进行干预
|
||||
@@ -1,4 +1,4 @@
|
||||
package work.slhaf.partner.module.modules.action.dispatcher.executor;
|
||||
package work.slhaf.partner.module.modules.action.executor;
|
||||
|
||||
import lombok.val;
|
||||
import work.slhaf.partner.api.agent.factory.capability.annotation.InjectCapability;
|
||||
@@ -12,8 +12,8 @@ import work.slhaf.partner.core.action.entity.ExecutableAction.Status;
|
||||
import work.slhaf.partner.core.action.runner.RunnerClient;
|
||||
import work.slhaf.partner.core.cognation.CognationCapability;
|
||||
import work.slhaf.partner.core.memory.MemoryCapability;
|
||||
import work.slhaf.partner.module.modules.action.dispatcher.executor.entity.*;
|
||||
import work.slhaf.partner.module.modules.action.dispatcher.scheduler.ActionScheduler;
|
||||
import work.slhaf.partner.module.modules.action.executor.entity.*;
|
||||
import work.slhaf.partner.module.modules.action.scheduler.ActionScheduler;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
@@ -1,4 +1,4 @@
|
||||
package work.slhaf.partner.module.modules.action.dispatcher.executor;
|
||||
package work.slhaf.partner.module.modules.action.executor;
|
||||
|
||||
import com.alibaba.fastjson2.JSONArray;
|
||||
import com.alibaba.fastjson2.JSONObject;
|
||||
@@ -16,11 +16,11 @@ import work.slhaf.partner.core.action.entity.MetaAction;
|
||||
import work.slhaf.partner.core.action.entity.MetaAction.Result;
|
||||
import work.slhaf.partner.core.action.runner.RunnerClient;
|
||||
import work.slhaf.partner.core.cognation.CognationCapability;
|
||||
import work.slhaf.partner.module.modules.action.dispatcher.executor.entity.GeneratorInput;
|
||||
import work.slhaf.partner.module.modules.action.dispatcher.executor.entity.GeneratorResult;
|
||||
import work.slhaf.partner.module.modules.action.dispatcher.executor.entity.RepairerInput;
|
||||
import work.slhaf.partner.module.modules.action.dispatcher.executor.entity.RepairerResult;
|
||||
import work.slhaf.partner.module.modules.action.dispatcher.executor.entity.RepairerResult.RepairerStatus;
|
||||
import work.slhaf.partner.module.modules.action.executor.entity.GeneratorInput;
|
||||
import work.slhaf.partner.module.modules.action.executor.entity.GeneratorResult;
|
||||
import work.slhaf.partner.module.modules.action.executor.entity.RepairerInput;
|
||||
import work.slhaf.partner.module.modules.action.executor.entity.RepairerResult;
|
||||
import work.slhaf.partner.module.modules.action.executor.entity.RepairerResult.RepairerStatus;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.concurrent.CountDownLatch;
|
||||
@@ -1,4 +1,4 @@
|
||||
package work.slhaf.partner.module.modules.action.dispatcher.executor;
|
||||
package work.slhaf.partner.module.modules.action.executor;
|
||||
|
||||
import com.alibaba.fastjson2.JSONObject;
|
||||
import lombok.val;
|
||||
@@ -12,8 +12,8 @@ import work.slhaf.partner.core.action.ActionCapability;
|
||||
import work.slhaf.partner.core.action.entity.GeneratedData;
|
||||
import work.slhaf.partner.core.action.entity.MetaAction;
|
||||
import work.slhaf.partner.core.action.runner.RunnerClient;
|
||||
import work.slhaf.partner.module.modules.action.dispatcher.executor.entity.GeneratorInput;
|
||||
import work.slhaf.partner.module.modules.action.dispatcher.executor.entity.GeneratorResult;
|
||||
import work.slhaf.partner.module.modules.action.executor.entity.GeneratorInput;
|
||||
import work.slhaf.partner.module.modules.action.executor.entity.GeneratorResult;
|
||||
|
||||
/**
|
||||
* 负责依据输入内容生成可执行的动态行动单元,并选择是否持久化至 SandboxRunner 容器内
|
||||
@@ -1,4 +1,4 @@
|
||||
package work.slhaf.partner.module.modules.action.dispatcher.executor;
|
||||
package work.slhaf.partner.module.modules.action.executor;
|
||||
|
||||
import com.alibaba.fastjson2.JSONArray;
|
||||
import com.alibaba.fastjson2.JSONObject;
|
||||
@@ -6,9 +6,9 @@ import work.slhaf.partner.api.agent.factory.component.abstracts.AbstractAgentMod
|
||||
import work.slhaf.partner.api.agent.factory.component.abstracts.ActivateModel;
|
||||
import work.slhaf.partner.api.chat.pojo.ChatResponse;
|
||||
import work.slhaf.partner.core.action.entity.MetaActionInfo;
|
||||
import work.slhaf.partner.module.modules.action.dispatcher.executor.entity.ExtractorInput;
|
||||
import work.slhaf.partner.module.modules.action.dispatcher.executor.entity.ExtractorResult;
|
||||
import work.slhaf.partner.module.modules.action.dispatcher.executor.entity.HistoryAction;
|
||||
import work.slhaf.partner.module.modules.action.executor.entity.ExtractorInput;
|
||||
import work.slhaf.partner.module.modules.action.executor.entity.ExtractorResult;
|
||||
import work.slhaf.partner.module.modules.action.executor.entity.HistoryAction;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
@@ -1,4 +1,4 @@
|
||||
package work.slhaf.partner.module.modules.action.dispatcher.executor.entity
|
||||
package work.slhaf.partner.module.modules.action.executor.entity
|
||||
|
||||
import work.slhaf.partner.core.action.entity.ExecutableAction
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package work.slhaf.partner.module.modules.action.dispatcher.executor.entity;
|
||||
package work.slhaf.partner.module.modules.action.executor.entity;
|
||||
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
@@ -1,4 +1,4 @@
|
||||
package work.slhaf.partner.module.modules.action.dispatcher.executor.entity;
|
||||
package work.slhaf.partner.module.modules.action.executor.entity;
|
||||
|
||||
import lombok.Data;
|
||||
import work.slhaf.partner.module.modules.action.interventor.entity.MetaIntervention;
|
||||
@@ -1,4 +1,4 @@
|
||||
package work.slhaf.partner.module.modules.action.dispatcher.executor.entity;
|
||||
package work.slhaf.partner.module.modules.action.executor.entity;
|
||||
|
||||
import lombok.Data;
|
||||
import work.slhaf.partner.api.chat.pojo.Message;
|
||||
@@ -1,4 +1,4 @@
|
||||
package work.slhaf.partner.module.modules.action.dispatcher.executor.entity;
|
||||
package work.slhaf.partner.module.modules.action.executor.entity;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package work.slhaf.partner.module.modules.action.dispatcher.executor.entity;
|
||||
package work.slhaf.partner.module.modules.action.executor.entity;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package work.slhaf.partner.module.modules.action.dispatcher.executor.entity;
|
||||
package work.slhaf.partner.module.modules.action.executor.entity;
|
||||
|
||||
import lombok.Data;
|
||||
import work.slhaf.partner.core.action.entity.MetaAction;
|
||||
@@ -1,4 +1,4 @@
|
||||
package work.slhaf.partner.module.modules.action.dispatcher.executor.entity;
|
||||
package work.slhaf.partner.module.modules.action.executor.entity;
|
||||
|
||||
public record HistoryAction(String actionKey, String description, String result) {
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
package work.slhaf.partner.module.modules.action.dispatcher.executor.entity;
|
||||
package work.slhaf.partner.module.modules.action.executor.entity;
|
||||
|
||||
import lombok.Data;
|
||||
import work.slhaf.partner.api.chat.pojo.Message;
|
||||
@@ -1,4 +1,4 @@
|
||||
package work.slhaf.partner.module.modules.action.dispatcher.executor.entity;
|
||||
package work.slhaf.partner.module.modules.action.executor.entity;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package work.slhaf.partner.module.modules.action.dispatcher.executor.exception;
|
||||
package work.slhaf.partner.module.modules.action.executor.exception;
|
||||
|
||||
import work.slhaf.partner.api.agent.runtime.exception.AgentRuntimeException;
|
||||
|
||||
@@ -16,9 +16,8 @@ import work.slhaf.partner.core.cognation.CognationCapability;
|
||||
import work.slhaf.partner.core.memory.MemoryCapability;
|
||||
import work.slhaf.partner.core.perceive.PerceiveCapability;
|
||||
import work.slhaf.partner.module.common.module.PreRunningAbstractAgentModuleAbstract;
|
||||
import work.slhaf.partner.module.modules.action.dispatcher.executor.ActionExecutor;
|
||||
import work.slhaf.partner.module.modules.action.dispatcher.executor.entity.ActionExecutorInput;
|
||||
import work.slhaf.partner.module.modules.action.dispatcher.scheduler.ActionScheduler;
|
||||
import work.slhaf.partner.module.modules.action.executor.ActionExecutor;
|
||||
import work.slhaf.partner.module.modules.action.executor.entity.ActionExecutorInput;
|
||||
import work.slhaf.partner.module.modules.action.planner.confirmer.ActionConfirmer;
|
||||
import work.slhaf.partner.module.modules.action.planner.confirmer.entity.ConfirmerInput;
|
||||
import work.slhaf.partner.module.modules.action.planner.confirmer.entity.ConfirmerResult;
|
||||
@@ -28,6 +27,7 @@ import work.slhaf.partner.module.modules.action.planner.evaluator.entity.Evaluat
|
||||
import work.slhaf.partner.module.modules.action.planner.extractor.ActionExtractor;
|
||||
import work.slhaf.partner.module.modules.action.planner.extractor.entity.ExtractorInput;
|
||||
import work.slhaf.partner.module.modules.action.planner.extractor.entity.ExtractorResult;
|
||||
import work.slhaf.partner.module.modules.action.scheduler.ActionScheduler;
|
||||
import work.slhaf.partner.runtime.interaction.data.context.PartnerRunningFlowContext;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package work.slhaf.partner.module.modules.action.dispatcher.scheduler
|
||||
package work.slhaf.partner.module.modules.action.scheduler
|
||||
|
||||
import com.cronutils.model.CronType
|
||||
import com.cronutils.model.definition.CronDefinition
|
||||
@@ -20,8 +20,8 @@ import work.slhaf.partner.core.action.ActionCore
|
||||
import work.slhaf.partner.core.action.entity.Schedulable
|
||||
import work.slhaf.partner.core.action.entity.SchedulableExecutableAction
|
||||
import work.slhaf.partner.core.action.entity.StateAction
|
||||
import work.slhaf.partner.module.modules.action.dispatcher.executor.ActionExecutor
|
||||
import work.slhaf.partner.module.modules.action.dispatcher.executor.entity.ActionExecutorInput
|
||||
import work.slhaf.partner.module.modules.action.executor.ActionExecutor
|
||||
import work.slhaf.partner.module.modules.action.executor.entity.ActionExecutorInput
|
||||
import java.io.Closeable
|
||||
import java.time.Duration
|
||||
import java.time.ZonedDateTime
|
||||
@@ -13,10 +13,14 @@ import work.slhaf.partner.core.action.entity.*;
|
||||
import work.slhaf.partner.core.action.runner.RunnerClient;
|
||||
import work.slhaf.partner.core.cognation.CognationCapability;
|
||||
import work.slhaf.partner.core.memory.MemoryCapability;
|
||||
import work.slhaf.partner.module.modules.action.dispatcher.executor.entity.ActionExecutorInput;
|
||||
import work.slhaf.partner.module.modules.action.dispatcher.executor.entity.CorrectorResult;
|
||||
import work.slhaf.partner.module.modules.action.dispatcher.executor.entity.ExtractorResult;
|
||||
import work.slhaf.partner.module.modules.action.dispatcher.executor.entity.RepairerResult;
|
||||
import work.slhaf.partner.module.modules.action.executor.ActionCorrector;
|
||||
import work.slhaf.partner.module.modules.action.executor.ActionExecutor;
|
||||
import work.slhaf.partner.module.modules.action.executor.ActionRepairer;
|
||||
import work.slhaf.partner.module.modules.action.executor.ParamsExtractor;
|
||||
import work.slhaf.partner.module.modules.action.executor.entity.ActionExecutorInput;
|
||||
import work.slhaf.partner.module.modules.action.executor.entity.CorrectorResult;
|
||||
import work.slhaf.partner.module.modules.action.executor.entity.ExtractorResult;
|
||||
import work.slhaf.partner.module.modules.action.executor.entity.RepairerResult;
|
||||
|
||||
import java.util.*;
|
||||
import java.util.concurrent.*;
|
||||
|
||||
@@ -17,8 +17,9 @@ import work.slhaf.partner.core.action.ActionCapability
|
||||
import work.slhaf.partner.core.action.entity.ExecutableAction
|
||||
import work.slhaf.partner.core.action.entity.Schedulable
|
||||
import work.slhaf.partner.core.action.entity.SchedulableExecutableAction
|
||||
import work.slhaf.partner.module.modules.action.dispatcher.executor.entity.ActionExecutorInput
|
||||
import work.slhaf.partner.module.modules.action.dispatcher.scheduler.ActionScheduler
|
||||
import work.slhaf.partner.module.modules.action.executor.ActionExecutor
|
||||
import work.slhaf.partner.module.modules.action.executor.entity.ActionExecutorInput
|
||||
import work.slhaf.partner.module.modules.action.scheduler.ActionScheduler
|
||||
import java.time.ZonedDateTime
|
||||
import java.time.temporal.ChronoUnit
|
||||
|
||||
|
||||
Reference in New Issue
Block a user