- 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.
177 lines
5.6 KiB
JSON
177 lines
5.6 KiB
JSON
{
|
|
"name": "@soulcraft/brainy",
|
|
"version": "0.10.0",
|
|
"description": "A vector graph database using HNSW indexing with Origin Private File System storage",
|
|
"main": "dist/unified.js",
|
|
"module": "dist/unified.js",
|
|
"types": "dist/unified.d.ts",
|
|
"type": "module",
|
|
"sideEffects": false,
|
|
"exports": {
|
|
".": {
|
|
"import": "./dist/unified.js",
|
|
"types": "./dist/unified.d.ts"
|
|
},
|
|
"./min": {
|
|
"import": "./dist/unified.min.js"
|
|
},
|
|
"./types/graphTypes": {
|
|
"import": "./dist/types/graphTypes.js",
|
|
"types": "./dist/types/graphTypes.d.ts"
|
|
},
|
|
"./types/augmentations": {
|
|
"import": "./dist/types/augmentations.js",
|
|
"types": "./dist/types/augmentations.d.ts"
|
|
},
|
|
"./utils/textEncoding": {
|
|
"import": "./dist/utils/textEncoding.js",
|
|
"types": "./dist/utils/textEncoding.d.ts"
|
|
},
|
|
"./dist/utils/textEncoding.js": {
|
|
"import": "./dist/utils/textEncoding.js",
|
|
"types": "./dist/utils/textEncoding.d.ts"
|
|
}
|
|
},
|
|
"engines": {
|
|
"node": ">=24.4.0"
|
|
},
|
|
"scripts": {
|
|
"prebuild": "node scripts/generate-version.js",
|
|
"build": "BUILD_TYPE=unified rollup -c rollup.config.js",
|
|
"build:browser": "BUILD_TYPE=browser rollup -c rollup.config.js",
|
|
"build:cli": "cd cli-package && npm run build",
|
|
"start": "node dist/unified.js",
|
|
"demo": "npm run build && npm run build:browser && npx http-server -o /index.html",
|
|
"version": "node scripts/generate-version.js",
|
|
"version:patch": "npm version patch",
|
|
"version:minor": "npm version minor",
|
|
"version:major": "npm version major",
|
|
"lint": "eslint --ext .ts,.js src/",
|
|
"lint:fix": "eslint --ext .ts,.js src/ --fix",
|
|
"format": "prettier --write \"src/**/*.{ts,js}\"",
|
|
"check:format": "prettier --check \"src/**/*.{ts,js}\"",
|
|
"check:style": "node scripts/check-code-style.js",
|
|
"prepare": "npm run build",
|
|
"deploy": "npm run build && npm publish && node scripts/create-github-release.js",
|
|
"deploy:cli": "node scripts/generate-version.js && cd cli-package && npm run build && npm publish",
|
|
"deploy:cloud:aws": "cd cloud-wrapper && npm run build && npm run deploy:aws",
|
|
"deploy:cloud:gcp": "cd cloud-wrapper && npm run build && npm run deploy:gcp",
|
|
"deploy:cloud:cloudflare": "cd cloud-wrapper && npm run build && npm run deploy:cloudflare",
|
|
"deploy:cloud": "echo 'Please use one of the following commands to deploy to a specific cloud provider:' && echo ' npm run deploy:cloud:aws' && echo ' npm run deploy:cloud:gcp' && echo ' npm run deploy:cloud:cloudflare'",
|
|
"postinstall": "echo 'Note: If you encounter dependency conflicts with TensorFlow.js packages, please use: npm install --legacy-peer-deps'",
|
|
"dry-run": "npm pack --dry-run",
|
|
"test:cli": "node scripts/test-cli-locally.js",
|
|
"test:tensorflow": "node test-tensorflow-textencoder.js",
|
|
"test:all": "node scripts/test-all-environments.js",
|
|
"test": "npm run test:all"
|
|
},
|
|
"keywords": [
|
|
"vector-database",
|
|
"hnsw",
|
|
"opfs",
|
|
"origin-private-file-system",
|
|
"embeddings",
|
|
"graph-database",
|
|
"streaming-data"
|
|
],
|
|
"author": "David Snelling (david@soulcraft.com)",
|
|
"license": "MIT",
|
|
"private": false,
|
|
"publishConfig": {
|
|
"access": "public"
|
|
},
|
|
"homepage": "https://github.com/soulcraft-research/brainy",
|
|
"bugs": {
|
|
"url": "https://github.com/soulcraft-research/brainy/issues"
|
|
},
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "git+https://github.com/soulcraft-research/brainy.git"
|
|
},
|
|
"files": [
|
|
"dist/unified.js",
|
|
"dist/unified.min.js",
|
|
"dist/brainy.js",
|
|
"dist/brainy.min.js",
|
|
"dist/**/*.d.ts",
|
|
"dist/types/",
|
|
"dist/augmentations/",
|
|
"dist/examples/",
|
|
"dist/hnsw/",
|
|
"dist/mcp/",
|
|
"dist/storage/",
|
|
"dist/utils/",
|
|
"LICENSE",
|
|
"README.md",
|
|
"brainy.png"
|
|
],
|
|
"devDependencies": {
|
|
"@rollup/plugin-commonjs": "^25.0.7",
|
|
"@rollup/plugin-json": "^6.1.0",
|
|
"@rollup/plugin-node-resolve": "^15.2.3",
|
|
"@rollup/plugin-replace": "^5.0.5",
|
|
"@rollup/plugin-typescript": "^11.1.6",
|
|
"@types/node": "^20.11.30",
|
|
"@types/uuid": "^10.0.0",
|
|
"@typescript-eslint/eslint-plugin": "^7.4.0",
|
|
"@typescript-eslint/parser": "^7.4.0",
|
|
"eslint": "^8.57.0",
|
|
"puppeteer": "^22.5.0",
|
|
"rollup": "^4.13.0",
|
|
"rollup-plugin-terser": "^7.0.2",
|
|
"tslib": "^2.6.2",
|
|
"typescript": "^5.4.5"
|
|
},
|
|
"dependencies": {
|
|
"@aws-sdk/client-s3": "^3.540.0",
|
|
"@tensorflow-models/universal-sentence-encoder": "^1.3.3",
|
|
"@tensorflow/tfjs": "^4.22.0",
|
|
"@tensorflow/tfjs-backend-cpu": "^4.22.0",
|
|
"@tensorflow/tfjs-backend-webgl": "^4.22.0",
|
|
"@tensorflow/tfjs-converter": "^4.22.0",
|
|
"@tensorflow/tfjs-core": "^4.22.0",
|
|
"buffer": "^6.0.3",
|
|
"uuid": "^9.0.1"
|
|
},
|
|
"prettier": {
|
|
"arrowParens": "always",
|
|
"bracketSameLine": true,
|
|
"bracketSpacing": true,
|
|
"htmlWhitespaceSensitivity": "css",
|
|
"printWidth": 80,
|
|
"proseWrap": "preserve",
|
|
"semi": false,
|
|
"singleQuote": true,
|
|
"tabWidth": 2,
|
|
"trailingComma": "none",
|
|
"useTabs": false
|
|
},
|
|
"eslintConfig": {
|
|
"root": true,
|
|
"extends": [
|
|
"eslint:recommended",
|
|
"plugin:@typescript-eslint/recommended"
|
|
],
|
|
"parser": "@typescript-eslint/parser",
|
|
"plugins": [
|
|
"@typescript-eslint"
|
|
],
|
|
"rules": {
|
|
"@typescript-eslint/no-explicit-any": "off",
|
|
"no-unused-vars": "off",
|
|
"@typescript-eslint/no-unused-vars": [
|
|
"warn",
|
|
{
|
|
"args": "after-used",
|
|
"argsIgnorePattern": "^_"
|
|
}
|
|
],
|
|
"semi": "off",
|
|
"@typescript-eslint/semi": [
|
|
"error",
|
|
"never"
|
|
],
|
|
"no-extra-semi": "off"
|
|
}
|
|
}
|
|
}
|