refactor(action): make LocalRunnerClient as default runner client

This commit is contained in:
2026-04-05 23:23:02 +08:00
parent 3b236286b9
commit 332792daa2
2 changed files with 8 additions and 10 deletions

View File

@@ -6,6 +6,7 @@ import lombok.val;
import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.Nullable;
import work.slhaf.partner.api.agent.factory.capability.annotation.CapabilityCore; import work.slhaf.partner.api.agent.factory.capability.annotation.CapabilityCore;
import work.slhaf.partner.api.agent.factory.capability.annotation.CapabilityMethod; import work.slhaf.partner.api.agent.factory.capability.annotation.CapabilityMethod;
import work.slhaf.partner.api.agent.runtime.config.ConfigCenter;
import work.slhaf.partner.core.PartnerCore; import work.slhaf.partner.core.PartnerCore;
import work.slhaf.partner.core.action.entity.ExecutableAction; import work.slhaf.partner.core.action.entity.ExecutableAction;
import work.slhaf.partner.core.action.entity.MetaAction; import work.slhaf.partner.core.action.entity.MetaAction;
@@ -13,8 +14,8 @@ import work.slhaf.partner.core.action.entity.MetaActionInfo;
import work.slhaf.partner.core.action.entity.intervention.InterventionType; import work.slhaf.partner.core.action.entity.intervention.InterventionType;
import work.slhaf.partner.core.action.entity.intervention.MetaIntervention; import work.slhaf.partner.core.action.entity.intervention.MetaIntervention;
import work.slhaf.partner.core.action.exception.MetaActionNotFoundException; import work.slhaf.partner.core.action.exception.MetaActionNotFoundException;
import work.slhaf.partner.core.action.runner.LocalRunnerClient;
import work.slhaf.partner.core.action.runner.RunnerClient; import work.slhaf.partner.core.action.runner.RunnerClient;
import work.slhaf.partner.core.action.runner.SandboxRunnerClient;
import java.io.IOException; import java.io.IOException;
import java.util.*; import java.util.*;
@@ -47,8 +48,9 @@ public class ActionCore extends PartnerCore<ActionCore> {
private RunnerClient runnerClient; private RunnerClient runnerClient;
public ActionCore() throws IOException, ClassNotFoundException { public ActionCore() throws IOException, ClassNotFoundException {
// TODO 通过 AgentConfigManager指定采用何种 runnerClient String baseActionPath = ConfigCenter.INSTANCE.getPaths().getResourcesDir().resolve("action").normalize().toAbsolutePath().toString();
runnerClient = new SandboxRunnerClient(existedMetaActions, virtualExecutor); // TODO 通过 Config 指定采用何种 runnerClient当前只提供 LocalRunnerClient
runnerClient = new LocalRunnerClient(existedMetaActions, virtualExecutor, baseActionPath);
setupShutdownHook(); setupShutdownHook();
} }

View File

@@ -4,7 +4,7 @@ import lombok.Data;
import lombok.Setter; import lombok.Setter;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import lombok.val; import lombok.val;
import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.NotNull;
import work.slhaf.partner.core.action.entity.ActionFileMetaData; import work.slhaf.partner.core.action.entity.ActionFileMetaData;
import work.slhaf.partner.core.action.entity.MetaAction; import work.slhaf.partner.core.action.entity.MetaAction;
import work.slhaf.partner.core.action.entity.MetaAction.Result; import work.slhaf.partner.core.action.entity.MetaAction.Result;
@@ -18,9 +18,6 @@ import java.nio.file.Path;
import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ExecutorService; import java.util.concurrent.ExecutorService;
import static work.slhaf.partner.common.Constant.Path.DATA;
import static work.slhaf.partner.common.util.PathUtil.buildPathStr;
/** /**
* 执行客户端抽象类 * 执行客户端抽象类
* <br/> * <br/>
@@ -51,11 +48,10 @@ public abstract class RunnerClient {
/** /**
* ActionCore 将注入虚拟线程池 * ActionCore 将注入虚拟线程池
*/ */
public RunnerClient(ConcurrentHashMap<String, MetaActionInfo> existedMetaActions, ExecutorService executor, @Nullable String baseActionPath) { public RunnerClient(ConcurrentHashMap<String, MetaActionInfo> existedMetaActions, ExecutorService executor, @NotNull String baseActionPath) {
this.existedMetaActions = existedMetaActions; this.existedMetaActions = existedMetaActions;
this.executor = executor; this.executor = executor;
baseActionPath = baseActionPath == null ? DATA : baseActionPath; this.ACTION_PATH = baseActionPath;
this.ACTION_PATH = buildPathStr(baseActionPath, "action");
createPath(ACTION_PATH); createPath(ACTION_PATH);
} }