Commit graph

18 commits

Author SHA1 Message Date
52a43d51d4 refactor: simplify build system and improve model loading flexibility
- Remove Rollup bundling in favor of direct TypeScript compilation
- Move from bundled models to dynamic model loading with configurable paths
- Add Docker deployment examples and documentation
- Implement robust model loader with fallback mechanisms
- Update storage adapters for better cross-environment compatibility
- Add comprehensive tests for model loading and package installation
- Simplify package.json scripts and remove complex build configurations
- Clean up deprecated demo files and old bundling scripts

BREAKING CHANGE: Models are no longer bundled with the package. They are now loaded dynamically from CDN or custom paths.
2025-08-05 16:09:30 -07:00
04e5001e42 chore(gitignore): ignore npm package artifacts
Add *.tgz and *.tar.gz to gitignore to prevent npm pack artifacts from being committed. These generated files should not be tracked in version control.
2025-08-05 09:39:08 -07:00
289266864c chore(gitignore): add node_modules directory for test consumer to .gitignore 2025-08-05 09:36:26 -07:00
d2cef55644 feat(tools): add claude-commit AI-powered git commit tool
Implemented a comprehensive AI-powered commit message generator using Claude that:
- Automatically generates Conventional Commit formatted messages
- Analyzes git diff to create context-aware commit messages
- Works globally across all git repositories with 'git cc' command
- Supports multi-computer setup through portable dotfiles

Major changes:
- Added global claude-commit script with git aliases (git cc, git smart-commit)
- Created organized documentation in docs/tools/claude-commit/
- Included portable dotfiles structure for easy multi-machine deployment
- Updated README with TLDR Node.js quickstart section featuring all Brainy capabilities
- Moved documentation section to bottom of README for better flow
- Added CLAUDE.md with project-specific instructions for Claude Code

The tool eliminates manual commit message writing by leveraging AI to understand
code changes and generate properly formatted, meaningful commit messages that
follow the Conventional Commits specification.
2025-08-04 10:14:33 -07:00
39927563b7 chore: add CLAUDE.md to .gitignore 2025-08-03 09:45:33 -07:00
60d3a74ea1 **chore: remove unused CLI package references and update gitignore**
- **Codebase Cleanup**:
  - Removed `cli-package/**` from Vitest configuration exclude paths.
  - Updated `.gitignore` by removing entries related to `cli-package` and its subdirectories.

- **Purpose**:
  - Simplify the repository and reduce clutter by eliminating obsolete references to the removed CLI package.
2025-08-02 17:23:03 -07:00
93483572d8 **chore(scripts): prefix internal scripts with underscore for consistency**
- Updated `package.json` in `web-service-package`, `cli-package`, and the root project to prefix internal NPM scripts with an underscore (`_`), such as `_version`, `_deploy`, `_dry-run`, etc.
- Adjusted all relevant build, versioning, deployment, and test scripts to follow this convention.
- Updated `.gitignore` to include `/brainy-models-package/node_modules/` for effective exclusion.

**Purpose**: Standardize the naming of internal scripts to better differentiate them from user-facing commands and maintain consistency across packages.
2025-08-01 16:22:18 -07:00
ed2deb235b **build: update .gitignore to exclude temporary test and debug files**
- Added patterns for temporary test files (`test*.js`, `test*.ts`, `temp-test*.js`, `temp-test*.ts`, etc.) to `.gitignore`.
- Included directories `/temp/` and `/temp-tests/` to prevent accidental commits of temporary or debug-related files.

**Purpose**: Ensure cleaner version control by excluding unnecessary temporary and debug files created during development.
2025-07-30 11:01:08 -07:00
a6eeba23da **build: update test results configuration and gitignore**
- Updated test results output path in `vitest.config.ts` to `./tests/results/test-results.json` for better organization.
- Modified `.gitignore` to include `/tests/results/` and its `.json` files to avoid committing test artifacts.

**Purpose**: Improves test results file structure and ensures consistent exclusion of test artifact files from version control.
2025-07-30 10:42:18 -07:00
524be5010b No commit message can be generated for the provided diff as it appears to be incomplete. Please provide a more descriptive or complete diff to enable me to generate a relevant commit message for you. 2025-07-28 16:25:11 -07:00
0c7e999a2f **test(web-service): add cloud storage integration tests and update package settings**
- **Cloud Storage Integration Testing**:
  - Added `cloud-storage.test.ts` to validate cloud storage configurations (AWS S3, Cloudflare R2, Google Cloud Storage) and local storage fallback behavior:
    - Includes tests for environment variable priority and configuration detection.
    - Ensures proper override with `FORCE_LOCAL_STORAGE` when specified.

- **Package Settings Updates**:
  - Introduced `web-service-package/package.json` with configurations for building, running, testing, and deployment:
    - Added NPM scripts for building (`npm run build`), development (`npm run dev`), and testing (`npm run test:cloud`).
    - Configured dependencies and devDependencies for web service functionality and cloud integration.

- **Purpose**:
  - This update ensures comprehensive cloud storage testing and provides structured project configurations for seamless development and deployment workflows.
2025-07-22 10:24:01 -07:00
ac82c55a6b **feat: enhance threading compatibility and refactor module loading**
- Refactored `TextEncoder` and `TextDecoder` in `src/utils/tensorflowUtils.ts` to handle environments without global availability, logging warnings and providing fallback implementations.
- Enhanced threading utilities in `src/utils/environment.ts`:
  - Introduced `areWorkerThreadsAvailableSync()` and `isThreadingAvailableAsync()` for synchronous and asynchronous checks.
  - Improved compatibility across browser and Node.js environments.
- Migrated `fileSystemStorage.ts` to use dynamic imports for Node.js modules, removing synchronous loading mechanisms to align with ES module standards.
- Updated `cli-package/package.json` keywords to include `browser` and `container`, improving discoverability.
- Added `worker_threads` as an external dependency in `cli-package/rollup.config.js` and `rollup.config.js`.
- Updated `.gitignore` to ignore all `tgz` files dynamically under main and CLI package.

This update improves threading compatibility, enhances environment-specific support, and aligns with modern module loading practices.
2025-07-02 16:52:44 -07:00
5edea683c6 **feat: improve TensorFlow.js compatibility and remove unnecessary patches**
- Removed outdated Node.js v24 compatibility patches for `TextEncoder` and `TextDecoder` in `cli-wrapper.js` and other modules since TensorFlow.js now supports Node.js v24+ natively.
- Introduced a utility module `src/utils/tensorflowUtils.ts` for TensorFlow.js compatibility, defining global `PlatformNode` and related utilities.
- Enhanced `fileSystemStorage.ts` with improved Node.js module loading mechanisms for better compatibility across environments.
- Simplified dependency requirements by reducing the minimum Node.js version to `>=23.0.0`.
- Updated `package.json`, `cli-package/package.json`, and `README.md` versions to `0.9.25`.
- Harmonized `cli-package` and main package dependencies to ensure version alignment.
- Improved global compatibility with TensorFlow.js in mixed Node.js environments.

This update modernizes TensorFlow.js integration, reduces maintenance efforts, and aligns compatibility with current Node.js and TensorFlow.js capabilities.
2025-07-02 16:16:19 -07:00
40850ff54a **chore(cli): add package-lock.json for Brainy CLI dependencies**
- Introduced `package-lock.json` for the `@soulcraft/brainy-cli` package to manage dependencies explicitly.
- Ensures reproducible installs and aligns the CLI with the latest project dependencies.
- Supports dependency resolution, locking versions, and maintaining consistency across development and CI/CD environments.
2025-07-02 12:18:03 -07:00
6abc0ee5c1 **chore(version): bump version to 0.9.18 and update build configurations**
- Updated version to `0.9.18` in `package.json`, `cli-package/package.json`, and `src/utils/version.ts`.
- Updated npm badge in `README.md` to reflect version `0.9.18`.
- Adjusted `publish-cli.js` to synchronize publishing of the main and CLI packages with enhanced build steps.
- Introduced `tsconfig.json` updates to include type paths (`types.d.ts`) in CLI for better type handling.
- Refined CLI scripts for improved TypeScript annotations and better code structure.
- Removed `@types/omelette` and `omelette` dependencies along with associated CLI configurations to simplify the codebase.
- Updated `.gitignore` to exclude CLI `dist` directory for cleaner repository management.
- Added `deploy:both` npm script for combined publishing of main and CLI packages.

This release ensures version consistency, improves CLI workflows, and enhances type handling while decluttering unused dependencies.
2025-07-02 12:15:35 -07:00
7e3e6654a9 **feat(cli, scripts): introduce CLI package and automated publishing process**
- Added a new `@soulcraft/brainy-cli` package to provide a dedicated CLI interface for the Brainy database.
- Implemented a CLI wrapper script (`cli-wrapper.js`) to manage global package execution and version handling.
- Introduced `scripts/publish-cli.js` to automate synchronized publishing of the main package and CLI, ensuring version consistency.
- Created documentation for CLI usage and publishing workflow (`publishing-cli.md`).
- Updated `package.json` to include CLI-related build and deploy scripts.
- Adjusted `README.md` to document the CLI package, usage instructions, and build separation.

This feature introduces a standalone CLI package, improves deployment automation, and enhances documentation to align with the updated architecture.
2025-07-02 11:32:06 -07:00
d36711809e feat(demo, docs): introduce threading test demos for browser and fallback, enhance threading documentation
- Added `test-browser-worker.html` to demonstrate threading with Web Workers in browser environments.
- Added `test-fallback.html` to verify fallback functionality when threading is unavailable.
- Created `THREADING.md` to document unified threading implementation, including Node.js Worker Threads, Web Workers, and fallback mechanisms.
- Updated Node.js version requirement in `README.md` and `package.json` to `>=24.0.0` for compatibility with improved Worker Threads API.
- Enhanced `workerUtils.ts` to implement threading with a worker pool for Node.js and added Web Worker execution logic for browsers.
- Enabled environment-aware threading availability in `environment.ts`.
- Updated `rollup.config.js` to include CLI configurations for streamlined builds.
- Adjusted `.gitignore` to exclude test artifacts and package files.

These changes provide comprehensive testing and documentation of threading functionality, improve cross-environment compatibility, and enhance developer workflows.
2025-07-01 10:39:12 -07:00
5a8a6c1ba3 Initial commit 2025-06-24 11:41:30 -07:00