tjbot-ce 3.0.1
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.
- package/LICENSE +202 -0
- package/README.md +382 -0
- package/dist/camera/camera.d.ts +62 -0
- package/dist/camera/camera.d.ts.map +1 -0
- package/dist/camera/camera.js +155 -0
- package/dist/camera/camera.js.map +1 -0
- package/dist/camera/index.d.ts +18 -0
- package/dist/camera/index.d.ts.map +1 -0
- package/dist/camera/index.js +18 -0
- package/dist/camera/index.js.map +1 -0
- package/dist/config/config-types.d.ts +75 -0
- package/dist/config/config-types.d.ts.map +1 -0
- package/dist/config/config-types.generated.d.ts +495 -0
- package/dist/config/config-types.generated.d.ts.map +1 -0
- package/dist/config/config-types.generated.js +2 -0
- package/dist/config/config-types.generated.js.map +1 -0
- package/dist/config/config-types.js +175 -0
- package/dist/config/config-types.js.map +1 -0
- package/dist/config/index.d.ts +20 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +19 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/tjbot-config.d.ts +98 -0
- package/dist/config/tjbot-config.d.ts.map +1 -0
- package/dist/config/tjbot-config.js +309 -0
- package/dist/config/tjbot-config.js.map +1 -0
- package/dist/config/vendor/colors.yaml +61 -0
- package/dist/config/vendor/model-registry.yaml +275 -0
- package/dist/config/vendor/tjbot-config.schema.yaml +792 -0
- package/dist/config/vendor/tjbot.default.toml +452 -0
- package/dist/led/index.d.ts +20 -0
- package/dist/led/index.d.ts.map +1 -0
- package/dist/led/index.js +20 -0
- package/dist/led/index.js.map +1 -0
- package/dist/led/led-common-anode.d.ts +38 -0
- package/dist/led/led-common-anode.d.ts.map +1 -0
- package/dist/led/led-common-anode.js +79 -0
- package/dist/led/led-common-anode.js.map +1 -0
- package/dist/led/led-neopixel-spi.d.ts +60 -0
- package/dist/led/led-neopixel-spi.d.ts.map +1 -0
- package/dist/led/led-neopixel-spi.js +216 -0
- package/dist/led/led-neopixel-spi.js.map +1 -0
- package/dist/led/led-neopixel-ws281x.js +186 -0
- package/dist/led/led-neopixel.d.ts +57 -0
- package/dist/led/led-neopixel.d.ts.map +1 -0
- package/dist/led/led-neopixel.js +235 -0
- package/dist/led/led-neopixel.js.map +1 -0
- package/dist/microphone/index.d.ts +18 -0
- package/dist/microphone/index.d.ts.map +1 -0
- package/dist/microphone/index.js +18 -0
- package/dist/microphone/index.js.map +1 -0
- package/dist/microphone/microphone.d.ts +65 -0
- package/dist/microphone/microphone.d.ts.map +1 -0
- package/dist/microphone/microphone.js +179 -0
- package/dist/microphone/microphone.js.map +1 -0
- package/dist/rpi-drivers/index.d.ts +22 -0
- package/dist/rpi-drivers/index.d.ts.map +1 -0
- package/dist/rpi-drivers/index.js +22 -0
- package/dist/rpi-drivers/index.js.map +1 -0
- package/dist/rpi-drivers/rpi-detect.d.ts +24 -0
- package/dist/rpi-drivers/rpi-detect.d.ts.map +1 -0
- package/dist/rpi-drivers/rpi-detect.js +49 -0
- package/dist/rpi-drivers/rpi-detect.js.map +1 -0
- package/dist/rpi-drivers/rpi-driver.d.ts +116 -0
- package/dist/rpi-drivers/rpi-driver.d.ts.map +1 -0
- package/dist/rpi-drivers/rpi-driver.js +261 -0
- package/dist/rpi-drivers/rpi-driver.js.map +1 -0
- package/dist/rpi-drivers/rpi3-driver.d.ts +47 -0
- package/dist/rpi-drivers/rpi3-driver.d.ts.map +1 -0
- package/dist/rpi-drivers/rpi3-driver.js +145 -0
- package/dist/rpi-drivers/rpi3-driver.js.map +1 -0
- package/dist/rpi-drivers/rpi4-driver.d.ts +35 -0
- package/dist/rpi-drivers/rpi4-driver.d.ts.map +1 -0
- package/dist/rpi-drivers/rpi4-driver.js +101 -0
- package/dist/rpi-drivers/rpi4-driver.js.map +1 -0
- package/dist/rpi-drivers/rpi5-driver.d.ts +33 -0
- package/dist/rpi-drivers/rpi5-driver.d.ts.map +1 -0
- package/dist/rpi-drivers/rpi5-driver.js +78 -0
- package/dist/rpi-drivers/rpi5-driver.js.map +1 -0
- package/dist/servo/index.d.ts +19 -0
- package/dist/servo/index.d.ts.map +1 -0
- package/dist/servo/index.js +19 -0
- package/dist/servo/index.js.map +1 -0
- package/dist/servo/servo-constants.d.ts +33 -0
- package/dist/servo/servo-constants.d.ts.map +1 -0
- package/dist/servo/servo-constants.js +34 -0
- package/dist/servo/servo-constants.js.map +1 -0
- package/dist/servo/servo-lgpio.d.ts +82 -0
- package/dist/servo/servo-lgpio.d.ts.map +1 -0
- package/dist/servo/servo-lgpio.js +178 -0
- package/dist/servo/servo-lgpio.js.map +1 -0
- package/dist/speaker/audio-player.d.ts +30 -0
- package/dist/speaker/audio-player.d.ts.map +1 -0
- package/dist/speaker/audio-player.js +68 -0
- package/dist/speaker/audio-player.js.map +1 -0
- package/dist/speaker/index.d.ts +18 -0
- package/dist/speaker/index.d.ts.map +1 -0
- package/dist/speaker/index.js +18 -0
- package/dist/speaker/index.js.map +1 -0
- package/dist/speaker/speaker.d.ts +53 -0
- package/dist/speaker/speaker.d.ts.map +1 -0
- package/dist/speaker/speaker.js +125 -0
- package/dist/speaker/speaker.js.map +1 -0
- package/dist/stt/backends/azure-stt.d.ts +32 -0
- package/dist/stt/backends/azure-stt.d.ts.map +1 -0
- package/dist/stt/backends/azure-stt.js +227 -0
- package/dist/stt/backends/azure-stt.js.map +1 -0
- package/dist/stt/backends/google-cloud-stt.d.ts +31 -0
- package/dist/stt/backends/google-cloud-stt.d.ts.map +1 -0
- package/dist/stt/backends/google-cloud-stt.js +371 -0
- package/dist/stt/backends/google-cloud-stt.js.map +1 -0
- package/dist/stt/backends/ibm-watson-stt.d.ts +32 -0
- package/dist/stt/backends/ibm-watson-stt.d.ts.map +1 -0
- package/dist/stt/backends/ibm-watson-stt.js +190 -0
- package/dist/stt/backends/ibm-watson-stt.js.map +1 -0
- package/dist/stt/backends/sherpa-onnx-stt.d.ts +117 -0
- package/dist/stt/backends/sherpa-onnx-stt.d.ts.map +1 -0
- package/dist/stt/backends/sherpa-onnx-stt.js +694 -0
- package/dist/stt/backends/sherpa-onnx-stt.js.map +1 -0
- package/dist/stt/index.d.ts +20 -0
- package/dist/stt/index.d.ts.map +1 -0
- package/dist/stt/index.js +21 -0
- package/dist/stt/index.js.map +1 -0
- package/dist/stt/stt-engine.d.ts +68 -0
- package/dist/stt/stt-engine.d.ts.map +1 -0
- package/dist/stt/stt-engine.js +99 -0
- package/dist/stt/stt-engine.js.map +1 -0
- package/dist/stt/stt-utils.d.ts +36 -0
- package/dist/stt/stt-utils.d.ts.map +1 -0
- package/dist/stt/stt-utils.js +112 -0
- package/dist/stt/stt-utils.js.map +1 -0
- package/dist/stt/stt.d.ts +52 -0
- package/dist/stt/stt.d.ts.map +1 -0
- package/dist/stt/stt.js +100 -0
- package/dist/stt/stt.js.map +1 -0
- package/dist/tjbot.d.ts +317 -0
- package/dist/tjbot.d.ts.map +1 -0
- package/dist/tjbot.js +736 -0
- package/dist/tjbot.js.map +1 -0
- package/dist/tts/backends/azure-tts.d.ts +30 -0
- package/dist/tts/backends/azure-tts.d.ts.map +1 -0
- package/dist/tts/backends/azure-tts.js +92 -0
- package/dist/tts/backends/azure-tts.js.map +1 -0
- package/dist/tts/backends/google-cloud-tts.d.ts +38 -0
- package/dist/tts/backends/google-cloud-tts.d.ts.map +1 -0
- package/dist/tts/backends/google-cloud-tts.js +116 -0
- package/dist/tts/backends/google-cloud-tts.js.map +1 -0
- package/dist/tts/backends/ibm-watson-tts.d.ts +42 -0
- package/dist/tts/backends/ibm-watson-tts.d.ts.map +1 -0
- package/dist/tts/backends/ibm-watson-tts.js +99 -0
- package/dist/tts/backends/ibm-watson-tts.js.map +1 -0
- package/dist/tts/backends/sherpa-onnx-tts.d.ts +80 -0
- package/dist/tts/backends/sherpa-onnx-tts.d.ts.map +1 -0
- package/dist/tts/backends/sherpa-onnx-tts.js +237 -0
- package/dist/tts/backends/sherpa-onnx-tts.js.map +1 -0
- package/dist/tts/index.d.ts +19 -0
- package/dist/tts/index.d.ts.map +1 -0
- package/dist/tts/index.js +20 -0
- package/dist/tts/index.js.map +1 -0
- package/dist/tts/tts-engine.d.ts +67 -0
- package/dist/tts/tts-engine.d.ts.map +1 -0
- package/dist/tts/tts-engine.js +109 -0
- package/dist/tts/tts-engine.js.map +1 -0
- package/dist/tts/tts.d.ts +47 -0
- package/dist/tts/tts.d.ts.map +1 -0
- package/dist/tts/tts.js +101 -0
- package/dist/tts/tts.js.map +1 -0
- package/dist/utils/colors.d.ts +39 -0
- package/dist/utils/colors.d.ts.map +1 -0
- package/dist/utils/colors.js +155 -0
- package/dist/utils/colors.js.map +1 -0
- package/dist/utils/constants.d.ts +41 -0
- package/dist/utils/constants.d.ts.map +1 -0
- package/dist/utils/constants.js +43 -0
- package/dist/utils/constants.js.map +1 -0
- package/dist/utils/credentials.d.ts +43 -0
- package/dist/utils/credentials.d.ts.map +1 -0
- package/dist/utils/credentials.js +121 -0
- package/dist/utils/credentials.js.map +1 -0
- package/dist/utils/errors.d.ts +26 -0
- package/dist/utils/errors.d.ts.map +1 -0
- package/dist/utils/errors.js +32 -0
- package/dist/utils/errors.js.map +1 -0
- package/dist/utils/index.d.ts +25 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +23 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/logging.d.ts +44 -0
- package/dist/utils/logging.d.ts.map +1 -0
- package/dist/utils/logging.js +113 -0
- package/dist/utils/logging.js.map +1 -0
- package/dist/utils/model-registry.d.ts +142 -0
- package/dist/utils/model-registry.d.ts.map +1 -0
- package/dist/utils/model-registry.js +391 -0
- package/dist/utils/model-registry.js.map +1 -0
- package/dist/utils/utils.d.ts +33 -0
- package/dist/utils/utils.d.ts.map +1 -0
- package/dist/utils/utils.js +50 -0
- package/dist/utils/utils.js.map +1 -0
- package/dist/vision/backends/azure-vision.d.ts +33 -0
- package/dist/vision/backends/azure-vision.d.ts.map +1 -0
- package/dist/vision/backends/azure-vision.js +151 -0
- package/dist/vision/backends/azure-vision.js.map +1 -0
- package/dist/vision/backends/google-cloud-vision.d.ts +32 -0
- package/dist/vision/backends/google-cloud-vision.d.ts.map +1 -0
- package/dist/vision/backends/google-cloud-vision.js +193 -0
- package/dist/vision/backends/google-cloud-vision.js.map +1 -0
- package/dist/vision/backends/onnx.d.ts +116 -0
- package/dist/vision/backends/onnx.d.ts.map +1 -0
- package/dist/vision/backends/onnx.js +781 -0
- package/dist/vision/backends/onnx.js.map +1 -0
- package/dist/vision/index.d.ts +19 -0
- package/dist/vision/index.d.ts.map +1 -0
- package/dist/vision/index.js +20 -0
- package/dist/vision/index.js.map +1 -0
- package/dist/vision/vision-engine.d.ts +131 -0
- package/dist/vision/vision-engine.d.ts.map +1 -0
- package/dist/vision/vision-engine.js +97 -0
- package/dist/vision/vision-engine.js.map +1 -0
- package/dist/vision/vision.d.ts +48 -0
- package/dist/vision/vision.d.ts.map +1 -0
- package/dist/vision/vision.js +83 -0
- package/dist/vision/vision.js.map +1 -0
- package/package.json +124 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"onnx.js","sourceRoot":"","sources":["../../../src/vision/backends/onnx.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright 2026-present TJBot Contributors. All Rights Reserved.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
export { VisionController } from './vision.js';
|
|
17
|
+
export { createVisionEngine } from './vision-engine.js';
|
|
18
|
+
export type { ObjectDetectionResult, Landmark, FaceDetectionMetadata, FaceDetectionResult, ImageClassificationResult, ImageDescriptionResult, VisionEngine, } from './vision-engine.js';
|
|
19
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/vision/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAG/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAGxD,YAAY,EACR,qBAAqB,EACrB,QAAQ,EACR,qBAAqB,EACrB,mBAAmB,EACnB,yBAAyB,EACzB,sBAAsB,EACtB,YAAY,GACf,MAAM,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright 2026-present TJBot Contributors. All Rights Reserved.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
// Vision controller
|
|
17
|
+
export { VisionController } from './vision.js';
|
|
18
|
+
// Vision engine factory (async)
|
|
19
|
+
export { createVisionEngine } from './vision-engine.js';
|
|
20
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/vision/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,oBAAoB;AACpB,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE/C,gCAAgC;AAChC,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright 2026-present TJBot Contributors. All Rights Reserved.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
import { SeeConfig, VisionEngineConfig } from '../config/config-types.js';
|
|
17
|
+
export interface ObjectDetectionResult {
|
|
18
|
+
label: string;
|
|
19
|
+
confidence: number;
|
|
20
|
+
bbox: [number, number, number, number];
|
|
21
|
+
}
|
|
22
|
+
export interface ImageClassificationResult {
|
|
23
|
+
label: string;
|
|
24
|
+
confidence: number;
|
|
25
|
+
}
|
|
26
|
+
export interface ImageDescriptionResult {
|
|
27
|
+
description: string;
|
|
28
|
+
confidence: number;
|
|
29
|
+
}
|
|
30
|
+
export interface Landmark {
|
|
31
|
+
x: number;
|
|
32
|
+
y: number;
|
|
33
|
+
type?: string;
|
|
34
|
+
}
|
|
35
|
+
export interface FaceDetectionMetadata {
|
|
36
|
+
boundingBox: [number, number, number, number];
|
|
37
|
+
confidence: number;
|
|
38
|
+
landmarks: Landmark[];
|
|
39
|
+
headPose?: {
|
|
40
|
+
roll: number;
|
|
41
|
+
yaw: number;
|
|
42
|
+
pitch: number;
|
|
43
|
+
};
|
|
44
|
+
qualityMetrics?: {
|
|
45
|
+
blurValue?: number;
|
|
46
|
+
exposure?: 'underExposed' | 'goodExposure' | 'overExposed';
|
|
47
|
+
noise?: number;
|
|
48
|
+
};
|
|
49
|
+
occlusion?: {
|
|
50
|
+
eyeOccluded: boolean;
|
|
51
|
+
foreheadOccluded: boolean;
|
|
52
|
+
mouthOccluded: boolean;
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
export interface FaceDetectionResult {
|
|
56
|
+
isFaceDetected: boolean;
|
|
57
|
+
metadata: FaceDetectionMetadata[];
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Abstract Vision Engine Base Class
|
|
61
|
+
*
|
|
62
|
+
* Defines the interface for Vision backends (ONNX, Google Cloud Vision, Azure Vision, etc.)
|
|
63
|
+
* All implementations must extend this class and implement the required methods.
|
|
64
|
+
* @public
|
|
65
|
+
*/
|
|
66
|
+
export declare abstract class VisionEngine {
|
|
67
|
+
protected config: VisionEngineConfig;
|
|
68
|
+
constructor(config?: VisionEngineConfig);
|
|
69
|
+
/**
|
|
70
|
+
* Initialize the Vision engine.
|
|
71
|
+
* This method may perform setup tasks such as loading models or authenticating with services.
|
|
72
|
+
* Should be called before the first call to detectObjects(), classifyImage(), or segmentImage().
|
|
73
|
+
*
|
|
74
|
+
* @throws {TJBotError} if initialization fails
|
|
75
|
+
* @public
|
|
76
|
+
*/
|
|
77
|
+
abstract initialize(): Promise<void>;
|
|
78
|
+
/**
|
|
79
|
+
* Clean up resources used by the Vision engine.
|
|
80
|
+
* Optional method for backends that need to release resources.
|
|
81
|
+
* @public
|
|
82
|
+
*/
|
|
83
|
+
cleanup?(): Promise<void>;
|
|
84
|
+
/**
|
|
85
|
+
* Detect objects in an image.
|
|
86
|
+
*
|
|
87
|
+
* @param image - Image buffer or file path
|
|
88
|
+
* @returns Array of detected objects with labels, confidence scores, and bounding boxes
|
|
89
|
+
* @throws {TJBotError} if detection fails
|
|
90
|
+
* @public
|
|
91
|
+
*/
|
|
92
|
+
abstract detectObjects(image: Buffer | string): Promise<ObjectDetectionResult[]>;
|
|
93
|
+
/**
|
|
94
|
+
* Classify an image.
|
|
95
|
+
*
|
|
96
|
+
* @param image - Image buffer or file path
|
|
97
|
+
* @returns Array of classification results with labels and confidence scores, sorted by confidence descending
|
|
98
|
+
* @throws {TJBotError} if classification fails
|
|
99
|
+
* @public
|
|
100
|
+
*/
|
|
101
|
+
abstract classifyImage(image: Buffer | string): Promise<ImageClassificationResult[]>;
|
|
102
|
+
/**
|
|
103
|
+
* Detect faces in an image.
|
|
104
|
+
*
|
|
105
|
+
* @param image - Image buffer or file path
|
|
106
|
+
* @returns Response object with boolean flag indicating if faces were detected and array of face metadata
|
|
107
|
+
* @throws {TJBotError} if detection fails
|
|
108
|
+
* @public
|
|
109
|
+
*/
|
|
110
|
+
abstract detectFaces(image: Buffer | string): Promise<FaceDetectionResult>;
|
|
111
|
+
/**
|
|
112
|
+
* Describe an image with natural language caption.
|
|
113
|
+
* Note: This method is only supported by Azure Vision backend.
|
|
114
|
+
*
|
|
115
|
+
* @param image - Image buffer or file path
|
|
116
|
+
* @returns Image description with confidence score
|
|
117
|
+
* @throws {TJBotError} if description fails or backend does not support this operation
|
|
118
|
+
* @public
|
|
119
|
+
*/
|
|
120
|
+
abstract describeImage(image: Buffer | string): Promise<ImageDescriptionResult>;
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Create a Vision engine instance based on the configuration.
|
|
124
|
+
* Uses dynamic imports to lazily load backend implementations only when needed.
|
|
125
|
+
* @param seeConfig - Configuration for the Vision engine with backend settings
|
|
126
|
+
* @returns {Promise<VisionEngine>} Initialized Vision engine instance
|
|
127
|
+
* @throws {TJBotError} if backend type is unknown or dependencies are not installed
|
|
128
|
+
* @public
|
|
129
|
+
*/
|
|
130
|
+
export declare function createVisionEngine(seeConfig: SeeConfig): Promise<VisionEngine>;
|
|
131
|
+
//# sourceMappingURL=vision-engine.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vision-engine.d.ts","sourceRoot":"","sources":["../../src/vision/vision-engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAGH,SAAS,EACT,kBAAkB,EAErB,MAAM,2BAA2B,CAAC;AAGnC,MAAM,WAAW,qBAAqB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;CAC1C;AAED,MAAM,WAAW,yBAAyB;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,sBAAsB;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,QAAQ;IACrB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,qBAAqB;IAElC,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9C,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,QAAQ,EAAE,CAAC;IAGtB,QAAQ,CAAC,EAAE;QACP,IAAI,EAAE,MAAM,CAAC;QACb,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,cAAc,CAAC,EAAE;QACb,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,QAAQ,CAAC,EAAE,cAAc,GAAG,cAAc,GAAG,aAAa,CAAC;QAC3D,KAAK,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,SAAS,CAAC,EAAE;QACR,WAAW,EAAE,OAAO,CAAC;QACrB,gBAAgB,EAAE,OAAO,CAAC;QAC1B,aAAa,EAAE,OAAO,CAAC;KAC1B,CAAC;CACL;AAED,MAAM,WAAW,mBAAmB;IAChC,cAAc,EAAE,OAAO,CAAC;IACxB,QAAQ,EAAE,qBAAqB,EAAE,CAAC;CACrC;AAED;;;;;;GAMG;AACH,8BAAsB,YAAY;IAC9B,SAAS,CAAC,MAAM,EAAE,kBAAkB,CAAC;gBAEzB,MAAM,CAAC,EAAE,kBAAkB;IAIvC;;;;;;;OAOG;IACH,QAAQ,CAAC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAEpC;;;;OAIG;IACH,OAAO,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC;IAEzB;;;;;;;OAOG;IACH,QAAQ,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC;IAEhF;;;;;;;OAOG;IACH,QAAQ,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,yBAAyB,EAAE,CAAC;IAEpF;;;;;;;OAOG;IACH,QAAQ,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAE1E;;;;;;;;OAQG;IACH,QAAQ,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC;CAClF;AAED;;;;;;;GAOG;AACH,wBAAsB,kBAAkB,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,CA8EpF"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright 2026-present TJBot Contributors. All Rights Reserved.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
import { getSeeBackendConfig, } from '../config/config-types.js';
|
|
17
|
+
import { TJBotError } from '../utils/index.js';
|
|
18
|
+
/**
|
|
19
|
+
* Abstract Vision Engine Base Class
|
|
20
|
+
*
|
|
21
|
+
* Defines the interface for Vision backends (ONNX, Google Cloud Vision, Azure Vision, etc.)
|
|
22
|
+
* All implementations must extend this class and implement the required methods.
|
|
23
|
+
* @public
|
|
24
|
+
*/
|
|
25
|
+
export class VisionEngine {
|
|
26
|
+
config;
|
|
27
|
+
constructor(config) {
|
|
28
|
+
this.config = config ?? {};
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Create a Vision engine instance based on the configuration.
|
|
33
|
+
* Uses dynamic imports to lazily load backend implementations only when needed.
|
|
34
|
+
* @param seeConfig - Configuration for the Vision engine with backend settings
|
|
35
|
+
* @returns {Promise<VisionEngine>} Initialized Vision engine instance
|
|
36
|
+
* @throws {TJBotError} if backend type is unknown or dependencies are not installed
|
|
37
|
+
* @public
|
|
38
|
+
*/
|
|
39
|
+
export async function createVisionEngine(seeConfig) {
|
|
40
|
+
const backend = (seeConfig.backend?.type ?? 'local');
|
|
41
|
+
try {
|
|
42
|
+
if (backend === 'none') {
|
|
43
|
+
class NoneVisionEngine extends VisionEngine {
|
|
44
|
+
async initialize() {
|
|
45
|
+
// No-op for 'none' backend
|
|
46
|
+
}
|
|
47
|
+
async detectObjects(_image) {
|
|
48
|
+
throw new TJBotError('Vision is disabled. Configure a vision backend (local, google-cloud-vision, or azure-vision) to use image analysis.');
|
|
49
|
+
}
|
|
50
|
+
async classifyImage() {
|
|
51
|
+
throw new TJBotError('Vision is disabled. Configure a vision backend (local, google-cloud-vision, or azure-vision) to use image analysis.');
|
|
52
|
+
}
|
|
53
|
+
async detectFaces() {
|
|
54
|
+
throw new TJBotError('Vision is disabled. Configure a vision backend (local, google-cloud-vision, or azure-vision) to use image analysis.');
|
|
55
|
+
}
|
|
56
|
+
async describeImage() {
|
|
57
|
+
throw new TJBotError('Vision is disabled. Configure a vision backend (local, google-cloud-vision, or azure-vision) to use image analysis.');
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
return new NoneVisionEngine();
|
|
61
|
+
}
|
|
62
|
+
if (backend === 'local') {
|
|
63
|
+
const module = await import('./backends/onnx.js');
|
|
64
|
+
if (!module?.ONNXVisionEngine) {
|
|
65
|
+
throw new TJBotError('Vision backend "local" is unavailable (missing ONNXVisionEngine export).');
|
|
66
|
+
}
|
|
67
|
+
const engineConfig = getSeeBackendConfig(seeConfig.backend, backend);
|
|
68
|
+
return new module.ONNXVisionEngine(engineConfig);
|
|
69
|
+
}
|
|
70
|
+
if (backend === 'google-cloud-vision') {
|
|
71
|
+
const module = await import('./backends/google-cloud-vision.js');
|
|
72
|
+
if (!module?.GoogleCloudVisionEngine) {
|
|
73
|
+
throw new TJBotError('Vision backend "google-cloud-vision" is unavailable (missing GoogleCloudVisionEngine export).');
|
|
74
|
+
}
|
|
75
|
+
const engineConfig = getSeeBackendConfig(seeConfig.backend, backend);
|
|
76
|
+
return new module.GoogleCloudVisionEngine(engineConfig);
|
|
77
|
+
}
|
|
78
|
+
if (backend === 'azure-vision') {
|
|
79
|
+
const module = await import('./backends/azure-vision.js');
|
|
80
|
+
if (!module?.AzureVisionEngine) {
|
|
81
|
+
throw new TJBotError('Vision backend "azure-vision" is unavailable (missing AzureVisionEngine export).');
|
|
82
|
+
}
|
|
83
|
+
const engineConfig = getSeeBackendConfig(seeConfig.backend, backend);
|
|
84
|
+
return new module.AzureVisionEngine(engineConfig);
|
|
85
|
+
}
|
|
86
|
+
throw new TJBotError(`Unknown Vision backend type: ${backend}`);
|
|
87
|
+
}
|
|
88
|
+
catch (error) {
|
|
89
|
+
if (error instanceof TJBotError) {
|
|
90
|
+
throw error;
|
|
91
|
+
}
|
|
92
|
+
throw new TJBotError(`Failed to load Vision backend "${backend}". Ensure dependencies are installed.`, {
|
|
93
|
+
cause: error,
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
//# sourceMappingURL=vision-engine.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vision-engine.js","sourceRoot":"","sources":["../../src/vision/vision-engine.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright 2026-present TJBot Contributors. All Rights Reserved.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
import type { SeeConfig } from '../config/config-types.js';
|
|
17
|
+
import { type VisionEngine } from './vision-engine.js';
|
|
18
|
+
export declare class VisionController {
|
|
19
|
+
visionEngine?: VisionEngine;
|
|
20
|
+
visionConfig?: SeeConfig;
|
|
21
|
+
initialize(config: SeeConfig): Promise<void>;
|
|
22
|
+
/**
|
|
23
|
+
* Detect objects in an image using the configured Vision engine.
|
|
24
|
+
* @param image Image buffer or file path
|
|
25
|
+
*/
|
|
26
|
+
detectObjects(image: Buffer | string): Promise<import("./vision-engine.js").ObjectDetectionResult[]>;
|
|
27
|
+
/**
|
|
28
|
+
* Classify an image using the configured Vision engine.
|
|
29
|
+
* @param image Image buffer or file path
|
|
30
|
+
*/
|
|
31
|
+
classifyImage(image: Buffer | string): Promise<import("./vision-engine.js").ImageClassificationResult[]>;
|
|
32
|
+
/**
|
|
33
|
+
* Detect faces in an image using the configured Vision engine.
|
|
34
|
+
* @param image Image buffer or file path
|
|
35
|
+
*/
|
|
36
|
+
detectFaces(image: Buffer | string): Promise<import("./vision-engine.js").FaceDetectionResult>;
|
|
37
|
+
/**
|
|
38
|
+
* Describe an image using the configured Vision engine (if supported).
|
|
39
|
+
* Note: This method is only supported by Azure Vision backend.
|
|
40
|
+
* @param image Image buffer or file path
|
|
41
|
+
*/
|
|
42
|
+
describeImage(image: Buffer | string): Promise<import("./vision-engine.js").ImageDescriptionResult>;
|
|
43
|
+
/**
|
|
44
|
+
* Clean up Vision resources.
|
|
45
|
+
*/
|
|
46
|
+
cleanup(): Promise<void>;
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=vision.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vision.d.ts","sourceRoot":"","sources":["../../src/vision/vision.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAE3D,OAAO,EAAsB,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAI3E,qBAAa,gBAAgB;IAClB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,YAAY,CAAC,EAAE,SAAS,CAAC;IAE1B,UAAU,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAMlD;;;OAGG;IACG,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAQ1C;;;OAGG;IACG,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAQ1C;;;OAGG;IACG,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAQxC;;;;OAIG;IACG,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAQ1C;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAOjC"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright 2026-present TJBot Contributors. All Rights Reserved.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
import { getLogger } from '../utils/logging.js';
|
|
17
|
+
import { createVisionEngine } from './vision-engine.js';
|
|
18
|
+
const logger = getLogger(import.meta.url);
|
|
19
|
+
export class VisionController {
|
|
20
|
+
visionEngine;
|
|
21
|
+
visionConfig;
|
|
22
|
+
async initialize(config) {
|
|
23
|
+
this.visionConfig = config;
|
|
24
|
+
this.visionEngine = await createVisionEngine(config);
|
|
25
|
+
await this.visionEngine.initialize();
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Detect objects in an image using the configured Vision engine.
|
|
29
|
+
* @param image Image buffer or file path
|
|
30
|
+
*/
|
|
31
|
+
async detectObjects(image) {
|
|
32
|
+
if (this.visionEngine === undefined) {
|
|
33
|
+
throw new Error('Vision engine not initialized. Call initialize() before detecting objects.');
|
|
34
|
+
}
|
|
35
|
+
logger.verbose('Detecting objects in image');
|
|
36
|
+
return this.visionEngine.detectObjects(image);
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Classify an image using the configured Vision engine.
|
|
40
|
+
* @param image Image buffer or file path
|
|
41
|
+
*/
|
|
42
|
+
async classifyImage(image) {
|
|
43
|
+
if (this.visionEngine === undefined) {
|
|
44
|
+
throw new Error('Vision engine not initialized. Call initialize() before classifying images.');
|
|
45
|
+
}
|
|
46
|
+
logger.verbose('Classifying image');
|
|
47
|
+
return this.visionEngine.classifyImage(image);
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Detect faces in an image using the configured Vision engine.
|
|
51
|
+
* @param image Image buffer or file path
|
|
52
|
+
*/
|
|
53
|
+
async detectFaces(image) {
|
|
54
|
+
if (this.visionEngine === undefined) {
|
|
55
|
+
throw new Error('Vision engine not initialized. Call initialize() before detecting faces.');
|
|
56
|
+
}
|
|
57
|
+
logger.verbose('Detecting faces in image');
|
|
58
|
+
return this.visionEngine.detectFaces(image);
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Describe an image using the configured Vision engine (if supported).
|
|
62
|
+
* Note: This method is only supported by Azure Vision backend.
|
|
63
|
+
* @param image Image buffer or file path
|
|
64
|
+
*/
|
|
65
|
+
async describeImage(image) {
|
|
66
|
+
if (this.visionEngine === undefined) {
|
|
67
|
+
throw new Error('Vision engine not initialized. Call initialize() before describing images.');
|
|
68
|
+
}
|
|
69
|
+
logger.verbose('Describing image');
|
|
70
|
+
return this.visionEngine.describeImage(image);
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Clean up Vision resources.
|
|
74
|
+
*/
|
|
75
|
+
async cleanup() {
|
|
76
|
+
if (this.visionEngine) {
|
|
77
|
+
logger.debug('VisionController cleanup');
|
|
78
|
+
await this.visionEngine.cleanup?.();
|
|
79
|
+
this.visionEngine = undefined;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=vision.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vision.js","sourceRoot":"","sources":["../../src/vision/vision.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAqB,MAAM,oBAAoB,CAAC;AAE3E,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAE1C,MAAM,OAAO,gBAAgB;IAClB,YAAY,CAAgB;IAC5B,YAAY,CAAa;IAEhC,KAAK,CAAC,UAAU,CAAC,MAAiB;QAC9B,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC;QAC3B,IAAI,CAAC,YAAY,GAAG,MAAM,kBAAkB,CAAC,MAAM,CAAC,CAAC;QACrD,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC;IACzC,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,aAAa,CAAC,KAAsB;QACtC,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,4EAA4E,CAAC,CAAC;QAClG,CAAC;QACD,MAAM,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC;QAC7C,OAAO,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAClD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,aAAa,CAAC,KAAsB;QACtC,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,6EAA6E,CAAC,CAAC;QACnG,CAAC;QACD,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAClD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,WAAW,CAAC,KAAsB;QACpC,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,0EAA0E,CAAC,CAAC;QAChG,CAAC;QACD,MAAM,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC;QAC3C,OAAO,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAChD,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,aAAa,CAAC,KAAsB;QACtC,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,4EAA4E,CAAC,CAAC;QAClG,CAAC;QACD,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;QACnC,OAAO,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAClD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO;QACT,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,MAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;YACzC,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE,CAAC;YACpC,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;QAClC,CAAC;IACL,CAAC;CACJ"}
|
package/package.json
ADDED
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "tjbot-ce",
|
|
3
|
+
"version": "3.0.1",
|
|
4
|
+
"description": "TJBot: Community Edition - Node.js library for writing TJBot recipes",
|
|
5
|
+
"dependencies": {
|
|
6
|
+
"@iarna/toml": "^2.2.5",
|
|
7
|
+
"@inquirer/prompts": "^8.3.2",
|
|
8
|
+
"ajv": "^8.20.0",
|
|
9
|
+
"ajv-formats": "^3.0.1",
|
|
10
|
+
"axios": "^1.14.0",
|
|
11
|
+
"cli-progress": "^3.12.0",
|
|
12
|
+
"color-model": "^0.2.2",
|
|
13
|
+
"fifo": "^2.4.1",
|
|
14
|
+
"import-meta-resolve": "^4.2.0",
|
|
15
|
+
"js-easing-functions": "^1.0.3",
|
|
16
|
+
"js-yaml": "^4.1.1",
|
|
17
|
+
"lgpio": "^1.0.6",
|
|
18
|
+
"mic": "^2.1.2",
|
|
19
|
+
"node-fetch": "^3.3.2",
|
|
20
|
+
"node-raspistill": "^2.0.1",
|
|
21
|
+
"onnxruntime-node": "^1.24.3",
|
|
22
|
+
"pi-camera-connect": "^0.3.4",
|
|
23
|
+
"pi-spi": "^1.2.1",
|
|
24
|
+
"rpi-ws281x-native": "^1.0.4",
|
|
25
|
+
"semaphore": "^1.1.0",
|
|
26
|
+
"sharp": "^0.34.5",
|
|
27
|
+
"sherpa-onnx-linux-arm64": "^1.12.35",
|
|
28
|
+
"sherpa-onnx-node": "^1.12.35",
|
|
29
|
+
"sleep": "^6.3.0",
|
|
30
|
+
"temp": "^0.9.4",
|
|
31
|
+
"winston": "^3.19.0"
|
|
32
|
+
},
|
|
33
|
+
"optionalDependencies": {
|
|
34
|
+
"@azure/cognitiveservices-computervision": "^8.2.0",
|
|
35
|
+
"@azure/ms-rest-js": "^2.7.0",
|
|
36
|
+
"@google-cloud/speech": "^7.3.0",
|
|
37
|
+
"@google-cloud/text-to-speech": "^6.4.0",
|
|
38
|
+
"@google-cloud/vision": "^5.3.5",
|
|
39
|
+
"ibm-watson": "^12.2.0",
|
|
40
|
+
"microsoft-cognitiveservices-speech-sdk": "^1.49.0"
|
|
41
|
+
},
|
|
42
|
+
"devDependencies": {
|
|
43
|
+
"@eslint/js": "^10.0.1",
|
|
44
|
+
"@types/cli-progress": "^3.11.6",
|
|
45
|
+
"@types/js-yaml": "^4.0.9",
|
|
46
|
+
"@types/pi-spi": "^0.0.31",
|
|
47
|
+
"@types/rpi-ws281x-native": "^1.0.3",
|
|
48
|
+
"@types/temp": "^0.9.4",
|
|
49
|
+
"@vitest/coverage-v8": "^4.1.2",
|
|
50
|
+
"copyfiles": "^2.4.1",
|
|
51
|
+
"eslint": "^10.2.0",
|
|
52
|
+
"globals": "^17.4.0",
|
|
53
|
+
"json-schema-to-typescript": "^15.0.4",
|
|
54
|
+
"markdownlint-cli": "^0.48.0",
|
|
55
|
+
"prettier": "^3.8.1",
|
|
56
|
+
"tsx": "^4.21.0",
|
|
57
|
+
"typedoc": "^0.28.19",
|
|
58
|
+
"typescript": "^6.0.2",
|
|
59
|
+
"typescript-eslint": "^8.58.0",
|
|
60
|
+
"vitest": "^4.1.2",
|
|
61
|
+
"wav": "^1.0.2"
|
|
62
|
+
},
|
|
63
|
+
"main": "./dist/tjbot.js",
|
|
64
|
+
"types": "./dist/tjbot.d.ts",
|
|
65
|
+
"exports": {
|
|
66
|
+
".": {
|
|
67
|
+
"types": "./dist/tjbot.d.ts",
|
|
68
|
+
"import": "./dist/tjbot.js"
|
|
69
|
+
}
|
|
70
|
+
},
|
|
71
|
+
"files": [
|
|
72
|
+
"dist/",
|
|
73
|
+
"README.md",
|
|
74
|
+
"LICENSE"
|
|
75
|
+
],
|
|
76
|
+
"scripts": {
|
|
77
|
+
"build": "tsc",
|
|
78
|
+
"docs": "test -d ../tjbot-ce.github.io && typedoc --options typedoc.json || echo 'Skipping docs generation: ../tjbot-ce.github.io not found'",
|
|
79
|
+
"format": "prettier --write \"src/**/*.{js,ts}\" \"tests/**/*.{js,ts}\"",
|
|
80
|
+
"format:check": "prettier --check \"src/**/*.{js,ts}\" \"tests/**/*.{js,ts}\"",
|
|
81
|
+
"generate:config-types": "node scripts/generate-config-types.mjs",
|
|
82
|
+
"lint": "eslint .",
|
|
83
|
+
"lint:fix": "eslint . --fix",
|
|
84
|
+
"markdownlint": "markdownlint \"**/*.md\" --ignore node_modules",
|
|
85
|
+
"markdownlint:fix": "markdownlint \"**/*.md\" --ignore node_modules --fix",
|
|
86
|
+
"postbuild": "copyfiles -u 1 \"src/**/*.{toml,yaml,js}\" dist/",
|
|
87
|
+
"postinstall": "bash scripts/setup-sherpa.sh && chmod +x node_modules/prettier/bin/prettier.cjs || true",
|
|
88
|
+
"prebuild": "rm -rf dist/* && node scripts/sync-tjbot-config.mjs && npm run generate:config-types",
|
|
89
|
+
"prepack": "npm run build",
|
|
90
|
+
"pretest": "npm run build",
|
|
91
|
+
"publish-registry": "npm publish --access public",
|
|
92
|
+
"publish-registry-dry-run": "npm publish --dry-run --access public",
|
|
93
|
+
"sync:config-schema": "node scripts/sync-tjbot-config.mjs",
|
|
94
|
+
"test": "vitest run tests/core",
|
|
95
|
+
"test:coverage": "vitest --coverage",
|
|
96
|
+
"test-camera": "tsx tests/live/camera.test.ts",
|
|
97
|
+
"test-led": "tsx tests/live/led.test.ts",
|
|
98
|
+
"test-microphone": "tsx tests/live/microphone.test.ts",
|
|
99
|
+
"test-servo": "tsx tests/live/servo.test.ts",
|
|
100
|
+
"test-speaker": "tsx tests/live/speaker.test.ts",
|
|
101
|
+
"test-stt": "tsx tests/live/stt.test.ts",
|
|
102
|
+
"test-tts": "tsx tests/live/tts.test.ts",
|
|
103
|
+
"test-vision": "tsx tests/live/vision.test.ts",
|
|
104
|
+
"update-deps": "npx npm-check-updates",
|
|
105
|
+
"upgrade-deps": "npx npm-check-updates -u"
|
|
106
|
+
},
|
|
107
|
+
"type": "module",
|
|
108
|
+
"engines": {
|
|
109
|
+
"node": ">=20.0.0"
|
|
110
|
+
},
|
|
111
|
+
"repository": {
|
|
112
|
+
"type": "git",
|
|
113
|
+
"url": "git+https://github.com/tjbot-ce/node-tjbotlib.git"
|
|
114
|
+
},
|
|
115
|
+
"keywords": [
|
|
116
|
+
"tjbot"
|
|
117
|
+
],
|
|
118
|
+
"author": "TJBot",
|
|
119
|
+
"license": "Apache-2.0",
|
|
120
|
+
"bugs": {
|
|
121
|
+
"url": "https://github.com/tjbot-ce/node-tjbotlib/issues"
|
|
122
|
+
},
|
|
123
|
+
"homepage": "https://tjbot-ce.github.io/"
|
|
124
|
+
}
|