- 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.
168 lines
5.3 KiB
JSON
168 lines
5.3 KiB
JSON
{
|
|
"name": "@soulcraft/brainy",
|
|
"version": "0.9.36",
|
|
"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"
|
|
}
|
|
},
|
|
"engines": {
|
|
"node": ">=24.3.0"
|
|
},
|
|
"scripts": {
|
|
"prebuild": "node scripts/generate-version.js",
|
|
"build": "BUILD_TYPE=unified rollup -c rollup.config.js && node scripts/patch-textencoder.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-all": "node scripts/test-all-environments.js"
|
|
},
|
|
"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",
|
|
"CHANGELOG.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"
|
|
}
|
|
}
|
|
}
|