@kvell007/embed-labs-cli 0.1.0-alpha.90 → 0.1.0-alpha.91

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.
@@ -150,7 +150,7 @@ const tools = [
150
150
  },
151
151
  {
152
152
  name: "dbt_rp2350_uart_write",
153
- description: "Send text or HEX data over a configurable RP2350 UART channel, with optional tx/rx/baud override. Accepts uart_id such as uart1 and data/data_format aliases. Requires approved=true.",
153
+ description: "Send text or HEX data over a configurable RP2350 UART channel through the already-running RP2350 Monitor hardware bridge. This is a direct hardware-control operation: do not search the workspace, create Pico SDK/CMake projects, or write firmware source for UART test-data requests. Accepts uart_id such as uart1 and data/data_format aliases. For closed-loop capture, prefer dbt_rp2350_logic_capture with a UART stimulus instead of calling this separately. Requires approved=true.",
154
154
  inputSchema: { type: "object", properties: { id: { type: "number" }, instance: { type: "number" }, uart_id: { type: "string", description: "Alias such as uart0 or uart1; normalized to instance." }, tx: { type: "number" }, rx: { type: "number" }, baud: { type: "number" }, text: { type: "string" }, hex: { type: "string" }, data: { type: "string", description: "Text or hex payload depending on data_format." }, data_format: { type: "string", description: "hex, text, string, utf8, or ascii." }, data_hex: { type: "string" }, line_ending: { type: "string" }, approved: { type: "boolean" }, approve: { type: "boolean" }, transport: { type: "string" }, local_device_id: { type: "string" }, monitor_bridge_url: { type: "string" }, serial_path: { type: "string" }, tcp: { type: "string" }, tcp_endpoint: { type: "string" }, host: { type: "string" }, port: { type: "number" }, timeout_ms: { type: "number" } } }
155
155
  },
156
156
  {
@@ -160,7 +160,7 @@ const tools = [
160
160
  },
161
161
  {
162
162
  name: "dbt_rp2350_logic_capture",
163
- description: "Capture a compact RP2350-Monitor logic-analyzer JSONL file and optionally generate UART/SPI/I2C stimulus in the same operation. Requires approved=true because it arms local hardware. For closed-loop validation, do not call uart/spi write separately; pass stimulus here. UART/SPI/I2C/GPIO/logic functions may be combined freely when their GPIO sets do not overlap; only overlapping pins conflict. Example UART loopback: UART1 GP8/GP9 wired to logic GP16/GP17. Supports USB serial or board LAN IP/TCP transport.",
163
+ description: "Capture a compact RP2350-Monitor logic-analyzer JSONL file and optionally generate UART/SPI/I2C stimulus in the same operation. This is the required entrypoint for requests like 'use UART1 to send test data and capture it with GP16/GP17': do not search the repo, create Pico SDK/CMake projects, or write firmware source. Requires approved=true because it arms local hardware. For closed-loop validation, do not call uart/spi write separately; pass stimulus here. UART/SPI/I2C/GPIO/logic functions may be combined freely when their GPIO sets do not overlap; only overlapping pins conflict. Example UART loopback: UART1 output GP8/GP9 wired to logic-analyzer inputs GP16/GP17, so call channels=[\"gpio16\",\"gpio17\"] and stimulus={\"action\":\"uart.write\",\"uart_id\":\"uart1\",\"tx\":8,\"rx\":9,...}. GP16/GP17 are analyzer inputs in that example, not UART1 output pins. Supports USB serial or board LAN IP/TCP transport.",
164
164
  inputSchema: {
165
165
  type: "object",
166
166
  properties: {
@@ -725,7 +725,7 @@ const tools = [
725
725
  },
726
726
  {
727
727
  name: "dbttool",
728
- description: "Generic Embed Labs action router. Use this when a board/protocol-specific action is not visible as a top-level MCP tool. Action groups: catalog discovery (supported-boards, cloud-status, knowledge), generic board control (board-reboot, board-bootloader, image-flash/image-update), local environment (local-toolchain-list/install/uninstall/validate/current, local-compile, local-qt-smoke), RP2350 hardware control (rp2350-capabilities/status/gpio-read/gpio-write/uart-write/i2c-transfer/spi-transfer/logic-capture/logic-decode/wifi-manage/probe-debug/monitor-firmware-flash/initial-firmware-flash), TaishanPi workflows (taishanpi-qt-workflow, boot-logo-update, taishanpi-initial-image-flash), and task/artifact helpers. Server workspace and Docker build actions are disabled in the local-first product model.",
728
+ description: "Generic Embed Labs action router. Use this when a board/protocol-specific action is not visible as a top-level MCP tool. For RP2350/Pico Monitor hardware-control requests such as UART/SPI/I2C/GPIO test output, logic-analyzer capture, Wi-Fi, probe, or firmware flashing, call the matching rp2350-* action directly through this router; do not search the workspace, create Pico SDK/CMake projects, write main.c, scrape the monitor UI, or use shell serial/curl commands. For closed-loop protocol validation, call action=rp2350-logic-capture once with a stimulus object, then action=rp2350-logic-decode. Action groups: catalog discovery (supported-boards, cloud-status, knowledge), generic board control (board-reboot, board-bootloader, image-flash/image-update), local environment (local-toolchain-list/install/uninstall/validate/current, local-compile, local-qt-smoke), RP2350 hardware control (rp2350-capabilities/status/gpio-read/gpio-write/uart-write/i2c-transfer/spi-transfer/logic-capture/logic-decode/wifi-manage/probe-debug/monitor-firmware-flash/initial-firmware-flash), TaishanPi workflows (taishanpi-qt-workflow, boot-logo-update, taishanpi-initial-image-flash), and task/artifact helpers. Server workspace and Docker build actions are disabled in the local-first product model.",
729
729
  inputSchema: {
730
730
  type: "object",
731
731
  required: ["action"],
@@ -1668,7 +1668,7 @@ function compactRp2350CapabilitiesResult(response) {
1668
1668
  }),
1669
1669
  example_loopback_profiles: Array.isArray(result.example_loopback_profiles) ? result.example_loopback_profiles : undefined,
1670
1670
  unsupported: Array.isArray(result.unsupported) ? result.unsupported : undefined,
1671
- guidance: "In the default compact MCP profile, call RP2350 actions through dbttool, for example action=rp2350-spi-transfer, rp2350-logic-capture, or rp2350-logic-decode with arguments_json. In full engineering profile these actions may also appear as dbt_rp2350_* tools. For closed-loop capture, put stimulus in the logic-capture action and decode with logic-decode. Do not search web pages or scrape the Monitor UI.",
1671
+ guidance: "In the default compact MCP profile, call RP2350 actions through dbttool, for example action=rp2350-spi-transfer, rp2350-logic-capture, or rp2350-logic-decode with arguments_json. In full engineering profile these actions may also appear as dbt_rp2350_* tools. For closed-loop capture, put stimulus in the logic-capture action and decode with logic-decode. Do not search the workspace, create Pico SDK/CMake projects, write firmware source, search web pages, or scrape the Monitor UI for RP2350 Monitor hardware-control requests.",
1672
1672
  raw_omitted: true
1673
1673
  });
1674
1674
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kvell007/embed-labs-cli",
3
- "version": "0.1.0-alpha.90",
3
+ "version": "0.1.0-alpha.91",
4
4
  "description": "Command-line interface for Embed Labs Cloud. Experimental npm publish.",
5
5
  "private": false,
6
6
  "type": "module",
@@ -18,8 +18,8 @@
18
18
  "embedlabs": "dist/index.js"
19
19
  },
20
20
  "dependencies": {
21
- "@embed-labs/local-bridge": "npm:@kvell007/embed-labs-local-bridge@0.1.0-alpha.90",
22
- "@embed-labs/protocol": "npm:@kvell007/embed-labs-protocol@0.1.0-alpha.90",
21
+ "@embed-labs/local-bridge": "npm:@kvell007/embed-labs-local-bridge@0.1.0-alpha.91",
22
+ "@embed-labs/protocol": "npm:@kvell007/embed-labs-protocol@0.1.0-alpha.91",
23
23
  "qrcode-terminal": "^0.12.0"
24
24
  },
25
25
  "publishConfig": {