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

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.
@@ -60,7 +60,84 @@ export interface LocalCommandResult {
60
60
  stdout_tail: string[];
61
61
  stderr_tail: string[];
62
62
  }
63
+ export interface LocalToolchainPackageRef {
64
+ id: string;
65
+ version: string;
66
+ manifest?: string;
67
+ }
68
+ export interface LocalToolchainChannel {
69
+ schema: string;
70
+ channel: string;
71
+ packages: LocalToolchainPackageRef[];
72
+ }
73
+ export interface LocalToolchainPackageManifest {
74
+ schema: string;
75
+ id: string;
76
+ version: string;
77
+ kind: "tools" | "family" | "board";
78
+ display_name?: string;
79
+ hosts?: string[];
80
+ family?: string;
81
+ board?: string;
82
+ variant?: string;
83
+ requires?: Array<{
84
+ id: string;
85
+ version: string;
86
+ roles?: string[];
87
+ }>;
88
+ build_modes?: string[];
89
+ provides?: string[];
90
+ }
91
+ export interface LocalToolchainLatestOptions {
92
+ boardId?: string;
93
+ channel?: string;
94
+ metadataRoot?: string;
95
+ }
96
+ export interface LocalToolchainLatestResult {
97
+ board_id: string;
98
+ channel: string;
99
+ host: string;
100
+ version: string;
101
+ metadata_root?: string;
102
+ packages: LocalToolchainPackageRef[];
103
+ }
104
+ export interface LocalToolchainInstallOptions extends LocalToolchainLatestOptions {
105
+ sourceReleaseRoot?: string;
106
+ sourceUrl?: string;
107
+ installRoot?: string;
108
+ force?: boolean;
109
+ }
110
+ export interface LocalToolchainInstallResult {
111
+ board_id: string;
112
+ version: string;
113
+ channel: string;
114
+ host: string;
115
+ install_root: string;
116
+ release_root: string;
117
+ registry_path: string;
118
+ source: {
119
+ kind: "directory" | "url";
120
+ value: string;
121
+ downloaded_path?: string;
122
+ };
123
+ installed_paths: string[];
124
+ packages: LocalToolchainPackageRef[];
125
+ validation: LocalToolchainValidationResult;
126
+ }
127
+ export interface LocalToolchainCurrentResult {
128
+ installed: boolean;
129
+ board_id: string;
130
+ version?: string;
131
+ release_root?: string;
132
+ registry_path: string;
133
+ install_root: string;
134
+ channel?: string;
135
+ packages?: LocalToolchainPackageRef[];
136
+ }
63
137
  export declare function defaultLocalReleaseRoot(): string;
138
+ export declare function latestLocalToolchain(options?: LocalToolchainLatestOptions): Promise<LocalToolchainLatestResult>;
139
+ export declare function currentLocalToolchain(installRoot?: string, boardId?: string): Promise<LocalToolchainCurrentResult>;
140
+ export declare function installLocalToolchain(options?: LocalToolchainInstallOptions): Promise<LocalToolchainInstallResult>;
64
141
  export declare function validateLocalToolchain(releaseRoot?: string): Promise<LocalToolchainValidationResult>;
65
142
  export declare function compileTaishanPiSingleFile(options: LocalCompileOptions): Promise<LocalCompileResult>;
66
143
  export declare function buildTaishanPiQtSmoke(options: LocalQtSmokeBuildOptions): Promise<LocalCompileResult>;
@@ -1,16 +1,203 @@
1
1
  import { createHash } from "node:crypto";
2
2
  import { spawn } from "node:child_process";
3
3
  import { constants } from "node:fs";
4
- import { access, mkdir, readFile, stat, writeFile } from "node:fs/promises";
5
- import { arch, platform } from "node:os";
4
+ import { access, cp, mkdir, mkdtemp, readdir, readFile, rm, stat, writeFile } from "node:fs/promises";
5
+ import { arch, homedir, platform, tmpdir } from "node:os";
6
6
  import { basename, dirname, extname, join, resolve } from "node:path";
7
7
  const DEFAULT_RELEASE_ROOT = "/Volumes/LLVM-TSPI/tspi-rk3566-llvm-release-minimal";
8
8
  const DEFAULT_QT_SMOKE_SOURCE = "/Users/kvell/kk-project/DBT-Agent-Project/llvm-build-tspi/qt-smoke";
9
+ const DEFAULT_METADATA_ROOT = "/Users/kvell/kk-project/DBT-Agent-Project/llvm-build-tspi/embedlabs-release";
10
+ const DEFAULT_BOARD_ID = "taishanpi-1m-rk3566";
11
+ const DEFAULT_CHANNEL = "stable";
12
+ const BUILT_IN_CHANNEL = {
13
+ schema: "embedlabs.channel.v1",
14
+ channel: DEFAULT_CHANNEL,
15
+ packages: [
16
+ { id: "embedlabs.tools.vendor.rockchip", version: "1.0.0", manifest: "" },
17
+ { id: "embedlabs.tools.common.llvm", version: "22.1.3", manifest: "" },
18
+ { id: "embedlabs.tools.common.e2fsprogs", version: "1.0.0", manifest: "" },
19
+ { id: "embedlabs.family.rk356x", version: "1.0.0", manifest: "" },
20
+ { id: "embedlabs.board.taishanpi.1m-rk3566", version: "1.0.31", manifest: "" }
21
+ ]
22
+ };
23
+ const BUILT_IN_MANIFESTS = {
24
+ "embedlabs.tools.vendor.rockchip": {
25
+ schema: "embedlabs.package.v1",
26
+ id: "embedlabs.tools.vendor.rockchip",
27
+ version: "1.0.0",
28
+ kind: "tools",
29
+ hosts: ["darwin-arm64", "linux-x86_64"],
30
+ provides: ["rockchip.mkimage", "rockchip.dumpimage", "rockchip.resource_tool", "rockchip.rkdeveloptool"]
31
+ },
32
+ "embedlabs.tools.common.llvm": {
33
+ schema: "embedlabs.package.v1",
34
+ id: "embedlabs.tools.common.llvm",
35
+ version: "22.1.3",
36
+ kind: "tools",
37
+ hosts: ["darwin-arm64", "linux-x86_64"],
38
+ provides: ["llvm.clang", "llvm.clangxx", "llvm.ld_lld", "llvm.ar", "llvm.objcopy", "llvm.readelf"]
39
+ },
40
+ "embedlabs.tools.common.e2fsprogs": {
41
+ schema: "embedlabs.package.v1",
42
+ id: "embedlabs.tools.common.e2fsprogs",
43
+ version: "1.0.0",
44
+ kind: "tools",
45
+ hosts: ["darwin-arm64", "linux-x86_64"],
46
+ provides: ["ext4.mke2fs", "ext4.resize2fs", "fakeroot"]
47
+ },
48
+ "embedlabs.family.rk356x": {
49
+ schema: "embedlabs.package.v1",
50
+ id: "embedlabs.family.rk356x",
51
+ version: "1.0.0",
52
+ kind: "family",
53
+ family: "rk356x",
54
+ requires: [
55
+ { id: "embedlabs.tools.vendor.rockchip", version: "^1.0.0" },
56
+ { id: "embedlabs.tools.common.llvm", version: "22.x" },
57
+ { id: "embedlabs.tools.common.e2fsprogs", version: "^1.0.0" }
58
+ ]
59
+ },
60
+ "embedlabs.board.taishanpi.1m-rk3566": {
61
+ schema: "embedlabs.package.v1",
62
+ id: "embedlabs.board.taishanpi.1m-rk3566",
63
+ version: "1.0.31",
64
+ kind: "board",
65
+ family: "rk356x",
66
+ board: "TaishanPi",
67
+ variant: "1M-RK3566",
68
+ requires: [
69
+ { id: "embedlabs.family.rk356x", version: "^1.0.0" },
70
+ { id: "embedlabs.tools.vendor.rockchip", version: "^1.0.0", roles: ["flash", "resource-image"] },
71
+ { id: "embedlabs.tools.common.llvm", version: "22.x", roles: ["compile"] },
72
+ { id: "embedlabs.tools.common.e2fsprogs", version: "^1.0.0", roles: ["userdata-image"] }
73
+ ],
74
+ build_modes: ["local-llvm"]
75
+ }
76
+ };
77
+ const INSTALL_COPY_PATHS = [
78
+ "toolchain/llvm-cross",
79
+ "toolchain/host/aarch64-buildroot-linux-gnu/sysroot",
80
+ "qt-target/qt6-rk3566-llvm-6.8.3",
81
+ "tools/mac",
82
+ "images/current",
83
+ "userdata/rootfs",
84
+ "boot-workspace/kernel-tree"
85
+ ];
9
86
  export function defaultLocalReleaseRoot() {
10
- return DEFAULT_RELEASE_ROOT;
87
+ return process.env.EMBEDLABS_LOCAL_RELEASE_ROOT?.trim()
88
+ || process.env.EMBEDLABS_RELEASE_ROOT?.trim()
89
+ || DEFAULT_RELEASE_ROOT;
90
+ }
91
+ export async function latestLocalToolchain(options = {}) {
92
+ const boardId = options.boardId ?? DEFAULT_BOARD_ID;
93
+ const channelName = options.channel ?? DEFAULT_CHANNEL;
94
+ const { channel, manifests, metadataRoot } = await loadLocalToolchainMetadata(options.metadataRoot, channelName);
95
+ const boardPackageId = boardPackageIdFor(boardId);
96
+ const board = manifests.get(boardPackageId);
97
+ if (!board) {
98
+ throw new Error(`No local toolchain board package found for ${boardId}.`);
99
+ }
100
+ const packages = resolvePackageRefs(boardPackageId, channel, manifests);
101
+ return {
102
+ board_id: boardId,
103
+ channel: channel.channel,
104
+ host: hostId(),
105
+ version: board.version,
106
+ metadata_root: metadataRoot,
107
+ packages
108
+ };
109
+ }
110
+ export async function currentLocalToolchain(installRoot, boardId = DEFAULT_BOARD_ID) {
111
+ const root = resolveInstallRoot(installRoot);
112
+ const registryPath = localToolchainRegistryPath(root);
113
+ try {
114
+ const registry = JSON.parse(await readFile(registryPath, "utf8"));
115
+ const releaseRoot = typeof registry.release_root === "string" ? registry.release_root : undefined;
116
+ return {
117
+ installed: !!releaseRoot,
118
+ board_id: typeof registry.board_id === "string" ? registry.board_id : boardId,
119
+ version: typeof registry.version === "string" ? registry.version : undefined,
120
+ release_root: releaseRoot,
121
+ registry_path: registryPath,
122
+ install_root: root,
123
+ channel: typeof registry.channel === "string" ? registry.channel : undefined,
124
+ packages: Array.isArray(registry.packages) ? registry.packages : undefined
125
+ };
126
+ }
127
+ catch {
128
+ return {
129
+ installed: false,
130
+ board_id: boardId,
131
+ registry_path: registryPath,
132
+ install_root: root
133
+ };
134
+ }
135
+ }
136
+ export async function installLocalToolchain(options = {}) {
137
+ const latest = await latestLocalToolchain(options);
138
+ const installRoot = resolveInstallRoot(options.installRoot);
139
+ const releaseRoot = resolve(installRoot, "toolchains", latest.board_id, latest.version);
140
+ if (await pathExists(releaseRoot) && !options.force) {
141
+ const validation = await validateLocalToolchain(releaseRoot);
142
+ if (!validation.ok) {
143
+ throw new Error(`Existing local toolchain is incomplete at ${releaseRoot}; rerun with --force.`);
144
+ }
145
+ await writeCurrentRegistry(installRoot, latest, releaseRoot);
146
+ return {
147
+ board_id: latest.board_id,
148
+ version: latest.version,
149
+ channel: latest.channel,
150
+ host: latest.host,
151
+ install_root: installRoot,
152
+ release_root: releaseRoot,
153
+ registry_path: localToolchainRegistryPath(installRoot),
154
+ source: { kind: "directory", value: releaseRoot },
155
+ installed_paths: [],
156
+ packages: latest.packages,
157
+ validation
158
+ };
159
+ }
160
+ const tempDir = await mkdtemp(join(tmpdir(), "embedlabs-local-toolchain-install-"));
161
+ try {
162
+ const sourceRoot = await sourceReleaseRootForInstall(options, installRoot, tempDir);
163
+ await rm(releaseRoot, { recursive: true, force: true });
164
+ await mkdir(releaseRoot, { recursive: true });
165
+ const installedPaths = [];
166
+ for (const relativePath of INSTALL_COPY_PATHS) {
167
+ const sourcePath = resolve(sourceRoot.path, relativePath);
168
+ if (!await pathExists(sourcePath)) {
169
+ continue;
170
+ }
171
+ const targetPath = resolve(releaseRoot, relativePath);
172
+ await mkdir(dirname(targetPath), { recursive: true });
173
+ await cp(sourcePath, targetPath, { recursive: true, force: true, preserveTimestamps: true });
174
+ installedPaths.push(relativePath);
175
+ }
176
+ await writeCurrentRegistry(installRoot, latest, releaseRoot);
177
+ const validation = await validateLocalToolchain(releaseRoot);
178
+ if (!validation.ok) {
179
+ throw new Error(`Installed local toolchain is incomplete: ${validation.missing_paths.join(", ")}`);
180
+ }
181
+ return {
182
+ board_id: latest.board_id,
183
+ version: latest.version,
184
+ channel: latest.channel,
185
+ host: latest.host,
186
+ install_root: installRoot,
187
+ release_root: releaseRoot,
188
+ registry_path: localToolchainRegistryPath(installRoot),
189
+ source: sourceRoot.source,
190
+ installed_paths: installedPaths,
191
+ packages: latest.packages,
192
+ validation
193
+ };
194
+ }
195
+ finally {
196
+ await rm(tempDir, { recursive: true, force: true });
197
+ }
11
198
  }
12
- export async function validateLocalToolchain(releaseRoot = DEFAULT_RELEASE_ROOT) {
13
- const resolvedRoot = resolve(releaseRoot);
199
+ export async function validateLocalToolchain(releaseRoot) {
200
+ const resolvedRoot = await resolveLocalReleaseRoot(releaseRoot);
14
201
  const required = [
15
202
  ["release root", "."],
16
203
  ["C compiler", "toolchain/llvm-cross/bin/aarch64-linux-gnu-gcc"],
@@ -38,7 +225,7 @@ export async function validateLocalToolchain(releaseRoot = DEFAULT_RELEASE_ROOT)
38
225
  platform: platform(),
39
226
  arch: arch()
40
227
  },
41
- board_id: "taishanpi-1m-rk3566",
228
+ board_id: DEFAULT_BOARD_ID,
42
229
  release_root: resolvedRoot,
43
230
  checked_paths,
44
231
  missing_paths,
@@ -50,7 +237,7 @@ export async function validateLocalToolchain(releaseRoot = DEFAULT_RELEASE_ROOT)
50
237
  }
51
238
  export async function compileTaishanPiSingleFile(options) {
52
239
  assertAuthenticated(options.auth);
53
- const releaseRoot = resolve(options.releaseRoot ?? DEFAULT_RELEASE_ROOT);
240
+ const releaseRoot = await resolveLocalReleaseRoot(options.releaseRoot);
54
241
  const sourcePath = resolve(options.sourcePath);
55
242
  const outputPath = resolve(options.outputPath);
56
243
  await access(sourcePath, constants.R_OK);
@@ -77,7 +264,7 @@ export async function compileTaishanPiSingleFile(options) {
77
264
  }
78
265
  export async function buildTaishanPiQtSmoke(options) {
79
266
  assertAuthenticated(options.auth);
80
- const releaseRoot = resolve(options.releaseRoot ?? DEFAULT_RELEASE_ROOT);
267
+ const releaseRoot = await resolveLocalReleaseRoot(options.releaseRoot);
81
268
  const sourceDir = resolve(options.sourceDir ?? DEFAULT_QT_SMOKE_SOURCE);
82
269
  const buildDir = resolve(options.buildDir);
83
270
  const targetName = options.targetName ?? "qt_llvm_smoke";
@@ -104,7 +291,7 @@ export async function buildTaishanPiQtSmoke(options) {
104
291
  }
105
292
  const artifactPath = join(buildDir, targetName);
106
293
  return await localCompileResult({
107
- boardId: "taishanpi-1m-rk3566",
294
+ boardId: DEFAULT_BOARD_ID,
108
295
  operation: "local.build.qt_smoke",
109
296
  releaseRoot,
110
297
  accountId: options.accountId,
@@ -115,6 +302,178 @@ export async function buildTaishanPiQtSmoke(options) {
115
302
  commands: [configure, build]
116
303
  });
117
304
  }
305
+ async function loadLocalToolchainMetadata(metadataRoot, channelName) {
306
+ const explicitRoot = metadataRoot || process.env.EMBEDLABS_METADATA_ROOT?.trim();
307
+ const candidateRoot = explicitRoot || (await pathExists(DEFAULT_METADATA_ROOT) ? DEFAULT_METADATA_ROOT : undefined);
308
+ if (!candidateRoot) {
309
+ return {
310
+ channel: BUILT_IN_CHANNEL,
311
+ manifests: new Map(Object.entries(BUILT_IN_MANIFESTS)),
312
+ metadataRoot: undefined
313
+ };
314
+ }
315
+ const root = resolve(candidateRoot);
316
+ const channelPath = join(root, "channels", channelName, "index.json");
317
+ const channel = JSON.parse(await readFile(channelPath, "utf8"));
318
+ if (channel.schema !== "embedlabs.channel.v1") {
319
+ throw new Error(`Unexpected local toolchain channel schema ${channel.schema}.`);
320
+ }
321
+ const manifests = new Map();
322
+ for (const entry of channel.packages) {
323
+ const manifestPath = entry.manifest
324
+ ? resolve(dirname(channelPath), entry.manifest)
325
+ : join(root, "manifests", entry.id, entry.version, "manifest.json");
326
+ const manifest = JSON.parse(await readFile(manifestPath, "utf8"));
327
+ if (manifest.schema !== "embedlabs.package.v1") {
328
+ throw new Error(`Unexpected local toolchain manifest schema for ${entry.id}: ${manifest.schema}.`);
329
+ }
330
+ if (manifest.id !== entry.id || manifest.version !== entry.version) {
331
+ throw new Error(`Local toolchain manifest mismatch for ${entry.id}@${entry.version}.`);
332
+ }
333
+ manifests.set(manifest.id, manifest);
334
+ }
335
+ return { channel, manifests, metadataRoot: root };
336
+ }
337
+ function resolvePackageRefs(packageId, channel, manifests, seen = new Set()) {
338
+ if (seen.has(packageId)) {
339
+ return [];
340
+ }
341
+ seen.add(packageId);
342
+ const manifest = manifests.get(packageId);
343
+ if (!manifest) {
344
+ throw new Error(`Local toolchain package ${packageId} is not present in the channel.`);
345
+ }
346
+ const refs = [];
347
+ for (const requirement of manifest.requires ?? []) {
348
+ refs.push(...resolvePackageRefs(requirement.id, channel, manifests, seen));
349
+ }
350
+ const channelEntry = channel.packages.find((item) => item.id === packageId);
351
+ refs.push({
352
+ id: packageId,
353
+ version: manifest.version,
354
+ manifest: channelEntry?.manifest
355
+ });
356
+ return refs;
357
+ }
358
+ function boardPackageIdFor(boardId) {
359
+ if (boardId === DEFAULT_BOARD_ID || boardId === "taishanpi" || boardId === "taishanpi-1m-rk3566") {
360
+ return "embedlabs.board.taishanpi.1m-rk3566";
361
+ }
362
+ if (boardId.startsWith("embedlabs.board.")) {
363
+ return boardId;
364
+ }
365
+ throw new Error(`Unsupported local toolchain board ${boardId}.`);
366
+ }
367
+ function hostId() {
368
+ if (platform() === "darwin" && arch() === "arm64") {
369
+ return "darwin-arm64";
370
+ }
371
+ if (platform() === "linux" && arch() === "x64") {
372
+ return "linux-x86_64";
373
+ }
374
+ return `${platform()}-${arch()}`;
375
+ }
376
+ function resolveInstallRoot(installRoot) {
377
+ return resolve(installRoot
378
+ || process.env.EMBEDLABS_HOME?.trim()
379
+ || join(homedir(), ".embedlabs"));
380
+ }
381
+ function localToolchainRegistryPath(installRoot) {
382
+ return join(installRoot, "registry", "local-toolchains.json");
383
+ }
384
+ async function writeCurrentRegistry(installRoot, latest, releaseRoot) {
385
+ const registryPath = localToolchainRegistryPath(installRoot);
386
+ await mkdir(dirname(registryPath), { recursive: true });
387
+ await writeFile(registryPath, `${JSON.stringify({
388
+ installed: true,
389
+ board_id: latest.board_id,
390
+ version: latest.version,
391
+ channel: latest.channel,
392
+ host: latest.host,
393
+ release_root: releaseRoot,
394
+ packages: latest.packages,
395
+ updated_at: new Date().toISOString()
396
+ }, null, 2)}\n`, "utf8");
397
+ }
398
+ async function resolveLocalReleaseRoot(releaseRoot) {
399
+ if (releaseRoot?.trim()) {
400
+ return resolve(releaseRoot);
401
+ }
402
+ const envRoot = process.env.EMBEDLABS_LOCAL_RELEASE_ROOT?.trim() || process.env.EMBEDLABS_RELEASE_ROOT?.trim();
403
+ if (envRoot) {
404
+ return resolve(envRoot);
405
+ }
406
+ const current = await currentLocalToolchain(undefined, DEFAULT_BOARD_ID);
407
+ if (current.release_root) {
408
+ return resolve(current.release_root);
409
+ }
410
+ return resolve(DEFAULT_RELEASE_ROOT);
411
+ }
412
+ async function sourceReleaseRootForInstall(options, installRoot, tempDir) {
413
+ if (options.sourceReleaseRoot) {
414
+ return {
415
+ path: resolve(options.sourceReleaseRoot),
416
+ source: { kind: "directory", value: resolve(options.sourceReleaseRoot) }
417
+ };
418
+ }
419
+ if (options.sourceUrl) {
420
+ const downloadedPath = await downloadToolchainArchive(options.sourceUrl, installRoot);
421
+ const extractRoot = join(tempDir, "extract");
422
+ await mkdir(extractRoot, { recursive: true });
423
+ const extracted = await runCommand(["tar", "-xzf", downloadedPath, "-C", extractRoot], tempDir);
424
+ if (extracted.exit_code !== 0) {
425
+ throw new Error(`Could not extract local toolchain archive: ${extracted.stderr_tail.join("\n")}`);
426
+ }
427
+ return {
428
+ path: await findReleaseRoot(extractRoot),
429
+ source: { kind: "url", value: options.sourceUrl, downloaded_path: downloadedPath }
430
+ };
431
+ }
432
+ if (await pathExists(DEFAULT_RELEASE_ROOT)) {
433
+ return {
434
+ path: resolve(DEFAULT_RELEASE_ROOT),
435
+ source: { kind: "directory", value: resolve(DEFAULT_RELEASE_ROOT) }
436
+ };
437
+ }
438
+ throw new Error("Local toolchain install needs --source-url <tar.gz> or --source-release-root <path> until the public download service is configured.");
439
+ }
440
+ async function downloadToolchainArchive(sourceUrl, installRoot) {
441
+ const downloadsDir = join(installRoot, "cache", "downloads");
442
+ await mkdir(downloadsDir, { recursive: true });
443
+ const parsed = new URL(sourceUrl);
444
+ const filename = basename(parsed.pathname) || `local-toolchain-${Date.now()}.tar.gz`;
445
+ const outputPath = join(downloadsDir, filename);
446
+ if (parsed.protocol === "file:") {
447
+ await cp(parsed.pathname, outputPath, { force: true });
448
+ return outputPath;
449
+ }
450
+ const response = await fetch(sourceUrl);
451
+ if (!response.ok) {
452
+ throw new Error(`Local toolchain download failed with HTTP ${response.status}: ${sourceUrl}`);
453
+ }
454
+ const bytes = Buffer.from(await response.arrayBuffer());
455
+ await writeFile(outputPath, bytes);
456
+ return outputPath;
457
+ }
458
+ async function findReleaseRoot(extractRoot) {
459
+ if (await pathExists(join(extractRoot, "toolchain"))) {
460
+ return extractRoot;
461
+ }
462
+ const entries = await readdir(extractRoot);
463
+ for (const entry of entries) {
464
+ const candidate = join(extractRoot, entry);
465
+ try {
466
+ const info = await stat(candidate);
467
+ if (info.isDirectory() && await pathExists(join(candidate, "toolchain"))) {
468
+ return candidate;
469
+ }
470
+ }
471
+ catch {
472
+ // Ignore entries that disappear during extraction cleanup.
473
+ }
474
+ }
475
+ throw new Error("Downloaded local toolchain archive did not contain a release root with toolchain/.");
476
+ }
118
477
  function compilerForSource(releaseRoot, sourcePath) {
119
478
  const extension = extname(sourcePath).toLowerCase();
120
479
  const binDir = join(releaseRoot, "toolchain", "llvm-cross", "bin");
@@ -1 +1 @@
1
- {"version":3,"file":"local-toolchain.js","sourceRoot":"","sources":["../src/local-toolchain.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"local-toolchain.js","sourceRoot":"","sources":["../src/local-toolchain.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kvell007/embed-labs-cli",
3
- "version": "0.1.0-alpha.3",
3
+ "version": "0.1.0-alpha.4",
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.3",
22
- "@embed-labs/protocol": "npm:@kvell007/embed-labs-protocol@0.1.0-alpha.3",
21
+ "@embed-labs/local-bridge": "npm:@kvell007/embed-labs-local-bridge@0.1.0-alpha.4",
22
+ "@embed-labs/protocol": "npm:@kvell007/embed-labs-protocol@0.1.0-alpha.4",
23
23
  "qrcode-terminal": "^0.12.0"
24
24
  },
25
25
  "publishConfig": {