@kvell007/embed-labs-cli 0.1.0-alpha.6 → 0.1.0-alpha.61

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/README.md CHANGED
@@ -22,8 +22,8 @@ names.
22
22
  - Auth token login, logout, and status commands.
23
23
  - Account registration, API key issue/list, token usage metering, and billing
24
24
  statement preview commands.
25
- - Server-side application source generation through Cloud API agents, followed by
26
- task artifacts and downloads.
25
+ - Board knowledge/method discovery through Cloud API, plus local-first
26
+ toolchain installation, validation, compile, and hardware handoff.
27
27
  - Debug tool, device, serial, SSH, and flash commands routed through the local
28
28
  bridge.
29
29
  - Project, task, artifact, and cloud status commands routed through the cloud
@@ -41,12 +41,29 @@ public SDK until a versioned API contract is approved.
41
41
  Current experimental npm install:
42
42
 
43
43
  ```bash
44
- npm install -g @kvell007/embed-labs-cli@alpha
44
+ npm install -g embedlabs@latest
45
45
  embedlabs --help
46
46
  embedlabs help getting-started
47
+ embedlabs local toolchain list
48
+ embedlabs plugin update check
47
49
  embedlabs plugin install all
48
50
  ```
49
51
 
52
+ Clean reinstall:
53
+
54
+ ```bash
55
+ npm uninstall -g embedlabs
56
+ npm install -g embedlabs@latest
57
+ embedlabs plugin install all --force
58
+ ```
59
+
60
+ If an early test build was installed under legacy alias names, remove those
61
+ aliases once with:
62
+
63
+ ```bash
64
+ npm uninstall -g embedlabs-cli embedboard embedboard-cli
65
+ ```
66
+
50
67
  Future organization-scope install after final release approval:
51
68
 
52
69
  ```bash
@@ -81,32 +98,60 @@ embedlabs doctor
81
98
  embedlabs auth login --token <token>
82
99
  ```
83
100
 
101
+ If a cloud or plugin command reaches a protected API before a token is
102
+ configured, the CLI returns `auth_token_missing` with the registration URL and
103
+ these setup options:
104
+
105
+ ```bash
106
+ open https://api.embedboard.com/dashboard
107
+ embedlabs auth login --token <your_token>
108
+ # or for automation:
109
+ export EMBED_API_TOKEN=<your_token>
110
+ embedlabs auth status
111
+ ```
112
+
113
+ If `.embed-labs/auth.json` was copied from another computer, protected Cloud
114
+ requests fail before network I/O with `tool_integrity_check_failed` and the
115
+ message `工具完整性校验失败,请在当前电脑重新执行 embedlabs auth login --token <key>`.
116
+
84
117
  For the current public API plus local TaishanPi verification path, see
85
118
  `docs/runbooks/PUBLIC_CLI_USER_VERIFICATION.md`.
86
119
 
87
- For the cloud build path:
120
+ For board knowledge and local toolchain work:
88
121
 
89
122
  ```bash
90
- embed build template list
91
- embed build template show <template_id>
92
- embed build workspace provision --account <account_id> --project <project_id> --template <template_id>
93
- embed build workspace source put <workspace_id> --file ./main.c:src/main.c
94
- embed build application generate --workspace <workspace_id> --prompt "Create a minimal Linux app"
95
- embed cloud task artifacts <task_id>
96
- embed artifact download <artifact_id> --output ./artifact.bin
123
+ embed board registry list
124
+ embed board methods taishanpi-1m-rk3566
125
+ embed board knowledge search taishanpi-1m-rk3566 --query "UART pinout"
126
+ embed local toolchain list
127
+ embed local toolchain latest --board taishanpi-1m-rk3566
128
+ embed local toolchain validate --board taishanpi-1m-rk3566 --mode minimal
129
+ embed local compile taishanpi --source ./main.c --output ./.embed-labs/build/main
97
130
  ```
98
131
 
132
+ Server-side user workspaces and server Docker builds are disabled in the
133
+ local-first product mode. The server remains responsible for accounts, API
134
+ keys, model routing, billing, plugin releases, SDK/download metadata, and small
135
+ image/DTB/logo package generation.
136
+
99
137
  For local hardware access:
100
138
 
101
139
  ```bash
102
140
  embed bridge start
103
141
  embed device list
104
142
  embed tool call wifi.scan --input-json '{"host":"198.19.77.2","user":"root"}'
143
+ embed tool call rp2350.monitor.capabilities --json
144
+ embed tool call rp2350.monitor.gpio.read --input-json '{"pins":[16,17],"pull":"none"}' --approve
145
+ embed tool call rp2350.monitor.spi.transfer --input-json '{"hex":"a55a3cc3"}' --approve
146
+ embed tool call rp2350.monitor.uart.write --input-json '{"baud":115200,"text":"hello","line_ending":"lf"}' --approve
147
+ embed tool call rp2350.monitor.i2c.transfer --input-json '{"address":"0x50","write":"00","read_len":4}' --approve
148
+ embed tool call rp2350.monitor.wifi.manage --input-json '{"action":"scan"}' --approve
149
+ embed tool call rp2350.monitor.probe.debug --input-json '{"action":"status"}' --approve
105
150
  embed tool call chip.temperature --input-json '{"host":"198.19.77.2","user":"root"}'
106
151
  embed flash plan --board <rp2350|taishanpi> --artifact ./artifact.bin
107
152
  ```
108
153
 
109
- For cloud API workflows, point the CLI at a running cloud API service:
154
+ For local Cloud API development, override the production default:
110
155
 
111
156
  ```bash
112
157
  EMBED_CLOUD_API_URL=http://127.0.0.1:18100 embed cloud status
@@ -159,14 +204,25 @@ embed billing snapshot create --account <account_id> [--from <iso>] [--to <iso>]
159
204
  embed billing snapshot list --account <account_id> [--json]
160
205
  embed billing snapshot show <billing_snapshot_id> [--json]
161
206
 
207
+ embed board registry list [--json]
208
+ embed board methods <template_id> [--json]
209
+ embed board knowledge <template_id> [--json]
210
+ embed board knowledge search <template_id> --query <text> [--json]
162
211
  embed build template list [--json]
163
212
  embed build template show <template_id> [--json]
164
- embed build workspace provision --account <account_id> --project <project_id> [--template <template_id>] [--copy-mode auto|copy|symlink|skeleton] [--require-seed] [--dry-run] [--json]
165
- embed build workspace list --account <account_id> [--json]
166
- embed build workspace show <workspace_id> [--json]
167
- embed build workspace source put <workspace_id> [--account <account_id>] --file <local_path>:<source_path> [--file <local_path>:<source_path>] [--json]
168
- embed build application stub --workspace <workspace_id> [--account <account_id>] [--json]
169
- embed build application generate --workspace <workspace_id> --prompt <request> [--account <account_id>] [--target <source_path>] [--provider stub|openai|cc|claude-code] [--model <model>] [--json]
213
+ embed local toolchain list [--board <board_id>] [--json]
214
+ embed local toolchain installed [--board <board_id>] [--json]
215
+ embed local toolchain latest [--board <board_id>] [--json]
216
+ embed local toolchain current [--json]
217
+ embed local toolchain install [--board <board_id>] [--mode minimal|runtime|compile|qt|firmware|full|images] [--json]
218
+ embed local toolchain validate [--board <board_id>] [--mode minimal|runtime|compile|qt|firmware|full|images] [--json]
219
+ embed local compile taishanpi --source <main.c|main.cpp> --output <artifact> [--json]
220
+ embed local build qt-smoke --build-dir <build_dir> [--source <qt-cmake-dir>] [--target-name <executable>] [--json]
221
+
222
+ The `qt-smoke` subcommand name is kept for compatibility. When `--source` and
223
+ `--target-name` are supplied, it builds the supplied TaishanPi Qt/CMake
224
+ application, including official board-pack examples such as
225
+ `board-packs/taishanpi/examples/modbus-loop-demo/taishanpi`.
170
226
 
171
227
  embed bridge start [--host 127.0.0.1] [--port 18083]
172
228
  embed bridge status [--json]
@@ -182,6 +238,14 @@ embed tool call chip.cpu.frequency --input-json '{"host":"198.19.77.2","user":"r
182
238
  embed tool call chip.temperature --input-json '{"host":"198.19.77.2","user":"root"}' [--json]
183
239
  embed tool call qml.runtime.status --input-json '{"host":"198.19.77.2","user":"root","port":18130}' [--json]
184
240
  embed tool call qml.runtime.start --input-json '{"host":"198.19.77.2","user":"root","port":18130}' [--json]
241
+ embed tool call rp2350.monitor.capabilities [--json]
242
+ embed tool call rp2350.monitor.gpio.read --input-json '{"pins":[16,17]}' --approve [--json]
243
+ embed tool call rp2350.monitor.spi.transfer --input-json '{"hex":"a55a3cc3"}' --approve [--json]
244
+ embed tool call rp2350.monitor.uart.write --input-json '{"baud":115200,"text":"hello","line_ending":"lf"}' --approve [--json]
245
+ embed tool call rp2350.monitor.i2c.transfer --input-json '{"address":"0x50","write":"00","read_len":4}' --approve [--json]
246
+ embed tool call rp2350.monitor.wifi.manage --input-json '{"action":"scan"}' --approve [--json]
247
+ embed tool call rp2350.monitor.probe.debug --input-json '{"action":"status"}' --approve [--json]
248
+ embed tool call rp2350.monitor.operation --input-json '{"action":"logic.stop","params":{}}' --approve [--json]
185
249
 
186
250
  embed serial list [--json]
187
251
  embed serial capture --path <port> [--baud 115200] [--duration 5] [--json]
@@ -248,7 +312,7 @@ preview records; they are not invoices and do not collect payment.
248
312
  - `EMBED_BRIDGE_URL`: local bridge URL used by bridge-backed commands. Default:
249
313
  `http://127.0.0.1:18083`.
250
314
  - `EMBED_CLOUD_API_URL`: cloud API URL used by cloud-backed commands. Default:
251
- `http://127.0.0.1:18100`.
315
+ `https://api.embedboard.com`.
252
316
  - `EMBED_API_TOKEN`: auth token source for non-interactive sessions.
253
317
  - `EMBED_AUTH_PROFILE`: profile name used with `EMBED_API_TOKEN`.
254
318
  - `EMBED_AUTH_FILE`: token file path for `embed auth login`. Default:
@@ -274,10 +338,10 @@ Current local workflows are intentionally guarded:
274
338
  evidence without opening probes or starting debug sessions.
275
339
  - RP2350 UF2 flashing requires a mounted UF2 volume, a `.uf2` artifact, a ready
276
340
  flash plan, and explicit `--approve`.
277
- - TaishanPi flash planning can validate expected image files and local tool
278
- availability, but real destructive TaishanPi flashing is guarded and not
279
- enabled. `embed flash run --board taishanpi --approve` remains blocked until
280
- the exact hardware profile and Board Pack command templates are accepted.
341
+ - TaishanPi initialization image flashing resolves the installed local SDK
342
+ image set by default. `embed flash run --board taishanpi --approve` writes
343
+ through Local Bridge only after the ready plan validates `rkdeveloptool`,
344
+ `parameter.txt`, and all required images.
281
345
 
282
346
  These commands should be treated as current local evidence and planning tools,
283
347
  not broad hardware support claims.