Open source vector database with HNSW indexing, graph relationships, and metadata facets. Features CLI with professional augmentation registry integration for discovering extensions and capabilities.
57 lines
No EOL
2.1 KiB
JavaScript
57 lines
No EOL
2.1 KiB
JavaScript
/**
|
|
* Unified entry point for Brainy
|
|
* This file exports everything from index.ts
|
|
* Environment detection is handled here and made available to all components
|
|
*/
|
|
// CRITICAL: The TensorFlow.js environment patch is now centralized in setup.ts
|
|
// We import setup.ts below which applies the necessary patches
|
|
// CRITICAL: Import setup.js first to ensure TensorFlow.js environment patching
|
|
// This MUST be the first import to prevent race conditions with TensorFlow.js initialization
|
|
// Moving or removing this import will cause errors like "TextEncoder is not a constructor"
|
|
// when the package is used in Node.js environments
|
|
//
|
|
// The setup.js file applies a patch that ensures TextEncoder/TextDecoder are properly
|
|
// available to TensorFlow.js before it initializes its platform detection
|
|
import './setup.js';
|
|
// Import environment detection functions
|
|
import { isBrowser, isNode, isWebWorker, isThreadingAvailable, isThreadingAvailableAsync, areWorkerThreadsAvailable } from './utils/environment.js';
|
|
// Export environment information with lazy evaluation
|
|
export const environment = {
|
|
get isBrowser() {
|
|
return isBrowser();
|
|
},
|
|
get isNode() {
|
|
return isNode();
|
|
},
|
|
get isServerless() {
|
|
return !isBrowser() && !isNode();
|
|
},
|
|
isWebWorker: function () {
|
|
return isWebWorker();
|
|
},
|
|
get isThreadingAvailable() {
|
|
return isThreadingAvailable();
|
|
},
|
|
isThreadingAvailableAsync: function () {
|
|
return isThreadingAvailableAsync();
|
|
},
|
|
areWorkerThreadsAvailable: function () {
|
|
return areWorkerThreadsAvailable();
|
|
}
|
|
};
|
|
// Make environment information available globally
|
|
if (typeof globalThis !== 'undefined') {
|
|
;
|
|
globalThis.__ENV__ = environment;
|
|
}
|
|
// Log the detected environment
|
|
console.log(`Brainy running in ${environment.isBrowser
|
|
? 'browser'
|
|
: environment.isNode
|
|
? 'Node.js'
|
|
: 'serverless/unknown'} environment`);
|
|
// Re-export everything from index.ts
|
|
export * from './index.js';
|
|
// Export the TensorFlow patch function for testing and manual use
|
|
export { applyTensorFlowPatch } from './utils/textEncoding.js';
|
|
//# sourceMappingURL=unified.js.map
|