- Adjusted the table of contents and section labels for improved organization and clarity.
- Updated references and citations for consistency and accuracy.
- Enhanced the abstract to better reflect the core features of Spacedrive.
- Refined the description of the architecture and its foundational principles, emphasizing the local-first approach and AI-native capabilities.
These changes improve the overall readability and coherence of the whitepaper, ensuring it effectively communicates the innovations of Spacedrive.
- Added a new end-to-end search test with real data to validate the complete search workflow, including file indexing and search result display.
- Removed the outdated search integration test to streamline testing efforts.
- Introduced the `chrono` dependency in the CLI for enhanced date handling in search operations.
- Updated the search output structure to include matched content and improved pagination handling.
These changes enhance the robustness of the search feature and ensure better integration with real-world data scenarios.
- Changed the visibility of the execute_fast_search method from private to public, allowing it to be accessed outside the FileSearchQuery implementation.
- This modification facilitates integration with other components that require fast search capabilities using FTS5.
- Added FTS5 support to improve text search performance and relevance scoring in file search queries.
- Refactored the search logic to utilize FTS5 for high-performance querying, including BM25 ranking.
- Implemented methods for building FTS5 queries and extracting highlights from search results.
- Updated tests to validate FTS5 query building and highlight extraction functionality.
This enhancement significantly boosts the efficiency and accuracy of file searches.
- Improved formatting and consistency in the search command implementation.
- Enhanced the file search query logic by adding total count retrieval for pagination.
- Refactored the path construction and filtering methods for better clarity and maintainability.
- Updated the output handling to ensure proper display of search results and suggestions.
This refactor sets the stage for future enhancements in the search functionality.
This commit introduces the file search functionality, including core logic, CLI integration, and necessary data structures.
Co-authored-by: ijamespine <ijamespine@me.com>
- Refactored the tag command arguments in the CLI to improve clarity and consistency in the codebase.
- Updated the migration script for the tag system to enhance the database schema, including the creation of new tables and indexes.
- Adjusted foreign key constraints and triggers to maintain data integrity and support full-text search capabilities.
This refactor streamlines the tagging system's command structure and database interactions, setting the foundation for future enhancements.
- Deleted the `semantic_tag_validation` module to streamline the codebase as part of the transition to a unified tagging system.
- Updated module imports in `mod.rs` and adjusted references in the `semantic_tagging_test` to reflect the removal of the validation module.
- This refactor enhances maintainability and clarity within the tagging architecture, aligning with recent structural changes.
- Renamed the `user_metadata_manager` module to `manager` for consistency and clarity.
- Updated all references to `UserMetadataManager` across the codebase to reflect the new module name.
- Adjusted documentation to point to the new module location.
This refactor enhances the organization of the metadata management system, improving maintainability and readability.
- Implemented a full-text search (FTS5) virtual table for efficient tag searching.
- Added triggers to maintain the FTS5 table during tag insertions, updates, and deletions.
- Introduced methods for updating and deleting tags, ensuring all related relationships and entries are handled appropriately.
- Enhanced search functionality to utilize FTS5 and fallback to LIKE queries, improving search performance and accuracy.
- Updated the action layer to reflect changes in tag management, including UUID lookups for entries.
This commit significantly improves the tagging system's search capabilities and management operations, setting the stage for future enhancements.
- Renamed and restructured the tagging modules, replacing `semantic_tag` with `tag` for consistency across the codebase.
- Updated all references in the domain, operations, and database layers to reflect the new naming conventions.
- Removed deprecated files and entities related to the old semantic tagging system, including `semantic_tag.rs` and `metadata_tag.rs`.
- Enhanced the organization of the tagging system, improving clarity and maintainability for future development.
This commit streamlines the tagging architecture, paving the way for advanced features and improved usability.
- 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.
- 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.
- 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.
- 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.
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>
- Enhanced error handling in `error.rs` to provide more informative messages.
- Updated documentation to reflect recent changes in error management practices.
- Improved clarity in the CLI commands by refining error reporting mechanisms.
- 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.
- 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.
- 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
- 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.
- 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.
- 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.
- 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.