From bf99e01b51fe763083cb310ade633b4d3f096dc8 Mon Sep 17 00:00:00 2001 From: slhafzjw Date: Mon, 29 Dec 2025 17:45:39 +0800 Subject: [PATCH] feat(LocalRunnerClient): introduce LocalWatchServiceHelper and internal implementations Context: This change introduces an internal scaffold to organize WatchEventHandler building logic. --- .../core/action/runner/LocalRunnerClient.java | 139 ++++++++++++++++++ 1 file changed, 139 insertions(+) diff --git a/Partner-Main/src/main/java/work/slhaf/partner/core/action/runner/LocalRunnerClient.java b/Partner-Main/src/main/java/work/slhaf/partner/core/action/runner/LocalRunnerClient.java index 6f29c7fc..93682706 100644 --- a/Partner-Main/src/main/java/work/slhaf/partner/core/action/runner/LocalRunnerClient.java +++ b/Partner-Main/src/main/java/work/slhaf/partner/core/action/runner/LocalRunnerClient.java @@ -458,6 +458,145 @@ public class LocalRunnerClient extends RunnerClient { } + private sealed static abstract class LocalWatchServiceHelper permits LocalWatchServiceHelper.Dynamic, LocalWatchServiceHelper.Desc, LocalWatchServiceHelper.Common { + + protected final ConcurrentHashMap existedMetaActions; + + private LocalWatchServiceHelper(ConcurrentHashMap existedMetaActions) { + this.existedMetaActions = existedMetaActions; + } + + protected abstract @NotNull WatchInitLoader buildLoad(); + + protected abstract @NotNull WatchEventHandler buildModify(); + + protected abstract @NotNull WatchEventHandler buildCreate(); + + protected abstract @NotNull WatchEventHandler buildDelete(); + + protected abstract @NotNull WatchEventHandler buildOverflow(); + + private static final class Dynamic extends LocalWatchServiceHelper { + + private final McpStatelessAsyncServer dynamicActionMcpServer; + + private Dynamic(ConcurrentHashMap existedMetaActions, McpStatelessAsyncServer dynamicActionMcpServer) { + super(existedMetaActions); + this.dynamicActionMcpServer = dynamicActionMcpServer; + } + + @Override + @NotNull + protected WatchInitLoader buildLoad() { + return null; + } + + @Override + @NotNull + protected WatchEventHandler buildModify() { + return null; + } + + @Override + @NotNull + protected WatchEventHandler buildCreate() { + return null; + } + + @Override + @NotNull + protected WatchEventHandler buildDelete() { + return null; + } + + @Override + @NotNull + protected WatchEventHandler buildOverflow() { + return null; + } + } + + private static final class Desc extends LocalWatchServiceHelper { + + private final McpStatelessAsyncServer mcpDescServer; + + private Desc(ConcurrentHashMap existedMetaActions, McpStatelessAsyncServer mcpDescServer) { + super(existedMetaActions); + this.mcpDescServer = mcpDescServer; + } + + @Override + @NotNull + protected WatchInitLoader buildLoad() { + return null; + } + + @Override + @NotNull + protected WatchEventHandler buildModify() { + return null; + } + + @Override + @NotNull + protected WatchEventHandler buildCreate() { + return null; + } + + @Override + @NotNull + protected WatchEventHandler buildDelete() { + return null; + } + + @Override + @NotNull + protected WatchEventHandler buildOverflow() { + return null; + } + } + + private static final class Common extends LocalWatchServiceHelper { + + private final Map mcpClients; + + private Common(ConcurrentHashMap existedMetaActions, Map mcpClients) { + super(existedMetaActions); + this.mcpClients = mcpClients; + } + + @Override + @NotNull + protected WatchInitLoader buildLoad() { + return null; + } + + @Override + @NotNull + protected WatchEventHandler buildModify() { + return null; + } + + @Override + @NotNull + protected WatchEventHandler buildCreate() { + return null; + } + + @Override + @NotNull + protected WatchEventHandler buildDelete() { + return null; + } + + @Override + @NotNull + protected WatchEventHandler buildOverflow() { + return null; + } + } + } + private sealed abstract static class McpClientTransportParams permits HttpMcpClientTransportParams, StdioMcpClientTransportParams { private final int timeout;