Initial commit: Brainy - Multi-Dimensional AI Database

Open source vector database with HNSW indexing, graph relationships,
and metadata facets. Features CLI with professional augmentation registry
integration for discovering extensions and capabilities.
This commit is contained in:
David Snelling 2025-08-18 17:35:06 -07:00
commit f8c45f2d8d
448 changed files with 103294 additions and 0 deletions

270
package.json Normal file
View file

@ -0,0 +1,270 @@
{
"name": "@soulcraft/brainy",
"version": "1.2.0",
"description": "Multi-Dimensional AI Database - Vector similarity, graph relationships, metadata facets with HNSW indexing and OPFS 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",
"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",
"test:release": "npm run build && vitest run tests/release-validation.test.ts tests/regression.test.ts tests/unified-api.test.ts tests/core.test.ts --reporter=verbose",
"test:1.0": "vitest run tests/unified-api.test.ts tests/cli.test.ts --reporter=verbose",
"_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/soulcraftlabs/brainy",
"bugs": {
"url": "https://github.com/soulcraftlabs/brainy/issues"
},
"repository": {
"type": "git",
"url": "git+https://github.com/soulcraftlabs/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",
"aws-sdk-client-mock": "^4.1.0",
"aws-sdk-client-mock-jest": "^4.1.0",
"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"
}
}
}