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.
Files changed (224) hide show
  1. package/LICENSE +202 -0
  2. package/README.md +382 -0
  3. package/dist/camera/camera.d.ts +62 -0
  4. package/dist/camera/camera.d.ts.map +1 -0
  5. package/dist/camera/camera.js +155 -0
  6. package/dist/camera/camera.js.map +1 -0
  7. package/dist/camera/index.d.ts +18 -0
  8. package/dist/camera/index.d.ts.map +1 -0
  9. package/dist/camera/index.js +18 -0
  10. package/dist/camera/index.js.map +1 -0
  11. package/dist/config/config-types.d.ts +75 -0
  12. package/dist/config/config-types.d.ts.map +1 -0
  13. package/dist/config/config-types.generated.d.ts +495 -0
  14. package/dist/config/config-types.generated.d.ts.map +1 -0
  15. package/dist/config/config-types.generated.js +2 -0
  16. package/dist/config/config-types.generated.js.map +1 -0
  17. package/dist/config/config-types.js +175 -0
  18. package/dist/config/config-types.js.map +1 -0
  19. package/dist/config/index.d.ts +20 -0
  20. package/dist/config/index.d.ts.map +1 -0
  21. package/dist/config/index.js +19 -0
  22. package/dist/config/index.js.map +1 -0
  23. package/dist/config/tjbot-config.d.ts +98 -0
  24. package/dist/config/tjbot-config.d.ts.map +1 -0
  25. package/dist/config/tjbot-config.js +309 -0
  26. package/dist/config/tjbot-config.js.map +1 -0
  27. package/dist/config/vendor/colors.yaml +61 -0
  28. package/dist/config/vendor/model-registry.yaml +275 -0
  29. package/dist/config/vendor/tjbot-config.schema.yaml +792 -0
  30. package/dist/config/vendor/tjbot.default.toml +452 -0
  31. package/dist/led/index.d.ts +20 -0
  32. package/dist/led/index.d.ts.map +1 -0
  33. package/dist/led/index.js +20 -0
  34. package/dist/led/index.js.map +1 -0
  35. package/dist/led/led-common-anode.d.ts +38 -0
  36. package/dist/led/led-common-anode.d.ts.map +1 -0
  37. package/dist/led/led-common-anode.js +79 -0
  38. package/dist/led/led-common-anode.js.map +1 -0
  39. package/dist/led/led-neopixel-spi.d.ts +60 -0
  40. package/dist/led/led-neopixel-spi.d.ts.map +1 -0
  41. package/dist/led/led-neopixel-spi.js +216 -0
  42. package/dist/led/led-neopixel-spi.js.map +1 -0
  43. package/dist/led/led-neopixel-ws281x.js +186 -0
  44. package/dist/led/led-neopixel.d.ts +57 -0
  45. package/dist/led/led-neopixel.d.ts.map +1 -0
  46. package/dist/led/led-neopixel.js +235 -0
  47. package/dist/led/led-neopixel.js.map +1 -0
  48. package/dist/microphone/index.d.ts +18 -0
  49. package/dist/microphone/index.d.ts.map +1 -0
  50. package/dist/microphone/index.js +18 -0
  51. package/dist/microphone/index.js.map +1 -0
  52. package/dist/microphone/microphone.d.ts +65 -0
  53. package/dist/microphone/microphone.d.ts.map +1 -0
  54. package/dist/microphone/microphone.js +179 -0
  55. package/dist/microphone/microphone.js.map +1 -0
  56. package/dist/rpi-drivers/index.d.ts +22 -0
  57. package/dist/rpi-drivers/index.d.ts.map +1 -0
  58. package/dist/rpi-drivers/index.js +22 -0
  59. package/dist/rpi-drivers/index.js.map +1 -0
  60. package/dist/rpi-drivers/rpi-detect.d.ts +24 -0
  61. package/dist/rpi-drivers/rpi-detect.d.ts.map +1 -0
  62. package/dist/rpi-drivers/rpi-detect.js +49 -0
  63. package/dist/rpi-drivers/rpi-detect.js.map +1 -0
  64. package/dist/rpi-drivers/rpi-driver.d.ts +116 -0
  65. package/dist/rpi-drivers/rpi-driver.d.ts.map +1 -0
  66. package/dist/rpi-drivers/rpi-driver.js +261 -0
  67. package/dist/rpi-drivers/rpi-driver.js.map +1 -0
  68. package/dist/rpi-drivers/rpi3-driver.d.ts +47 -0
  69. package/dist/rpi-drivers/rpi3-driver.d.ts.map +1 -0
  70. package/dist/rpi-drivers/rpi3-driver.js +145 -0
  71. package/dist/rpi-drivers/rpi3-driver.js.map +1 -0
  72. package/dist/rpi-drivers/rpi4-driver.d.ts +35 -0
  73. package/dist/rpi-drivers/rpi4-driver.d.ts.map +1 -0
  74. package/dist/rpi-drivers/rpi4-driver.js +101 -0
  75. package/dist/rpi-drivers/rpi4-driver.js.map +1 -0
  76. package/dist/rpi-drivers/rpi5-driver.d.ts +33 -0
  77. package/dist/rpi-drivers/rpi5-driver.d.ts.map +1 -0
  78. package/dist/rpi-drivers/rpi5-driver.js +78 -0
  79. package/dist/rpi-drivers/rpi5-driver.js.map +1 -0
  80. package/dist/servo/index.d.ts +19 -0
  81. package/dist/servo/index.d.ts.map +1 -0
  82. package/dist/servo/index.js +19 -0
  83. package/dist/servo/index.js.map +1 -0
  84. package/dist/servo/servo-constants.d.ts +33 -0
  85. package/dist/servo/servo-constants.d.ts.map +1 -0
  86. package/dist/servo/servo-constants.js +34 -0
  87. package/dist/servo/servo-constants.js.map +1 -0
  88. package/dist/servo/servo-lgpio.d.ts +82 -0
  89. package/dist/servo/servo-lgpio.d.ts.map +1 -0
  90. package/dist/servo/servo-lgpio.js +178 -0
  91. package/dist/servo/servo-lgpio.js.map +1 -0
  92. package/dist/speaker/audio-player.d.ts +30 -0
  93. package/dist/speaker/audio-player.d.ts.map +1 -0
  94. package/dist/speaker/audio-player.js +68 -0
  95. package/dist/speaker/audio-player.js.map +1 -0
  96. package/dist/speaker/index.d.ts +18 -0
  97. package/dist/speaker/index.d.ts.map +1 -0
  98. package/dist/speaker/index.js +18 -0
  99. package/dist/speaker/index.js.map +1 -0
  100. package/dist/speaker/speaker.d.ts +53 -0
  101. package/dist/speaker/speaker.d.ts.map +1 -0
  102. package/dist/speaker/speaker.js +125 -0
  103. package/dist/speaker/speaker.js.map +1 -0
  104. package/dist/stt/backends/azure-stt.d.ts +32 -0
  105. package/dist/stt/backends/azure-stt.d.ts.map +1 -0
  106. package/dist/stt/backends/azure-stt.js +227 -0
  107. package/dist/stt/backends/azure-stt.js.map +1 -0
  108. package/dist/stt/backends/google-cloud-stt.d.ts +31 -0
  109. package/dist/stt/backends/google-cloud-stt.d.ts.map +1 -0
  110. package/dist/stt/backends/google-cloud-stt.js +371 -0
  111. package/dist/stt/backends/google-cloud-stt.js.map +1 -0
  112. package/dist/stt/backends/ibm-watson-stt.d.ts +32 -0
  113. package/dist/stt/backends/ibm-watson-stt.d.ts.map +1 -0
  114. package/dist/stt/backends/ibm-watson-stt.js +190 -0
  115. package/dist/stt/backends/ibm-watson-stt.js.map +1 -0
  116. package/dist/stt/backends/sherpa-onnx-stt.d.ts +117 -0
  117. package/dist/stt/backends/sherpa-onnx-stt.d.ts.map +1 -0
  118. package/dist/stt/backends/sherpa-onnx-stt.js +694 -0
  119. package/dist/stt/backends/sherpa-onnx-stt.js.map +1 -0
  120. package/dist/stt/index.d.ts +20 -0
  121. package/dist/stt/index.d.ts.map +1 -0
  122. package/dist/stt/index.js +21 -0
  123. package/dist/stt/index.js.map +1 -0
  124. package/dist/stt/stt-engine.d.ts +68 -0
  125. package/dist/stt/stt-engine.d.ts.map +1 -0
  126. package/dist/stt/stt-engine.js +99 -0
  127. package/dist/stt/stt-engine.js.map +1 -0
  128. package/dist/stt/stt-utils.d.ts +36 -0
  129. package/dist/stt/stt-utils.d.ts.map +1 -0
  130. package/dist/stt/stt-utils.js +112 -0
  131. package/dist/stt/stt-utils.js.map +1 -0
  132. package/dist/stt/stt.d.ts +52 -0
  133. package/dist/stt/stt.d.ts.map +1 -0
  134. package/dist/stt/stt.js +100 -0
  135. package/dist/stt/stt.js.map +1 -0
  136. package/dist/tjbot.d.ts +317 -0
  137. package/dist/tjbot.d.ts.map +1 -0
  138. package/dist/tjbot.js +736 -0
  139. package/dist/tjbot.js.map +1 -0
  140. package/dist/tts/backends/azure-tts.d.ts +30 -0
  141. package/dist/tts/backends/azure-tts.d.ts.map +1 -0
  142. package/dist/tts/backends/azure-tts.js +92 -0
  143. package/dist/tts/backends/azure-tts.js.map +1 -0
  144. package/dist/tts/backends/google-cloud-tts.d.ts +38 -0
  145. package/dist/tts/backends/google-cloud-tts.d.ts.map +1 -0
  146. package/dist/tts/backends/google-cloud-tts.js +116 -0
  147. package/dist/tts/backends/google-cloud-tts.js.map +1 -0
  148. package/dist/tts/backends/ibm-watson-tts.d.ts +42 -0
  149. package/dist/tts/backends/ibm-watson-tts.d.ts.map +1 -0
  150. package/dist/tts/backends/ibm-watson-tts.js +99 -0
  151. package/dist/tts/backends/ibm-watson-tts.js.map +1 -0
  152. package/dist/tts/backends/sherpa-onnx-tts.d.ts +80 -0
  153. package/dist/tts/backends/sherpa-onnx-tts.d.ts.map +1 -0
  154. package/dist/tts/backends/sherpa-onnx-tts.js +237 -0
  155. package/dist/tts/backends/sherpa-onnx-tts.js.map +1 -0
  156. package/dist/tts/index.d.ts +19 -0
  157. package/dist/tts/index.d.ts.map +1 -0
  158. package/dist/tts/index.js +20 -0
  159. package/dist/tts/index.js.map +1 -0
  160. package/dist/tts/tts-engine.d.ts +67 -0
  161. package/dist/tts/tts-engine.d.ts.map +1 -0
  162. package/dist/tts/tts-engine.js +109 -0
  163. package/dist/tts/tts-engine.js.map +1 -0
  164. package/dist/tts/tts.d.ts +47 -0
  165. package/dist/tts/tts.d.ts.map +1 -0
  166. package/dist/tts/tts.js +101 -0
  167. package/dist/tts/tts.js.map +1 -0
  168. package/dist/utils/colors.d.ts +39 -0
  169. package/dist/utils/colors.d.ts.map +1 -0
  170. package/dist/utils/colors.js +155 -0
  171. package/dist/utils/colors.js.map +1 -0
  172. package/dist/utils/constants.d.ts +41 -0
  173. package/dist/utils/constants.d.ts.map +1 -0
  174. package/dist/utils/constants.js +43 -0
  175. package/dist/utils/constants.js.map +1 -0
  176. package/dist/utils/credentials.d.ts +43 -0
  177. package/dist/utils/credentials.d.ts.map +1 -0
  178. package/dist/utils/credentials.js +121 -0
  179. package/dist/utils/credentials.js.map +1 -0
  180. package/dist/utils/errors.d.ts +26 -0
  181. package/dist/utils/errors.d.ts.map +1 -0
  182. package/dist/utils/errors.js +32 -0
  183. package/dist/utils/errors.js.map +1 -0
  184. package/dist/utils/index.d.ts +25 -0
  185. package/dist/utils/index.d.ts.map +1 -0
  186. package/dist/utils/index.js +23 -0
  187. package/dist/utils/index.js.map +1 -0
  188. package/dist/utils/logging.d.ts +44 -0
  189. package/dist/utils/logging.d.ts.map +1 -0
  190. package/dist/utils/logging.js +113 -0
  191. package/dist/utils/logging.js.map +1 -0
  192. package/dist/utils/model-registry.d.ts +142 -0
  193. package/dist/utils/model-registry.d.ts.map +1 -0
  194. package/dist/utils/model-registry.js +391 -0
  195. package/dist/utils/model-registry.js.map +1 -0
  196. package/dist/utils/utils.d.ts +33 -0
  197. package/dist/utils/utils.d.ts.map +1 -0
  198. package/dist/utils/utils.js +50 -0
  199. package/dist/utils/utils.js.map +1 -0
  200. package/dist/vision/backends/azure-vision.d.ts +33 -0
  201. package/dist/vision/backends/azure-vision.d.ts.map +1 -0
  202. package/dist/vision/backends/azure-vision.js +151 -0
  203. package/dist/vision/backends/azure-vision.js.map +1 -0
  204. package/dist/vision/backends/google-cloud-vision.d.ts +32 -0
  205. package/dist/vision/backends/google-cloud-vision.d.ts.map +1 -0
  206. package/dist/vision/backends/google-cloud-vision.js +193 -0
  207. package/dist/vision/backends/google-cloud-vision.js.map +1 -0
  208. package/dist/vision/backends/onnx.d.ts +116 -0
  209. package/dist/vision/backends/onnx.d.ts.map +1 -0
  210. package/dist/vision/backends/onnx.js +781 -0
  211. package/dist/vision/backends/onnx.js.map +1 -0
  212. package/dist/vision/index.d.ts +19 -0
  213. package/dist/vision/index.d.ts.map +1 -0
  214. package/dist/vision/index.js +20 -0
  215. package/dist/vision/index.js.map +1 -0
  216. package/dist/vision/vision-engine.d.ts +131 -0
  217. package/dist/vision/vision-engine.d.ts.map +1 -0
  218. package/dist/vision/vision-engine.js +97 -0
  219. package/dist/vision/vision-engine.js.map +1 -0
  220. package/dist/vision/vision.d.ts +48 -0
  221. package/dist/vision/vision.d.ts.map +1 -0
  222. package/dist/vision/vision.js +83 -0
  223. package/dist/vision/vision.js.map +1 -0
  224. 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
+ }