@depz/sensor-sdk 0.1.0 → 0.1.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 +24 -0
- package/README.md +5 -4
- package/dist/discovery.d.ts.map +1 -1
- package/dist/discovery.js +3 -2
- package/dist/discovery.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/protocol/usb-ids.d.ts +5 -5
- package/dist/protocol/usb-ids.d.ts.map +1 -1
- package/dist/protocol/usb-ids.js +13 -5
- package/dist/protocol/usb-ids.js.map +1 -1
- package/dist/transport/ws-backend.d.ts +132 -0
- package/dist/transport/ws-backend.d.ts.map +1 -0
- package/dist/transport/ws-backend.js +255 -0
- package/dist/transport/ws-backend.js.map +1 -0
- package/package.json +5 -3
package/LICENSE
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 DEPZ
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
22
|
+
|
|
23
|
+
The bundled/derived VL53L8 advanced-DCI codecs are (c) STMicroelectronics,
|
|
24
|
+
licensed under BSD-3-Clause.
|
package/README.md
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
# @depz/sensor-sdk
|
|
2
2
|
|
|
3
|
-
TypeScript SDK for the **DEPZ USB sensor line** —
|
|
4
|
-
speak one shared framed protocol, usable
|
|
5
|
-
**Node (serialport)**:
|
|
3
|
+
TypeScript SDK for the **DEPZ USB sensor line** — four sensor classes across
|
|
4
|
+
three USB CDC-ACM device families that speak one shared framed protocol, usable
|
|
5
|
+
from **the browser (WebSerial)** and **Node (serialport)**:
|
|
6
6
|
|
|
7
7
|
- **HC-SR04** — ultrasonic distance
|
|
8
|
-
- **VL53L8CX / VL53L8CH** — 8×8 multizone Time-of-Flight (host runs the ST ULD)
|
|
8
|
+
- **VL53L8CX / VL53L8CH** — 8×8 multizone Time-of-Flight (host runs the ST ULD);
|
|
9
|
+
`Vl53l8Ch` is the `Vl53l8Cx` superset, adding Compact-Network-Histogram output
|
|
9
10
|
- **BNO086** — 9-axis IMU (host runs the SH-2 stack)
|
|
10
11
|
|
|
11
12
|
Pure ESM, zero runtime dependencies on the browser path (`serialport` is an
|
package/dist/discovery.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../src/discovery.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhD,OAAO,EAAqB,KAAK,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAK5E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE5D,gFAAgF;AAChF,MAAM,WAAW,YAAY;IAC3B,0EAA0E;IAC1E,IAAI,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,kEAAkE;AAClE,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,KAAK,GAAG,YAAY,GAAG,SAAS,CAAC;IACvC,UAAU,EAAE,UAAU,GAAG,IAAI,CAAC;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,+EAA+E;IAC/E,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED,qEAAqE;AACrE,MAAM,MAAM,gBAAgB,GAAG,CAAC,IAAI,EAAE,YAAY,KAAK,eAAe,CAAC;AAEvE,MAAM,WAAW,iBAAiB;IAChC,uEAAuE;IACvE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oEAAoE;IACpE,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,6FAA6F;AAC7F,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,GAAG,IAAI,GAAG,SAAS,CAAC;AAUzE;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,YAAY,EAAE,CAUxE;AAUD,wBAAgB,YAAY,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,UAAU,CAExD;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,UAAU,EAAE,CAQtE;AAID;;;;GAIG;AACH,wBAAsB,SAAS,CAC7B,IAAI,EAAE,YAAY,EAClB,OAAO,EAAE,gBAAgB,EACzB,SAAS,SAA2B,GACnC,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CA4C5B;AAID;;;;GAIG;AACH,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,YAAY,EAAE,EACrB,OAAO,EAAE,gBAAgB,EACzB,IAAI,GAAE,WAAgB,GACrB,OAAO,CAAC,UAAU,EAAE,CAAC,CAUvB;
|
|
1
|
+
{"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../src/discovery.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhD,OAAO,EAAqB,KAAK,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAK5E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE5D,gFAAgF;AAChF,MAAM,WAAW,YAAY;IAC3B,0EAA0E;IAC1E,IAAI,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,kEAAkE;AAClE,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,KAAK,GAAG,YAAY,GAAG,SAAS,CAAC;IACvC,UAAU,EAAE,UAAU,GAAG,IAAI,CAAC;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,+EAA+E;IAC/E,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED,qEAAqE;AACrE,MAAM,MAAM,gBAAgB,GAAG,CAAC,IAAI,EAAE,YAAY,KAAK,eAAe,CAAC;AAEvE,MAAM,WAAW,iBAAiB;IAChC,uEAAuE;IACvE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oEAAoE;IACpE,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,6FAA6F;AAC7F,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,GAAG,IAAI,GAAG,SAAS,CAAC;AAUzE;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,YAAY,EAAE,CAUxE;AAUD,wBAAgB,YAAY,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,UAAU,CAExD;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,UAAU,EAAE,CAQtE;AAID;;;;GAIG;AACH,wBAAsB,SAAS,CAC7B,IAAI,EAAE,YAAY,EAClB,OAAO,EAAE,gBAAgB,EACzB,SAAS,SAA2B,GACnC,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CA4C5B;AAID;;;;GAIG;AACH,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,YAAY,EAAE,EACrB,OAAO,EAAE,gBAAgB,EACzB,IAAI,GAAE,WAAgB,GACrB,OAAO,CAAC,UAAU,EAAE,CAAC,CAUvB;AA2CD;;;;;;;;;;;GAWG;AACH,wBAAsB,cAAc,CAClC,KAAK,EAAE,YAAY,EAAE,EACrB,OAAO,EAAE,gBAAgB,EACzB,MAAM,CAAC,EAAE,UAAU,EACnB,IAAI,GAAE,iBAAsB,GAC3B,OAAO,CAAC,UAAU,CAAC,CA4DrB;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,wBAAwB,CAC5C,KAAK,EAAE,YAAY,EAAE,EACrB,OAAO,EAAE,gBAAgB,EACzB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,EACtB,IAAI,GAAE,iBAAsB,GAC3B,OAAO,CAAC,UAAU,CAAC,CAwBrB"}
|
package/dist/discovery.js
CHANGED
|
@@ -150,8 +150,9 @@ function constructSensor(transport, sensorType, timeoutMs, port) {
|
|
|
150
150
|
return new Sr04(transport, { timeoutMs });
|
|
151
151
|
case "vl53l8":
|
|
152
152
|
// The USB model hint distinguishes CH silicon (PID 0xED40 → 'vl53l8ch')
|
|
153
|
-
// from CX; the dev-default id (0x56DC)
|
|
154
|
-
//
|
|
153
|
+
// from CX (PID 0xED4B → 'vl53l8cx'); the dev-default id (0x56DC) carries
|
|
154
|
+
// no silicon hint, so it and any non-CH hint fall through to the CX base
|
|
155
|
+
// class.
|
|
155
156
|
return usbModelHint(port?.usbVid, port?.usbPid) === "vl53l8ch"
|
|
156
157
|
? new Vl53l8Ch(transport, { timeoutMs })
|
|
157
158
|
: new Vl53l8Cx(transport, { timeoutMs });
|
package/dist/discovery.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"discovery.js","sourceRoot":"","sources":["../src/discovery.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"discovery.js","sourceRoot":"","sources":["../src/discovery.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -39,4 +39,6 @@ export type { SerialTransport, SerialTransportInfo } from "./transport/types.js"
|
|
|
39
39
|
export { LoopbackTransport } from "./transport/loopback.js";
|
|
40
40
|
export { WebSerialTransport, isWebSerialSupported, getGrantedPorts, watchConnect, } from "./transport/webserial.js";
|
|
41
41
|
export type { WebSerialPortLike } from "./transport/webserial.js";
|
|
42
|
+
export { WsBackendTransport, backendHealth, backendPermissions, listBackendDevices, } from "./transport/ws-backend.js";
|
|
43
|
+
export type { BackendDevice, BackendHealth, BackendPermissions, WebSocketLike, WsBackendTransportOptions, } from "./transport/ws-backend.js";
|
|
42
44
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,aAAa,CAAC;AAC5B,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,wBAAwB,EACxB,cAAc,EACd,oBAAoB,EACpB,kBAAkB,EAClB,SAAS,GACV,MAAM,gBAAgB,CAAC;AACxB,YAAY,EACV,UAAU,EACV,YAAY,EACZ,WAAW,EACX,iBAAiB,EACjB,UAAU,EACV,gBAAgB,GACjB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,YAAY,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EACL,kBAAkB,EAClB,UAAU,EACV,QAAQ,EACR,WAAW,EACX,SAAS,EACT,WAAW,GACZ,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACV,WAAW,EACX,aAAa,EACb,OAAO,EACP,cAAc,EACd,QAAQ,GACT,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,YAAY,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EACL,wBAAwB,EACxB,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,QAAQ,GACT,MAAM,4BAA4B,CAAC;AACpC,YAAY,EACV,WAAW,EACX,iBAAiB,EACjB,aAAa,GACd,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,eAAe,EACf,WAAW,EACX,aAAa,EACb,YAAY,EACZ,aAAa,EACb,qBAAqB,EACrB,gBAAgB,EAChB,iBAAiB,EACjB,uBAAuB,EACvB,uBAAuB,EACvB,cAAc,EACd,cAAc,EACd,oBAAoB,EACpB,sBAAsB,EACtB,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,YAAY,EACZ,oBAAoB,EACpB,QAAQ,EACR,aAAa,EACb,mBAAmB,EACnB,yBAAyB,EACzB,uBAAuB,EACvB,UAAU,EACV,gBAAgB,GACjB,MAAM,yBAAyB,CAAC;AACjC,YAAY,EACV,kBAAkB,EAClB,YAAY,EACZ,cAAc,EACd,aAAa,GACd,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,SAAS,EACT,cAAc,EACd,cAAc,EACd,MAAM,IAAI,SAAS,EACnB,OAAO,IAAI,UAAU,GACtB,MAAM,yBAAyB,CAAC;AACjC,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACxE,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAC9D,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACpF,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC9F,OAAO,EACL,cAAc,EACd,aAAa,EACb,aAAa,EACb,eAAe,EACf,aAAa,GACd,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,iBAAiB,EACjB,aAAa,EACb,aAAa,EACb,WAAW,GACZ,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AACjF,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,eAAe,EACf,YAAY,GACb,MAAM,0BAA0B,CAAC;AAClC,YAAY,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,aAAa,CAAC;AAC5B,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,wBAAwB,EACxB,cAAc,EACd,oBAAoB,EACpB,kBAAkB,EAClB,SAAS,GACV,MAAM,gBAAgB,CAAC;AACxB,YAAY,EACV,UAAU,EACV,YAAY,EACZ,WAAW,EACX,iBAAiB,EACjB,UAAU,EACV,gBAAgB,GACjB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,YAAY,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EACL,kBAAkB,EAClB,UAAU,EACV,QAAQ,EACR,WAAW,EACX,SAAS,EACT,WAAW,GACZ,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACV,WAAW,EACX,aAAa,EACb,OAAO,EACP,cAAc,EACd,QAAQ,GACT,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,YAAY,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EACL,wBAAwB,EACxB,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,QAAQ,GACT,MAAM,4BAA4B,CAAC;AACpC,YAAY,EACV,WAAW,EACX,iBAAiB,EACjB,aAAa,GACd,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,eAAe,EACf,WAAW,EACX,aAAa,EACb,YAAY,EACZ,aAAa,EACb,qBAAqB,EACrB,gBAAgB,EAChB,iBAAiB,EACjB,uBAAuB,EACvB,uBAAuB,EACvB,cAAc,EACd,cAAc,EACd,oBAAoB,EACpB,sBAAsB,EACtB,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,YAAY,EACZ,oBAAoB,EACpB,QAAQ,EACR,aAAa,EACb,mBAAmB,EACnB,yBAAyB,EACzB,uBAAuB,EACvB,UAAU,EACV,gBAAgB,GACjB,MAAM,yBAAyB,CAAC;AACjC,YAAY,EACV,kBAAkB,EAClB,YAAY,EACZ,cAAc,EACd,aAAa,GACd,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,SAAS,EACT,cAAc,EACd,cAAc,EACd,MAAM,IAAI,SAAS,EACnB,OAAO,IAAI,UAAU,GACtB,MAAM,yBAAyB,CAAC;AACjC,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACxE,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAC9D,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACpF,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC9F,OAAO,EACL,cAAc,EACd,aAAa,EACb,aAAa,EACb,eAAe,EACf,aAAa,GACd,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,iBAAiB,EACjB,aAAa,EACb,aAAa,EACb,WAAW,GACZ,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AACjF,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,eAAe,EACf,YAAY,GACb,MAAM,0BAA0B,CAAC;AAClC,YAAY,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EACL,kBAAkB,EAClB,aAAa,EACb,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,2BAA2B,CAAC;AACnC,YAAY,EACV,aAAa,EACb,aAAa,EACb,kBAAkB,EAClB,aAAa,EACb,yBAAyB,GAC1B,MAAM,2BAA2B,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -28,4 +28,5 @@ export { RECORDING_SCHEMA, RecordingTransport, ReplayTransport } from "./transpo
|
|
|
28
28
|
export { DATASET_SCHEMA, DatasetPlayer, DatasetReader, DatasetRecorder, DatasetWriter, } from "./dataset.js";
|
|
29
29
|
export { LoopbackTransport } from "./transport/loopback.js";
|
|
30
30
|
export { WebSerialTransport, isWebSerialSupported, getGrantedPorts, watchConnect, } from "./transport/webserial.js";
|
|
31
|
+
export { WsBackendTransport, backendHealth, backendPermissions, listBackendDevices, } from "./transport/ws-backend.js";
|
|
31
32
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,aAAa,CAAC;AAC5B,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,wBAAwB,EACxB,cAAc,EACd,oBAAoB,EACpB,kBAAkB,EAClB,SAAS,GACV,MAAM,gBAAgB,CAAC;AASxB,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,OAAO,EACL,kBAAkB,EAClB,UAAU,EACV,QAAQ,EACR,WAAW,EACX,SAAS,EACT,WAAW,GACZ,MAAM,oBAAoB,CAAC;AAQ5B,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAEzC,OAAO,EACL,wBAAwB,EACxB,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,QAAQ,GACT,MAAM,4BAA4B,CAAC;AAMpC,OAAO,EACL,eAAe,EACf,WAAW,EACX,aAAa,EACb,YAAY,EACZ,aAAa,EACb,qBAAqB,EACrB,gBAAgB,EAChB,iBAAiB,EACjB,uBAAuB,EACvB,uBAAuB,EACvB,cAAc,EACd,cAAc,EACd,oBAAoB,EACpB,sBAAsB,EACtB,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,YAAY,EACZ,oBAAoB,EACpB,QAAQ,EACR,aAAa,EACb,mBAAmB,EACnB,yBAAyB,EACzB,uBAAuB,EACvB,UAAU,EACV,gBAAgB,GACjB,MAAM,yBAAyB,CAAC;AAOjC,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,SAAS,EACT,cAAc,EACd,cAAc,EACd,MAAM,IAAI,SAAS,EACnB,OAAO,IAAI,UAAU,GACtB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAE9D,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC9F,OAAO,EACL,cAAc,EACd,aAAa,EACb,aAAa,EACb,eAAe,EACf,aAAa,GACd,MAAM,cAAc,CAAC;AAQtB,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,eAAe,EACf,YAAY,GACb,MAAM,0BAA0B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,aAAa,CAAC;AAC5B,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,wBAAwB,EACxB,cAAc,EACd,oBAAoB,EACpB,kBAAkB,EAClB,SAAS,GACV,MAAM,gBAAgB,CAAC;AASxB,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,OAAO,EACL,kBAAkB,EAClB,UAAU,EACV,QAAQ,EACR,WAAW,EACX,SAAS,EACT,WAAW,GACZ,MAAM,oBAAoB,CAAC;AAQ5B,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAEzC,OAAO,EACL,wBAAwB,EACxB,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,QAAQ,GACT,MAAM,4BAA4B,CAAC;AAMpC,OAAO,EACL,eAAe,EACf,WAAW,EACX,aAAa,EACb,YAAY,EACZ,aAAa,EACb,qBAAqB,EACrB,gBAAgB,EAChB,iBAAiB,EACjB,uBAAuB,EACvB,uBAAuB,EACvB,cAAc,EACd,cAAc,EACd,oBAAoB,EACpB,sBAAsB,EACtB,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,YAAY,EACZ,oBAAoB,EACpB,QAAQ,EACR,aAAa,EACb,mBAAmB,EACnB,yBAAyB,EACzB,uBAAuB,EACvB,UAAU,EACV,gBAAgB,GACjB,MAAM,yBAAyB,CAAC;AAOjC,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,SAAS,EACT,cAAc,EACd,cAAc,EACd,MAAM,IAAI,SAAS,EACnB,OAAO,IAAI,UAAU,GACtB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAE9D,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC9F,OAAO,EACL,cAAc,EACd,aAAa,EACb,aAAa,EACb,eAAe,EACf,aAAa,GACd,MAAM,cAAc,CAAC;AAQtB,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,eAAe,EACf,YAAY,GACb,MAAM,0BAA0B,CAAC;AAElC,OAAO,EACL,kBAAkB,EAClB,aAAa,EACb,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,2BAA2B,CAAC"}
|
|
@@ -21,8 +21,7 @@ export declare const DEV_PID = 22236;
|
|
|
21
21
|
/**
|
|
22
22
|
* Contiguous production PID block: any PID in this inclusive range under the
|
|
23
23
|
* production VID is treated as a candidate DEPZ sensor even when it is not
|
|
24
|
-
* individually mapped below (e.g. future models, or
|
|
25
|
-
* decodable IMU variants 60937 bno085 / 60938 bno055).
|
|
24
|
+
* individually mapped below (e.g. future models, or unmapped catalog PIDs).
|
|
26
25
|
*/
|
|
27
26
|
export declare const DEPZ_SENSOR_PID_MIN = 60536;
|
|
28
27
|
export declare const DEPZ_SENSOR_PID_MAX = 65535;
|
|
@@ -38,9 +37,10 @@ export interface DepzUsbModel {
|
|
|
38
37
|
sensorType: SensorType | null;
|
|
39
38
|
}
|
|
40
39
|
/**
|
|
41
|
-
* PID → model hint. Only the
|
|
42
|
-
*
|
|
43
|
-
*
|
|
40
|
+
* PID → model hint (full official DEPZ catalog). Only the `sensorType`-bearing
|
|
41
|
+
* rows (sr04, vl53l8ch, vl53l8cx, bno086) are decodable by this SDK; the rest
|
|
42
|
+
* are recognized as DEPZ sensors for discovery/labelling only. Values mirror
|
|
43
|
+
* the Python reference `depz_sensor_sdk.usb_ids.DEPZ_PID_MODEL`.
|
|
44
44
|
*/
|
|
45
45
|
export declare const DEPZ_USB_MODELS: Readonly<Record<number, DepzUsbModel>>;
|
|
46
46
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usb-ids.d.ts","sourceRoot":"","sources":["../../src/protocol/usb-ids.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAEhD,4DAA4D;AAC5D,eAAO,MAAM,QAAQ,OAAS,CAAC;AAE/B;;;GAGG;AACH,eAAO,MAAM,OAAO,OAAS,CAAC;AAC9B,eAAO,MAAM,OAAO,QAAS,CAAC;AAE9B
|
|
1
|
+
{"version":3,"file":"usb-ids.d.ts","sourceRoot":"","sources":["../../src/protocol/usb-ids.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAEhD,4DAA4D;AAC5D,eAAO,MAAM,QAAQ,OAAS,CAAC;AAE/B;;;GAGG;AACH,eAAO,MAAM,OAAO,OAAS,CAAC;AAC9B,eAAO,MAAM,OAAO,QAAS,CAAC;AAE9B;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,QAAQ,CAAC;AACzC,eAAO,MAAM,mBAAmB,QAAQ,CAAC;AAEzC,2CAA2C;AAC3C,MAAM,WAAW,YAAY;IAC3B,iCAAiC;IACjC,IAAI,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,UAAU,EAAE,UAAU,GAAG,IAAI,CAAC;CAC/B;AAED;;;;;GAKG;AACH,eAAO,MAAM,eAAe,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAiBlE,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAMtG;AAED,4EAA4E;AAC5E,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,YAAY,GAAG,IAAI,CAG9E;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAC1B,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAC9B,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAC7B,MAAM,GAAG,IAAI,CAKf"}
|
package/dist/protocol/usb-ids.js
CHANGED
|
@@ -20,15 +20,15 @@ export const DEV_PID = 0x56dc; // 22236
|
|
|
20
20
|
/**
|
|
21
21
|
* Contiguous production PID block: any PID in this inclusive range under the
|
|
22
22
|
* production VID is treated as a candidate DEPZ sensor even when it is not
|
|
23
|
-
* individually mapped below (e.g. future models, or
|
|
24
|
-
* decodable IMU variants 60937 bno085 / 60938 bno055).
|
|
23
|
+
* individually mapped below (e.g. future models, or unmapped catalog PIDs).
|
|
25
24
|
*/
|
|
26
25
|
export const DEPZ_SENSOR_PID_MIN = 60536; // 0xEC78 (SR04)
|
|
27
26
|
export const DEPZ_SENSOR_PID_MAX = 65535; // whole reserved sensor block (catalog-types.ts)
|
|
28
27
|
/**
|
|
29
|
-
* PID → model hint. Only the
|
|
30
|
-
*
|
|
31
|
-
*
|
|
28
|
+
* PID → model hint (full official DEPZ catalog). Only the `sensorType`-bearing
|
|
29
|
+
* rows (sr04, vl53l8ch, vl53l8cx, bno086) are decodable by this SDK; the rest
|
|
30
|
+
* are recognized as DEPZ sensors for discovery/labelling only. Values mirror
|
|
31
|
+
* the Python reference `depz_sensor_sdk.usb_ids.DEPZ_PID_MODEL`.
|
|
32
32
|
*/
|
|
33
33
|
export const DEPZ_USB_MODELS = {
|
|
34
34
|
0xec78: { name: "sr04", sensorType: "sr04" }, // 60536
|
|
@@ -36,6 +36,14 @@ export const DEPZ_USB_MODELS = {
|
|
|
36
36
|
0xed41: { name: "vl53l0x", sensorType: null }, // 60737
|
|
37
37
|
0xed42: { name: "vl53l1cb", sensorType: null }, // 60738
|
|
38
38
|
0xed43: { name: "vl53l1cx", sensorType: null }, // 60739
|
|
39
|
+
0xed44: { name: "vl53l3cx", sensorType: null }, // 60740
|
|
40
|
+
0xed45: { name: "vl53l4cd", sensorType: null }, // 60741
|
|
41
|
+
0xed46: { name: "vl53l4cx", sensorType: null }, // 60742
|
|
42
|
+
0xed47: { name: "vl53l4ed", sensorType: null }, // 60743
|
|
43
|
+
0xed48: { name: "vl53l5cx", sensorType: null }, // 60744
|
|
44
|
+
0xed49: { name: "vl53l7cx", sensorType: null }, // 60745
|
|
45
|
+
0xed4a: { name: "vl53l7ch", sensorType: null }, // 60746
|
|
46
|
+
0xed4b: { name: "vl53l8cx", sensorType: "vl53l8" }, // 60747 — VL53L8CX production PID, verified on hw: 1bcf:ed4b
|
|
39
47
|
0xee08: { name: "bno086", sensorType: "bno086" }, // 60936 — verified on hw: 1bcf:ee08
|
|
40
48
|
0xee09: { name: "bno085", sensorType: null }, // 60937
|
|
41
49
|
0xee0a: { name: "bno055", sensorType: null }, // 60938
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usb-ids.js","sourceRoot":"","sources":["../../src/protocol/usb-ids.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,4DAA4D;AAC5D,MAAM,CAAC,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,OAAO;AAEvC;;;GAGG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,OAAO;AACtC,MAAM,CAAC,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,QAAQ;AAEvC
|
|
1
|
+
{"version":3,"file":"usb-ids.js","sourceRoot":"","sources":["../../src/protocol/usb-ids.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Local-backend transport (standalone `depz-sensor-viewer` app).
|
|
3
|
+
*
|
|
4
|
+
* The online viewer talks to devices over Web Serial. The standalone launcher
|
|
5
|
+
* instead serves the same SPA from `http://127.0.0.1:<port>` and exposes a
|
|
6
|
+
* local backend that speaks to the real serial ports over pyserial. This
|
|
7
|
+
* transport tunnels the exact same byte stream to that backend over a
|
|
8
|
+
* WebSocket, so every layer above (`DepzDevice`, the sensor classes) is
|
|
9
|
+
* byte-for-byte identical to Web Serial / Node.
|
|
10
|
+
*
|
|
11
|
+
* Server contract (fixed — this file must match it exactly):
|
|
12
|
+
* GET /api/health → { standalone: true, version } (presence ⇒ standalone)
|
|
13
|
+
* GET /api/devices → { devices: [ { path, usb_vid, usb_pid, serial,
|
|
14
|
+
* sensor_type, usb_model_hint } ] }
|
|
15
|
+
* GET /api/permissions → { ok, os, issues, fix: { command, explanation } }
|
|
16
|
+
* WS /ws/serial?path=<port>&baud=<n> — a raw byte pipe:
|
|
17
|
+
* · binary frame you send = bytes written to the serial port
|
|
18
|
+
* · binary frame you receive = bytes read from the serial port
|
|
19
|
+
* · text frame = JSON control ({"opened":true} / {"error":"…"})
|
|
20
|
+
*
|
|
21
|
+
* Browser-safe: uses only `WebSocket` / `fetch` / `URL`, no Node built-ins.
|
|
22
|
+
*/
|
|
23
|
+
import type { SerialTransport, SerialTransportInfo } from "./types.js";
|
|
24
|
+
/** One device as reported by `GET /api/devices` (snake_case = server JSON). */
|
|
25
|
+
export interface BackendDevice {
|
|
26
|
+
/** OS serial-port path the backend opens (e.g. `/dev/ttyACM0`, `COM5`). */
|
|
27
|
+
path: string;
|
|
28
|
+
usb_vid: number | null;
|
|
29
|
+
usb_pid: number | null;
|
|
30
|
+
/** USB iSerial as read by the OS ("" when unavailable). */
|
|
31
|
+
serial: string;
|
|
32
|
+
/** Backend's guess of the sensor family ("sr04" | "vl53l8" | … | ""). */
|
|
33
|
+
sensor_type: string;
|
|
34
|
+
/** Human model hint from the USB id tables ("" when unknown). */
|
|
35
|
+
usb_model_hint: string;
|
|
36
|
+
}
|
|
37
|
+
/** `GET /api/health` — its mere presence means the viewer is standalone. */
|
|
38
|
+
export interface BackendHealth {
|
|
39
|
+
standalone: boolean;
|
|
40
|
+
version: string;
|
|
41
|
+
}
|
|
42
|
+
/** `GET /api/permissions` — OS-level serial-access diagnostics. */
|
|
43
|
+
export interface BackendPermissions {
|
|
44
|
+
ok: boolean;
|
|
45
|
+
os: "linux" | "macos" | "windows";
|
|
46
|
+
issues: string[];
|
|
47
|
+
fix: {
|
|
48
|
+
command: string;
|
|
49
|
+
explanation: string;
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
/** Minimal `WebSocket` surface used here — real one or a test fake. */
|
|
53
|
+
export interface WebSocketLike {
|
|
54
|
+
binaryType: string;
|
|
55
|
+
readyState: number;
|
|
56
|
+
send(data: ArrayBufferView | ArrayBuffer): void;
|
|
57
|
+
close(): void;
|
|
58
|
+
onopen: ((ev: unknown) => void) | null;
|
|
59
|
+
onclose: ((ev: unknown) => void) | null;
|
|
60
|
+
onerror: ((ev: unknown) => void) | null;
|
|
61
|
+
onmessage: ((ev: {
|
|
62
|
+
data: unknown;
|
|
63
|
+
}) => void) | null;
|
|
64
|
+
}
|
|
65
|
+
export interface WsBackendTransportOptions {
|
|
66
|
+
/**
|
|
67
|
+
* Origin of the standalone server (e.g. `http://127.0.0.1:8000`). Omit /
|
|
68
|
+
* empty to use the page's own origin (`location.origin`) — the usual case,
|
|
69
|
+
* since the SPA is served *by* the backend.
|
|
70
|
+
*/
|
|
71
|
+
baseUrl?: string;
|
|
72
|
+
/** Serial-port path from `GET /api/devices` — the `?path=` query value. */
|
|
73
|
+
path: string;
|
|
74
|
+
/** Baud for the `?baud=` query (default 115200; `open()` may override). */
|
|
75
|
+
baudRate?: number;
|
|
76
|
+
/** USB ids / serial to advertise (drives CX-vs-CH labelling upstream). */
|
|
77
|
+
info?: SerialTransportInfo;
|
|
78
|
+
/** WebSocket factory (defaults to the global `WebSocket`); injected in tests. */
|
|
79
|
+
webSocketFactory?: (url: string) => WebSocketLike;
|
|
80
|
+
}
|
|
81
|
+
export declare class WsBackendTransport implements SerialTransport {
|
|
82
|
+
readonly info: SerialTransportInfo;
|
|
83
|
+
private readonly baseUrl;
|
|
84
|
+
private readonly path;
|
|
85
|
+
private readonly baudRate;
|
|
86
|
+
private readonly wsFactory;
|
|
87
|
+
private ws;
|
|
88
|
+
private queue;
|
|
89
|
+
private waiter;
|
|
90
|
+
private ended;
|
|
91
|
+
private disconnected;
|
|
92
|
+
private closing;
|
|
93
|
+
private streamError;
|
|
94
|
+
private disconnectCbs;
|
|
95
|
+
private readyResolve;
|
|
96
|
+
private readyReject;
|
|
97
|
+
constructor(opts: WsBackendTransportOptions);
|
|
98
|
+
open(opts?: {
|
|
99
|
+
baudRate?: number;
|
|
100
|
+
}): Promise<void>;
|
|
101
|
+
private onMessage;
|
|
102
|
+
write(data: Uint8Array): Promise<void>;
|
|
103
|
+
readable(): AsyncIterableIterator<Uint8Array>;
|
|
104
|
+
close(): Promise<void>;
|
|
105
|
+
onDisconnect(cb: () => void): () => void;
|
|
106
|
+
private markReady;
|
|
107
|
+
private failReady;
|
|
108
|
+
/** Stop the read stream (used on close AND on unexpected loss). */
|
|
109
|
+
private finishStream;
|
|
110
|
+
/** Unexpected loss: end the stream and fire disconnect (never on explicit close). */
|
|
111
|
+
private fail;
|
|
112
|
+
}
|
|
113
|
+
/** Bound `fetch` that never loses its receiver when passed as a default. */
|
|
114
|
+
type FetchLike = (input: string, init?: {
|
|
115
|
+
headers?: Record<string, string>;
|
|
116
|
+
}) => Promise<{
|
|
117
|
+
ok: boolean;
|
|
118
|
+
status: number;
|
|
119
|
+
json(): Promise<unknown>;
|
|
120
|
+
}>;
|
|
121
|
+
/**
|
|
122
|
+
* Probe `GET /api/health`. Resolves to the health object when the origin is a
|
|
123
|
+
* standalone backend, or `null` on any failure / when it is the plain online
|
|
124
|
+
* viewer (so a bare `await backendHealth()` is a safe standalone check).
|
|
125
|
+
*/
|
|
126
|
+
export declare function backendHealth(baseUrl?: string, fetchImpl?: FetchLike): Promise<BackendHealth | null>;
|
|
127
|
+
/** `GET /api/devices` → the device list (throws on a non-2xx / network error). */
|
|
128
|
+
export declare function listBackendDevices(baseUrl?: string, fetchImpl?: FetchLike): Promise<BackendDevice[]>;
|
|
129
|
+
/** `GET /api/permissions` → OS serial-access diagnostics, or `null` on failure. */
|
|
130
|
+
export declare function backendPermissions(baseUrl?: string, fetchImpl?: FetchLike): Promise<BackendPermissions | null>;
|
|
131
|
+
export {};
|
|
132
|
+
//# sourceMappingURL=ws-backend.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ws-backend.d.ts","sourceRoot":"","sources":["../../src/transport/ws-backend.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEvE,+EAA+E;AAC/E,MAAM,WAAW,aAAa;IAC5B,2EAA2E;IAC3E,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,2DAA2D;IAC3D,MAAM,EAAE,MAAM,CAAC;IACf,yEAAyE;IACzE,WAAW,EAAE,MAAM,CAAC;IACpB,iEAAiE;IACjE,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,4EAA4E;AAC5E,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,mEAAmE;AACnE,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,OAAO,CAAC;IACZ,EAAE,EAAE,OAAO,GAAG,OAAO,GAAG,SAAS,CAAC;IAClC,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,GAAG,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;CAC/C;AAED,uEAAuE;AACvE,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,IAAI,EAAE,eAAe,GAAG,WAAW,GAAG,IAAI,CAAC;IAChD,KAAK,IAAI,IAAI,CAAC;IACd,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,OAAO,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;IACvC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,OAAO,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;IACxC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,OAAO,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;IACxC,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE;QAAE,IAAI,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;CACrD;AAKD,MAAM,WAAW,yBAAyB;IACxC;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2EAA2E;IAC3E,IAAI,EAAE,MAAM,CAAC;IACb,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0EAA0E;IAC1E,IAAI,CAAC,EAAE,mBAAmB,CAAC;IAC3B,iFAAiF;IACjF,gBAAgB,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,aAAa,CAAC;CACnD;AAED,qBAAa,kBAAmB,YAAW,eAAe;IACxD,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC;IACnC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAiC;IAE3D,OAAO,CAAC,EAAE,CAA8B;IACxC,OAAO,CAAC,KAAK,CAAoB;IACjC,OAAO,CAAC,MAAM,CAA6B;IAC3C,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,WAAW,CAAsB;IACzC,OAAO,CAAC,aAAa,CAAyB;IAC9C,OAAO,CAAC,YAAY,CAA6B;IACjD,OAAO,CAAC,WAAW,CAAqC;gBAE5C,IAAI,EAAE,yBAAyB;IAcrC,IAAI,CAAC,IAAI,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA6BvD,OAAO,CAAC,SAAS;IA8BX,KAAK,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IASrC,QAAQ,IAAI,qBAAqB,CAAC,UAAU,CAAC;IAW9C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAW5B,YAAY,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;IASxC,OAAO,CAAC,SAAS;IAOjB,OAAO,CAAC,SAAS;IAOjB,mEAAmE;IACnE,OAAO,CAAC,YAAY;IAMpB,qFAAqF;IACrF,OAAO,CAAC,IAAI;CASb;AAID,4EAA4E;AAC5E,KAAK,SAAS,GAAG,CACf,KAAK,EAAE,MAAM,EACb,IAAI,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,KACxC,OAAO,CAAC;IACX,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;CAC1B,CAAC,CAAC;AAKH;;;;GAIG;AACH,wBAAsB,aAAa,CACjC,OAAO,SAAK,EACZ,SAAS,GAAE,SAAwB,GAClC,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAY/B;AAED,kFAAkF;AAClF,wBAAsB,kBAAkB,CACtC,OAAO,SAAK,EACZ,SAAS,GAAE,SAAwB,GAClC,OAAO,CAAC,aAAa,EAAE,CAAC,CAO1B;AAED,mFAAmF;AACnF,wBAAsB,kBAAkB,CACtC,OAAO,SAAK,EACZ,SAAS,GAAE,SAAwB,GAClC,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAUpC"}
|
|
@@ -0,0 +1,255 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Local-backend transport (standalone `depz-sensor-viewer` app).
|
|
3
|
+
*
|
|
4
|
+
* The online viewer talks to devices over Web Serial. The standalone launcher
|
|
5
|
+
* instead serves the same SPA from `http://127.0.0.1:<port>` and exposes a
|
|
6
|
+
* local backend that speaks to the real serial ports over pyserial. This
|
|
7
|
+
* transport tunnels the exact same byte stream to that backend over a
|
|
8
|
+
* WebSocket, so every layer above (`DepzDevice`, the sensor classes) is
|
|
9
|
+
* byte-for-byte identical to Web Serial / Node.
|
|
10
|
+
*
|
|
11
|
+
* Server contract (fixed — this file must match it exactly):
|
|
12
|
+
* GET /api/health → { standalone: true, version } (presence ⇒ standalone)
|
|
13
|
+
* GET /api/devices → { devices: [ { path, usb_vid, usb_pid, serial,
|
|
14
|
+
* sensor_type, usb_model_hint } ] }
|
|
15
|
+
* GET /api/permissions → { ok, os, issues, fix: { command, explanation } }
|
|
16
|
+
* WS /ws/serial?path=<port>&baud=<n> — a raw byte pipe:
|
|
17
|
+
* · binary frame you send = bytes written to the serial port
|
|
18
|
+
* · binary frame you receive = bytes read from the serial port
|
|
19
|
+
* · text frame = JSON control ({"opened":true} / {"error":"…"})
|
|
20
|
+
*
|
|
21
|
+
* Browser-safe: uses only `WebSocket` / `fetch` / `URL`, no Node built-ins.
|
|
22
|
+
*/
|
|
23
|
+
/** `WebSocket.OPEN`; hard-coded so the module never touches a DOM global at import. */
|
|
24
|
+
const WS_OPEN = 1;
|
|
25
|
+
export class WsBackendTransport {
|
|
26
|
+
info;
|
|
27
|
+
baseUrl;
|
|
28
|
+
path;
|
|
29
|
+
baudRate;
|
|
30
|
+
wsFactory;
|
|
31
|
+
ws = null;
|
|
32
|
+
queue = [];
|
|
33
|
+
waiter = null;
|
|
34
|
+
ended = false;
|
|
35
|
+
disconnected = false;
|
|
36
|
+
closing = false;
|
|
37
|
+
streamError = null;
|
|
38
|
+
disconnectCbs = [];
|
|
39
|
+
readyResolve = null;
|
|
40
|
+
readyReject = null;
|
|
41
|
+
constructor(opts) {
|
|
42
|
+
this.baseUrl = opts.baseUrl ?? "";
|
|
43
|
+
this.path = opts.path;
|
|
44
|
+
this.baudRate = opts.baudRate ?? 115200;
|
|
45
|
+
this.wsFactory =
|
|
46
|
+
opts.webSocketFactory ?? ((url) => new WebSocket(url));
|
|
47
|
+
this.info = {
|
|
48
|
+
path: opts.info?.path ?? opts.path,
|
|
49
|
+
usbVendorId: opts.info?.usbVendorId,
|
|
50
|
+
usbProductId: opts.info?.usbProductId,
|
|
51
|
+
serialNumber: opts.info?.serialNumber,
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
async open(opts) {
|
|
55
|
+
const baud = opts?.baudRate ?? this.baudRate;
|
|
56
|
+
const url = wsSerialUrl(this.baseUrl, this.path, baud);
|
|
57
|
+
const ws = this.wsFactory(url);
|
|
58
|
+
ws.binaryType = "arraybuffer";
|
|
59
|
+
this.ws = ws;
|
|
60
|
+
const ready = new Promise((resolve, reject) => {
|
|
61
|
+
this.readyResolve = resolve;
|
|
62
|
+
this.readyReject = reject;
|
|
63
|
+
});
|
|
64
|
+
ws.onopen = () => {
|
|
65
|
+
// Socket is up; the port itself is "ready" only once the backend sends
|
|
66
|
+
// {"opened":true} or the first data byte (see onMessage).
|
|
67
|
+
};
|
|
68
|
+
ws.onmessage = (ev) => this.onMessage(ev);
|
|
69
|
+
ws.onerror = () => {
|
|
70
|
+
this.failReady(new Error(`cannot reach the standalone backend at ${url}`));
|
|
71
|
+
this.fail(new Error("standalone backend socket error"));
|
|
72
|
+
};
|
|
73
|
+
ws.onclose = () => {
|
|
74
|
+
this.failReady(new Error("the standalone backend closed the serial socket"));
|
|
75
|
+
this.fail(this.streamError ?? new Error("the standalone backend closed the serial socket"));
|
|
76
|
+
};
|
|
77
|
+
await ready;
|
|
78
|
+
}
|
|
79
|
+
onMessage(ev) {
|
|
80
|
+
const data = ev.data;
|
|
81
|
+
if (typeof data === "string") {
|
|
82
|
+
let msg;
|
|
83
|
+
try {
|
|
84
|
+
msg = JSON.parse(data);
|
|
85
|
+
}
|
|
86
|
+
catch {
|
|
87
|
+
return; // non-JSON text frame — ignore
|
|
88
|
+
}
|
|
89
|
+
if (msg && typeof msg === "object") {
|
|
90
|
+
const rec = msg;
|
|
91
|
+
if (typeof rec.error === "string") {
|
|
92
|
+
const err = new Error(`standalone backend: ${rec.error}`);
|
|
93
|
+
this.streamError = err;
|
|
94
|
+
this.failReady(err);
|
|
95
|
+
this.fail(err);
|
|
96
|
+
return;
|
|
97
|
+
}
|
|
98
|
+
if (rec.opened === true)
|
|
99
|
+
this.markReady();
|
|
100
|
+
}
|
|
101
|
+
return;
|
|
102
|
+
}
|
|
103
|
+
// Binary frame = bytes read from the serial port.
|
|
104
|
+
const bytes = toBytes(data);
|
|
105
|
+
if (bytes.length === 0)
|
|
106
|
+
return;
|
|
107
|
+
this.markReady(); // first inbound bytes imply the port is open
|
|
108
|
+
this.queue.push(bytes);
|
|
109
|
+
this.waiter?.();
|
|
110
|
+
}
|
|
111
|
+
async write(data) {
|
|
112
|
+
const ws = this.ws;
|
|
113
|
+
if (!ws || ws.readyState !== WS_OPEN) {
|
|
114
|
+
throw new Error("standalone backend serial socket is not open");
|
|
115
|
+
}
|
|
116
|
+
// Copy: the caller may reuse the buffer before the socket flushes it.
|
|
117
|
+
ws.send(data.slice());
|
|
118
|
+
}
|
|
119
|
+
async *readable() {
|
|
120
|
+
for (;;) {
|
|
121
|
+
while (this.queue.length === 0) {
|
|
122
|
+
if (this.ended)
|
|
123
|
+
return;
|
|
124
|
+
await new Promise((resolve) => (this.waiter = resolve));
|
|
125
|
+
this.waiter = null;
|
|
126
|
+
}
|
|
127
|
+
yield this.queue.shift();
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
async close() {
|
|
131
|
+
this.closing = true;
|
|
132
|
+
this.finishStream();
|
|
133
|
+
try {
|
|
134
|
+
this.ws?.close();
|
|
135
|
+
}
|
|
136
|
+
catch {
|
|
137
|
+
/* already gone */
|
|
138
|
+
}
|
|
139
|
+
this.ws = null;
|
|
140
|
+
}
|
|
141
|
+
onDisconnect(cb) {
|
|
142
|
+
this.disconnectCbs.push(cb);
|
|
143
|
+
return () => {
|
|
144
|
+
this.disconnectCbs = this.disconnectCbs.filter((c) => c !== cb);
|
|
145
|
+
};
|
|
146
|
+
}
|
|
147
|
+
// ── internals ──────────────────────────────────────────────────────────────
|
|
148
|
+
markReady() {
|
|
149
|
+
const r = this.readyResolve;
|
|
150
|
+
this.readyResolve = null;
|
|
151
|
+
this.readyReject = null;
|
|
152
|
+
r?.();
|
|
153
|
+
}
|
|
154
|
+
failReady(err) {
|
|
155
|
+
const r = this.readyReject;
|
|
156
|
+
this.readyResolve = null;
|
|
157
|
+
this.readyReject = null;
|
|
158
|
+
r?.(err);
|
|
159
|
+
}
|
|
160
|
+
/** Stop the read stream (used on close AND on unexpected loss). */
|
|
161
|
+
finishStream() {
|
|
162
|
+
if (this.ended)
|
|
163
|
+
return;
|
|
164
|
+
this.ended = true;
|
|
165
|
+
this.waiter?.();
|
|
166
|
+
}
|
|
167
|
+
/** Unexpected loss: end the stream and fire disconnect (never on explicit close). */
|
|
168
|
+
fail(err) {
|
|
169
|
+
this.streamError ??= err;
|
|
170
|
+
this.finishStream();
|
|
171
|
+
if (this.closing || this.disconnected)
|
|
172
|
+
return;
|
|
173
|
+
this.disconnected = true;
|
|
174
|
+
const cbs = this.disconnectCbs;
|
|
175
|
+
this.disconnectCbs = [];
|
|
176
|
+
cbs.forEach((cb) => cb());
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
const defaultFetch = (input, init) => globalThis.fetch(input, init);
|
|
180
|
+
/**
|
|
181
|
+
* Probe `GET /api/health`. Resolves to the health object when the origin is a
|
|
182
|
+
* standalone backend, or `null` on any failure / when it is the plain online
|
|
183
|
+
* viewer (so a bare `await backendHealth()` is a safe standalone check).
|
|
184
|
+
*/
|
|
185
|
+
export async function backendHealth(baseUrl = "", fetchImpl = defaultFetch) {
|
|
186
|
+
try {
|
|
187
|
+
const res = await fetchImpl(apiUrl(baseUrl, "/api/health"), {
|
|
188
|
+
headers: { accept: "application/json" },
|
|
189
|
+
});
|
|
190
|
+
if (!res.ok)
|
|
191
|
+
return null;
|
|
192
|
+
const j = (await res.json());
|
|
193
|
+
if (j && j.standalone === true)
|
|
194
|
+
return { standalone: true, version: String(j.version ?? "") };
|
|
195
|
+
return null;
|
|
196
|
+
}
|
|
197
|
+
catch {
|
|
198
|
+
return null;
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
/** `GET /api/devices` → the device list (throws on a non-2xx / network error). */
|
|
202
|
+
export async function listBackendDevices(baseUrl = "", fetchImpl = defaultFetch) {
|
|
203
|
+
const res = await fetchImpl(apiUrl(baseUrl, "/api/devices"), {
|
|
204
|
+
headers: { accept: "application/json" },
|
|
205
|
+
});
|
|
206
|
+
if (!res.ok)
|
|
207
|
+
throw new Error(`GET /api/devices → HTTP ${res.status}`);
|
|
208
|
+
const j = (await res.json());
|
|
209
|
+
return Array.isArray(j?.devices) ? j.devices : [];
|
|
210
|
+
}
|
|
211
|
+
/** `GET /api/permissions` → OS serial-access diagnostics, or `null` on failure. */
|
|
212
|
+
export async function backendPermissions(baseUrl = "", fetchImpl = defaultFetch) {
|
|
213
|
+
try {
|
|
214
|
+
const res = await fetchImpl(apiUrl(baseUrl, "/api/permissions"), {
|
|
215
|
+
headers: { accept: "application/json" },
|
|
216
|
+
});
|
|
217
|
+
if (!res.ok)
|
|
218
|
+
return null;
|
|
219
|
+
return (await res.json());
|
|
220
|
+
}
|
|
221
|
+
catch {
|
|
222
|
+
return null;
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
// ── URL builders ──────────────────────────────────────────────────────────────
|
|
226
|
+
function resolveOrigin(baseUrl) {
|
|
227
|
+
if (baseUrl)
|
|
228
|
+
return baseUrl;
|
|
229
|
+
const loc = globalThis.location;
|
|
230
|
+
if (loc?.origin)
|
|
231
|
+
return loc.origin;
|
|
232
|
+
throw new Error("WsBackendTransport: an explicit baseUrl is required outside a browser");
|
|
233
|
+
}
|
|
234
|
+
function apiUrl(baseUrl, path) {
|
|
235
|
+
return new URL(path, resolveOrigin(baseUrl)).toString();
|
|
236
|
+
}
|
|
237
|
+
function wsSerialUrl(baseUrl, path, baud) {
|
|
238
|
+
const u = new URL("/ws/serial", resolveOrigin(baseUrl));
|
|
239
|
+
u.protocol = u.protocol === "https:" ? "wss:" : "ws:";
|
|
240
|
+
u.searchParams.set("path", path);
|
|
241
|
+
u.searchParams.set("baud", String(baud));
|
|
242
|
+
return u.toString();
|
|
243
|
+
}
|
|
244
|
+
function toBytes(data) {
|
|
245
|
+
if (data instanceof Uint8Array)
|
|
246
|
+
return data;
|
|
247
|
+
if (data instanceof ArrayBuffer)
|
|
248
|
+
return new Uint8Array(data);
|
|
249
|
+
if (ArrayBuffer.isView(data)) {
|
|
250
|
+
const v = data;
|
|
251
|
+
return new Uint8Array(v.buffer, v.byteOffset, v.byteLength);
|
|
252
|
+
}
|
|
253
|
+
return new Uint8Array(0);
|
|
254
|
+
}
|
|
255
|
+
//# sourceMappingURL=ws-backend.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ws-backend.js","sourceRoot":"","sources":["../../src/transport/ws-backend.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@depz/sensor-sdk",
|
|
3
|
-
"version": "0.1.
|
|
4
|
-
"description": "TypeScript SDK for the DEPZ USB sensor line (SR04,
|
|
3
|
+
"version": "0.1.1",
|
|
4
|
+
"description": "TypeScript SDK for the DEPZ USB sensor line (SR04, VL53L8CX/CH, BNO086) — WebSerial + Node",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"sideEffects": false,
|
|
@@ -55,7 +55,9 @@
|
|
|
55
55
|
"prepublishOnly": "npm run build",
|
|
56
56
|
"test": "vitest run",
|
|
57
57
|
"typecheck": "tsc --noEmit",
|
|
58
|
-
"docs": "
|
|
58
|
+
"docs": "npm run docs:root && npm run docs:sensors",
|
|
59
|
+
"docs:root": "typedoc --out docs/.api-md && node scripts/merge-api-md.mjs docs/.api-md docs/api.md",
|
|
60
|
+
"docs:sensors": "node scripts/gen-sensor-api-md.mjs",
|
|
59
61
|
"docs:json": "typedoc --json docs/api.json --out docs/.api-json && node -e \"require('node:fs').rmSync('docs/.api-json',{recursive:true,force:true})\""
|
|
60
62
|
},
|
|
61
63
|
"peerDependencies": {
|