Commit Graph
100 Commits
Author SHA1 Message Date
slhaf 0768cddd2d fix(ActivateModel): correct modelSettings 2026-01-30 16:50:45 +08:00
slhaf 75145cc547 chore(ActionRepairer): correct name of AssemblyHelper 2026-01-30 16:30:10 +08:00
slhaf d1ca1cda7d feature(ActionExecutor): complete CorrectorInput 2026-01-28 23:11:45 +08:00
slhaf fac6609d6b refactor(ActionExecutor): remove useless method getHistoryActionResults 2026-01-28 23:00:53 +08:00
slhaf dce8825e58 refactor(ActionExecutor): update type of history field in ActionData 2026-01-28 21:16:51 +08:00
slhaf cd641ac8dd fix(ActionExecutor): correct phaser block logic in method execute 2026-01-28 15:38:13 +08:00
slhaf 5ffdab9e4a refactor(ActionExecutor): rework staged execution and runner submit
Context:
This refactor drops unnecessary method abstractions and cleans the action execution flow.
Additionally, method 'run' is renamed to 'submit' in RunnerClient, which better reflects that execution results are held in MetaAction.
2026-01-25 19:38:53 +08:00
slhaf 830503eee4 chore(ActionExecutor): update comments 2026-01-23 19:23:07 +08:00
slhaf 96e74ec877 test(LocalRunnerClient): add test for method run in RunnerClient 2026-01-17 11:28:21 +08:00
slhaf 420d51af15 fix(LocalRunnerClient): harden doRun branches and add tests 2026-01-16 23:28:46 +08:00
slhaf 8ead306b7b fix(RunnerClient): correct RunnerResponse's visibility 2026-01-16 22:17:15 +08:00
slhaf c793851107 fix(LocalRunnerClient): support cleaning non-existing MCP Servers' tools while MCP configuration files changed in CommonMcp 2026-01-16 21:48:17 +08:00
slhaf fb5cabc747 fix(LocalRunnerClient): support read MetaActionInfo according to desc files when an MCP Client with described tools registered by CommonMcp 2026-01-16 21:28:45 +08:00
slhaf c5f6c4e0ae fix(LocalRunnerClient): recover desc watcher after root deletion and expand DescMcp tests 2026-01-14 19:57:24 +08:00
slhaf 200c0f3f13 fix(LocalRunnerClient): guard against null tool meta and ignore non-protocol MCP 2026-01-14 16:10:33 +08:00
slhaf fdf398b86e fix(LocalRunnerClient): close old MCP client while a new client's name is duplicated with the old one 2026-01-13 23:22:54 +08:00
slhaf 774e2b6cd5 fix(LocalRunnerClient): correct abnormal deleting condition in CommonMcp 2026-01-13 23:13:52 +08:00
slhaf 837a4c92d1 fix(LocalRunnerClient): treat missing action dir as invalid path during DELETE in DynamicMcp
Context:
Action directories may already be removed when DELETE events are handled.
Return null from loadFiles to signal invalid paths and lock behavior with DynamicAction watch tests.
2026-01-12 21:46:34 +08:00
slhaf ddd999d47b fix(LocalRunnerClient): prevent WatchService event loss caused by concurrent consumers
Context:
Shared WatchService with multiple watch threads caused WatchKey events to be consumed by mismatched processors, leading to missed file events.
Use isolated WatchService per WatchContext to restore correct semantics.
2026-01-12 19:46:45 +08:00
slhaf 9694a022c7 chore(gitignore): update gitignore 2026-01-12 19:35:41 +08:00
slhaf 31968c7076 chore(gitignore): create AGENTS.md for codex, and add it to .gitignore 2026-01-12 14:25:20 +08:00
slhaf abec141e4e fix(LocalRunnerClient): correct path creating logic in RunnerClient and its implementations 2026-01-11 16:47:14 +08:00
slhaf cdb6ae9d01 fix(LocalRunnerClient): correct method loadFiles in LocalWatchEventProcessor 2026-01-11 16:30:44 +08:00
slhaf dd8d86d3c4 chore(LocalRunnerClient): add logs to LocalRunnerClient 2026-01-11 16:27:14 +08:00
slhaf 99b42620d0 refactor(LocalRunnerClient): repair paths registering order and support creating directories automatically 2026-01-11 15:01:19 +08:00
slhaf 70b8335d49 feat(LocalRunnerClient): support atomic persist serialization in LocalRunnerClient 2026-01-11 14:24:34 +08:00
slhaf 8ca475beeb feat(LocalRunnerClient): support registering CommonMcp 2026-01-08 22:28:12 +08:00
slhaf 4f36c0dd2d feat(LocalRunnerClient): support deleting MCP configurations in CommonMcp 2026-01-08 22:23:08 +08:00
slhaf 00993bd763 feat(LocalRunnerClient): support creating MCP configurations in CommonMcp 2026-01-08 22:09:14 +08:00
slhaf a0bca668cb refactor(LocalRunnerClient): support update existedMetaActions in method registerMcpClient 2026-01-08 21:48:30 +08:00
slhaf c6118c41b0 refactor(LocalRunnerClient): support loading primary fileMcpCache when CommonMcp launched 2026-01-08 21:33:39 +08:00
slhaf 872d21170a feat(LocalRunnerClient): support modify and overflow events on mcp configurations in CommonMcp
Context:
Due to single file cannot present all mcp configurations, loading all MCPs at once is required.
This is compatible in both modify and overflow events.
2026-01-08 21:16:28 +08:00
slhaf 44ab6cfac8 feat(LocalRunnerClient): support registering MCP clients in CommonMcp 2026-01-05 23:06:17 +08:00
slhaf ec30ac1922 refactor(LocalRunnerClient): remove tool change consumer in registerMcpClient
Context:
ExistedMetaActions' updating logic is covered by implementations of LocalWatchEventProcessor.
2026-01-03 16:34:04 +08:00
slhaf 74b6d0c653 chore(RunnerClient): fix RunnerClient error usages in implementations 2026-01-03 15:49:54 +08:00
slhaf de462866b2 feat(LocalRunnerClient): support registering DescMcpServer watch service 2026-01-02 21:41:47 +08:00
slhaf 4ea8926363 feat(LocalRunnerClient): support repairing description data while OVERFLOW event happened in DescMcpServer 2026-01-02 21:29:18 +08:00
slhaf 04c98c7856 fix(LocalRunnerClient): support deleting descCache while *.desc.json is not available in DescMcpServer 2026-01-02 18:18:15 +08:00
slhaf 0757856187 feat(LocalRunnerClient): support deleting *.desc.json in DescMcpServer 2026-01-02 17:20:12 +08:00
slhaf 19ec93f248 feat(LocalRunnerClient): create modify *.desc.json in DescMcpServer 2026-01-02 16:45:01 +08:00
slhaf 5877b9e80d feat(LocalRunnerClient): support modify *.desc.json in DescMcpServer 2026-01-02 16:42:56 +08:00
slhaf 5db0b5fad1 feat(LocalRunnerClient): support load *.desc.json when DescMcpServer launched 2026-01-02 15:55:29 +08:00
slhaf 623a86daab chore(LocalRunnerClient): update mcp servers' comments 2026-01-02 15:52:44 +08:00
slhaf 64f24d3fc3 chore(LocalRunnerClient): adjust mcp servers' comments location 2026-01-02 13:38:43 +08:00
slhaf 3097efe453 feat(LocalRunnerClient): support register DynamicActionMcp watch service 2026-01-02 13:29:00 +08:00
slhaf b58eeffd2f feat(LocalRunnerClient): support overflow event in DynamicActionMcpServer 2026-01-01 23:32:21 +08:00
slhaf 62cec79005 refactor(LocalRunnerClient): extract duplicated action adding logic 2026-01-01 22:39:32 +08:00
slhaf 03a5935107 fix(LocalRunnerClient): support deleting event for action directories in DynamicActionMcp 2026-01-01 21:29:30 +08:00
slhaf 0ecaec0545 fix(LocalRunnerClient): repair loading logic of action subdirectories 2026-01-01 20:28:19 +08:00
slhaf 74f2c6c950 fix(LocalRunnerClient): support creating and registering new action in
method buildCreate in DynamicActionMcp
2026-01-01 00:32:34 +08:00
slhaf f35a467ebc fix(LocalRunnerClient): support registering subdirectories in LocalWatchServiceBuild 2025-12-31 23:15:27 +08:00
slhaf 64b907707a refactor(LocalRunnerClient): introduce WatchContext and decouple build/processor state 2025-12-31 23:11:15 +08:00
slhaf a6e33edc7a refactor(LocalRunnerClient): support remove action temporarily while action is not usable 2025-12-31 16:27:34 +08:00
slhaf 94ef79c67d feat(LocalRunnerClient): support program deletion for DynamicActionMcp 2025-12-31 13:41:35 +08:00
slhaf a222015abb feat(LocalRunnerClient): support program modify and unify action load protocol
Context:
The method buildModify reuses AsyncToolSpecification building logic in buildLoad.
This feature unifies local action directory protocol, and refactors related logic in buildLoad.
New action directory protocol defines the file names of program and description files.
2025-12-30 20:52:32 +08:00
slhaf 1c562f0e7b refactor(LocalRunnerClient): update action keys building source in
DynamicActionMcp

 Context:
 Building action keys by subdirector's name keeps unique identity for each local action.
2025-12-30 16:43:39 +08:00
slhaf 89535a6b1c feat(LocalRunnerClient): add initial support for loading local action tools from filesystem
Context:
This feature supports DynamicActionMcpServer.

During initialization, directories containing a program file and a
.meta.json description are scanned and registered as MCP tools.
Tool execution is handled asynchronously via boundedElastic to avoid blocking server threads.
2025-12-29 20:46:26 +08:00
slhaf 6e90bc8d67 refactor(LocalRunnerClient): co-locate system execution result 2025-12-29 18:53:41 +08:00
slhaf 0e741802d1 refactor(LocalRunnerClient): consolidate MCP client transport params
Context:
Group HTTP and STDIO transport parameter variants under a sealed internal transport parameter hierarchy.
2025-12-29 18:48:53 +08:00
slhaf db3435fccf refactor(LocalRunnerClient): co-locate watch service builder internals
Context:
Group WatchService build interfaces and registry implementation into a
single internal structure for better cohesion.
2025-12-29 18:40:20 +08:00
slhaf e3294ec302 refactor(LocalRunnerClient): move system execution methods into SystemExecHelper 2025-12-29 18:26:30 +08:00
slhaf bf99e01b51 feat(LocalRunnerClient): introduce LocalWatchServiceHelper and internal implementations
Context:
This change introduces an internal scaffold to organize WatchEventHandler building logic.
2025-12-29 17:45:39 +08:00
slhaf 1bd23b20c4 refactor(LocalRunnerClient): introduce DescMcpServer
Context:
This refactor supports creating descriptional files for common MCP Tools.
2025-12-29 17:35:03 +08:00
slhaf 442dd55686 refactor(LocalRunnerClient): rename LocalWatchServiceRegistry 2025-12-29 14:27:00 +08:00
slhaf abe5dd5251 chore(idea): update misc.xml 2025-12-26 21:28:10 +08:00
slhaf 1f737c0e29 refactor(action): reorganize constants in action module 2025-12-26 21:28:02 +08:00
slhaf d41074c814 refactor(LocalRunnerClient): replace ActionWatchService with unified watch service builder.
Context:
ActionWatchService was used to support SCRIPT and PLUGIN type actions loading from local FileSystem, this refactor allows register different paths to watch.
2025-12-25 15:41:49 +08:00
slhaf 621441601a feat(LocalRunnerClient): correct method signature 2025-12-25 10:20:55 +08:00
slhaf e00d77f076 feat(LocalRunnerClient): add shutdown logic for dynamicActionMcpServer 2025-12-25 10:12:38 +08:00
slhaf d614ac0b15 feat(LocalRunnerClient): support initializing in-process dynamic action MCP Server 2025-12-24 21:36:39 +08:00
slhaf 592e2604d9 refactor(mcp): move InProcessMcpTransport into Partner-Common module
Context:
Action modules in Partner-Main and SandboxRunner module rely on in-process MCP transport to support dynamically action generating.
2025-12-24 19:34:04 +08:00
slhaf dcbd2c6569 build(maven): introduce common module 2025-12-24 19:21:53 +08:00
slhaf 476acb0641 refactor(LocalRunnerClient): rename McpServerParams into McpClientTrasnportParams 2025-12-22 15:02:07 +08:00
slhaf 88a14f36b2 refactor(runner): relocate InProcessMcpTransport to experimental and move local MCP client logic into LocalRunnerClient
Context:
Recent changes blurred the responsibility boundary between RunnerClient and LocalRunnerClient.
This refactor moves local MCP client–specific logic into LocalRunnerClient and isolates InProcessMcpTransport and related code under the experimental package.
RunnerClient only defines indispensable methods and attributes.
2025-12-22 14:56:23 +08:00
slhaf 05d1fff125 refactor(RunnerClient): remove unused MCP type enum class 2025-12-21 23:03:25 +08:00
slhaf 49a4c9eb01 docs(RunnerClient): add architecture-location comment on RunnerClient 2025-12-21 22:05:46 +08:00
slhaf 9e76c3e7ad refactor(SandboxRunnerClient): align doRun visibility with superclass 2025-12-19 23:34:17 +08:00
slhaf 9762739138 refactor(action): replace HashMap with ConcurrentHashMap for thread-safe MetaAction storage 2025-12-19 23:30:27 +08:00
slhaf 1f5509c17d refactor(RunnerClient): redesign existedMetaActions update strategy
Context:
Resource-change events cannot reliably represent tool changes.
The previous approach attempted to externalize descriptive content into files, but the meta attribute of McpSchema.Tool can provide this information.
2025-12-19 23:22:36 +08:00
slhaf ed042cfffa fix(action): correct params type in related DTOs 2025-12-19 22:57:34 +08:00
slhaf 128592e23c chore(MetaActionInfo): remove unused type attribute 2025-12-19 22:47:06 +08:00
slhaf 5ba36ed3e8 feat(LocalRunnerClient): support executing MetaActions via MCP type 2025-12-19 22:29:03 +08:00
slhaf 4dea948f82 refactor(MetaAction): separate key attribute into name and location
Context:
This change adapts MetaAction locating to support different MetaAction types,
including loading from the local filesystem and from MCP tools.
2025-12-19 21:35:39 +08:00
slhaf dc4074715e chore(MetaAction): remove unused order attribute 2025-12-19 20:53:01 +08:00
slhaf 225802c1a8 refactor(MetaActionInfo): remove key attribute and update related logic
Context:
MetaActionInfo was previously located via its own key attribute.
This is now redundant, as ActionCore already uses the key of existedMetaActions
as the single source of truth.
2025-12-19 20:41:07 +08:00
slhaf e851e33b2e feat(RunnerClient): support MCP type-based dynamic client/server registration
This allows implementations of RunnerClient to dynamically register different types of MCP service, and also provides a shutdown hook to close client/server properly.
2025-12-18 22:25:32 +08:00
slhaf cb28a5b068 feat(RunnerClient): add InProcessMcpTransport to support in-process MCP communication
Context:
This allows RunnerClient implementations to host local MCP servers without spawning another process.
2025-12-18 21:48:35 +08:00
slhaf ad58567ada chore(deps): introduce mcp dependencies 2025-12-18 17:52:15 +08:00
slhaf 0eee12d685 refactor(MetaActionInfo): remove outdated constructor
Context:
Previously, MetaActionInfo comes from the local filesystem changes.
But now MCP Servers already provide a method to get information of MetaActions.
The pre- or post-dependencies are still required, for some MCP Tools cannot just be executed without additional context.
2025-12-18 17:49:52 +08:00
slhaf 1e6ff1b30c chore(ActionCore): update outdated comment 2025-12-18 17:49:52 +08:00
slhaf 0413fc281d chore(MetaAction): update outdated comment 2025-12-17 22:18:43 +08:00
slhaf 8a7681ae31 chore(LocalRunnerClient): remove a redundant comment 2025-12-17 20:02:28 +08:00
slhaf 1947f25ed6 feat(LocalRunnerClient): support executing origin actions
Context:
Origin actions are generated by DynamicActionGenerator and may optionally be
persistently serialized. This feature adds the basic execution flow for origin
actions within LocalRunnerClient.

Notes:
The current mapping between action files and their extensions is hardcoded. This should later be replaced with a configurable registry or loaded dynamically
during application startup.
2025-12-16 21:59:53 +08:00
slhaf 488246525f chore(gitignore): exclude runtime data directory from version control 2025-12-16 21:39:11 +08:00
slhaf 534dcd5ade fix(LocalRunnerClient): correctly capture stdout and stderr to avoid missing output in method exec 2025-12-16 21:30:51 +08:00
slhaf ad58c0cc7c refactor(LocalRunnerClient): allow injecting action watch path
Context:
The hardcoded action watch path made LocalRunnerClient difficult to test and
tightened it to a specific runtime layout. Injecting the watch path improves
testability and allows the runner to work in different runtime environments.
2025-12-16 21:02:29 +08:00
slhaf d546148d69 chore(test): organize experimental tests and test resources 2025-12-16 19:58:08 +08:00
slhaf bf2d5ac707 refactor(RunnerClient): restructure serialization and temp execution paths
Context:
Following the consolidation of action types into ORIGIN and MCP,
the serialization logic needs to be separated into dedicated methods.
These methods are invoked by DynamicActionGenerator.
2025-12-16 10:47:23 +08:00
slhaf 628234f6e2 refactor(MetaActionType): redefine meta action types into MCP and ORIGIN
Context:
Previously, SCRIPT and PLUGIN were treated as separate action types,
but their semantics are already covered by MCP.
However, a generic execution path for locally generated actions is still
required, which is represented by ORIGIN.
2025-12-16 10:37:04 +08:00
slhaf 4b852e0049 推进 ActionExecutor 下的‘行动生成与执行’部分
- 新增 RunnerClient 抽象类,并划分 SandboxRunnerClient、LocalRunnerClient两个子类(内容待完善)。前者负责对接 SandboxRunner 模块,后者直接使用本地作为执行环境(但不推荐)。
- 将 ActionWatchService 划为 LocalRunnerClient 的内部类,负责采用本地执行环境时,监听行动程序变化
- 完善 ActionRepairer 处的修复逻辑
- 调整 MetaAction 中路径获取逻辑

这提交方式真该调整一下了,这阶段推进容易攒太多,但又不好停手。或许阶段目标可以保留,但推进点应该可以细化🤔
2025-12-15 21:54:24 +08:00