@souscheflabs/ml-vision 0.1.1 → 0.1.3

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 (150) hide show
  1. package/CHANGELOG.md +54 -0
  2. package/LICENSE +15 -0
  3. package/README.md +50 -5
  4. package/dist/{components → cjs/components}/DetectionOverlay.js +1 -0
  5. package/dist/cjs/components/DetectionOverlay.js.map +1 -0
  6. package/dist/{components → cjs/components}/index.js +1 -0
  7. package/dist/cjs/components/index.js.map +1 -0
  8. package/dist/{core → cjs/core}/CacheManager.js +1 -0
  9. package/dist/cjs/core/CacheManager.js.map +1 -0
  10. package/dist/{core → cjs/core}/MLVisionProvider.js +4 -2
  11. package/dist/cjs/core/MLVisionProvider.js.map +1 -0
  12. package/dist/{core → cjs/core}/ServerClient.js +33 -13
  13. package/dist/cjs/core/ServerClient.js.map +1 -0
  14. package/dist/{core → cjs/core}/index.js +1 -0
  15. package/dist/cjs/core/index.js.map +1 -0
  16. package/dist/cjs/hooks/classLabels.js +178 -0
  17. package/dist/cjs/hooks/classLabels.js.map +1 -0
  18. package/dist/{hooks → cjs/hooks}/classLabelsCoco.js +1 -0
  19. package/dist/cjs/hooks/classLabelsCoco.js.map +1 -0
  20. package/dist/{hooks → cjs/hooks}/index.js +1 -0
  21. package/dist/cjs/hooks/index.js.map +1 -0
  22. package/dist/{hooks → cjs/hooks}/useMultiBarcodeScanner.js +6 -3
  23. package/dist/cjs/hooks/useMultiBarcodeScanner.js.map +1 -0
  24. package/dist/{hooks → cjs/hooks}/useProductDetector.js +168 -97
  25. package/dist/cjs/hooks/useProductDetector.js.map +1 -0
  26. package/dist/{hooks → cjs/hooks}/useReceiptScanner.js +60 -52
  27. package/dist/cjs/hooks/useReceiptScanner.js.map +1 -0
  28. package/dist/{hooks → cjs/hooks}/useVideoScanner.js +8 -5
  29. package/dist/cjs/hooks/useVideoScanner.js.map +1 -0
  30. package/dist/{index.js → cjs/index.js} +8 -4
  31. package/dist/cjs/index.js.map +1 -0
  32. package/dist/{processors → cjs/processors}/detectionProcessor.js +1 -0
  33. package/dist/cjs/processors/detectionProcessor.js.map +1 -0
  34. package/dist/{processors → cjs/processors}/index.js +1 -0
  35. package/dist/cjs/processors/index.js.map +1 -0
  36. package/dist/{processors → cjs/processors}/tfliteFrameProcessor.js +108 -25
  37. package/dist/cjs/processors/tfliteFrameProcessor.js.map +1 -0
  38. package/dist/{types → cjs/types}/barcode.js +1 -0
  39. package/dist/cjs/types/barcode.js.map +1 -0
  40. package/dist/{types → cjs/types}/detection.js +1 -0
  41. package/dist/cjs/types/detection.js.map +1 -0
  42. package/dist/{types → cjs/types}/index.js +1 -0
  43. package/dist/cjs/types/index.js.map +1 -0
  44. package/dist/{types → cjs/types}/ocr.js +1 -0
  45. package/dist/cjs/types/ocr.js.map +1 -0
  46. package/dist/{utils → cjs/utils}/imagePreprocessor.js +30 -25
  47. package/dist/cjs/utils/imagePreprocessor.js.map +1 -0
  48. package/dist/cjs/utils/logger.js +99 -0
  49. package/dist/cjs/utils/logger.js.map +1 -0
  50. package/dist/{utils → cjs/utils}/yoloProcessor.js +1 -0
  51. package/dist/cjs/utils/yoloProcessor.js.map +1 -0
  52. package/dist/esm/components/DetectionOverlay.js +130 -0
  53. package/dist/esm/components/DetectionOverlay.js.map +1 -0
  54. package/dist/esm/components/index.js +5 -0
  55. package/dist/esm/components/index.js.map +1 -0
  56. package/dist/esm/core/CacheManager.js +327 -0
  57. package/dist/esm/core/CacheManager.js.map +1 -0
  58. package/dist/esm/core/MLVisionProvider.js +185 -0
  59. package/dist/esm/core/MLVisionProvider.js.map +1 -0
  60. package/dist/esm/core/ServerClient.js +305 -0
  61. package/dist/esm/core/ServerClient.js.map +1 -0
  62. package/dist/esm/core/index.js +7 -0
  63. package/dist/esm/core/index.js.map +1 -0
  64. package/dist/esm/hooks/classLabels.js +174 -0
  65. package/dist/esm/hooks/classLabels.js.map +1 -0
  66. package/dist/esm/hooks/classLabelsCoco.js +98 -0
  67. package/dist/esm/hooks/classLabelsCoco.js.map +1 -0
  68. package/dist/esm/hooks/index.js +9 -0
  69. package/dist/esm/hooks/index.js.map +1 -0
  70. package/dist/esm/hooks/useMultiBarcodeScanner.js +290 -0
  71. package/dist/esm/hooks/useMultiBarcodeScanner.js.map +1 -0
  72. package/dist/esm/hooks/useProductDetector.js +714 -0
  73. package/dist/esm/hooks/useProductDetector.js.map +1 -0
  74. package/dist/esm/hooks/useReceiptScanner.js +407 -0
  75. package/dist/esm/hooks/useReceiptScanner.js.map +1 -0
  76. package/dist/esm/hooks/useVideoScanner.js +383 -0
  77. package/dist/esm/hooks/useVideoScanner.js.map +1 -0
  78. package/dist/esm/index.js +93 -0
  79. package/dist/esm/index.js.map +1 -0
  80. package/dist/esm/processors/detectionProcessor.js +121 -0
  81. package/dist/esm/processors/detectionProcessor.js.map +1 -0
  82. package/dist/esm/processors/index.js +7 -0
  83. package/dist/esm/processors/index.js.map +1 -0
  84. package/dist/esm/processors/tfliteFrameProcessor.js +292 -0
  85. package/dist/esm/processors/tfliteFrameProcessor.js.map +1 -0
  86. package/dist/esm/types/barcode.js +17 -0
  87. package/dist/esm/types/barcode.js.map +1 -0
  88. package/dist/esm/types/detection.js +8 -0
  89. package/dist/esm/types/detection.js.map +1 -0
  90. package/dist/esm/types/index.js +10 -0
  91. package/dist/esm/types/index.js.map +1 -0
  92. package/dist/esm/types/ocr.js +8 -0
  93. package/dist/esm/types/ocr.js.map +1 -0
  94. package/dist/esm/utils/imagePreprocessor.js +268 -0
  95. package/dist/esm/utils/imagePreprocessor.js.map +1 -0
  96. package/dist/esm/utils/logger.js +94 -0
  97. package/dist/esm/utils/logger.js.map +1 -0
  98. package/dist/esm/utils/yoloProcessor.js +151 -0
  99. package/dist/esm/utils/yoloProcessor.js.map +1 -0
  100. package/dist/{components → types/components}/DetectionOverlay.d.ts +1 -0
  101. package/dist/types/components/DetectionOverlay.d.ts.map +1 -0
  102. package/dist/{components → types/components}/index.d.ts +1 -0
  103. package/dist/types/components/index.d.ts.map +1 -0
  104. package/dist/{core → types/core}/CacheManager.d.ts +1 -0
  105. package/dist/types/core/CacheManager.d.ts.map +1 -0
  106. package/dist/{core → types/core}/MLVisionProvider.d.ts +1 -0
  107. package/dist/types/core/MLVisionProvider.d.ts.map +1 -0
  108. package/dist/{core → types/core}/ServerClient.d.ts +1 -0
  109. package/dist/types/core/ServerClient.d.ts.map +1 -0
  110. package/dist/{core → types/core}/index.d.ts +1 -0
  111. package/dist/types/core/index.d.ts.map +1 -0
  112. package/dist/{hooks → types/hooks}/classLabels.d.ts +5 -4
  113. package/dist/types/hooks/classLabels.d.ts.map +1 -0
  114. package/dist/{hooks → types/hooks}/classLabelsCoco.d.ts +1 -0
  115. package/dist/types/hooks/classLabelsCoco.d.ts.map +1 -0
  116. package/dist/{hooks → types/hooks}/index.d.ts +1 -0
  117. package/dist/types/hooks/index.d.ts.map +1 -0
  118. package/dist/{hooks → types/hooks}/useMultiBarcodeScanner.d.ts +1 -0
  119. package/dist/types/hooks/useMultiBarcodeScanner.d.ts.map +1 -0
  120. package/dist/{hooks → types/hooks}/useProductDetector.d.ts +1 -0
  121. package/dist/types/hooks/useProductDetector.d.ts.map +1 -0
  122. package/dist/{hooks → types/hooks}/useReceiptScanner.d.ts +2 -1
  123. package/dist/types/hooks/useReceiptScanner.d.ts.map +1 -0
  124. package/dist/{hooks → types/hooks}/useVideoScanner.d.ts +1 -0
  125. package/dist/types/hooks/useVideoScanner.d.ts.map +1 -0
  126. package/dist/types/index.d.ts +58 -124
  127. package/dist/types/index.d.ts.map +1 -0
  128. package/dist/{processors → types/processors}/detectionProcessor.d.ts +1 -0
  129. package/dist/types/processors/detectionProcessor.d.ts.map +1 -0
  130. package/dist/{processors → types/processors}/index.d.ts +1 -0
  131. package/dist/types/processors/index.d.ts.map +1 -0
  132. package/dist/{processors → types/processors}/tfliteFrameProcessor.d.ts +5 -4
  133. package/dist/types/processors/tfliteFrameProcessor.d.ts.map +1 -0
  134. package/dist/types/{barcode.d.ts → types/barcode.d.ts} +1 -0
  135. package/dist/types/types/barcode.d.ts.map +1 -0
  136. package/dist/types/{detection.d.ts → types/detection.d.ts} +1 -0
  137. package/dist/types/types/detection.d.ts.map +1 -0
  138. package/dist/types/types/index.d.ts +127 -0
  139. package/dist/types/types/index.d.ts.map +1 -0
  140. package/dist/types/{ocr.d.ts → types/ocr.d.ts} +1 -0
  141. package/dist/types/types/ocr.d.ts.map +1 -0
  142. package/dist/{utils → types/utils}/imagePreprocessor.d.ts +1 -0
  143. package/dist/types/utils/imagePreprocessor.d.ts.map +1 -0
  144. package/dist/types/utils/logger.d.ts +52 -0
  145. package/dist/types/utils/logger.d.ts.map +1 -0
  146. package/dist/{utils → types/utils}/yoloProcessor.d.ts +1 -0
  147. package/dist/types/utils/yoloProcessor.d.ts.map +1 -0
  148. package/package.json +62 -21
  149. package/dist/hooks/classLabels.js +0 -439
  150. package/dist/index.d.ts +0 -58
package/CHANGELOG.md ADDED
@@ -0,0 +1,54 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file.
4
+
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
+
8
+ ## [Unreleased]
9
+
10
+ ## [0.1.1] - 2026-01-16
11
+
12
+ ### Added
13
+ - `useVideoScanner` hook for real-time video scanning with temporal smoothing
14
+ - `useReceiptScanner` hook for receipt OCR with MLKit text recognition
15
+ - TFLite frame processor for on-device real-time detection
16
+ - YOLO output processing utilities (`yoloProcessor.ts`)
17
+ - Image preprocessing utilities with Skia support (`imagePreprocessor.ts`)
18
+ - Detection overlay component
19
+ - COCO class labels (80 classes) support
20
+ - SousChef custom model (233 food classes) support
21
+ - Configurable logging utility
22
+
23
+ ### Changed
24
+ - Updated `useProductDetector` with image preprocessing via Skia
25
+ - Improved model loading with Android asset fallback
26
+ - Enhanced server detection with detailed logging
27
+
28
+ ### Fixed
29
+ - Global model state management with singleton pattern
30
+ - Event listener cleanup in ServerClient
31
+ - Unused variable warnings
32
+
33
+ ## [0.1.0] - 2026-01-15
34
+
35
+ ### Added
36
+ - Initial release
37
+ - `MLVisionProvider` context for configuration and caching
38
+ - `useMultiBarcodeScanner` hook for multi-barcode detection
39
+ - `useProductDetector` hook for visual product recognition
40
+ - `CacheManager` with MMKV-based caching
41
+ - `ServerClient` for fallback inference server communication
42
+ - TypeScript type definitions for all features
43
+ - Docker training environment for YOLOv8 models
44
+ - Documentation and architecture guides
45
+
46
+ ### Technical Details
47
+ - React Native 0.73+ support
48
+ - TFLite INT8 quantized models (~3-6MB)
49
+ - On-device MLKit barcode scanning
50
+ - GPU delegate support (CoreML on iOS)
51
+
52
+ [Unreleased]: https://github.com/SousChefLabs/ml-vision/compare/v0.1.1...HEAD
53
+ [0.1.1]: https://github.com/SousChefLabs/ml-vision/compare/v0.1.0...v0.1.1
54
+ [0.1.0]: https://github.com/SousChefLabs/ml-vision/releases/tag/v0.1.0
package/LICENSE ADDED
@@ -0,0 +1,15 @@
1
+ ISC License
2
+
3
+ Copyright (c) 2024-2026 SousChef Labs
4
+
5
+ Permission to use, copy, modify, and/or distribute this software for any
6
+ purpose with or without fee is hereby granted, provided that the above
7
+ copyright notice and this permission notice appear in all copies.
8
+
9
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
10
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
11
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
12
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
13
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
14
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
15
+ PERFORMANCE OF THIS SOFTWARE.
package/README.md CHANGED
@@ -1,4 +1,9 @@
1
- # @souschef/ml-vision
1
+ # @souscheflabs/ml-vision
2
+
3
+ [![npm version](https://img.shields.io/npm/v/@souscheflabs/ml-vision.svg)](https://www.npmjs.com/package/@souscheflabs/ml-vision)
4
+ [![license](https://img.shields.io/npm/l/@souscheflabs/ml-vision.svg)](https://github.com/SousChefLabs/ml-vision/blob/main/LICENSE)
5
+ [![TypeScript](https://img.shields.io/badge/TypeScript-5.0-blue.svg)](https://www.typescriptlang.org/)
6
+ [![React Native](https://img.shields.io/badge/React%20Native-0.73+-green.svg)](https://reactnative.dev/)
2
7
 
3
8
  ML-powered product detection for React Native. Speed up kitchen inventory onboarding with multi-barcode scanning, receipt OCR, and visual product recognition.
4
9
 
@@ -14,7 +19,9 @@ ML-powered product detection for React Native. Speed up kitchen inventory onboar
14
19
  ## Installation
15
20
 
16
21
  ```bash
17
- npm install @souschef/ml-vision
22
+ npm install @souscheflabs/ml-vision
23
+ # or
24
+ yarn add @souscheflabs/ml-vision
18
25
  ```
19
26
 
20
27
  ### Peer Dependencies
@@ -54,7 +61,7 @@ Add camera permission to `AndroidManifest.xml`:
54
61
  ### 1. Wrap your app with the provider
55
62
 
56
63
  ```typescript
57
- import { MLVisionProvider } from '@souschef/ml-vision';
64
+ import { MLVisionProvider } from '@souscheflabs/ml-vision';
58
65
  import { MMKV } from 'react-native-mmkv';
59
66
 
60
67
  // Create MMKV instance for caching
@@ -78,7 +85,7 @@ function App() {
78
85
  ### 2. Use the hooks in your components
79
86
 
80
87
  ```typescript
81
- import { useMultiBarcodeScanner } from '@souschef/ml-vision';
88
+ import { useMultiBarcodeScanner } from '@souscheflabs/ml-vision';
82
89
  import { Camera } from 'react-native-vision-camera';
83
90
 
84
91
  function BarcodeScanScreen() {
@@ -202,7 +209,7 @@ const {
202
209
  ┌─────────────────────────────────────────────────────────────────┐
203
210
  │ Your React Native App │
204
211
  ├─────────────────────────────────────────────────────────────────┤
205
- │ @souschef/ml-vision │
212
+ │ @souscheflabs/ml-vision │
206
213
  │ ├── Hooks (useMultiBarcodeScanner, useProductDetector, etc.) │
207
214
  │ ├── Frame Processors (barcode, OCR, TFLite detection) │
208
215
  │ └── CacheManager (MMKV-based caching) │
@@ -268,7 +275,45 @@ ISC
268
275
  4. Run tests and type checks
269
276
  5. Submit a pull request
270
277
 
278
+ ## Troubleshooting
279
+
280
+ ### Model Loading Fails on Android
281
+
282
+ Ensure the model file is in `android/app/src/main/assets/`. Metro bundler handles this automatically for `.tflite` files in the `models/` directory.
283
+
284
+ ### Camera Permission Denied
285
+
286
+ Add the camera permission to your app and request it at runtime:
287
+
288
+ ```typescript
289
+ import { Camera } from 'react-native-vision-camera';
290
+
291
+ const permission = await Camera.requestCameraPermission();
292
+ if (permission === 'denied') {
293
+ // Handle permission denied
294
+ }
295
+ ```
296
+
297
+ ### Low Detection Accuracy
298
+
299
+ 1. Ensure good lighting conditions
300
+ 2. Try lowering `minConfidence` threshold
301
+ 3. Enable `serverFallback` for better accuracy on complex scenes
302
+
303
+ ### Build Errors with TFLite
304
+
305
+ If you encounter build errors with `react-native-fast-tflite`:
306
+
307
+ ```bash
308
+ # iOS: Clean and rebuild
309
+ cd ios && pod deintegrate && pod install && cd ..
310
+
311
+ # Android: Clean gradle cache
312
+ cd android && ./gradlew clean && cd ..
313
+ ```
314
+
271
315
  ## Support
272
316
 
273
317
  - [GitHub Issues](https://github.com/SousChefLabs/ml-vision/issues)
274
318
  - [Documentation](./docs/)
319
+ - [Changelog](./CHANGELOG.md)
@@ -131,3 +131,4 @@ const loadingStyles = react_native_1.StyleSheet.create({
131
131
  },
132
132
  });
133
133
  exports.default = DetectionOverlay;
134
+ //# sourceMappingURL=DetectionOverlay.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DetectionOverlay.js","sourceRoot":"","sources":["../../../src/components/DetectionOverlay.tsx"],"names":[],"mappings":"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"}
@@ -7,3 +7,4 @@ exports.DetectionLoadingOverlay = exports.DetectionOverlay = void 0;
7
7
  var DetectionOverlay_1 = require("./DetectionOverlay");
8
8
  Object.defineProperty(exports, "DetectionOverlay", { enumerable: true, get: function () { return DetectionOverlay_1.DetectionOverlay; } });
9
9
  Object.defineProperty(exports, "DetectionLoadingOverlay", { enumerable: true, get: function () { return DetectionOverlay_1.DetectionLoadingOverlay; } });
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,uDAI4B;AAH1B,oHAAA,gBAAgB,OAAA;AAChB,2HAAA,uBAAuB,OAAA"}
@@ -329,3 +329,4 @@ exports.CacheManager = CacheManager;
329
329
  function createCacheManager(storage, customTTL) {
330
330
  return new CacheManager(storage, customTTL);
331
331
  }
332
+ //# sourceMappingURL=CacheManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CacheManager.js","sourceRoot":"","sources":["../../../src/core/CacheManager.ts"],"names":[],"mappings":"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"}
@@ -34,6 +34,7 @@ const jsx_runtime_1 = require("react/jsx-runtime");
34
34
  const react_1 = require("react");
35
35
  const CacheManager_1 = require("./CacheManager");
36
36
  const ServerClient_1 = require("./ServerClient");
37
+ const logger_1 = require("../utils/logger");
37
38
  // ============================================================================
38
39
  // Default Configuration
39
40
  // ============================================================================
@@ -109,7 +110,7 @@ function MLVisionProvider({ children, config: userConfig, storage, onInitialized
109
110
  if (cacheManager) {
110
111
  const removed = cacheManager.cleanupExpired();
111
112
  if (removed > 0) {
112
- console.log(`[MLVision] Cleaned up ${removed} expired cache entries`);
113
+ logger_1.logger.info(`[MLVision] Cleaned up ${removed} expired cache entries`);
113
114
  }
114
115
  }
115
116
  // Check server health if configured
@@ -121,7 +122,7 @@ function MLVisionProvider({ children, config: userConfig, storage, onInitialized
121
122
  }
122
123
  catch (error) {
123
124
  const err = error instanceof Error ? error : new Error('Initialization failed');
124
- console.error('[MLVision] Initialization error:', err);
125
+ logger_1.logger.error('[MLVision] Initialization error:', err);
125
126
  onError?.(err);
126
127
  // Still mark as initialized so the app can work in offline mode
127
128
  setIsInitialized(true);
@@ -186,3 +187,4 @@ function useMLVisionReady() {
186
187
  const context = (0, react_1.useContext)(MLVisionContext);
187
188
  return context?.isInitialized ?? false;
188
189
  }
190
+ //# sourceMappingURL=MLVisionProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MLVisionProvider.js","sourceRoot":"","sources":["../../../src/core/MLVisionProvider.tsx"],"names":[],"mappings":"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"}
@@ -11,6 +11,7 @@
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.ServerClient = exports.ServerError = void 0;
13
13
  exports.createServerClient = createServerClient;
14
+ const logger_1 = require("../utils/logger");
14
15
  // ============================================================================
15
16
  // Server Error
16
17
  // ============================================================================
@@ -91,10 +92,10 @@ class ServerClient {
91
92
  * Detect products in an image
92
93
  */
93
94
  async detectProducts(imageData, options) {
94
- console.log('[ServerClient] detectProducts called');
95
- console.log('[ServerClient] baseUrl:', this.baseUrl);
96
- console.log('[ServerClient] imageData.image:', imageData.image?.substring(0, 100));
97
- console.log('[ServerClient] imageData.isBase64:', imageData.isBase64);
95
+ logger_1.logger.debug('[ServerClient] detectProducts called');
96
+ logger_1.logger.debug('[ServerClient] baseUrl:', this.baseUrl);
97
+ logger_1.logger.debug('[ServerClient] imageData.image:', imageData.image?.substring(0, 100));
98
+ logger_1.logger.debug('[ServerClient] imageData.isBase64:', imageData.isBase64);
98
99
  const formData = this.createImageFormData(imageData);
99
100
  if (options?.maxDetections) {
100
101
  formData.append('max_detections', String(options.maxDetections));
@@ -105,14 +106,14 @@ class ServerClient {
105
106
  if (options?.categories) {
106
107
  formData.append('categories', options.categories.join(','));
107
108
  }
108
- console.log('[ServerClient] Sending request to /api/v1/detect/products...');
109
+ logger_1.logger.debug('[ServerClient] Sending request to /api/v1/detect/products...');
109
110
  try {
110
111
  const response = await this.requestWithForm('/api/v1/detect/products', formData, options);
111
- console.log('[ServerClient] Response received:', JSON.stringify(response));
112
+ logger_1.logger.debug('[ServerClient] Response received:', JSON.stringify(response));
112
113
  return response.detections;
113
114
  }
114
115
  catch (err) {
115
- console.error('[ServerClient] Request failed:', err);
116
+ logger_1.logger.error('[ServerClient] Request failed:', err);
116
117
  throw err;
117
118
  }
118
119
  }
@@ -195,9 +196,12 @@ class ServerClient {
195
196
  // Create abort controller for timeout
196
197
  const controller = new AbortController();
197
198
  const timeoutId = setTimeout(() => controller.abort(), timeout);
199
+ // Track external abort handler for cleanup
200
+ let externalAbortHandler = null;
198
201
  // Combine with external signal if provided
199
202
  if (options?.signal) {
200
- options.signal.addEventListener('abort', () => controller.abort());
203
+ externalAbortHandler = () => controller.abort();
204
+ options.signal.addEventListener('abort', externalAbortHandler);
201
205
  }
202
206
  try {
203
207
  const response = await fetch(url, {
@@ -209,7 +213,6 @@ class ServerClient {
209
213
  body: body ? JSON.stringify(body) : undefined,
210
214
  signal: controller.signal,
211
215
  });
212
- clearTimeout(timeoutId);
213
216
  if (!response.ok) {
214
217
  const errorBody = await response.json().catch(() => ({
215
218
  error: 'Unknown error',
@@ -220,7 +223,6 @@ class ServerClient {
220
223
  return (await response.json());
221
224
  }
222
225
  catch (error) {
223
- clearTimeout(timeoutId);
224
226
  if (error instanceof ServerError) {
225
227
  throw error;
226
228
  }
@@ -232,6 +234,14 @@ class ServerClient {
232
234
  }
233
235
  throw ServerError.networkError();
234
236
  }
237
+ finally {
238
+ // Clean up timeout
239
+ clearTimeout(timeoutId);
240
+ // Clean up external abort listener
241
+ if (options?.signal && externalAbortHandler) {
242
+ options.signal.removeEventListener('abort', externalAbortHandler);
243
+ }
244
+ }
235
245
  }
236
246
  /**
237
247
  * Make a multipart form request
@@ -241,8 +251,11 @@ class ServerClient {
241
251
  const timeout = options?.timeout ?? this.defaultTimeout;
242
252
  const controller = new AbortController();
243
253
  const timeoutId = setTimeout(() => controller.abort(), timeout);
254
+ // Track external abort handler for cleanup
255
+ let externalAbortHandler = null;
244
256
  if (options?.signal) {
245
- options.signal.addEventListener('abort', () => controller.abort());
257
+ externalAbortHandler = () => controller.abort();
258
+ options.signal.addEventListener('abort', externalAbortHandler);
246
259
  }
247
260
  try {
248
261
  const response = await fetch(url, {
@@ -254,7 +267,6 @@ class ServerClient {
254
267
  body: formData,
255
268
  signal: controller.signal,
256
269
  });
257
- clearTimeout(timeoutId);
258
270
  if (!response.ok) {
259
271
  const errorBody = await response.json().catch(() => ({
260
272
  error: 'Unknown error',
@@ -265,7 +277,6 @@ class ServerClient {
265
277
  return (await response.json());
266
278
  }
267
279
  catch (error) {
268
- clearTimeout(timeoutId);
269
280
  if (error instanceof ServerError) {
270
281
  throw error;
271
282
  }
@@ -277,6 +288,14 @@ class ServerClient {
277
288
  }
278
289
  throw ServerError.networkError();
279
290
  }
291
+ finally {
292
+ // Clean up timeout
293
+ clearTimeout(timeoutId);
294
+ // Clean up external abort listener
295
+ if (options?.signal && externalAbortHandler) {
296
+ options.signal.removeEventListener('abort', externalAbortHandler);
297
+ }
298
+ }
280
299
  }
281
300
  }
282
301
  exports.ServerClient = ServerClient;
@@ -289,3 +308,4 @@ exports.ServerClient = ServerClient;
289
308
  function createServerClient(baseUrl, timeout) {
290
309
  return new ServerClient(baseUrl, timeout);
291
310
  }
311
+ //# sourceMappingURL=ServerClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ServerClient.js","sourceRoot":"","sources":["../../../src/core/ServerClient.ts"],"names":[],"mappings":"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"}
@@ -16,3 +16,4 @@ var ServerClient_1 = require("./ServerClient");
16
16
  Object.defineProperty(exports, "ServerClient", { enumerable: true, get: function () { return ServerClient_1.ServerClient; } });
17
17
  Object.defineProperty(exports, "createServerClient", { enumerable: true, get: function () { return ServerClient_1.createServerClient; } });
18
18
  Object.defineProperty(exports, "ServerError", { enumerable: true, get: function () { return ServerClient_1.ServerError; } });
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,uDAM4B;AAL1B,oHAAA,gBAAgB,OAAA;AAChB,sHAAA,kBAAkB,OAAA;AAClB,oHAAA,gBAAgB,OAAA;AAKlB,+CAMwB;AALtB,4GAAA,YAAY,OAAA;AACZ,kHAAA,kBAAkB,OAAA;AAClB,yGAAA,SAAS,OAAA;AAKX,+CAQwB;AAPtB,4GAAA,YAAY,OAAA;AACZ,kHAAA,kBAAkB,OAAA;AAClB,2GAAA,WAAW,OAAA"}
@@ -0,0 +1,178 @@
1
+ "use strict";
2
+ /**
3
+ * Class label mappings for the trained SousChef YOLOv8 model
4
+ *
5
+ * These labels correspond to the 43 classes in the souschef_products_v2 model.
6
+ * The model was trained on curated grocery product images.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.CATEGORY_CLASSES = exports.NUM_CLASSES = exports.CLASS_LABELS = void 0;
10
+ exports.getClassInfo = getClassInfo;
11
+ exports.getLabelsArray = getLabelsArray;
12
+ exports.categorizeLabel = categorizeLabel;
13
+ /**
14
+ * Categorize a food item label
15
+ */
16
+ function categorizeLabel(label) {
17
+ // Produce
18
+ const produce = [
19
+ 'apple', 'banana', 'blackberries', 'blueberries', 'cherries',
20
+ 'lettuce', 'pomegranate', 'red_onion', 'serrano_pepper', 'tomato'
21
+ ];
22
+ // Meat & Seafood
23
+ const meat = [
24
+ 'beef_tenderloin', 'chicken_drumsticks', 'chicken_tenders', 'chicken_wings',
25
+ 'chuck_roast', 'ground_beef', 'pork_chops', 'pork_loin', 'pork_shoulder',
26
+ 'pork_tenderloin', 'rotisserie_chicken', 'sirloin_steak'
27
+ ];
28
+ // Dairy
29
+ const dairy = [
30
+ 'butter', 'goat_cheese', 'greek_yogurt', 'half_and_half', 'provolone_cheese',
31
+ 'salted_butter', 'shredded_cheese', 'sliced_cheese', 'unsalted_butter',
32
+ 'whole_milk', 'yogurt'
33
+ ];
34
+ // Packaged/Pantry
35
+ const packaged = [
36
+ 'all_purpose_flour', 'crushed_tomatoes', 'flour', 'honey', 'mixed_nuts',
37
+ 'rice', 'sugar', 'white_rice'
38
+ ];
39
+ // Beverages
40
+ const beverage = [
41
+ 'bottled_water', 'sparkling_water'
42
+ ];
43
+ if (produce.includes(label))
44
+ return 'produce';
45
+ if (meat.includes(label))
46
+ return 'meat';
47
+ if (dairy.includes(label))
48
+ return 'dairy';
49
+ if (packaged.includes(label))
50
+ return 'packaged';
51
+ if (beverage.includes(label))
52
+ return 'beverage';
53
+ // Default categorization based on common patterns
54
+ if (label.includes('cheese'))
55
+ return 'dairy';
56
+ if (label.includes('milk') || label.includes('cream') || label.includes('butter'))
57
+ return 'dairy';
58
+ if (label.includes('beef') || label.includes('chicken') || label.includes('pork') ||
59
+ label.includes('fish') || label.includes('shrimp') || label.includes('salmon'))
60
+ return 'meat';
61
+ if (label.includes('bread') || label.includes('bun'))
62
+ return 'bakery';
63
+ if (label.includes('juice') || label.includes('water') || label.includes('soda'))
64
+ return 'beverage';
65
+ return 'unknown';
66
+ }
67
+ /**
68
+ * Map class index to label and category (43 classes)
69
+ */
70
+ exports.CLASS_LABELS = {
71
+ 0: { label: 'all_purpose_flour', category: 'packaged' },
72
+ 1: { label: 'apple', category: 'produce' },
73
+ 2: { label: 'banana', category: 'produce' },
74
+ 3: { label: 'beef_tenderloin', category: 'meat' },
75
+ 4: { label: 'blackberries', category: 'produce' },
76
+ 5: { label: 'blueberries', category: 'produce' },
77
+ 6: { label: 'bottled_water', category: 'beverage' },
78
+ 7: { label: 'butter', category: 'dairy' },
79
+ 8: { label: 'cherries', category: 'produce' },
80
+ 9: { label: 'chicken_drumsticks', category: 'meat' },
81
+ 10: { label: 'chicken_tenders', category: 'meat' },
82
+ 11: { label: 'chicken_wings', category: 'meat' },
83
+ 12: { label: 'chuck_roast', category: 'meat' },
84
+ 13: { label: 'crushed_tomatoes', category: 'packaged' },
85
+ 14: { label: 'flour', category: 'packaged' },
86
+ 15: { label: 'goat_cheese', category: 'dairy' },
87
+ 16: { label: 'greek_yogurt', category: 'dairy' },
88
+ 17: { label: 'ground_beef', category: 'meat' },
89
+ 18: { label: 'half_and_half', category: 'dairy' },
90
+ 19: { label: 'honey', category: 'packaged' },
91
+ 20: { label: 'lettuce', category: 'produce' },
92
+ 21: { label: 'mixed_nuts', category: 'snack' },
93
+ 22: { label: 'pomegranate', category: 'produce' },
94
+ 23: { label: 'pork_chops', category: 'meat' },
95
+ 24: { label: 'pork_loin', category: 'meat' },
96
+ 25: { label: 'pork_shoulder', category: 'meat' },
97
+ 26: { label: 'pork_tenderloin', category: 'meat' },
98
+ 27: { label: 'provolone_cheese', category: 'dairy' },
99
+ 28: { label: 'red_onion', category: 'produce' },
100
+ 29: { label: 'rice', category: 'packaged' },
101
+ 30: { label: 'rotisserie_chicken', category: 'meat' },
102
+ 31: { label: 'salted_butter', category: 'dairy' },
103
+ 32: { label: 'serrano_pepper', category: 'produce' },
104
+ 33: { label: 'shredded_cheese', category: 'dairy' },
105
+ 34: { label: 'sirloin_steak', category: 'meat' },
106
+ 35: { label: 'sliced_cheese', category: 'dairy' },
107
+ 36: { label: 'sparkling_water', category: 'beverage' },
108
+ 37: { label: 'sugar', category: 'packaged' },
109
+ 38: { label: 'tomato', category: 'produce' },
110
+ 39: { label: 'unsalted_butter', category: 'dairy' },
111
+ 40: { label: 'white_rice', category: 'packaged' },
112
+ 41: { label: 'whole_milk', category: 'dairy' },
113
+ 42: { label: 'yogurt', category: 'dairy' },
114
+ };
115
+ /**
116
+ * Number of classes in the model
117
+ */
118
+ exports.NUM_CLASSES = 43;
119
+ /**
120
+ * Get label info for a class index
121
+ */
122
+ function getClassInfo(classIndex) {
123
+ const info = exports.CLASS_LABELS[classIndex];
124
+ if (info) {
125
+ return info;
126
+ }
127
+ // Fallback for unknown indices
128
+ return { label: `class_${classIndex}`, category: 'unknown' };
129
+ }
130
+ /**
131
+ * Get all labels as an array (ordered by class index)
132
+ */
133
+ function getLabelsArray() {
134
+ const labels = [];
135
+ for (let i = 0; i < exports.NUM_CLASSES; i++) {
136
+ labels.push(exports.CLASS_LABELS[i]?.label ?? `class_${i}`);
137
+ }
138
+ return labels;
139
+ }
140
+ /**
141
+ * Category to class indices mapping
142
+ */
143
+ exports.CATEGORY_CLASSES = {
144
+ produce: Object.entries(exports.CLASS_LABELS)
145
+ .filter(([, v]) => v.category === 'produce')
146
+ .map(([k]) => parseInt(k, 10)),
147
+ meat: Object.entries(exports.CLASS_LABELS)
148
+ .filter(([, v]) => v.category === 'meat')
149
+ .map(([k]) => parseInt(k, 10)),
150
+ dairy: Object.entries(exports.CLASS_LABELS)
151
+ .filter(([, v]) => v.category === 'dairy')
152
+ .map(([k]) => parseInt(k, 10)),
153
+ packaged: Object.entries(exports.CLASS_LABELS)
154
+ .filter(([, v]) => v.category === 'packaged')
155
+ .map(([k]) => parseInt(k, 10)),
156
+ bakery: Object.entries(exports.CLASS_LABELS)
157
+ .filter(([, v]) => v.category === 'bakery')
158
+ .map(([k]) => parseInt(k, 10)),
159
+ snack: Object.entries(exports.CLASS_LABELS)
160
+ .filter(([, v]) => v.category === 'snack')
161
+ .map(([k]) => parseInt(k, 10)),
162
+ beverage: Object.entries(exports.CLASS_LABELS)
163
+ .filter(([, v]) => v.category === 'beverage')
164
+ .map(([k]) => parseInt(k, 10)),
165
+ condiment: Object.entries(exports.CLASS_LABELS)
166
+ .filter(([, v]) => v.category === 'condiment')
167
+ .map(([k]) => parseInt(k, 10)),
168
+ spice: Object.entries(exports.CLASS_LABELS)
169
+ .filter(([, v]) => v.category === 'spice')
170
+ .map(([k]) => parseInt(k, 10)),
171
+ frozen: Object.entries(exports.CLASS_LABELS)
172
+ .filter(([, v]) => v.category === 'frozen')
173
+ .map(([k]) => parseInt(k, 10)),
174
+ unknown: Object.entries(exports.CLASS_LABELS)
175
+ .filter(([, v]) => v.category === 'unknown')
176
+ .map(([k]) => parseInt(k, 10)),
177
+ };
178
+ //# sourceMappingURL=classLabels.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"classLabels.js","sourceRoot":"","sources":["../../../src/hooks/classLabels.ts"],"names":[],"mappings":"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"}
@@ -101,3 +101,4 @@ function isFoodClass(classIndex) {
101
101
  function getCocoLabelsArray() {
102
102
  return [...exports.COCO_CLASSES];
103
103
  }
104
+ //# sourceMappingURL=classLabelsCoco.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"classLabelsCoco.js","sourceRoot":"","sources":["../../../src/hooks/classLabelsCoco.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AA+EH,4CASC;AAKD,kCAEC;AAKD,gDAEC;AAlGD;;GAEG;AACU,QAAA,YAAY,GAAG;IAC1B,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO;IAC7E,MAAM,EAAE,eAAe,EAAE,cAAc,EAAE,WAAW,EAAE,eAAe,EAAE,OAAO;IAC9E,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO;IAC1E,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS;IAC1E,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,EAAE,cAAc,EAAE,gBAAgB;IAC5E,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK;IACzE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ;IACzE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO;IAC3E,cAAc,EAAE,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO;IACxE,QAAQ,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;IAC1E,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY;IAC/E,YAAY;CACJ,CAAC;AAEX;;GAEG;AACH,SAAS,eAAe,CAAC,KAAa;IACpC,aAAa;IACb,MAAM,YAAY,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;IACzE,MAAM,SAAS,GAAG,CAAC,SAAS,CAAC,CAAC;IAC9B,MAAM,WAAW,GAAG,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IAC3D,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,MAAM,aAAa,GAAG,CAAC,QAAQ,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;IACtD,MAAM,cAAc,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,mCAAmC;IAEpE,IAAI,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IACnD,IAAI,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC;IAC7C,IAAI,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,QAAQ,CAAC;IACjD,IAAI,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,OAAO,CAAC;IAC/C,IAAI,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,UAAU,CAAC;IACrD,IAAI,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,WAAW,CAAC;IAEvD,qCAAqC;IACrC,MAAM,YAAY,GAAG;QACnB,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;QAChE,cAAc,EAAE,cAAc;KAC/B,CAAC;IACF,IAAI,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC,CAAC,oCAAoC;IAExF,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;GAEG;AACU,QAAA,iBAAiB,GAAkB,MAAM,CAAC,WAAW,CAChE,oBAAY,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC;IACjC,KAAK;IACL,EAAE,KAAK,EAAE,QAAQ,EAAE,eAAe,CAAC,KAAK,CAAC,EAAE;CAC5C,CAAC,CACH,CAAC;AAEF;;GAEG;AACU,QAAA,gBAAgB,GAAG,EAAE,CAAC;AAEnC;;GAEG;AACU,QAAA,kBAAkB,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;AAE3E;;GAEG;AACU,QAAA,qBAAqB,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;AAE1F;;GAEG;AACH,SAAgB,gBAAgB,CAAC,UAAkB;IAIjD,MAAM,IAAI,GAAG,yBAAiB,CAAC,UAAU,CAAC,CAAC;IAC3C,IAAI,IAAI,EAAE,CAAC;QACT,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,SAAS,UAAU,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;AAC/D,CAAC;AAED;;GAEG;AACH,SAAgB,WAAW,CAAC,UAAkB;IAC5C,OAAO,0BAAkB,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;AACjD,CAAC;AAED;;GAEG;AACH,SAAgB,kBAAkB;IAChC,OAAO,CAAC,GAAG,oBAAY,CAAC,CAAC;AAC3B,CAAC"}
@@ -25,3 +25,4 @@ Object.defineProperty(exports, "NUM_CLASSES", { enumerable: true, get: function
25
25
  Object.defineProperty(exports, "getClassInfo", { enumerable: true, get: function () { return classLabels_1.getClassInfo; } });
26
26
  Object.defineProperty(exports, "getLabelsArray", { enumerable: true, get: function () { return classLabels_1.getLabelsArray; } });
27
27
  Object.defineProperty(exports, "CATEGORY_CLASSES", { enumerable: true, get: function () { return classLabels_1.CATEGORY_CLASSES; } });
28
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/hooks/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;AAEH,2DAAgG;AAAvF,wHAAA,kBAAkB,OAAA;AAAE,gJAAA,OAAO,OAA6B;AACjE,mEAA4G;AAAnG,gIAAA,sBAAsB,OAAA;AAAE,wJAAA,OAAO,OAAiC;AACzE,yDAA6F;AAApF,sHAAA,iBAAiB,OAAA;AAAE,8IAAA,OAAO,OAA4B;AAC/D,qDAO2B;AANzB,kHAAA,eAAe,OAAA;AACf,0IAAA,OAAO,OAA0B;AAMnC,6CAA0G;AAAjG,2GAAA,YAAY,OAAA;AAAE,0GAAA,WAAW,OAAA;AAAE,2GAAA,YAAY,OAAA;AAAE,6GAAA,cAAc,OAAA;AAAE,+GAAA,gBAAgB,OAAA"}