@esp-vision/device-cli 0.1.0 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/DEVICE_CORE_NOTICE.md +13 -0
- package/README.md +8 -2
- package/THIRD_PARTY_NOTICES.md +25 -5
- package/dist/device-cli.mjs +20104 -7753
- package/dist/native/LICENSE +21 -0
- package/dist/native/bindings.cjs +1860 -0
- package/dist/native/koffi/LICENSE.txt +22 -0
- package/dist/native/koffi/build/koffi/linux_arm64/koffi.node +0 -0
- package/dist/native/koffi/build/koffi/linux_armhf/koffi.node +0 -0
- package/dist/native/koffi/build/koffi/linux_ia32/koffi.node +0 -0
- package/dist/native/koffi/build/koffi/linux_loong64/koffi.node +0 -0
- package/dist/native/koffi/build/koffi/linux_riscv64d/koffi.node +0 -0
- package/dist/native/koffi/build/koffi/linux_x64/koffi.node +0 -0
- package/dist/native/koffi/build/koffi/musl_arm64/koffi.node +0 -0
- package/dist/native/koffi/build/koffi/musl_x64/koffi.node +0 -0
- package/dist/native/koffi/index.js +634 -0
- package/dist/native/koffi/package.json +38 -0
- package/dist/native/koffi/src/cnoke/LICENSE.txt +22 -0
- package/dist/native/koffi/vendor/node-addon-api/LICENSE.md +9 -0
- package/dist/native/koffi/vendor/node-api-headers/LICENSE +21 -0
- package/dist/native/package.json +1 -0
- package/dist/native/prebuilds/android-arm/@serialport+bindings-cpp.armv7.node +0 -0
- package/dist/native/prebuilds/android-arm64/@serialport+bindings-cpp.armv8.node +0 -0
- package/dist/native/prebuilds/darwin-x64+arm64/@serialport+bindings-cpp.node +0 -0
- package/dist/native/prebuilds/linux-arm/@serialport+bindings-cpp.armv6.glibc.node +0 -0
- package/dist/native/prebuilds/linux-arm/@serialport+bindings-cpp.armv7.glibc.node +0 -0
- package/dist/native/prebuilds/linux-arm/@serialport+bindings-cpp.armv7.musl.node +0 -0
- package/dist/native/prebuilds/linux-arm64/@serialport+bindings-cpp.armv8.glibc.node +0 -0
- package/dist/native/prebuilds/linux-arm64/@serialport+bindings-cpp.armv8.musl.node +0 -0
- package/dist/native/prebuilds/linux-x64/@serialport+bindings-cpp.glibc.node +0 -0
- package/dist/native/prebuilds/linux-x64/@serialport+bindings-cpp.musl.node +0 -0
- package/dist/native/prebuilds/win32-arm64/@serialport+bindings-cpp.armv8.node +0 -0
- package/dist/native/prebuilds/win32-ia32/@serialport+bindings-cpp.node +0 -0
- package/dist/native/prebuilds/win32-x64/@serialport+bindings-cpp.node +0 -0
- package/licenses/atob-lite-LICENSE.md +18 -0
- package/licenses/debug-LICENSE +20 -0
- package/licenses/esptool-js-LICENSE +202 -0
- package/licenses/koffi-LICENSE.txt +22 -0
- package/licenses/ms-license.md +21 -0
- package/licenses/node-addon-api-LICENSE.md +9 -0
- package/licenses/node-gyp-build-LICENSE +21 -0
- package/licenses/pako-LICENSE +21 -0
- package/licenses/serialport__bindings-cpp-LICENSE +21 -0
- package/licenses/serialport__bindings-interface-LICENSE +21 -0
- package/licenses/serialport__parser-delimiter-LICENSE +21 -0
- package/licenses/serialport__parser-readline-LICENSE +21 -0
- package/package.json +9 -2
- package/dist/node_rom.py +0 -64
- package/dist/node_serial.py +0 -77
package/DEVICE_CORE_NOTICE.md
CHANGED
|
@@ -30,3 +30,16 @@ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
|
30
30
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
31
31
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
32
32
|
SOFTWARE.
|
|
33
|
+
|
|
34
|
+
Browser and Node ROM flashing use the separately installed esptool-js 0.7.1 package,
|
|
35
|
+
Copyright (c) 2023 Espressif Systems (Shanghai) Co. Ltd., Apache License 2.0.
|
|
36
|
+
The package's esp-flasher-stub v1.2.2 set-2 binaries retain their upstream
|
|
37
|
+
dual Apache-2.0/MIT terms. Its pako (MIT/Zlib) and atob-lite (MIT) dependencies
|
|
38
|
+
retain their own notices. No upstream source or stub binary is vendored here.
|
|
39
|
+
The S31 native-USB watchdog reset adapter uses the register sequence also
|
|
40
|
+
implemented by Apache-2.0 esptool-js P4 watchdog support.
|
|
41
|
+
|
|
42
|
+
Node serial access uses @serialport/bindings-cpp 13.0.0 (MIT).
|
|
43
|
+
Linux USB-Serial-JTAG modem controls use Koffi 2.16.3 (MIT).
|
|
44
|
+
Portable CLI/plugin bundles preserve original loaders, binaries and licenses,
|
|
45
|
+
including Koffi cnoke and Node API header notices.
|
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
`@esp-vision/device-cli` installs the `esp-vision-device` command for device discovery, inspection, configuration, control, firmware updates, Python execution, device file operations, JPEG capture, sequential batch plans, and bounded event watches. It is an optional host interface backed by the same `@esp-vision/device-core` package used by ESP-VISION clients.
|
|
4
4
|
|
|
5
|
-
Requires Node.js 22 or newer. Serial access
|
|
5
|
+
Requires Node.js 22 or newer. Serial access uses bundled npm native bindings; firmware flashing uses the same esptool-js backend as the website. No host Python, pyserial or Python esptool installation is required. LAN discovery uses the bundled multicast-DNS client. Port permissions and ownership still apply. The deprecated `--python` option is accepted but ignored for compatibility.
|
|
6
6
|
|
|
7
7
|
Run `esp-vision-device --help` for the command reference, or `esp-vision-device --help --json` for the versioned machine-readable command, output, and limit capabilities envelope.
|
|
8
8
|
|
|
@@ -26,7 +26,7 @@ For a continuous app, finish directory operations and uploads before starting it
|
|
|
26
26
|
|
|
27
27
|
`files list`, `files read`, `files write`, `files remove`, and `files mkdir` operate on device paths. `files read DEVICE_PATH --output LOCAL_FILE` writes binary content to a local file. `files write DEVICE_PATH --file LOCAL_FILE` sends local bytes to the device. Reads are capped at 16 MiB by default; `--max-bytes` can lower that limit.
|
|
28
28
|
|
|
29
|
-
`capture camera|screen --output LOCAL.jpg` writes one JPEG and returns its path, byte count, source, MIME type, and capture metadata. Images are never embedded as base64 in JSON output.
|
|
29
|
+
`capture camera|screen --output LOCAL.jpg` writes one JPEG and returns its path, byte count, source, MIME type, and capture metadata. Images are never embedded as base64 in JSON output. The `source` field identifies the requested source; it does not certify whether annotations are present. `camera` observes the application's latest camera frame, not the LCD image. Application drawing depends on firmware publication behavior; firmware advertising `debug.capture_frame.observed.v1` supplies an independent copy made at acquisition, before later drawing, without triggering a new acquisition. `screen` captures the current LCD framebuffer, including drawing rendered there; use it to verify LCD overlays and UI. It requires an initialized display, and camera/display dimensions may differ. Neither source starts the application or initializes the sensor/display for you.
|
|
30
30
|
|
|
31
31
|
## Bounded event watch
|
|
32
32
|
|
|
@@ -58,3 +58,9 @@ For a continuous app, finish directory operations and uploads before starting it
|
|
|
58
58
|
Status, Python output, firmware phases, cancellation, errors, and duration are NDJSON events on stderr. SIGINT exits with code 130, SIGTERM with 143, argument/plan errors with 2, other failures with 1, and success with 0. Busy or uncertain operations are never retried automatically.
|
|
59
59
|
|
|
60
60
|
Inspect JSON output uses the same versioned envelope as other commands. Human-readable inspect output remains a terminal table.
|
|
61
|
+
|
|
62
|
+
Device paths such as `/models` stay absolute device paths on Windows. Git Bash/MSYS may rewrite them; use PowerShell or prefix the individual command with `MSYS2_ARG_CONV_EXCL="*"`, supplying local paths in Windows form. Quoting the device path alone does not prevent conversion. Invalid device paths now fail before connecting, with a shell hint for Windows host paths.
|
|
63
|
+
|
|
64
|
+
## Coordinated source builds
|
|
65
|
+
|
|
66
|
+
Before Core 0.8.0 is published, use `node tools/ci/mcp/install_host.mjs --output <project-artifact-directory>` from the repository root, then build the CLI. The tracked Core lock intentionally has no registry URL or integrity for the unpublished version; the installer qualifies an exact local tarball and records its hash without changing that lock. Other dependencies keep their registry locks. Publish Core first, refresh the CLI registry lock from that published version, then rebuild and qualify CLI/plugin artifacts before publishing their versions. The publishing gate rejects a missing or mismatched registry integrity.
|
package/THIRD_PARTY_NOTICES.md
CHANGED
|
@@ -5,11 +5,23 @@ The CLI bundle includes the following third-party packages. Their original licen
|
|
|
5
5
|
| Package | Version | License | License file |
|
|
6
6
|
| --- | --- | --- | --- |
|
|
7
7
|
| @leichtgewicht/ip-codec | 2.0.5 | MIT | `leichtgewicht__ip-codec-LICENSE` |
|
|
8
|
+
| @serialport/bindings-cpp | 13.0.0 | MIT | `serialport__bindings-cpp-LICENSE` |
|
|
9
|
+
| @serialport/bindings-interface | 1.2.2 | MIT | `serialport__bindings-interface-LICENSE` |
|
|
10
|
+
| @serialport/parser-delimiter | 12.0.0 | MIT | `serialport__parser-delimiter-LICENSE` |
|
|
11
|
+
| @serialport/parser-readline | 12.0.0 | MIT | `serialport__parser-readline-LICENSE` |
|
|
8
12
|
| ansi-regex | 6.4.0 | MIT | `ansi-regex-license` |
|
|
13
|
+
| atob-lite | 2.0.0 | MIT | `atob-lite-LICENSE.md` |
|
|
14
|
+
| debug | 4.4.0 | MIT | `debug-LICENSE` |
|
|
9
15
|
| dns-packet | 5.6.1 | MIT | `dns-packet-LICENSE` |
|
|
10
16
|
| emoji-regex | 10.6.0 | MIT | `emoji-regex-LICENSE-MIT.txt` |
|
|
17
|
+
| esptool-js | 0.7.1 | Apache-2.0 | `esptool-js-LICENSE` |
|
|
11
18
|
| get-east-asian-width | 1.7.0 | MIT | `get-east-asian-width-license` |
|
|
19
|
+
| koffi | 2.16.3 | MIT | `koffi-LICENSE.txt` |
|
|
20
|
+
| ms | 2.1.3 | MIT | `ms-license.md` |
|
|
12
21
|
| multicast-dns | 7.2.5 | MIT | `multicast-dns-LICENSE` |
|
|
22
|
+
| node-addon-api | 8.3.0 | MIT | `node-addon-api-LICENSE.md` |
|
|
23
|
+
| node-gyp-build | 4.8.4 | MIT | `node-gyp-build-LICENSE` |
|
|
24
|
+
| pako | 2.2.0 | (MIT AND Zlib) | `pako-LICENSE` |
|
|
13
25
|
| smol-toml | 1.9.1 | BSD-3-Clause | `smol-toml-LICENSE` |
|
|
14
26
|
| string-width | 7.2.0 | MIT | `string-width-license` |
|
|
15
27
|
| strip-ansi | 7.2.0 | MIT | `strip-ansi-license` |
|
|
@@ -112,23 +124,31 @@ Bundled from: `node_modules/smol-toml/dist/date.js`, `node_modules/smol-toml/dis
|
|
|
112
124
|
|
|
113
125
|
### Source notice 6
|
|
114
126
|
|
|
115
|
-
Bundled from: `node_modules
|
|
127
|
+
Bundled from: `node_modules/pako/dist/pako.esm.mjs`
|
|
116
128
|
|
|
117
129
|
```text
|
|
118
|
-
|
|
130
|
+
/*! pako 2.2.0 https://github.com/nodeca/pako @license (MIT AND Zlib) */
|
|
119
131
|
```
|
|
120
132
|
|
|
121
133
|
### Source notice 7
|
|
122
134
|
|
|
123
|
-
Bundled from: `node_modules/@esp-vision/device-core/src/
|
|
135
|
+
Bundled from: `node_modules/@esp-vision/device-core/src/firmware_feed.js`, `node_modules/@esp-vision/device-core/src/firmware_flash.js`, `node_modules/@esp-vision/device-core/src/index.js`, `node_modules/@esp-vision/device-core/src/network_discovery.js`, `node_modules/@esp-vision/device-core/src/network_discovery_node.js`, `node_modules/@esp-vision/device-core/src/node_inventory.js`, `node_modules/@esp-vision/device-core/src/node_rom.js`, `node_modules/@esp-vision/device-core/src/node_rom_port.js`, `node_modules/@esp-vision/device-core/src/node_transport.js`, `src/cli.js`
|
|
124
136
|
|
|
125
137
|
```text
|
|
126
|
-
// SPDX-FileCopyrightText: 2026
|
|
138
|
+
// SPDX-FileCopyrightText: 2026 ESP-VISION-IDE
|
|
127
139
|
```
|
|
128
140
|
|
|
129
141
|
### Source notice 8
|
|
130
142
|
|
|
131
|
-
Bundled from: `node_modules/@esp-vision/device-core/src/
|
|
143
|
+
Bundled from: `node_modules/@esp-vision/device-core/src/browser_rom_compat.js`, `node_modules/@esp-vision/device-core/src/device_capture.js`, `node_modules/@esp-vision/device-core/src/firmware_io.js`, `node_modules/@esp-vision/device-core/src/firmware_partitions.js`, `node_modules/@esp-vision/device-core/src/firmware_release.js`, `node_modules/@esp-vision/device-core/src/jpeg_validate.js`, `node_modules/@esp-vision/device-core/src/node.js`, `node_modules/@esp-vision/device-core/src/node_rom.js`, `node_modules/@esp-vision/device-core/src/node_rom_probe.js`, `node_modules/@esp-vision/device-core/src/node_serial.js`, `node_modules/@esp-vision/device-core/src/node_signals.js`, `node_modules/@esp-vision/device-core/src/rom_identity.js`, `node_modules/@esp-vision/device-core/src/rom_loader.js`, `node_modules/@esp-vision/device-core/src/rom_md5.js`, `node_modules/@esp-vision/device-core/src/rom_reset.js`, `src/serial_diagnostics.js`
|
|
144
|
+
|
|
145
|
+
```text
|
|
146
|
+
// SPDX-FileCopyrightText: 2026 Espressif Systems (Shanghai) CO LTD
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
### Source notice 9
|
|
150
|
+
|
|
151
|
+
Bundled from: `node_modules/@esp-vision/device-core/src/browser_rom_compat.js`, `node_modules/@esp-vision/device-core/src/device_capture.js`, `node_modules/@esp-vision/device-core/src/device_files.js`, `node_modules/@esp-vision/device-core/src/device_python.js`, `node_modules/@esp-vision/device-core/src/firmware_feed.js`, `node_modules/@esp-vision/device-core/src/firmware_flash.js`, `node_modules/@esp-vision/device-core/src/firmware_io.js`, `node_modules/@esp-vision/device-core/src/firmware_partitions.js`, `node_modules/@esp-vision/device-core/src/firmware_release.js`, `node_modules/@esp-vision/device-core/src/index.js`, `node_modules/@esp-vision/device-core/src/jpeg_validate.js`, `node_modules/@esp-vision/device-core/src/network_discovery.js`, `node_modules/@esp-vision/device-core/src/network_discovery_node.js`, `node_modules/@esp-vision/device-core/src/node.js`, `node_modules/@esp-vision/device-core/src/node_inventory.js`, `node_modules/@esp-vision/device-core/src/node_rom.js`, `node_modules/@esp-vision/device-core/src/node_rom_port.js`, `node_modules/@esp-vision/device-core/src/node_rom_probe.js`, `node_modules/@esp-vision/device-core/src/node_serial.js`, `node_modules/@esp-vision/device-core/src/node_signals.js`, `node_modules/@esp-vision/device-core/src/node_transport.js`, `node_modules/@esp-vision/device-core/src/rom_identity.js`, `node_modules/@esp-vision/device-core/src/rom_loader.js`, `node_modules/@esp-vision/device-core/src/rom_md5.js`, `node_modules/@esp-vision/device-core/src/rom_reset.js`, `src/cli.js`, `src/serial_diagnostics.js`
|
|
132
152
|
|
|
133
153
|
```text
|
|
134
154
|
// SPDX-License-Identifier: Apache-2.0
|