@soulcraft/brainy 0.57.0 → 0.58.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (86) hide show
  1. package/README.md +431 -187
  2. package/dist/augmentations/memoryAugmentations.d.ts.map +1 -1
  3. package/dist/brainyData.d.ts.map +1 -1
  4. package/dist/brainyData.js +7 -2
  5. package/dist/brainyData.js.map +1 -1
  6. package/dist/browserFramework.d.ts.map +1 -0
  7. package/dist/coreTypes.d.ts +35 -0
  8. package/dist/coreTypes.d.ts.map +1 -1
  9. package/dist/cortex/cli.d.ts +8 -0
  10. package/dist/cortex/cli.js +207 -0
  11. package/dist/cortex/cli.js.map +1 -0
  12. package/dist/cortex/commands/index.d.ts +79 -0
  13. package/dist/cortex/commands/index.js +614 -0
  14. package/dist/cortex/commands/index.js.map +1 -0
  15. package/dist/cortex/config.d.ts +112 -0
  16. package/dist/cortex/config.js +312 -0
  17. package/dist/cortex/config.js.map +1 -0
  18. package/dist/demo.d.ts.map +1 -0
  19. package/dist/distributed/configManager.d.ts.map +1 -0
  20. package/dist/distributed/domainDetector.d.ts.map +1 -0
  21. package/dist/distributed/hashPartitioner.d.ts.map +1 -0
  22. package/dist/distributed/healthMonitor.d.ts.map +1 -0
  23. package/dist/distributed/index.d.ts.map +1 -0
  24. package/dist/distributed/operationalModes.d.ts.map +1 -0
  25. package/dist/hnsw/distributedSearch.d.ts.map +1 -0
  26. package/dist/hnsw/hnswIndex.d.ts.map +1 -1
  27. package/dist/hnsw/hnswIndexOptimized.d.ts.map +1 -1
  28. package/dist/hnsw/optimizedHNSWIndex.d.ts.map +1 -0
  29. package/dist/hnsw/partitionedHNSWIndex.d.ts.map +1 -0
  30. package/dist/hnsw/scaledHNSWSystem.d.ts.map +1 -0
  31. package/dist/index.d.ts.map +1 -1
  32. package/dist/storage/adapters/baseStorageAdapter.d.ts +59 -0
  33. package/dist/storage/adapters/baseStorageAdapter.d.ts.map +1 -1
  34. package/dist/storage/adapters/baseStorageAdapter.js +199 -0
  35. package/dist/storage/adapters/baseStorageAdapter.js.map +1 -1
  36. package/dist/storage/adapters/batchS3Operations.d.ts.map +1 -0
  37. package/dist/storage/adapters/fileSystemStorage.d.ts.map +1 -1
  38. package/dist/storage/adapters/memoryStorage.d.ts.map +1 -1
  39. package/dist/storage/adapters/opfsStorage.d.ts.map +1 -1
  40. package/dist/storage/adapters/optimizedS3Search.d.ts.map +1 -0
  41. package/dist/storage/adapters/s3CompatibleStorage.d.ts +4 -9
  42. package/dist/storage/adapters/s3CompatibleStorage.d.ts.map +1 -1
  43. package/dist/storage/adapters/s3CompatibleStorage.js +18 -33
  44. package/dist/storage/adapters/s3CompatibleStorage.js.map +1 -1
  45. package/dist/storage/baseStorage.d.ts.map +1 -1
  46. package/dist/storage/cacheManager.d.ts.map +1 -0
  47. package/dist/storage/enhancedCacheManager.d.ts.map +1 -0
  48. package/dist/storage/readOnlyOptimizations.d.ts.map +1 -0
  49. package/dist/storage/storageFactory.d.ts.map +1 -1
  50. package/dist/types/distributedTypes.d.ts.map +1 -0
  51. package/dist/types/paginationTypes.d.ts.map +1 -0
  52. package/dist/types/tensorflowTypes.js +6 -0
  53. package/dist/types/tensorflowTypes.js.map +1 -0
  54. package/dist/utils/autoConfiguration.d.ts.map +1 -0
  55. package/dist/utils/cacheAutoConfig.d.ts.map +1 -0
  56. package/dist/utils/crypto.d.ts.map +1 -0
  57. package/dist/utils/embedding.d.ts.map +1 -1
  58. package/dist/utils/fieldNameTracking.d.ts.map +1 -0
  59. package/dist/utils/index.d.ts.map +1 -1
  60. package/dist/utils/jsonProcessing.d.ts.map +1 -0
  61. package/dist/utils/logger.d.ts.map +1 -0
  62. package/dist/utils/robustModelLoader.d.ts +112 -0
  63. package/dist/utils/robustModelLoader.d.ts.map +1 -0
  64. package/dist/utils/robustModelLoader.js +624 -0
  65. package/dist/utils/robustModelLoader.js.map +1 -0
  66. package/dist/utils/searchCache.d.ts.map +1 -0
  67. package/dist/utils/statisticsCollector.d.ts +37 -0
  68. package/dist/utils/statisticsCollector.d.ts.map +1 -0
  69. package/dist/utils/statisticsCollector.js +142 -0
  70. package/dist/utils/statisticsCollector.js.map +1 -1
  71. package/dist/utils/typeUtils.d.ts.map +1 -0
  72. package/dist/utils/version.d.ts.map +1 -0
  73. package/package.json +1 -1
  74. package/dist/augmentations/neuralImportSense.d.ts +0 -196
  75. package/dist/augmentations/neuralImportSense.js +0 -747
  76. package/dist/augmentations/neuralImportSense.js.map +0 -1
  77. package/dist/patched-platform-node.d.ts +0 -17
  78. package/dist/patched-platform-node.d.ts.map +0 -1
  79. package/dist/testing/prettyReporter.d.ts +0 -23
  80. package/dist/testing/prettyReporter.d.ts.map +0 -1
  81. package/dist/testing/prettySummaryReporter.d.ts +0 -22
  82. package/dist/testing/prettySummaryReporter.d.ts.map +0 -1
  83. package/dist/unified.min.js +0 -12511
  84. package/dist/unified.min.js.map +0 -1
  85. package/dist/utils/tensorflowUtils.d.ts +0 -17
  86. package/dist/utils/tensorflowUtils.d.ts.map +0 -1
@@ -0,0 +1,112 @@
1
+ /**
2
+ * Robust Model Loader - Enhanced model loading with retry mechanisms and fallbacks
3
+ *
4
+ * This module provides a more reliable way to load TensorFlow models with:
5
+ * - Exponential backoff retry mechanisms
6
+ * - Timeout handling
7
+ * - Multiple fallback strategies
8
+ * - Better error handling and logging
9
+ * - Optional local model bundling support
10
+ */
11
+ import { EmbeddingModel } from '../coreTypes.js';
12
+ export interface ModelLoadOptions {
13
+ /** Maximum number of retry attempts */
14
+ maxRetries?: number;
15
+ /** Initial retry delay in milliseconds */
16
+ initialRetryDelay?: number;
17
+ /** Maximum retry delay in milliseconds */
18
+ maxRetryDelay?: number;
19
+ /** Request timeout in milliseconds */
20
+ timeout?: number;
21
+ /** Whether to use exponential backoff */
22
+ useExponentialBackoff?: boolean;
23
+ /** Fallback model URLs to try if primary fails */
24
+ fallbackUrls?: string[];
25
+ /** Whether to enable verbose logging */
26
+ verbose?: boolean;
27
+ /** Whether to prefer local bundled model if available */
28
+ preferLocalModel?: boolean;
29
+ /** Custom directory path where models are stored (for Docker deployments) */
30
+ customModelsPath?: string;
31
+ }
32
+ export interface RetryConfig {
33
+ attempt: number;
34
+ maxRetries: number;
35
+ delay: number;
36
+ error: Error;
37
+ }
38
+ export declare class RobustModelLoader {
39
+ private options;
40
+ private loadAttempts;
41
+ constructor(options?: ModelLoadOptions);
42
+ /**
43
+ * Auto-detect extracted models directory
44
+ */
45
+ private autoDetectModelsPath;
46
+ /**
47
+ * Load model with all available fallback strategies
48
+ */
49
+ loadModelWithFallbacks(): Promise<EmbeddingModel>;
50
+ /**
51
+ * Load a model with robust retry and fallback mechanisms
52
+ */
53
+ loadModel(primaryLoadFunction: () => Promise<EmbeddingModel>, modelIdentifier?: string): Promise<EmbeddingModel>;
54
+ /**
55
+ * Load a model with retry logic and exponential backoff
56
+ */
57
+ private loadWithRetries;
58
+ /**
59
+ * Try to load a locally bundled model
60
+ */
61
+ private tryLoadLocalBundledModel;
62
+ /**
63
+ * Find the @soulcraft/brainy-models package path if installed
64
+ */
65
+ private findBrainyModelsPath;
66
+ /**
67
+ * Try to load model from a custom directory path
68
+ */
69
+ private tryLoadFromCustomPath;
70
+ /**
71
+ * Load model from a specific URL
72
+ */
73
+ private loadFromUrl;
74
+ /**
75
+ * Create a model wrapper that matches the Universal Sentence Encoder interface
76
+ */
77
+ private createModelWrapper;
78
+ /**
79
+ * Apply timeout to a promise
80
+ */
81
+ private withTimeout;
82
+ /**
83
+ * Calculate retry delay with exponential backoff
84
+ */
85
+ private calculateRetryDelay;
86
+ /**
87
+ * Sleep for specified milliseconds
88
+ */
89
+ private sleep;
90
+ /**
91
+ * Log message if verbose mode is enabled
92
+ */
93
+ private log;
94
+ /**
95
+ * Get loading statistics
96
+ */
97
+ getLoadingStats(): {
98
+ [key: string]: number;
99
+ };
100
+ /**
101
+ * Reset loading statistics
102
+ */
103
+ resetStats(): void;
104
+ }
105
+ /**
106
+ * Create a robust model loader with sensible defaults
107
+ */
108
+ export declare function createRobustModelLoader(options?: ModelLoadOptions): RobustModelLoader;
109
+ /**
110
+ * Utility function to create fallback URLs for Universal Sentence Encoder
111
+ */
112
+ export declare function getUniversalSentenceEncoderFallbacks(): string[];
@@ -0,0 +1 @@
1
+ {"version":3,"file":"robustModelLoader.d.ts","sourceRoot":"","sources":["../../src/utils/robustModelLoader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAMhD,MAAM,WAAW,gBAAgB;IAC/B,uCAAuC;IACvC,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,0CAA0C;IAC1C,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,0CAA0C;IAC1C,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,sCAAsC;IACtC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,yCAAyC;IACzC,qBAAqB,CAAC,EAAE,OAAO,CAAA;IAC/B,kDAAkD;IAClD,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;IACvB,wCAAwC;IACxC,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,yDAAyD;IACzD,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,6EAA6E;IAC7E,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC1B;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAA;IACf,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,KAAK,CAAA;CACb;AAED,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,OAAO,CAAsF;IACrG,OAAO,CAAC,YAAY,CAAiC;gBAEzC,OAAO,GAAE,gBAAqB;IAoB1C;;OAEG;IACH,OAAO,CAAC,oBAAoB;IA6D5B;;OAEG;IACG,sBAAsB,IAAI,OAAO,CAAC,cAAc,CAAC;IAgDvD;;OAEG;IACG,SAAS,CACb,mBAAmB,EAAE,MAAM,OAAO,CAAC,cAAc,CAAC,EAClD,eAAe,GAAE,MAAkB,GAClC,OAAO,CAAC,cAAc,CAAC;IAqD1B;;OAEG;YACW,eAAe;IA2C7B;;OAEG;YACW,wBAAwB;IAoItC;;OAEG;YACW,qBAAqB;IAgFnC;;OAEG;YACW,WAAW;IAmBzB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAsC1B;;OAEG;YACW,WAAW;IAUzB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAiB3B;;OAEG;IACH,OAAO,CAAC,KAAK;IAIb;;OAEG;IACH,OAAO,CAAC,GAAG;IAMX;;OAEG;IACH,eAAe,IAAI;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE;IAQ5C;;OAEG;IACH,UAAU,IAAI,IAAI;CAGnB;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,CAAC,EAAE,gBAAgB,GAAG,iBAAiB,CAErF;AAED;;GAEG;AACH,wBAAgB,oCAAoC,IAAI,MAAM,EAAE,CAM/D"}