Commit Graph

3512 Commits

Author SHA1 Message Date
Jamie Pine
397b3f41fe chore: Remove outdated semantic tagging documentation files
- Deleted `SEMANTIC_TAGGING_IMPLEMENTATION_SUMMARY.md`, `SEMANTIC_TAGGING_PRODUCTION_IMPLEMENTATION.md`, `SEMANTIC_TAGGING_PRODUCTION_READINESS.md`, `SEMANTIC_TAGGING_USAGE_GUIDE.md`, and other related files as they are no longer relevant to the current implementation.
- This cleanup helps streamline the documentation and focuses on the most up-to-date resources for the semantic tagging system.

This commit enhances the clarity and maintainability of the project documentation.
2025-09-15 15:44:39 -07:00
Jamie Pine
578c1971d4 refactor: Simplify semantic tag module structure and remove deprecated files
- Renamed `semantic_tag_manager` to `manager` and `semantic_tagging_facade` to `facade` for clarity and consistency.
- Removed the `semantic_tag_manager.rs` and `semantic_tagging_facade.rs` files as part of the restructuring.
- Updated module imports and re-exports in `mod.rs` to reflect the new naming conventions.
- Cleaned up whitespace in the codebase for improved readability.

This commit enhances the organization of the semantic tagging system, paving the way for future development.
2025-09-15 15:44:23 -07:00
Jamie Pine
7badb38b51 feat: Refactor semantic tagging services and update module structure
- Reintroduced the `metadata` module in the operations layer for better organization.
- Replaced `UserMetadataService` with `UserMetadataManager` for improved clarity in user metadata handling.
- Updated `SemanticTagService` references to `SemanticTagManager` in tag operations for consistency.
- Enhanced documentation in the `tags` module to clarify the purpose and functionality of the tag operations.
- Removed deprecated services and cleaned up imports to streamline the codebase.

This commit improves the structure and readability of the semantic tagging system, setting the stage for future enhancements.
2025-09-15 15:40:55 -07:00
Jamie Pine
1bee40593d feat: Enhance semantic tagging system with regex support and code cleanup
- Added `regex` dependency for improved text processing capabilities.
- Cleaned up code in various entity files by removing unnecessary whitespace and comments.
- Updated `Cargo.toml` to include the new `regex` dependency.
- Refactored database entity files to improve readability and maintainability.

This commit lays the groundwork for more advanced text processing features in the semantic tagging system.
2025-09-15 15:27:16 -07:00
Cursor Agent
57db156dd1 feat: Implement core semantic tagging functionality
This commit introduces the foundational elements for the semantic tagging system. It includes:

- **Domain Models**: New modules for `semantic_tag`, `semantic_tag_validation`, and related types.
- **Service Layer**: Implementation of `SemanticTagService` and `UserMetadataService` with core CRUD and search operations.
- **Action System Integration**: Actions for creating, applying, and searching tags (`CreateTagAction`, `ApplyTagsAction`, `SearchTagsAction`).
- **Database Migrations**: Schema definitions for semantic tagging tables.
- **Facade API**: `SemanticTaggingFacade` for simplified access to tagging features.
- **Validation**: Comprehensive validation rules for tag names, namespaces, and business logic.
- **Tests**: Unit tests for domain models and validation rules.

This lays the groundwork for advanced features like AI-driven suggestions, context resolution, and hierarchical organization.

Co-authored-by: ijamespine <ijamespine@me.com>
2025-09-15 21:43:30 +00:00
Cursor Agent
df0db519e2 Feat: Add semantic tagging production readiness document
Co-authored-by: ijamespine <ijamespine@me.com>
2025-09-15 21:25:56 +00:00
Cursor Agent
48869853ac feat: Implement Spacedrive semantic tagging system
Co-authored-by: ijamespine <ijamespine@me.com>
2025-09-15 21:20:19 +00:00
Cursor Agent
ac0c298e2a feat: Implement semantic tagging foundation
Co-authored-by: ijamespine <ijamespine@me.com>
2025-09-15 21:12:19 +00:00
Cursor Agent
ae04f7b7d6 feat: Implement advanced semantic tagging system
Co-authored-by: ijamespine <ijamespine@me.com>
2025-09-15 20:51:10 +00:00
Jamie Pine
7b9e2d8dd6 chore: Update dependencies and enhance error handling in CLI
- Updated `bincode` dependency to version 1.3.3 for improved performance and security.
- Refactored error handling in `error.rs` to use `bincode::Error` instead of `bincode::ErrorKind`, ensuring better error management.
- Enhanced macro definitions in `macros.rs` to utilize the updated error handling structure.
- Improved error reporting in `manager.rs` when creating directories, providing clearer context for IO errors.
- Added a new design document for Sync Conduits, detailing the architecture and implementation plan for file synchronization in Spacedrive.
2025-09-15 11:45:21 -07:00
Jamie Pine
b968345f8c Merge pull request #13 from jamiepine/feat/cli-daemon-management 2025-09-15 02:02:48 -04:00
Jamie Pine
2ed328af79 refactor: Update argument handling and imports across CLI domains
- Refactored argument handling in the job and library domains to improve clarity and consistency.
- Updated imports to use the correct input types for actions in the library and location modules.
- Enhanced type annotations for better readability and maintainability in the codebase.
2025-09-13 17:26:06 -07:00
Jamie Pine
e8d28bf7eb merge: incorporate confirm_or_abort utility from main while keeping modular CLI structure
- Added confirm_or_abort utility for dangerous operations
- Added confirmation prompts to:
  - location remove
  - library delete (new command)
  - network revoke
- Kept our modular CLI structure with domains/ subdirectories
- Removed old flat .rs files that were moved to modular structure
2025-09-13 17:17:43 -07:00
Jamie Pine
2574ad7bff refactor: Remove unused domain modules from CLI
- Deleted several domain modules including file, index, job, library, location, and network, which were no longer needed in the CLI structure.
- Cleaned up the codebase to improve maintainability and reduce complexity by removing obsolete functionality.
- Updated the module structure in `util/mod.rs` to reflect these changes.
2025-09-13 17:03:01 -07:00
Jamie Pine
b72c42b317 refactor: Rename session_state to session in CoreContext and related modules
- Updated the CoreContext struct to rename the session_state field to session for clarity.
- Refactored all instances in the codebase where session_state was used, ensuring consistency across ActionManager, JobManager, LibraryManager, and various query implementations.
- Enhanced session management by retrieving the current library ID directly from the session, improving code readability and maintainability.
2025-09-13 16:16:05 -07:00
Jamie Pine
d439d69590 feat: Finalize Spacedrive refactor and enhance session management
- Added a new documentation file outlining the finalization plan for the Spacedrive refactor, detailing remaining tasks and objectives for migrating to a CQRS architecture.
- Implemented session state management to track the current library context across operations, improving the overall architecture's modularity and maintainability.
- Refactored CLI commands and core components to utilize the new session state service, ensuring a more consistent and error-free user experience.
- Enhanced error handling and logging in various modules to facilitate debugging and improve reliability.
2025-09-13 16:08:07 -07:00
Jamie Pine
bf7d618cd8 feat: Add comprehensive architecture documentation and enhance CLI daemon management
- Introduced a new `ARCHITECTURE.md` file detailing the system overview, core architecture, daemon infrastructure, operations system, CLI client, data flow, key design decisions, implementation details, and future improvements.
- Enhanced CLI commands to validate instance names for security and check if the daemon is already running before starting a new instance.
- Updated the daemon's RPC server to handle requests concurrently and improved error handling with structured error types.
- Refactored action and query execution to support async operations more effectively.
2025-09-13 16:08:00 -07:00
Jamie Pine
5623be4478 Merge pull request #11 from jamiepine/cursor/add-confirmation-to-dangerous-cli-commands-3362 2025-09-11 21:47:26 -04:00
Jamie Pine
50b15bbc1c feat: Implement CLI daemon management and library commands 2025-09-11 20:30:09 -04:00
Cursor Agent
4b43120deb Checkpoint before follow-up message
Co-authored-by: ijamespine <ijamespine@me.com>
2025-09-11 22:54:55 +00:00
Jamie Pine
ce7ada15f0 Merge pull request #10 from jamiepine/api-boilerplate 2025-09-11 18:34:51 -04:00
Cursor Agent
0be286d152 Refactor: Move command logic to domain modules
Co-authored-by: ijamespine <ijamespine@me.com>
2025-09-11 21:59:33 +00:00
Jamie Pine
db02f8e18f Merge pull request #9 from jamiepine/api-boilerplate 2025-09-11 17:27:57 -04:00
Cursor Agent
1d4b7e929f Fix: Ensure library directory is deleted on shutdown
Co-authored-by: ijamespine <ijamespine@me.com>
2025-09-11 21:25:56 +00:00
Jamie Pine
80d8714202 Merge pull request #3 from jamiepine/promote-core-to-root 2025-09-11 17:17:22 -04:00
Jamie Pine
5534f28c31 Merge pull request #4 from jamiepine/api-boilerplate 2025-09-11 17:17:10 -04:00
Jamie Pine
298c311e1a Merge pull request #8 from jamiepine/cursor/design-spacedrive-cli-structure-6334 2025-09-11 17:16:32 -04:00
Cursor Agent
aea1120292 feat: Implement job listing and info commands
Adds functionality to list and retrieve details about jobs.

Co-authored-by: ijamespine <ijamespine@me.com>
2025-09-11 21:13:59 +00:00
Cursor Agent
e022dcb75c Refactor: Use PairingState directly in PairingSessionSummary
Co-authored-by: ijamespine <ijamespine@me.com>
2025-09-11 21:08:40 +00:00
Cursor Agent
e26ead654b feat: Add job commands and list locations
Co-authored-by: ijamespine <ijamespine@me.com>
2025-09-11 21:05:09 +00:00
Cursor Agent
470ff03bd6 Add location and library commands, improve instance handling
Co-authored-by: ijamespine <ijamespine@me.com>
2025-09-11 20:00:48 +00:00
Cursor Agent
e3e50194b0 feat: Add network and pairing commands to CLI
Co-authored-by: ijamespine <ijamespine@me.com>
2025-09-11 19:41:34 +00:00
Cursor Agent
f109d8ba90 Remove unused network init action and module
Co-authored-by: ijamespine <ijamespine@me.com>
2025-09-11 19:37:53 +00:00
Cursor Agent
d62b6fa9f5 Refactor: Remove password from network init input and action
Co-authored-by: ijamespine <ijamespine@me.com>
2025-09-11 19:35:45 +00:00
Cursor Agent
d43f7dd64b Refactor network init and revoke actions
Initialize networking service and register protocols.
Revoke action now removes device from persistence.

Co-authored-by: ijamespine <ijamespine@me.com>
2025-09-11 19:31:46 +00:00
Cursor Agent
ac169b3916 feat: Add network operations module
This commit introduces a comprehensive set of network operations, including initialization, starting, stopping, pairing, revoking devices, and querying network status.

Co-authored-by: ijamespine <ijamespine@me.com>
2025-09-11 19:26:37 +00:00
Jamie Pine
d4013dae8a Merge pull request #7 from jamiepine/cursor/add-cli-commands-using-action-query-system-7419 2025-09-11 15:01:34 -04:00
Jamie Pine
91a5610837 Merge pull request #6 from jamiepine/cursor/return-action-output-from-core-client-6a33 2025-09-11 14:59:24 -04:00
Cursor Agent
21de5e0e8c Refactor: Accept SdPath URIs and local paths for file operations
Co-authored-by: ijamespine <ijamespine@me.com>
2025-09-11 01:21:52 +00:00
Cursor Agent
dc66b34de1 feat: Add file and index commands to CLI
Co-authored-by: ijamespine <ijamespine@me.com>
2025-09-11 01:14:10 +00:00
Cursor Agent
afe5e3e063 Remove unused workspace member pattern
Co-authored-by: ijamespine <ijamespine@me.com>
2025-09-11 00:26:59 +00:00
Cursor Agent
de2d53f18f Refactor: Return bytes from core client action
Co-authored-by: ijamespine <ijamespine@me.com>
2025-09-11 00:06:25 +00:00
Jamie Pine
050b2a7e8e Merge pull request #5 from jamiepine/cursor/fix-library-action-naming-inconsistency-3036 2025-09-10 20:01:58 -04:00
Cursor Agent
0dc3995f74 Refactor: Pluralize action kinds for consistency
Co-authored-by: ijamespine <ijamespine@me.com>
2025-09-11 00:00:44 +00:00
Jamie Pine
f6edb570c4 fix: update subproject commit and enhance action registration
- Updated the subproject commit to indicate a dirty state.
- Commented out the unused import of `PathBuf` in `daemon.rs` for clarity.
- Added a test module in `registry.rs` to list registered operations and ensure at least one action or query is registered.
- Registered core actions for library creation, deletion, export, renaming, and location management, improving modularity and consistency in action handling.

These changes enhance the reliability of the operation registration process and improve code clarity.
2025-09-10 19:48:11 -04:00
Jamie Pine
13df73bef0 refactor: streamline action and query structures
- Removed unnecessary whitespace in `cqrs.rs` to enhance code cleanliness.
- Reorganized imports in `addressing.rs` for better clarity and consistency.
- Introduced new input types for actions, including `Input` associated types in `CoreAction` and `LibraryAction`, promoting a more modular design.
- Updated action implementations to utilize the new input structures, improving maintainability and reducing redundancy.
- Enhanced event handling in `event.rs` to ensure proper library ID filtering.

These changes improve the overall structure and maintainability of the action and query systems while ensuring a consistent API surface.
2025-09-10 17:34:11 -04:00
Jamie Pine
25db936675 feat: introduce unified op! macro for operation registration
- Added the `op!` macro to streamline the registration of library actions, core actions, and queries, reducing boilerplate and promoting consistency across the codebase.
- Implemented helper macros for generating method strings for actions and queries, enhancing clarity in operation declarations.
- Updated existing file operations (copy, delete, duplicate detection) to utilize the new macro, simplifying their input and action structures.
- Introduced comprehensive documentation for the operations initialization API, outlining usage patterns and conversion mechanisms.

These changes significantly enhance the modularity and maintainability of the operation registration process while ensuring a consistent API surface.
2025-09-10 15:40:13 -04:00
Jamie Pine
a25caddd41 refactor: streamline action manager and input structures
- Refactored the `ActionManager` to improve the dispatching of core and library-scoped actions, enhancing clarity and maintainability.
- Updated action input structures to remove unnecessary library ID fields, promoting a cleaner API and reducing redundancy.
- Enhanced the `dispatch_library` method to accept library ID as a parameter, simplifying the action execution process.
- Improved validation and error handling across various action implementations, ensuring consistent feedback and robustness.

These changes significantly enhance the modularity and maintainability of the action system while ensuring a consistent API surface.
2025-09-10 15:10:29 -04:00
Jamie Pine
5c6735ea28 refactor: rename action registration macros for clarity
- Updated the action registration macros from `register_action_input!` to `register_library_action_input!` to better reflect their purpose and improve clarity in the codebase.
- Adjusted related documentation and input structures to ensure consistency with the new naming convention.
- Enhanced the organization of input types for file operations and library management, promoting better modularity and maintainability.

These changes improve the clarity and consistency of the action registration process across the codebase.
2025-09-10 13:14:30 -04:00
Jamie Pine
c29c93f130 fix: update subproject commit and add tests for operation registration
- Updated the subproject commit to indicate a dirty state.
- Added a suite of tests for verifying the registration of queries and actions, ensuring proper naming conventions and the absence of duplicates.
- Implemented debugging output to list registered operations, enhancing traceability and verification of the inventory system.

These changes improve the reliability of the operation registration process and facilitate easier debugging.
2025-09-10 13:00:02 -04:00