summaryrefslogtreecommitdiff
path: root/crates/vcs_actions/src/connection/protocol.rs
diff options
context:
space:
mode:
author魏曹先生 <1992414357@qq.com>2025-10-13 13:34:39 +0800
committer魏曹先生 <1992414357@qq.com>2025-10-13 13:34:39 +0800
commit67fb8ec01b351c6c9fd2af321166bb92250b1218 (patch)
tree4509509ef932e1009dcd2da25928fcff71a5f29b /crates/vcs_actions/src/connection/protocol.rs
parent860fb317bca61ce66a2c98df933aa666dae0a43f (diff)
feat: Implement JSON-based type-erased action invocation
- Add process_json method to ActionPool for type-agnostic calls using JSON serialization - Extend ActionContext with action_name and action_args fields and setter methods - Update action_gen macro to use process_json instead of typed process method - Implement remote action invocation framework in client_registry and action_service - Add protocol definitions for remote action communication - Enable flexible action execution without explicit type specifications
Diffstat (limited to 'crates/vcs_actions/src/connection/protocol.rs')
-rw-r--r--crates/vcs_actions/src/connection/protocol.rs7
1 files changed, 7 insertions, 0 deletions
diff --git a/crates/vcs_actions/src/connection/protocol.rs b/crates/vcs_actions/src/connection/protocol.rs
new file mode 100644
index 0000000..2cebe79
--- /dev/null
+++ b/crates/vcs_actions/src/connection/protocol.rs
@@ -0,0 +1,7 @@
+use serde::{Deserialize, Serialize};
+
+#[derive(Default, Clone, Serialize, Deserialize)]
+pub struct RemoteActionInvoke {
+ pub action_name: String,
+ pub action_args_json: String,
+}