2025-06-24 11:41:30 -07:00
{
"name" : "@soulcraft/brainy" ,
2025-08-18 14:20:19 -07:00
"version" : "1.1.2" ,
2025-08-10 16:25:12 -07:00
"description" : "Multi-Dimensional AI Database - Vector similarity, graph relationships, metadata facets with HNSW indexing and OPFS storage" ,
2025-08-05 16:09:30 -07:00
"main" : "dist/index.js" ,
"module" : "dist/index.js" ,
"types" : "dist/index.d.ts" ,
2025-06-24 11:41:30 -07:00
"type" : "module" ,
2025-08-07 19:33:03 -07:00
"bin" : {
2025-08-07 20:13:02 -07:00
"brainy" : "./bin/brainy.js"
2025-08-07 19:33:03 -07:00
} ,
2025-07-14 11:12:51 -07:00
"sideEffects" : [
2025-07-15 11:53:26 -07:00
"./dist/setup.js" ,
2025-07-14 11:12:51 -07:00
"./dist/utils/textEncoding.js" ,
"./src/setup.ts" ,
"./src/utils/textEncoding.ts"
] ,
2025-08-08 15:22:38 -07:00
"browser" : {
"fs" : false ,
"fs/promises" : false ,
"path" : "path-browserify" ,
"crypto" : "crypto-browserify" ,
"./dist/cortex/cortex.js" : "./dist/browserFramework.js"
} ,
2025-06-24 11:41:30 -07:00
"exports" : {
"." : {
2025-08-08 15:22:38 -07:00
"browser" : "./dist/browserFramework.js" ,
"node" : "./dist/index.js" ,
2025-08-05 16:09:30 -07:00
"import" : "./dist/index.js" ,
"types" : "./dist/index.d.ts"
2025-06-24 11:41:30 -07:00
} ,
2025-07-14 11:12:51 -07:00
"./setup" : {
"import" : "./dist/setup.js" ,
"types" : "./dist/setup.d.ts"
} ,
2025-06-24 11:41:30 -07:00
"./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"
2025-07-11 11:11:56 -07:00
} ,
"./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"
2025-07-14 11:12:51 -07:00
} ,
"./dist/setup.js" : {
"import" : "./dist/setup.js" ,
"types" : "./dist/setup.d.ts"
2025-08-08 15:22:38 -07:00
} ,
"./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"
2025-06-24 11:41:30 -07:00
}
} ,
"engines" : {
2025-07-11 11:11:56 -07:00
"node" : ">=24.4.0"
2025-06-24 11:41:30 -07:00
} ,
"scripts" : {
2025-07-22 10:43:19 -07:00
"prebuild" : "echo 'Prebuild step - no version generation needed'" ,
2025-08-05 16:09:30 -07:00
"build" : "tsc" ,
2025-08-08 15:22:38 -07:00
"build:browser" : "npm run build && vite build --config vite.browser.config.ts" ,
2025-08-05 16:10:18 -07:00
"build:framework" : "tsc" ,
2025-08-05 16:09:30 -07:00
"start" : "node dist/framework.js" ,
2025-07-02 11:32:06 -07:00
"prepare" : "npm run build" ,
2025-07-15 11:53:26 -07:00
"test" : "vitest run" ,
2025-08-10 13:52:01 -07:00
"test:memory" : "node --max-old-space-size=4096 --expose-gc ./node_modules/vitest/vitest.mjs run" ,
2025-07-15 11:53:26 -07:00
"test:watch" : "vitest" ,
"test:ui" : "vitest --ui" ,
2025-08-10 13:52:01 -07:00
"test:fast" : "vitest run --reporter=dot --silent" ,
2025-07-15 11:53:26 -07:00
"test:node" : "vitest run tests/environment.node.test.ts tests/core.test.ts tests/vector-operations.test.ts tests/tensorflow-patch.test.ts" ,
2025-07-16 11:40:24 -07:00
"test:browser" : "vitest run tests/environment.browser.test.ts --environment jsdom" ,
2025-07-15 11:53:26 -07:00
"test:core" : "vitest run tests/core.test.ts" ,
"test:coverage" : "vitest run --coverage" ,
2025-07-17 10:00:28 -07:00
"test:size" : "vitest run tests/package-size-limit.test.ts" ,
2025-07-28 10:04:45 -07:00
"test:all" : "npm run build && vitest run" ,
2025-07-28 16:00:05 -07:00
"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" ,
2025-08-08 18:05:12 -07:00
"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" ,
2025-07-28 16:00:05 -07:00
"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" ,
2025-08-05 16:09:30 -07:00
"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" ,
2025-08-01 16:22:18 -07:00
"test:comprehensive" : "npm run test:error-handling && npm run test:edge-cases && npm run test:storage && npm run test:environments && npm run test:specialized" ,
🚀 Brainy 1.0.0-rc.1 - Complete Unified API Implementation (#5)
* feat: Complete Brainy 1.0 Great Cleanup
🎯 THE GREAT CLEANUP - Making Brainy Beautiful
BREAKING CHANGES:
- Removed addSmart() method (use add() - it's smart by default)
- Removed duplicate Pipeline classes (consolidated into ONE Cortex)
- Removed 40+ CLI commands (now just 5 clean commands)
✅ WHAT'S DONE:
- Delete duplicate files: sequentialPipeline.ts, cortex-legacy.ts, serviceIntegration.ts
- Consolidated into ONE Cortex class (the orchestrator)
- Pipeline class now delegates to Cortex (backward compatibility)
- Clean CLI: add, import, search, status, help (ONE way to do everything)
- Interactive mode for beginners
📈 RESULTS:
- 5 CLI commands (was 40+)
- 1 Pipeline system (was 3+)
- Clean, obvious naming
- Beautiful user experience
This achieves the vision: ONE way to do everything, elegant and powerful.
* fix: Restore essential CLI commands and remove backward compatibility
✅ IMPROVEMENTS:
- Remove Pipeline delegation complexity - Pipeline IS Cortex now
- Restore essential commands: config, cloud, migrate
- Keep core clean: add, import, search, status, help
- Interactive help updated with all options
🎯 FINAL CLI (8 commands):
- Core: add, import, search, status, help
- Essential: config, cloud, migrate
✅ NO FUNCTIONALITY LOST:
- Zero-config and dynamic adaptations intact
- All storage adapters working
- Premium Brain Cloud integration restored
- Migration tools available
Result: Perfect balance of simplicity and functionality
* feat: Enhance status command with comprehensive statistics display
✨ ENHANCED STATUS COMMAND:
- Full integration with brainyData.getStatistics()
- Beautiful, organized display of all statistics
- Three modes: default (comprehensive), --simple (quick), --verbose (raw JSON)
📊 STATISTICS DISPLAYED:
- Core Database: items, nouns, verbs, documents
- Storage Information: type, size, location
- Performance Metrics: query times, cache hit rates
- Vector Index: dimensions, vector count, index size
- Memory Usage: heap, RSS breakdown
- Active Augmentations: with descriptions
- Configuration: with sensitive data hidden
- Raw JSON option for developers
🎯 USAGE:
- brainy status (comprehensive view)
- brainy status --simple (quick overview)
- brainy status --verbose (everything + raw JSON)
Perfect for monitoring brain health and performance!
* feat: Add per-service statistics and field discovery to CLI
🎯 ENHANCED STATISTICS DISPLAY:
- Show per-service breakdown of nouns, verbs, metadata
- Display serviceBreakdown from getStatistics() properly
- Beautiful formatting for multi-service environments
🔍 FIELD DISCOVERY FOR ADVANCED SEARCH:
- New section in 'brainy status' shows available filter fields
- Added --fields option to search command
- Usage examples provided for complex filtering
- Integrates with getFilterFields() method
📊 USAGE EXAMPLES:
- brainy status (shows per-service stats + available fields)
- brainy search 'query' --fields (field discovery)
- brainy search 'query' --filter '{"type":"person"}' (advanced filtering)
Perfect for developers doing complex queries and multi-service deployments!
* feat: Restore and enhance brainy chat with multi-model AI support
🎯 RESTORED CHAT FUNCTIONALITY:
- Complete brainy chat command with rich options
- Interactive mode with session management
- Chat history search and session switching
- Auto-discovery of previous sessions
🤖 MULTI-MODEL AI INTEGRATION:
- Local models: Ollama/LLaMA (default)
- OpenAI: GPT-3.5/GPT-4 support
- Claude: Anthropic integration
- Custom models: configurable base URLs
💬 RICH CHAT FEATURES:
- Session management: list, switch, resume
- History: view previous conversations
- Search: find messages across all sessions
- Context-aware: uses your brain data for responses
🔧 USAGE EXAMPLES:
- brainy chat (interactive mode)
- brainy chat 'question' (single message)
- brainy chat --list (show sessions)
- brainy chat --model openai --api-key sk-... (OpenAI)
- brainy chat --model claude --api-key sk-ant-... (Claude)
Perfect for talking to your data with any AI model!
* feat: Complete Brainy 1.0.0-rc.1 unified API implementation
- Implement 7 core unified API methods (add, search, import, addNoun, addVerb, update, delete)
- Add universal encryption system with encryptData/decryptData methods
- Add container deployment support with model preloading
- Implement soft delete by default for better performance
- Add searchVerbs() and getNounWithVerbs() for graph traversal
- Reduce package size by 16% despite major feature additions
- Create comprehensive CHANGELOG.md and MIGRATION.md
- Consolidate CLI from 40+ to 9 clean commands
- All scaling optimizations preserved and enhanced
BREAKING CHANGES:
- addSmart() method removed (use add() - smart by default)
- CLI commands consolidated and renamed
- Pipeline classes unified into single Cortex class
This is the complete 1.0 release candidate with all planned features implemented and tested.
2025-08-14 11:27:22 -07:00
"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" ,
2025-08-02 16:05:48 -07:00
"_generate-pdf" : "node dev/scripts/generate-architecture-pdf.js" ,
2025-08-01 16:22:18 -07:00
"_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" ,
2025-08-05 19:29:59 -07:00
"_dry-run" : "npm pack --dry-run" ,
"download-models" : "node scripts/download-models.cjs"
2025-06-24 11:41:30 -07:00
} ,
"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"
} ,
2025-08-10 16:42:02 -07:00
"homepage" : "https://github.com/soulcraftlabs/brainy" ,
2025-06-24 11:41:30 -07:00
"bugs" : {
2025-08-10 16:42:02 -07:00
"url" : "https://github.com/soulcraftlabs/brainy/issues"
2025-06-24 11:41:30 -07:00
} ,
"repository" : {
"type" : "git" ,
2025-08-10 16:42:02 -07:00
"url" : "git+https://github.com/soulcraftlabs/brainy.git"
2025-06-24 11:41:30 -07:00
} ,
"files" : [
2025-08-05 16:20:36 -07:00
"dist/**/*.js" ,
2025-06-24 11:41:30 -07:00
"dist/**/*.d.ts" ,
2025-08-05 16:20:36 -07:00
"!dist/framework.js" ,
"!dist/framework.js.map" ,
"!dist/framework.min.js" ,
"!dist/framework.min.js.map" ,
2025-06-24 11:41:30 -07:00
"LICENSE" ,
"README.md" ,
2025-08-05 19:29:59 -07:00
"brainy.png" ,
"scripts/download-models.cjs" ,
"OFFLINE_MODELS.md"
2025-06-24 11:41:30 -07:00
] ,
"devDependencies" : {
2025-08-08 15:22:38 -07:00
"@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" ,
2025-07-28 10:04:45 -07:00
"@types/express" : "^5.0.3" ,
2025-07-15 11:53:26 -07:00
"@types/jsdom" : "^21.1.7" ,
2025-07-04 12:19:48 -07:00
"@types/node" : "^20.11.30" ,
2025-08-07 19:59:19 -07:00
"@types/prompts" : "^2.4.9" ,
2025-06-24 11:41:30 -07:00
"@types/uuid" : "^10.0.0" ,
2025-08-08 18:05:12 -07:00
"@types/ws" : "^8.18.1" ,
2025-08-05 20:00:04 -07:00
"@typescript-eslint/eslint-plugin" : "^8.0.0" ,
"@typescript-eslint/parser" : "^8.0.0" ,
2025-08-08 15:22:38 -07:00
"@vitejs/plugin-basic-ssl" : "^2.1.0" ,
2025-07-28 10:04:45 -07:00
"@vitest/coverage-v8" : "^3.2.4" ,
2025-07-15 11:53:26 -07:00
"@vitest/ui" : "^3.2.4" ,
2025-08-18 08:48:14 -07:00
"aws-sdk-client-mock" : "^4.1.0" ,
"aws-sdk-client-mock-jest" : "^4.1.0" ,
2025-08-08 15:22:38 -07:00
"buffer" : "^6.0.3" ,
"crypto-browserify" : "^3.12.1" ,
2025-08-05 20:00:04 -07:00
"eslint" : "^9.0.0" ,
2025-07-28 10:04:45 -07:00
"express" : "^5.1.0" ,
2025-07-15 11:53:26 -07:00
"happy-dom" : "^18.0.1" ,
"jsdom" : "^26.1.0" ,
2025-08-08 15:22:38 -07:00
"process" : "^0.11.10" ,
2025-08-02 16:05:48 -07:00
"puppeteer" : "^22.15.0" ,
2025-07-31 13:15:04 -07:00
"standard-version" : "^9.5.0" ,
2025-07-04 12:19:48 -07:00
"tslib" : "^2.6.2" ,
2025-07-15 11:53:26 -07:00
"typescript" : "^5.4.5" ,
2025-08-08 15:22:38 -07:00
"vite" : "^7.1.1" ,
2025-07-28 10:04:45 -07:00
"vitest" : "^3.2.4"
2025-06-24 11:41:30 -07:00
} ,
"dependencies" : {
2025-07-04 12:19:48 -07:00
"@aws-sdk/client-s3" : "^3.540.0" ,
2025-08-05 19:29:59 -07:00
"@huggingface/transformers" : "^3.1.0" ,
2025-08-07 06:09:00 -07:00
"@smithy/node-http-handler" : "^4.1.1" ,
2025-08-07 19:33:03 -07:00
"boxen" : "^7.1.1" ,
"chalk" : "^5.3.0" ,
"cli-table3" : "^0.6.3" ,
"commander" : "^11.1.0" ,
2025-07-28 16:00:05 -07:00
"dotenv" : "^16.4.5" ,
2025-08-09 18:27:21 -07:00
"inquirer" : "^12.9.1" ,
2025-08-07 19:33:03 -07:00
"ora" : "^8.0.1" ,
"prompts" : "^2.4.2" ,
2025-07-04 12:19:48 -07:00
"uuid" : "^9.0.1"
2025-06-24 11:41:30 -07:00
} ,
"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"
}
}
}