Major improvements to build process, package optimization, and test infrastructure: ## Package Size Optimization (3.4MB → 2.2MB) - Remove source maps from npm package (reduce size by 35%) - Update package.json files field to exclude *.js.map and *.d.ts.map - Enhanced .npmignore for better exclusion patterns - Preserve all browser compatibility and universal shims ## Test Infrastructure Fixes - Increase test timeouts to 120s for TensorFlow operations - Improve memory management with garbage collection hooks - Add proper cleanup between tests to prevent file accumulation - Configure single-fork test execution to reduce memory usage - Fix test parameter issues in intelligent verb scoring tests ## Bug Fixes - Fix lock directory creation in FileSystemStorage - Remove deprecated node-fetch import from api-integration tests - Fix addVerb() and db.add() parameter usage throughout test suite - Ensure proper vector dimensions (384) in all test vectors - Add directory existence checks before lock file operations ## Build & Development - Update vitest configuration for better concurrency and reliability - Add comprehensive test cleanup in setup.ts - Preserve all browser JavaScript functionality and universal compatibility layer The package now meets size requirements while maintaining full functionality for both browser and Node.js environments.
267 lines
8.9 KiB
JSON
267 lines
8.9 KiB
JSON
{
|
|
"name": "@soulcraft/brainy",
|
|
"version": "0.59.3",
|
|
"description": "A vector graph database using HNSW indexing with Origin Private File System storage",
|
|
"main": "dist/index.js",
|
|
"module": "dist/index.js",
|
|
"types": "dist/index.d.ts",
|
|
"type": "module",
|
|
"bin": {
|
|
"brainy": "./bin/brainy.js"
|
|
},
|
|
"sideEffects": [
|
|
"./dist/setup.js",
|
|
"./dist/utils/textEncoding.js",
|
|
"./src/setup.ts",
|
|
"./src/utils/textEncoding.ts"
|
|
],
|
|
"browser": {
|
|
"fs": false,
|
|
"fs/promises": false,
|
|
"path": "path-browserify",
|
|
"crypto": "crypto-browserify",
|
|
"./dist/cortex/cortex.js": "./dist/browserFramework.js"
|
|
},
|
|
"exports": {
|
|
".": {
|
|
"browser": "./dist/browserFramework.js",
|
|
"node": "./dist/index.js",
|
|
"import": "./dist/index.js",
|
|
"types": "./dist/index.d.ts"
|
|
},
|
|
"./setup": {
|
|
"import": "./dist/setup.js",
|
|
"types": "./dist/setup.d.ts"
|
|
},
|
|
"./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"
|
|
},
|
|
"./dist/setup.js": {
|
|
"import": "./dist/setup.js",
|
|
"types": "./dist/setup.d.ts"
|
|
},
|
|
"./browserFramework": {
|
|
"import": "./dist/browserFramework.js",
|
|
"types": "./dist/browserFramework.d.ts"
|
|
},
|
|
"./universal": {
|
|
"import": "./dist/universal/index.js",
|
|
"types": "./dist/universal/index.d.ts"
|
|
},
|
|
"./universal/uuid": {
|
|
"import": "./dist/universal/uuid.js",
|
|
"types": "./dist/universal/uuid.d.ts"
|
|
},
|
|
"./universal/crypto": {
|
|
"import": "./dist/universal/crypto.js",
|
|
"types": "./dist/universal/crypto.d.ts"
|
|
},
|
|
"./universal/fs": {
|
|
"import": "./dist/universal/fs.js",
|
|
"types": "./dist/universal/fs.d.ts"
|
|
},
|
|
"./universal/path": {
|
|
"import": "./dist/universal/path.js",
|
|
"types": "./dist/universal/path.d.ts"
|
|
},
|
|
"./universal/events": {
|
|
"import": "./dist/universal/events.js",
|
|
"types": "./dist/universal/events.d.ts"
|
|
}
|
|
},
|
|
"engines": {
|
|
"node": ">=24.4.0"
|
|
},
|
|
"scripts": {
|
|
"prebuild": "echo 'Prebuild step - no version generation needed'",
|
|
"build": "tsc",
|
|
"build:browser": "npm run build && vite build --config vite.browser.config.ts",
|
|
"build:framework": "tsc",
|
|
"start": "node dist/framework.js",
|
|
"demo": "npm run build && cd demo/brainy-angular-demo && npm run build && npm run serve",
|
|
"prepare": "npm run build",
|
|
"test": "vitest run",
|
|
"test:memory": "node --max-old-space-size=4096 --expose-gc ./node_modules/vitest/vitest.mjs run",
|
|
"test:watch": "vitest",
|
|
"test:ui": "vitest --ui",
|
|
"test:fast": "vitest run --reporter=dot --silent",
|
|
"test:node": "vitest run tests/environment.node.test.ts tests/core.test.ts tests/vector-operations.test.ts tests/tensorflow-patch.test.ts",
|
|
"test:browser": "vitest run tests/environment.browser.test.ts --environment jsdom",
|
|
"test:core": "vitest run tests/core.test.ts",
|
|
"test:coverage": "vitest run --coverage",
|
|
"test:size": "vitest run tests/package-size-limit.test.ts",
|
|
"test:all": "npm run build && vitest run",
|
|
"test:report:json": "vitest run --reporter json",
|
|
"test:error-handling": "vitest run tests/error-handling.test.ts",
|
|
"test:edge-cases": "vitest run tests/edge-cases.test.ts",
|
|
"test:storage": "vitest run tests/storage-adapter-coverage.test.ts",
|
|
"broadcast:server": "npm run build && node dist/scripts/start-broadcast-server.js",
|
|
"broadcast:local": "npm run build && node dist/scripts/start-broadcast-server.js",
|
|
"broadcast:cloud": "npm run build && node dist/scripts/start-broadcast-server.js --cloud",
|
|
"claude:jarvis": "npm run build && node dist/scripts/claude-jarvis.js",
|
|
"claude:picasso": "npm run build && node dist/scripts/claude-picasso.js",
|
|
"test:environments": "vitest run tests/multi-environment.test.ts",
|
|
"test:specialized": "vitest run tests/specialized-scenarios.test.ts",
|
|
"test:performance": "vitest run tests/performance.test.ts",
|
|
"test:install": "vitest run tests/package-install.test.ts",
|
|
"test:docker": "vitest run tests/custom-models-path.test.ts",
|
|
"test:extraction": "node tests/auto-extraction.test.js",
|
|
"extract-models": "node scripts/extract-models.js",
|
|
"test:comprehensive": "npm run test:error-handling && npm run test:edge-cases && npm run test:storage && npm run test:environments && npm run test:specialized",
|
|
"_generate-pdf": "node dev/scripts/generate-architecture-pdf.js",
|
|
"_release": "standard-version",
|
|
"_release:patch": "standard-version --release-as patch",
|
|
"_release:minor": "standard-version --release-as minor",
|
|
"_release:major": "standard-version --release-as major",
|
|
"_release:dry-run": "standard-version --dry-run",
|
|
"_github-release": "node scripts/create-github-release.js",
|
|
"_changelog:check": "echo 'Changelog is now automatically generated from commit messages'",
|
|
"_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",
|
|
"_deploy": "npm run build && npm publish",
|
|
"_workflow": "node scripts/release-workflow.js",
|
|
"_workflow:patch": "node scripts/release-workflow.js patch",
|
|
"_workflow:minor": "node scripts/release-workflow.js minor",
|
|
"_workflow:major": "node scripts/release-workflow.js major",
|
|
"_workflow:dry-run": "npm run build && npm test && npm run _release:dry-run",
|
|
"_dry-run": "npm pack --dry-run",
|
|
"download-models": "node scripts/download-models.cjs"
|
|
},
|
|
"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/**/*.js",
|
|
"dist/**/*.d.ts",
|
|
"!dist/framework.js",
|
|
"!dist/framework.js.map",
|
|
"!dist/framework.min.js",
|
|
"!dist/framework.min.js.map",
|
|
"LICENSE",
|
|
"README.md",
|
|
"brainy.png",
|
|
"scripts/download-models.cjs",
|
|
"OFFLINE_MODELS.md"
|
|
],
|
|
"devDependencies": {
|
|
"@rollup/plugin-commonjs": "^28.0.6",
|
|
"@rollup/plugin-node-resolve": "^16.0.1",
|
|
"@rollup/plugin-replace": "^6.0.2",
|
|
"@rollup/plugin-terser": "^0.4.4",
|
|
"@types/express": "^5.0.3",
|
|
"@types/jsdom": "^21.1.7",
|
|
"@types/node": "^20.11.30",
|
|
"@types/prompts": "^2.4.9",
|
|
"@types/uuid": "^10.0.0",
|
|
"@types/ws": "^8.18.1",
|
|
"@typescript-eslint/eslint-plugin": "^8.0.0",
|
|
"@typescript-eslint/parser": "^8.0.0",
|
|
"@vitejs/plugin-basic-ssl": "^2.1.0",
|
|
"@vitest/coverage-v8": "^3.2.4",
|
|
"@vitest/ui": "^3.2.4",
|
|
"buffer": "^6.0.3",
|
|
"crypto-browserify": "^3.12.1",
|
|
"eslint": "^9.0.0",
|
|
"express": "^5.1.0",
|
|
"happy-dom": "^18.0.1",
|
|
"jsdom": "^26.1.0",
|
|
"process": "^0.11.10",
|
|
"puppeteer": "^22.15.0",
|
|
"standard-version": "^9.5.0",
|
|
"tslib": "^2.6.2",
|
|
"typescript": "^5.4.5",
|
|
"vite": "^7.1.1",
|
|
"vitest": "^3.2.4"
|
|
},
|
|
"dependencies": {
|
|
"@aws-sdk/client-s3": "^3.540.0",
|
|
"@huggingface/transformers": "^3.1.0",
|
|
"@smithy/node-http-handler": "^4.1.1",
|
|
"boxen": "^7.1.1",
|
|
"chalk": "^5.3.0",
|
|
"cli-table3": "^0.6.3",
|
|
"commander": "^11.1.0",
|
|
"dotenv": "^16.4.5",
|
|
"inquirer": "^12.9.1",
|
|
"ora": "^8.0.1",
|
|
"prompts": "^2.4.2",
|
|
"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"
|
|
}
|
|
}
|
|
}
|