@kvell007/embed-labs-cli 0.1.0-alpha.4 → 0.1.0-alpha.41

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.
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ export {};
@@ -0,0 +1,74 @@
1
+ #!/usr/bin/env node
2
+ import { writeFileSync } from "node:fs";
3
+ import { createRequire } from "node:module";
4
+ import { arch, platform } from "node:os";
5
+ const phase = process.argv[2] === "preinstall" ? "preinstall" : "postinstall";
6
+ const require = createRequire(import.meta.url);
7
+ const target = `${platform()}-${arch()}`;
8
+ const nativePackages = {
9
+ "darwin-arm64": "@embed-labs/local-bridge-darwin-arm64",
10
+ "linux-x64": "@embed-labs/local-bridge-linux-x64",
11
+ "linux-arm64": "@embed-labs/local-bridge-linux-arm64",
12
+ "win32-x64": "@embed-labs/local-bridge-win32-x64"
13
+ };
14
+ async function main() {
15
+ if (phase === "preinstall") {
16
+ await progress([
17
+ [5, `install: initializing (${target})`],
18
+ [12, "install: preparing npm package graph"],
19
+ [20, "install: resolving CLI dependencies"]
20
+ ]);
21
+ return;
22
+ }
23
+ const nativeName = nativePackages[target];
24
+ const nativeStatus = nativeName
25
+ ? packageAvailable(nativeName)
26
+ ? `native bridge package ready (${nativeName})`
27
+ : `native bridge package missing (${nativeName})`
28
+ : `native bridge package unavailable for ${target}`;
29
+ await progress([
30
+ [65, "install: verifying CLI files"],
31
+ [78, nativeStatus],
32
+ [92, "install: checking command shims"],
33
+ [100, "install: complete"]
34
+ ]);
35
+ }
36
+ async function progress(steps) {
37
+ for (const [percent, message] of steps) {
38
+ writeProgress(percent, message);
39
+ await sleep(1000);
40
+ }
41
+ }
42
+ function writeProgress(percent, message) {
43
+ const line = `[Embed Labs] ${String(percent).padStart(3, " ")}% ${message}\n`;
44
+ process.stdout.write(line);
45
+ writeDirectConsole(line);
46
+ }
47
+ function writeDirectConsole(line) {
48
+ if (process.stdout.isTTY || process.env.EMBEDLABS_INSTALL_NO_TTY === "1") {
49
+ return;
50
+ }
51
+ try {
52
+ writeFileSync(platform() === "win32" ? "\\\\.\\CONOUT$" : "/dev/tty", line, { flag: "a" });
53
+ }
54
+ catch {
55
+ // CI and some package managers run without a controlling TTY. In that case
56
+ // stdout is still available when lifecycle output is not suppressed.
57
+ }
58
+ }
59
+ function packageAvailable(name) {
60
+ try {
61
+ require.resolve(`${name}/package.json`);
62
+ return true;
63
+ }
64
+ catch {
65
+ return false;
66
+ }
67
+ }
68
+ function sleep(ms) {
69
+ return new Promise((resolve) => setTimeout(resolve, ms));
70
+ }
71
+ main().catch((error) => {
72
+ writeProgress(100, `install: warning (${error instanceof Error ? error.message : String(error)})`);
73
+ });
74
+ //# sourceMappingURL=install-progress.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"install-progress.js","sourceRoot":"","sources":["../src/install-progress.ts"],"names":[],"mappings":"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"}
@@ -3,9 +3,12 @@ export interface LocalToolchainAuthContext {
3
3
  profile: string;
4
4
  source?: string;
5
5
  account_id?: string;
6
+ api_key_id?: string;
7
+ device_id?: string;
6
8
  }
7
9
  export interface LocalToolchainValidationResult {
8
10
  ok: boolean;
11
+ mode: string;
9
12
  host: {
10
13
  platform: string;
11
14
  arch: string;
@@ -14,6 +17,10 @@ export interface LocalToolchainValidationResult {
14
17
  release_root: string;
15
18
  checked_paths: LocalToolchainPathCheck[];
16
19
  missing_paths: string[];
20
+ path_leaks: LocalToolchainPathLeak[];
21
+ missing_groups: string[];
22
+ repair_command?: string;
23
+ summary_for_user: string;
17
24
  notes: string[];
18
25
  }
19
26
  export interface LocalToolchainPathCheck {
@@ -21,6 +28,11 @@ export interface LocalToolchainPathCheck {
21
28
  path: string;
22
29
  exists: boolean;
23
30
  }
31
+ export interface LocalToolchainPathLeak {
32
+ label: string;
33
+ path: string;
34
+ forbidden: string;
35
+ }
24
36
  export interface LocalCompileOptions {
25
37
  boardId: string;
26
38
  sourcePath: string;
@@ -80,6 +92,7 @@ export interface LocalToolchainPackageManifest {
80
92
  family?: string;
81
93
  board?: string;
82
94
  variant?: string;
95
+ board_id?: string;
83
96
  requires?: Array<{
84
97
  id: string;
85
98
  version: string;
@@ -100,11 +113,14 @@ export interface LocalToolchainLatestResult {
100
113
  version: string;
101
114
  metadata_root?: string;
102
115
  packages: LocalToolchainPackageRef[];
116
+ download?: LocalToolchainDownloadPlan;
117
+ download_error?: string;
103
118
  }
104
119
  export interface LocalToolchainInstallOptions extends LocalToolchainLatestOptions {
105
120
  sourceReleaseRoot?: string;
106
121
  sourceUrl?: string;
107
122
  installRoot?: string;
123
+ mode?: string;
108
124
  force?: boolean;
109
125
  }
110
126
  export interface LocalToolchainInstallResult {
@@ -112,13 +128,18 @@ export interface LocalToolchainInstallResult {
112
128
  version: string;
113
129
  channel: string;
114
130
  host: string;
131
+ mode: string;
115
132
  install_root: string;
116
133
  release_root: string;
117
134
  registry_path: string;
118
135
  source: {
119
- kind: "directory" | "url";
136
+ kind: "directory" | "url" | "components";
120
137
  value: string;
121
138
  downloaded_path?: string;
139
+ mirror_kind?: string;
140
+ sha256?: string;
141
+ size_bytes?: number;
142
+ components?: LocalToolchainInstalledComponent[];
122
143
  };
123
144
  installed_paths: string[];
124
145
  packages: LocalToolchainPackageRef[];
@@ -128,16 +149,128 @@ export interface LocalToolchainCurrentResult {
128
149
  installed: boolean;
129
150
  board_id: string;
130
151
  version?: string;
152
+ mode?: string;
131
153
  release_root?: string;
132
154
  registry_path: string;
133
155
  install_root: string;
134
156
  channel?: string;
135
157
  packages?: LocalToolchainPackageRef[];
136
158
  }
159
+ export interface LocalToolchainListOptions extends LocalToolchainLatestOptions {
160
+ installRoot?: string;
161
+ installedOnly?: boolean;
162
+ }
163
+ export interface LocalToolchainEnvironmentRecord {
164
+ board_id: string;
165
+ package_id: string;
166
+ display_name: string;
167
+ family?: string;
168
+ variant?: string;
169
+ channel: string;
170
+ host: string;
171
+ status: "installed" | "available" | "update_available" | "unsupported_host";
172
+ supported_host: boolean;
173
+ unsupported_packages: string[];
174
+ install_modes: string[];
175
+ installed?: {
176
+ version?: string;
177
+ channel?: string;
178
+ mode?: string;
179
+ release_root?: string;
180
+ };
181
+ latest: {
182
+ version: string;
183
+ default_mode?: string;
184
+ source_url?: string;
185
+ manifest_url?: string;
186
+ component_count?: number;
187
+ download_error?: string;
188
+ };
189
+ packages: LocalToolchainPackageRef[];
190
+ components?: LocalToolchainEnvironmentComponent[];
191
+ install_command: string;
192
+ update_command: string;
193
+ notes: string[];
194
+ }
195
+ export interface LocalToolchainEnvironmentComponent {
196
+ id: string;
197
+ version: string;
198
+ role?: string;
199
+ install_modes?: string[];
200
+ file: string;
201
+ size_bytes: number;
202
+ source_url?: string;
203
+ }
204
+ export interface LocalToolchainListResult {
205
+ host: string;
206
+ channel: string;
207
+ metadata_source: "built_in" | "local_override";
208
+ metadata_root?: string;
209
+ install_root: string;
210
+ registry_path: string;
211
+ environments: LocalToolchainEnvironmentRecord[];
212
+ }
213
+ export interface LocalToolchainDownloadPlan {
214
+ channel_url: string;
215
+ manifest_url: string;
216
+ package_id: string;
217
+ version: string;
218
+ board_id: string;
219
+ host: string;
220
+ toolchain: string;
221
+ source_url?: string;
222
+ mirror_kind?: string;
223
+ archive?: {
224
+ file: string;
225
+ size_bytes: number;
226
+ sha256: string;
227
+ content_type?: string;
228
+ };
229
+ mirrors: LocalToolchainDownloadMirror[];
230
+ components?: LocalToolchainDownloadComponent[];
231
+ default_mode?: string;
232
+ }
233
+ export interface LocalToolchainDownloadMirror {
234
+ kind: string;
235
+ enabled: boolean;
236
+ url: string;
237
+ sha256?: string;
238
+ size_bytes?: number;
239
+ }
240
+ export interface LocalToolchainDownloadComponent {
241
+ id: string;
242
+ version: string;
243
+ role?: string;
244
+ install_modes?: string[];
245
+ archive: {
246
+ file: string;
247
+ size_bytes: number;
248
+ sha256: string;
249
+ content_type?: string;
250
+ };
251
+ source_url?: string;
252
+ mirror_kind?: string;
253
+ mirrors: LocalToolchainDownloadMirror[];
254
+ }
255
+ export interface LocalToolchainInstalledComponent {
256
+ id: string;
257
+ version: string;
258
+ role?: string;
259
+ archive_file: string;
260
+ mirror_kind?: string;
261
+ downloaded_path: string;
262
+ size_bytes: number;
263
+ sha256: string;
264
+ }
137
265
  export declare function defaultLocalReleaseRoot(): string;
138
266
  export declare function latestLocalToolchain(options?: LocalToolchainLatestOptions): Promise<LocalToolchainLatestResult>;
139
267
  export declare function currentLocalToolchain(installRoot?: string, boardId?: string): Promise<LocalToolchainCurrentResult>;
268
+ export declare function listLocalToolchainEnvironments(options?: LocalToolchainListOptions): Promise<LocalToolchainListResult>;
140
269
  export declare function installLocalToolchain(options?: LocalToolchainInstallOptions): Promise<LocalToolchainInstallResult>;
141
- export declare function validateLocalToolchain(releaseRoot?: string): Promise<LocalToolchainValidationResult>;
270
+ export declare function validateLocalToolchain(input?: string | {
271
+ releaseRoot?: string;
272
+ mode?: string;
273
+ boardId?: string;
274
+ }): Promise<LocalToolchainValidationResult>;
142
275
  export declare function compileTaishanPiSingleFile(options: LocalCompileOptions): Promise<LocalCompileResult>;
143
276
  export declare function buildTaishanPiQtSmoke(options: LocalQtSmokeBuildOptions): Promise<LocalCompileResult>;