aboutsummaryrefslogtreecommitdiff
path: root/crates/vcs_actions/src
Commit message (Collapse)AuthorAgeFilesLines
* Change auth_member to return MemberId on success魏曹先生2025-10-302-7/+9
| | | | | | The authentication function now returns the authenticated member's ID instead of just () when successful. This provides callers with access to the authenticated member's identity for subsequent operations.
* Apply clippy suggestions魏曹先生2025-10-292-4/+2
| | | | | - Use dereferenced UUID instead of cloning - Simplify error message formatting
* Add LocalWorkspace and UserDirectory to client ActionContext魏曹先生2025-10-291-0/+34
| | | | | | | | | | | Initialize and insert Arc-wrapped LocalWorkspace and UserDirectory instances into the ActionContext for client environment actions. This provides workspace and user directory data to actions running in client mode. The LocalWorkspace is initialized from the current directory's local config, while UserDirectory uses the current document directory. Both are wrapped in Arc for efficient sharing across the action execution.
* feat: Add port override capability to server entry魏曹先生2025-10-291-8/+18
| | | | | | | The server_entry function now accepts an optional port_override parameter that allows specifying a custom port instead of using the configured port from vault configuration. When port_override is greater than 0, it takes precedence over the configured port.
* Update actions.rs魏曹先生2025-10-291-0/+113
|
* feat: Completed `set_upstream_vault_action`魏曹先生2025-10-291-16/+62
|
* update: Action.rs 1. Rename `insert` to `with_data` and `insert_arc` to魏曹先生2025-10-291-1/+1
| | | | | `with_arc_data` 2. Add new `insert_data` and `insert_arc_data` methods that take &mut self
* Fix error handling in process_connection魏曹先生2025-10-271-2/+1
|
* update: Add connection logs to show active count魏曹先生2025-10-271-2/+2
| | | | | Include current connection count in connection open/close log messages for better monitoring of server load
* update: Add server lock behavior to vault lifecycle魏曹先生2025-10-271-0/+9
| | | | Lock the vault before starting the server and unlock it during shutdown.
* update: Remove `hello_world_action`魏曹先生2025-10-271-21/+0
|
* fixed: Incorrect condition setting for determining whether to send魏曹先生2025-10-271-1/+1
| | | | parameters during `on_proc_begin`
* update: ActionContext 1. Rename `local` to `proc_on_local` 2. Add魏曹先生2025-10-271-4/+4
| | | | `is_remote_action`
* fix: Make the ActionContext passed to on_proc_begin mutable魏曹先生2025-10-271-1/+1
|
* Add some debug logs魏曹先生2025-10-272-16/+61
|
* Fix some spelling issues.魏曹先生2025-10-242-3/+20
|
* Re-export subcrate `action_system` to `just_enough_vcs`魏曹先生2025-10-242-3/+14
|
* Fix Clippy warnings and optimize code魏曹先生2025-10-132-4/+4
| | | | | | | | | - Fix let_underscore_future warning by properly awaiting async functions - Make accept_import function async to match add_mapping usage - Propagate errors properly with ? operator instead of ignoring them - Replace manual Default implementation with derive attribute - Replace vec! with array literal to avoid useless_vec warning - All tests pass and code is now Clippy clean
* feat: implement asynchronous action call system魏曹先生2025-10-134-20/+34
| | | | | | | | | | - Add async callback support with proper argument passing - Implement remote action invocation via TCP connection - Add hello_world_action example demonstrating async communication - Improve ActionPool with type-safe async processing - Update client registry for remote action handling - Enhance ActionContext with better instance management - Support both local and remote action execution modes
* feat: Implement JSON-based type-erased action invocation魏曹先生2025-10-135-11/+56
| | | | | | | | | - 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
* feat: Add JSON-based action invocation to ActionPool魏曹先生2025-10-132-4/+4
| | | | | | | | - Extend action_gen macro to generate JSON serialization logic - Implement generic action processing using JSON text for type-agnostic calls - Add callback mechanism with action name and arguments in ActionPool - Update client and server registries to use new callback system - Improve action system flexibility at the cost of serialization overhead
* feat: Add connection infrastructure and documentation魏曹先生2025-10-123-0/+145
| | | | | | - Implement action service for connection handling - Add error types for connection operations - Create todo.md for project tracking
* chore: Update dependencies and module exports魏曹先生2025-10-121-0/+1
| | | | | - Add required dependencies for action system - Export registry modules in vcs_actions library
* feat: Implement SetUpstreamVaultAction魏曹先生2025-10-121-0/+17
| | | | | | - Add local action for setting upstream vault - Use action_gen macro for automatic registration - Validate action is executed locally
* feat: Add server action registry魏曹先生2025-10-121-0/+9
| | | | | - Create server_action_pool function - Register SetUpstreamVaultAction for server use
* fix: Resolve callback type mismatch in client_registry魏曹先生2025-10-121-0/+39
| | | | | | - Fix lifetime issue in on_proc_begin callback registration - Use cloned context in async closure to avoid lifetime conflicts - Rename unused variable to suppress warning
* Create vcs_actions crate for client-server interaction logic魏曹先生2025-10-0610-0/+9
- Add new crate to combine action_system and vcs_data functionality - Define dependencies on both action_system and vcs_data crates - Prepare structure for implementing client-server communication logic