Commit graph

5 commits

Author SHA1 Message Date
58091a0015 **test(storage-adapter-coverage): improve search result validation and consistency in assertions**
- Updated item assertions in `storage-adapter-coverage.test.ts` to locate items within search results instead of strictly checking the first result, allowing for variations in embedding similarity calculations.
- Improved test descriptions for clarity and added comments to explain adjusted validation logic.

**fix(vector-operations): ensure explicit use of memory storage**

- Updated `vector-operations.test.ts` to explicitly use memory storage with the `forceMemoryStorage` option to avoid potential issues with FileSystemStorage.
- Revised similarity assertions in text-based tests for better robustness, ensuring expected relationships even when values are equal.

**chore(api-integration): cleanup and standardize formatting**

- Standardized formatting across `api-integration.test.ts`:
  - Removed unnecessary trailing spaces.
  - Improved readability of chained method calls and multi-line objects.
- Enhanced comments for search and insertion endpoints to increase maintainability.
2025-08-01 18:31:05 -07:00
d05d381a5d **feat(similarity): add similarity calculation between vectors and text inputs**
- Introduced `calculateSimilarity` method in `types.d.ts` for comparing vectors or textual inputs:
  - Added support for custom options, including `forceEmbed` and a custom `distanceFunction`.
- Enhanced functionality in `embed` to convert text inputs into vector representations.
- Added new test cases in `vector-operations.test.ts`:
  - Validated similarity calculations between identical and different vectors.
  - Tested similarity scoring for similar and dissimilar text inputs.
- Updated `README.md`:
  - Documented `calculateSimilarity` usage examples, including advanced options.
  - Clarified the integration of the similarity function into workflows.

**Purpose**: Enable calculation of similarity scores for vectors and text inputs to facilitate advanced data comparison and retrieval tasks.
2025-08-01 10:16:09 -07:00
86fb1220b6 **feat(core, migration, docs): introduce dimension mismatch resolution tools and migration guide**
- **Core**:
  - Added `check-database.js` to verify database status and validate search functionality.
  - Created `fix-dimension-mismatch.js` to handle re-embedding of existing data to resolve dimension mismatch from 3 to 512.
  - Improved test cases by updating vector operations to support 512 dimensions, replacing previously hardcoded dimensions.

- **Migration**:
  - Developed `DIMENSION_MISMATCH_SUMMARY.md`, detailing the root cause, solution, and preventive strategies for dimension mismatch issues.
  - Added `production-migration-guide.md` for structured production migration with detailed steps on re-embedding strategies, batching, and error handling.

- **Tests**:
  - Enhanced test coverage with 512-dimensional vector validation.
  - Introduced helper functions for consistent vector testing behavior and streamlined search test cases.

- **Documentation**:
  - Updated project documentation to highlight the resolution process for dimension mismatches, emphasizing preventive mechanisms such as auto-migration and version tracking.

**Purpose**: Address critical dimension mismatch issues caused by embedding changes, restore functionality, and provide a roadmap for robust prevention strategies and migration processes.
2025-07-25 13:38:56 -07:00
5958502cf3 **test(tests): enhance test clarity, isolation, and robustness**
- **Test Improvements**:
  - Introduced data-clearing steps (`.clear()`) across critical test cases for ensuring better test isolation and preventing state leakage.
  - Extended support for overriding global utilities (`testUtils`) and added fallback behaviors for test vector creation.

- **Configuration Updates**:
  - Added support for `distanceFunction` as an alternative to `metric` in vector operations for consistency.
  - Adjusted and unified asynchronous `timeout` handling across test suites for predictability.

- **Purpose**:
  - These updates improve reliability, maintainability, and clarity in test cases while ensuring compatibility across diverse test environments.
2025-07-16 11:39:53 -07:00
8ffc7115a5 **test(tests): add comprehensive test suite for Brainy functionality**
- **New Tests Added**:
  - Introduced multiple test suites covering core functionalities (`core.test.ts`), vector operations (`vector-operations.test.ts`), Node.js environment (`environment.node.test.ts`), browser setup (`environment.browser.test.ts`), and TensorFlow.js-specific behaviors (`tensorflow-patch.test.ts`).
  - Added performance, scalability, and error-handling tests to ensure robust validation of vector addition, search, and text embedding functionalities.
  - Introduced setup utilities (`tests/setup.ts`) and standardized test utilities for creating predictable test cases.

- **Configuration**:
  - Created `vitest.config.ts` for custom test configurations, including support for modern test environments (`jsdom`, `happy-dom`) and extended timeouts for asynchronous operations.

- **Validation**:
  - Includes compatibility checks for TensorFlow.js imports and ensures proper handling of `TextEncoder`/`TextDecoder` in Node.js environments.

This commit significantly enhances the testing coverage and structure, ensuring Brainy functionality is robust, cross-platform, and aligned with evolving reliability standards.
2025-07-15 11:56:16 -07:00