Commit graph

93 commits

Author SHA1 Message Date
f5e4b8b93e **refactor(tests): consolidate and replace outdated environment test scripts**
- Removed obsolete scripts: `test-all-environments.js`, `test-fallback-function.js`, `test-fallback-simple.js`, `test-fix.js`, `test-tensorflow-textencoder.js`, `test-unified-encoding.js`, and `test-worker-utils.js`.
- Introduced `scripts/comprehensive-test.js` as a unified testing script covering all environments: Browser, Node.js, and CLI.
- Added `examples/cli-wrapper-example.js` to demonstrate a proper CLI implementation with TensorFlow.js initialization.

This refactor simplifies the testing structure by consolidating redundant scripts into a single comprehensive script while ensuring robust cross-environment coverage.
2025-07-14 11:12:51 -07:00
3b85ea46e1 chore(deps): update package-lock dependency versions to 0.11.0
- Updated `@soulcraft/brainy` dependency version to `0.11.0` in `cli-package/package-lock.json`.
- Adjusted resolved version, integrity hash, and related metadata for `@soulcraft/brainy` to reflect the `0.11.0` release.
- Synced CLI package lock file version with the latest release for consistency and reliability.

This ensures alignment with the updated dependency versions across the project.
2025-07-11 12:17:15 -07:00
a4a4b06415 **chore(release): bump version to 0.11.0**
- Updated version to `0.11.0` in `README.md`, `cli-package/package.json`, and `src/utils/version.ts`.
- Synced `@soulcraft/brainy` dependency version to `0.11.0` in the CLI package for consistency.
- Updated npm version badge in `README.md` to reflect the new version.

This release ensures consistent versioning across the project and prepares for the distribution of changes in version `0.11.0`.
2025-07-11 12:15:39 -07:00
6143eac327 0.11.0 2025-07-11 12:15:28 -07:00
e3d7398022 **feat(patch): enhance TextEncoder/TextDecoder compatibility for TensorFlow.js**
- Refactored `applyTensorFlowPatch` in `textEncoding.ts` to introduce a unified `Platform` class supporting both Node.js and browser environments with native `TextEncoder`/`TextDecoder`.
- Modified global object handling to target `PlatformNode` in Node.js and `PlatformBrowser` in browser environments.
- Added `getTextEncoder` and `getTextDecoder` utility functions to simplify text encoding/decoding across platforms.
- Introduced `setup.ts` to apply environment patches before other modules load.
- Updated CLI entry points (`cli.ts`, `rollup.config.js`) to ensure patching precedes TensorFlow.js usage.
- Enhanced test coverage for TextEncoder compatibility with `test-fix.js`.
- Adjusted imports in `test-tensorflow-textencoder.ts` to align with the updated `./utils/textEncoding.js`.
- Streamlined constructor definitions in `Platform` for improved maintainability.

This update ensures robust compatibility for TensorFlow.js by patching and standardizing text encoding/decoding functionality across environments.
2025-07-11 12:15:11 -07:00
5f267b14ed **feat(tests): add tests for TextEncoder, TensorFlow.js, and fallback mechanisms**
- Introduced `test-fallback-function.js` and `test-fallback-simple.js` to validate `executeInThread` fallback functionality with both named and anonymous compute-intensive functions.
- Added `test-tensorflow-textencoder.js` for TensorFlow.js and TextEncoder tests in a Node.js environment.
- Created `test-tensorflow-textencoder.html` for browser-based TensorFlow.js and TextEncoder tests.
- Implemented cross-environment test support in `cli-package/src/test-tensorflow-textencoder.ts` for CLI functionality.
- Enhanced `src/utils/embedding.ts`, `textEncoding.ts`, and `brainy-wrapper.js` to include updated global `TextEncoder` and `TextDecoder` utilities for compatibility and worker improvements.
- Standardized and expanded utility methods in `PlatformNode` for broader support, including `isFloat32Array` and `isTypedArray` checks.
- Updated Node.js requirement to `>= 24.4.0` across documentation and configuration files for compatibility improvements.

This update introduces comprehensive testing for fallback mechanisms, TensorFlow.js, and TextEncoder across multiple environments, ensuring robustness and compatibility.
2025-07-11 11:11:56 -07:00
04a33b9ae8 **chore(release): bump version to 0.10.0 and refactor project structure**
- Updated version to `0.10.0` in `README.md`, `cli-package/package.json`, and `src/utils/version.ts`.
- Removed `CHANGELOG.md` from the root and `cli-package`, as GitHub auto-generates release notes.
- Refactored `brainy-wrapper.js` to simplify utility methods (`isFloat32Array` and `isTypedArray`) by moving them to instance-level definitions.
- Standardized Node.js version requirement to `>= 24.3.0` across documentation and configuration files.
- Improved `textEncoding.ts` by introducing a unified `Platform` class for cross-environment compatibility (Node.js and browser).
- Restructured scripts:
  - Replaced outdated commands (e.g., `test-cli` -> `test:cli` and `test-all` -> `test:all`) for consistency.
  - Removed changelog updates from `scripts/create-github-release.js` as part of simplification.
- Enhanced `patch-textencoder.js` to also patch `worker.js` for both `TextEncoder` and `TextDecoder`.

This release improves compatibility with Node.js 24, simplifies the deployment/changelog process, and refines text encoding and worker functionalities.
2025-07-07 10:19:04 -07:00
0653d479ef 0.10.0 2025-07-07 09:25:22 -07:00
c28bd6b7ee I need the diff information to generate an appropriate commit message. Could you please provide the relevant code diff? Thank you! 2025-07-07 09:25:19 -07:00
4a2ec1d153 chore(version): bump version to 0.9.37 and update references
- Updated version to `0.9.37` in `README.md`, `cli-package/package.json`, and `src/utils/version.ts`.
- Synced `@soulcraft/brainy` dependency version to `0.9.37` in the CLI package for consistency.
- Updated npm version badge in `README.md` to reflect the new version.
- Added release details for version `0.9.37` in `CHANGELOG.md`.

This update ensures consistent versioning across the project and documents the latest release.
2025-07-07 09:25:03 -07:00
c5881a8b0b 0.9.37 2025-07-04 14:42:41 -07:00
7e6718f59b **feat(cli, workers): introduce text encoding patches and worker improvements**
- Added `cli-package/brainy-wrapper.js` to patch global `TextEncoder` and `TextDecoder` for Node.js environments, ensuring compatibility with TensorFlow.js.
- Implemented unified text encoding utilities in `cli-package/src/utils/textEncoding.ts` for cross-environment consistency.
- Enhanced `src/worker.js` and introduced `src/worker.ts` to improve worker execution with better function serialization and error handling.
- Updated `package.json`:
  - Modified the `build` script to include a patch for `TextEncoder`.
  - Added `test-all` script for multi-environment testing.
  - Introduced the Puppeteer dependency for browser testing.
- Created a favicon generation script `scripts/create-favicon.js` using a base64-encoded icon.
- Added `scripts/test-all-environments.js` to run automated tests across Node.js, browser, and CLI environments.
- Enhanced `src/utils/workerUtils.ts` to support improved fallback mechanisms and robust worker pooling.

This update improves the project's compatibility across environments, refines worker functionalities, and adds comprehensive testing support for reliability.
2025-07-04 14:42:33 -07:00
0b42290096 **chore(deploy): remove GitHub release automation from deploy:cli script**
- Updated `package.json` to modify the `deploy:cli` script by removing the call to `scripts/create-github-release.js`.
- Simplified the deployment process for the CLI package by decoupling GitHub release creation.

This change aims to streamline the CLI deployment workflow, allowing more flexibility in managing GitHub releases.
2025-07-04 12:38:00 -07:00
a0d941f319 **chore(version): bump version to 0.9.36 and update references**
- Updated version to `0.9.36` in `README.md`, `cli-package/package.json`, and `src/utils/version.ts`.
- Synced `@soulcraft/brainy` dependency version to `0.9.36` in the CLI package for consistency.
- Updated npm version badge in `README.md` to reflect the new version.
- Added release details for version `0.9.36` in `CHANGELOG.md`.

This update ensures consistent versioning across the project and documents the latest release.
2025-07-04 12:33:28 -07:00
4be046f81a 0.9.36 2025-07-04 12:32:24 -07:00
6741176864 **chore(version): bump version to 0.9.35 and update references**
- Updated version to `0.9.35` in `README.md`, `cli-package/package.json`, and `src/utils/version.ts`.
- Synced `@soulcraft/brainy` dependency version to `0.9.35` in the CLI package for consistency.
- Updated npm version badge in `README.md` to reflect the new version.
- Enhanced GitHub release script (`scripts/create-github-release.js`) to check and push tags to remote if they exist locally.

This update ensures consistent versioning across the project and improves release automation with better tag management.
2025-07-04 12:32:21 -07:00
e0232e131b 0.9.35 2025-07-04 12:29:44 -07:00
4fb1a29a13 **chore(release): enhance deployment workflows with GitHub release automation**
- Added functionality to auto-generate GitHub releases:
  - Included `scripts/create-github-release.js` to automate release creation with notes.
  - Modified `scripts/publish-cli.js` to create GitHub releases after publishing packages.
  - Updated `package.json` to call the GitHub release script during `deploy` and `deploy:cli` commands.
- Introduced `CHANGELOG.md` for both main and CLI packages:
  - Enabled auto-updating of CHANGELOG.md from GitHub release notes.
  - Added a new `scripts/update-changelog.js` script to synchronize release details with changelogs.
  - Ensured `CHANGELOG.md` files are included in the published packages.
- Improved documentation visibility by displaying release notes on npmjs.com.

This update streamlines the release process, ensuring consistent documentation, and aligns npm releases with corresponding GitHub releases for better transparency.
2025-07-04 12:29:38 -07:00
20c114dd3e **chore(deps): update dependencies and Node.js version requirements**
- Updated Node.js version requirement to `>=24.3.0` in `README.md` and `package-lock.json`.
- Upgraded `TypeScript` to version `5.4.5` and synced references.
- Updated multiple dependencies, including:
  - `@aws-sdk/client-s3` to `^3.540.0`.
  - `uuid` to `^9.0.1`.
  - Development tools such as `eslint` to `^8.57.0`, `typescript-eslint` plugins to `^7.4.0`, and more.
- Refreshed transitive dependencies with up-to-date versions for consistency and performance.

This update ensures compatibility with the latest Node.js features, aligns TypeScript references, and keeps the project dependencies up-to-date for improved stability and functionality.
2025-07-04 12:19:48 -07:00
457feeccda **chore(version): bump version to 0.9.34 and update references**
- Updated version to `0.9.34` in `README.md`, `cli-package/package.json`, and `src/utils/version.ts`.
- Synced `@soulcraft/brainy` dependency version to `0.9.34` in the CLI package for consistency.
- Updated npm version badge in `README.md` to reflect the new version.

This update ensures consistent versioning across the project and aligns dependencies with the latest release.
2025-07-04 11:39:29 -07:00
ff1317d7aa 0.9.34 2025-07-04 11:37:22 -07:00
4fb1ff7cfc **chore(version): bump version to 0.9.33 and update references**
- Updated version to `0.9.33` in `README.md`, `cli-package/package.json`, and `src/utils/version.ts`.
- Synced `@soulcraft/brainy` dependency version to `0.9.33` in the CLI package for consistency.
- Updated npm version badge in `README.md` to reflect the new version.
- Refactored `TextEncoder` and `TextDecoder` implementations in `src/utils/tensorflowUtils.ts`:
  - Added dynamic environment-aware loading for improved Node.js and browser compatibility.
  - Enhanced fallback mechanisms for environments without global support.

This update ensures consistent versioning across the project and improves the robustness of utility methods for broader environment compatibility.
2025-07-04 11:35:19 -07:00
ce590adc27 0.9.33 2025-07-04 10:53:36 -07:00
4986db2219 docs: update Node.js version requirement to 23.0.0 in documentation 2025-07-04 10:27:07 -07:00
41e73f8a93 Update FUNDING.yml
Signed-off-by: David Snelling <david@soulcraft.com>
2025-07-04 09:53:57 -07:00
f6f00f5ab8 Create FUNDING.yml
Signed-off-by: David Snelling <david@soulcraft.com>
2025-07-04 09:52:18 -07:00
5a249fe859 chore(version): bump version to 0.9.32 and update references
- Updated version to `0.9.32` in `README.md`, `cli-package/package.json`, and `src/utils/version.ts`.
- Synced `@soulcraft/brainy` dependency version to `0.9.32` in the CLI package for consistency.
- Renamed npm scripts `publish` to `deploy` and `publish:cli` to `deploy:cli`, aligning terminology with deployment workflows.
- Updated npm version badge in `README.md` to reflect the new version.

This update ensures consistent versioning across the project, aligns CLI and main package references, and enhances clarity in deployment script naming.
2025-07-02 16:56:21 -07:00
ed15b3b613 0.9.32 2025-07-02 16:54:24 -07:00
ff23a35efb chore(version): bump version to 0.9.31 and update package references
- Updated version to `0.9.31` in `README.md`, `cli-package/package.json`, and `src/utils/version.ts`.
- Synced `@soulcraft/brainy` dependency version to `0.9.31` in the CLI package for consistency.
- Updated npm version badge in `README.md` to reflect the new version.

This update ensures consistent versioning across the project and aligns references between main and CLI packages.
2025-07-02 16:54:21 -07:00
5d19433494 0.9.31 2025-07-02 16:52:55 -07:00
703fc9eda3 **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
cf18cd99c4 **chore(version): bump version to 0.9.30 and enhance publishing instructions**
- Updated version to `0.9.30` in `package.json`, `cli-package/package.json`, `src/utils/version.ts`, and `README.md`.
- Synced `@soulcraft/brainy` dependency version to `0.9.30` for CLI package consistency.
- Modified npm version badge in `README.md` to reflect the new version.
- Added detailed publishing instructions in `docs/publishing-cli.md` to guide users on publishing both, main, or CLI packages.
- Introduced new npm scripts `publish:cli` and `build:cli` for streamlined package-specific operations.

This update ensures cohesive versioning, provides clearer publishing guidelines, and improves maintainability with new build/publish scripts.
2025-07-02 16:33:30 -07:00
ccd59eaacf **chore(version): bump version to 0.9.30 and update package references**
- Updated version to `0.9.30` in `package.json` and `cli-package/package.json`.
- Synchronized `@soulcraft/brainy` dependency version to `0.9.30` in the CLI package for consistency.
- Updated repository URL format to use `git+https` for both `package.json` files.

This update ensures consistent versioning across the project, maintains alignment between main and CLI package dependencies, and standardizes repository URL formatting.
2025-07-02 16:27:53 -07:00
1a2b109751 **chore(version): bump version to 0.9.29 and update package references**
- Updated version to `0.9.29` in `package.json`, `cli-package/package.json`, `README.md`, and `src/utils/version.ts`.
- Synchronized `@soulcraft/brainy` dependency version to `0.9.29` in CLI package for consistency.
- Updated npm version badge in `README.md` to reflect `0.9.29`.

This update ensures consistent versioning across the project and maintains alignment between main and CLI package dependencies.
2025-07-02 16:22:43 -07:00
ad2d10b178 0.9.29 2025-07-02 16:22:32 -07:00
7245c657aa **chore(version): bump version to 0.9.28 and update package references**
- Updated version to `0.9.28` in `package.json`, `cli-package/package.json`, `README.md`, and `src/utils/version.ts`.
- Synchronized `@soulcraft/brainy` dependency version to `0.9.28` in CLI package for consistency.
- Updated npm version badge in `README.md` to reflect `0.9.28`.

This update ensures consistent versioning across the project and maintains alignment between main and CLI package dependencies.
2025-07-02 16:22:27 -07:00
9baccb5527 0.9.28 2025-07-02 16:21:50 -07:00
aee581ca86 **chore(version): bump version to 0.9.27 and update package references**
- Updated version to `0.9.27` in `package.json`, `cli-package/package.json`, `README.md`, and `src/utils/version.ts`.
- Synchronized `@soulcraft/brainy` dependency version to `0.9.27` in CLI package for consistency.
- Updated npm version badge in `README.md` to reflect `0.9.27`.

This update ensures accurate versioning across the project and maintains alignment between main and CLI package dependencies.
2025-07-02 16:20:52 -07:00
58d1350737 0.9.26 2025-07-02 16:18:03 -07:00
eb46d816d7 **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
16748436d1 0.9.23 2025-07-02 12:55:01 -07:00
cac58ac0b2 **feat(cli): add local testing script for CLI and update versions**
- Introduced `scripts/test-cli-locally.js` to streamline local testing of the CLI package before publishing.
   - Builds main and CLI packages, creates local tarballs, and installs the CLI package globally for testing.
   - Ensures version synchronization between main and CLI packages during testing.
- Updated `cli-package/package.json` version to `0.9.23` and synchronized `@soulcraft/brainy` dependency to `0.9.22`.
- Patched `TextEncoder` fallback for Node.js v24 in `cli-wrapper.js` to ensure overall CLI compatibility.
- Added new `test-cli` npm script to `package.json`.

This update simplifies the CLI local testing process, maintains version alignment, and improves readiness for Node.js v24.
2025-07-02 12:54:50 -07:00
8488f77087 **docs: add comprehensive developer guide and update npm version**
- Introduced `DEVELOPERS.md` with detailed documentation for building, testing, publishing, and contributing to Brainy.
- Updated `README.md` to link to the new developer guide, streamlining the main document structure by removing technical build details.
- Updated npm version badge in `README.md` to `0.9.22`.
- Added a changelog entry to `cli-package/README.md` for version `0.9.23` to document recent CLI updates.

This update improves developer onboarding, centralizes developer resources, and aligns documentation with the latest releases.
2025-07-02 12:54:38 -07:00
73041fc670 0.9.22 2025-07-02 12:38:51 -07:00
1d3ac8b7d2 **fix(cli): patch TextEncoder for Node.js v24 compatibility**
- Added a fallback mechanism to ensure `TextEncoder` and `TextDecoder` are available in the `util` module for Node.js v24.
- This fix resolves compatibility issues with TensorFlow.js in Node.js v24 environments.
- Synchronized CLI package version to `0.9.21` and updated `@soulcraft/brainy` dependency reference in `package-lock.json`.

This update ensures smoother functionality in Node.js v24 while maintaining version alignment across dependencies.
2025-07-02 12:38:42 -07:00
30e0652c0c **chore(version): bump version to 0.9.21 and update package references**
- Updated version to `0.9.21` in `README.md`, `package.json`, `cli-package/package.json`, and `src/utils/version.ts`.
- Updated npm version badge in `README.md` to reflect `0.9.21`.
- Synchronized `@soulcraft/brainy` dependency version to `0.9.21` in CLI package for consistency.

This release ensures accurate versioning across the project and aligns dependencies with the latest version.
2025-07-02 12:29:19 -07:00
d89bbd91f9 0.9.21 2025-07-02 12:28:09 -07:00
6b3999d90b **chore(version): bump version to 0.9.20 and update package configurations**
- Updated version to `0.9.20` across `package.json`, `cli-package/package.json`, `src/utils/version.ts`, and `cli-package/package-lock.json`.
- Updated npm version badge in `README.md` to reflect `0.9.20`.
- Adjusted `package.json` to include additional files in the distribution bundle, such as `dist/unified.js`, `dist/brainy.min.js`, and other key directories.
- Updated `@soulcraft/brainy` dependency to `0.9.20` in CLI package to align dependencies with the latest version.
- Resolved dependency integrity updates in `package-lock.json`.
- Improved dependency management for better version consistency and distribution.

This release ensures up-to-date versioning, improved distribution content management, and enhanced dependency alignment.
2025-07-02 12:28:00 -07:00
58d8dfbbd1 0.9.20 2025-07-02 12:18:20 -07:00
6780a7551a **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