@mnemonik/cli 7.109.3 → 7.110.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/dist/auth/credentials.js +297 -36
- package/dist/auth/index.d.ts +2 -0
- package/dist/auth/index.d.ts.map +1 -1
- package/dist/auth/index.js +1914 -19
- package/dist/auth/index.js.map +1 -1
- package/dist/auth/machineName.d.ts +8 -0
- package/dist/auth/machineName.d.ts.map +1 -0
- package/dist/auth/machineName.js +23 -0
- package/dist/auth/machineName.js.map +1 -0
- package/dist/consent.d.ts +29 -0
- package/dist/consent.d.ts.map +1 -0
- package/dist/consent.js +87 -0
- package/dist/consent.js.map +1 -0
- package/dist/diagnostics.js +301 -40
- package/dist/digests.json +102 -90
- package/dist/help.d.ts.map +1 -1
- package/dist/help.js +59 -44
- package/dist/help.js.map +1 -1
- package/dist/humanReason.d.ts +8 -0
- package/dist/humanReason.d.ts.map +1 -1
- package/dist/humanReason.js +44 -16
- package/dist/humanReason.js.map +1 -1
- package/dist/identity/migrate.js +1835 -44
- package/dist/install/hosts.d.ts +2 -0
- package/dist/install/hosts.d.ts.map +1 -1
- package/dist/install/hosts.js +23 -14
- package/dist/install/hosts.js.map +1 -1
- package/dist/install/journal.js +124 -11
- package/dist/install/journey.d.ts +20 -0
- package/dist/install/journey.d.ts.map +1 -1
- package/dist/install/journey.js +1913 -82
- package/dist/install/journey.js.map +1 -1
- package/dist/install/ownership.d.ts.map +1 -1
- package/dist/install/ownership.js +1818 -10
- package/dist/install/ownership.js.map +1 -1
- package/dist/install/transaction.js +1913 -19
- package/dist/install/ui.js +1910 -15
- package/dist/installation.js +133 -10
- package/dist/launcher.js +108 -4
- package/dist/output.d.ts +3 -0
- package/dist/output.d.ts.map +1 -1
- package/dist/output.js +11 -1
- package/dist/output.js.map +1 -1
- package/dist/preflight.d.ts +5 -0
- package/dist/preflight.d.ts.map +1 -1
- package/dist/preflight.js +14 -12
- package/dist/preflight.js.map +1 -1
- package/dist/project/eligibility.js +1917 -22
- package/dist/project/records.js +121 -8
- package/dist/project.d.ts +15 -0
- package/dist/project.d.ts.map +1 -1
- package/dist/project.js +229 -15
- package/dist/project.js.map +1 -1
- package/dist/router.d.ts +2 -0
- package/dist/router.d.ts.map +1 -1
- package/dist/router.js +2164 -122
- package/dist/router.js.map +1 -1
- package/dist/runtime/releaseSource.d.ts +6 -0
- package/dist/runtime/releaseSource.d.ts.map +1 -1
- package/dist/runtime/releaseSource.js +1933 -32
- package/dist/runtime/releaseSource.js.map +1 -1
- package/dist/runtime/selfUpdate.js +1809 -8
- package/dist/runtime/signers.js +28 -9
- package/dist/runtime/store.js +18 -6
- package/dist/runtime/updateCheck.d.ts +4 -0
- package/dist/runtime/updateCheck.d.ts.map +1 -0
- package/dist/runtime/updateCheck.js +6695 -0
- package/dist/runtime/updateCheck.js.map +1 -0
- package/dist/sbom.json +21 -21
- package/dist/scanner/control.d.ts +27 -1
- package/dist/scanner/control.d.ts.map +1 -1
- package/dist/scanner/control.js +207 -36
- package/dist/scanner/control.js.map +1 -1
- package/dist/scanner/discover.d.ts +5 -0
- package/dist/scanner/discover.d.ts.map +1 -1
- package/dist/scanner/discover.js +16 -6
- package/dist/scanner/discover.js.map +1 -1
- package/dist/scanner/enable.d.ts +2 -0
- package/dist/scanner/enable.d.ts.map +1 -1
- package/dist/scanner/enable.js +152 -14
- package/dist/scanner/enable.js.map +1 -1
- package/dist/scanner/picker.d.ts.map +1 -1
- package/dist/scanner/picker.js +5 -6
- package/dist/scanner/picker.js.map +1 -1
- package/dist/scanner/service.d.ts +2 -0
- package/dist/scanner/service.d.ts.map +1 -1
- package/dist/scanner/service.js +279 -54
- package/dist/scanner/service.js.map +1 -1
- package/dist/scanner/update.d.ts +8 -0
- package/dist/scanner/update.d.ts.map +1 -1
- package/dist/scanner/update.js +254 -20
- package/dist/scanner/update.js.map +1 -1
- package/dist/scanner-release.json +35 -30
- package/dist/screens/journey.d.ts +6 -1
- package/dist/screens/journey.d.ts.map +1 -1
- package/dist/screens/journey.js +29 -8
- package/dist/screens/journey.js.map +1 -1
- package/dist/status.d.ts +21 -0
- package/dist/status.d.ts.map +1 -1
- package/dist/status.js +1993 -39
- package/dist/status.js.map +1 -1
- package/dist/vendor/local-setup.js +256 -29
- package/dist/vendor/shared/runtimeSigners.js +38 -11
- package/package.json +31 -31
package/dist/installation.js
CHANGED
|
@@ -516,8 +516,25 @@ function readIdentity(stdout) {
|
|
|
516
516
|
throw new Error("acl_identity_unavailable");
|
|
517
517
|
return { name: match[1], sid: match[2] };
|
|
518
518
|
}
|
|
519
|
+
function* readWindowsIdentity() {
|
|
520
|
+
const user = readIdentity(yield [windowsCommand("whoami.exe"), identityArgs]);
|
|
521
|
+
if (!ADMINISTRATOR_RID.test(user.sid))
|
|
522
|
+
return user;
|
|
523
|
+
const groups = yield [windowsCommand("whoami.exe"), groupArgs];
|
|
524
|
+
const local = /^"[^"\r\n]*","[^"\r\n]*","S-1-5-113",/m.test(groups);
|
|
525
|
+
return {
|
|
526
|
+
...user,
|
|
527
|
+
localAdministratorSid: local ? `${user.sid.slice(0, user.sid.lastIndexOf("-"))}-500` : null
|
|
528
|
+
};
|
|
529
|
+
}
|
|
519
530
|
function windowsCurrentAccountSync() {
|
|
520
|
-
|
|
531
|
+
if (currentIdentity)
|
|
532
|
+
return currentIdentity;
|
|
533
|
+
const commands = readWindowsIdentity();
|
|
534
|
+
let step = commands.next();
|
|
535
|
+
while (!step.done)
|
|
536
|
+
step = commands.next(hookExecuteSync(...step.value));
|
|
537
|
+
return currentIdentity = step.value;
|
|
521
538
|
}
|
|
522
539
|
function hookInvocation(file, args2) {
|
|
523
540
|
if (win32.basename(file) === "whoami.exe") {
|
|
@@ -537,11 +554,13 @@ function hookExecuteSync(file, args2, input) {
|
|
|
537
554
|
[file, args2] = hookInvocation(file, args2);
|
|
538
555
|
return execFileSync(file, args2, { ...hookOptions(file, args2), input });
|
|
539
556
|
}
|
|
540
|
-
var identityArgs, currentIdentity, ttl, hookOptions;
|
|
557
|
+
var identityArgs, groupArgs, ADMINISTRATOR_RID, currentIdentity, ttl, hookOptions;
|
|
541
558
|
var init_runtimeSigners = __esm({
|
|
542
559
|
"packages/shared/dist/runtimeSigners.js"() {
|
|
543
560
|
"use strict";
|
|
544
561
|
identityArgs = ["/user", "/fo", "csv", "/nh"];
|
|
562
|
+
groupArgs = ["/groups", "/fo", "csv", "/nh"];
|
|
563
|
+
ADMINISTRATOR_RID = /^S-1-5-21-\d+-\d+-\d+-500$/;
|
|
545
564
|
ttl = 10 * 6e4;
|
|
546
565
|
hookOptions = (file, args2) => ({
|
|
547
566
|
encoding: args2.includes("/u") ? "utf16le" : "utf8",
|
|
@@ -2198,7 +2217,7 @@ var require_proper_lockfile = __commonJS({
|
|
|
2198
2217
|
|
|
2199
2218
|
// packages/cli/src/installation.ts
|
|
2200
2219
|
import { mkdir as mkdir2 } from "node:fs/promises";
|
|
2201
|
-
import { join as
|
|
2220
|
+
import { join as join5 } from "node:path";
|
|
2202
2221
|
|
|
2203
2222
|
// packages/shared/dist/instructions.js
|
|
2204
2223
|
var INSTRUCTIONS_CONTENT = `Mnemonik provides persistent project memory: decisions, rationale, tasks, and policies across sessions. If no block begins "PROJECT_CONTEXT schemaVersion=", session_bootstrap({ cwd }) loads project context when cwd is the real absolute path of the project root; a placeholder or relative path fails. With that block, context is loaded and no session_bootstrap call is needed. Code and docs show current artifacts, git shows changes, and memory carries the why; memory_search recalls rationale or intent, then Grep or Read verifies current source.
|
|
@@ -6392,11 +6411,12 @@ init_repositoryRoot();
|
|
|
6392
6411
|
|
|
6393
6412
|
// packages/local-setup/dist/storage.js
|
|
6394
6413
|
init_hookRuntime();
|
|
6414
|
+
init_hookRuntime();
|
|
6395
6415
|
import { createHash, randomUUID } from "node:crypto";
|
|
6396
6416
|
import { execFile as nodeExecFile } from "node:child_process";
|
|
6397
6417
|
import fs2 from "node:fs";
|
|
6398
6418
|
import { open, rename, readFile, mkdir, lstat, chmod, writeFile, unlink, rmdir } from "node:fs/promises";
|
|
6399
|
-
|
|
6419
|
+
import { homedir } from "node:os";
|
|
6400
6420
|
import { dirname as dirname3, join as join3, win32 as win322, posix } from "node:path";
|
|
6401
6421
|
import { setTimeout as delay } from "node:timers/promises";
|
|
6402
6422
|
var lockfileKey = /* @__PURE__ */ Symbol.for("mnemonik.proper-lockfile");
|
|
@@ -6405,6 +6425,15 @@ function sharedLockfile() {
|
|
|
6405
6425
|
return shared[lockfileKey] ??= Promise.resolve().then(() => __toESM(require_proper_lockfile(), 1)).then((module2) => module2.default);
|
|
6406
6426
|
}
|
|
6407
6427
|
var codeIs = (error, code) => error.code === code;
|
|
6428
|
+
function stateDirectory(platform = process.platform, env = process.env, home = homedir()) {
|
|
6429
|
+
if (env.MNEMONIK_STATE_DIR)
|
|
6430
|
+
return env.MNEMONIK_STATE_DIR;
|
|
6431
|
+
if (platform === "win32")
|
|
6432
|
+
return win322.join(env.LOCALAPPDATA || win322.join(home, "AppData", "Local"), "Mnemonik");
|
|
6433
|
+
if (platform === "darwin")
|
|
6434
|
+
return posix.join(home, "Library", "Application Support", "Mnemonik");
|
|
6435
|
+
return posix.join(env.XDG_STATE_HOME || posix.join(home, ".local", "state"), "mnemonik");
|
|
6436
|
+
}
|
|
6408
6437
|
async function readBytes(path) {
|
|
6409
6438
|
try {
|
|
6410
6439
|
if (!(await lstat(path)).isFile())
|
|
@@ -6542,6 +6571,100 @@ async function withLock(path, waitMs, work) {
|
|
|
6542
6571
|
}
|
|
6543
6572
|
}
|
|
6544
6573
|
|
|
6574
|
+
// packages/local-setup/dist/automaticUpdate.js
|
|
6575
|
+
import { spawn as nodeSpawn } from "node:child_process";
|
|
6576
|
+
import { realpathSync } from "node:fs";
|
|
6577
|
+
import { stat as nodeStat, utimes } from "node:fs/promises";
|
|
6578
|
+
import { homedir as homedir2 } from "node:os";
|
|
6579
|
+
import { join as join4 } from "node:path";
|
|
6580
|
+
import { fileURLToPath as fileURLToPath2 } from "node:url";
|
|
6581
|
+
var DAY_MS = 864e5;
|
|
6582
|
+
var statePath = (stateDir) => join4(stateDir, "automatic-update.json");
|
|
6583
|
+
function cliLauncherPath(options = {}) {
|
|
6584
|
+
const platform = options.platform ?? process.platform;
|
|
6585
|
+
const home = options.home ?? homedir2();
|
|
6586
|
+
return platform === "win32" ? join4(options.env?.LOCALAPPDATA || join4(home, "AppData", "Local"), "Mnemonik", "bin", "mnemonik.cmd") : join4(home, ".local", "bin", "mnemonik");
|
|
6587
|
+
}
|
|
6588
|
+
async function readState(path) {
|
|
6589
|
+
const bytes = await readBytes(path);
|
|
6590
|
+
if (!bytes)
|
|
6591
|
+
return {};
|
|
6592
|
+
const value = JSON.parse(bytes.toString());
|
|
6593
|
+
if (!value || typeof value !== "object" || value.lastAttempt !== void 0 && (!Number.isFinite(value.lastAttempt) || value.lastAttempt < 0))
|
|
6594
|
+
throw new Error("automatic_update_state_invalid");
|
|
6595
|
+
return value.lastAttempt === void 0 ? {} : { lastAttempt: value.lastAttempt };
|
|
6596
|
+
}
|
|
6597
|
+
async function maybeStartAutomaticUpdate(options = {}) {
|
|
6598
|
+
const stateDir = options.stateDir ?? stateDirectory(options.platform, options.env, options.home);
|
|
6599
|
+
const path = statePath(stateDir);
|
|
6600
|
+
try {
|
|
6601
|
+
const now = (options.now ?? Date.now)();
|
|
6602
|
+
const stat = options.stat ?? nodeStat;
|
|
6603
|
+
try {
|
|
6604
|
+
if (now - (await stat(path)).mtimeMs < DAY_MS)
|
|
6605
|
+
return false;
|
|
6606
|
+
} catch (error) {
|
|
6607
|
+
if (error.code !== "ENOENT")
|
|
6608
|
+
throw error;
|
|
6609
|
+
}
|
|
6610
|
+
if (!options.spawn && !(await stat(cliLauncherPath(options))).isFile())
|
|
6611
|
+
return false;
|
|
6612
|
+
return await withLock(path, 0, async (assertOwned) => {
|
|
6613
|
+
const state = await readState(path);
|
|
6614
|
+
if (state.lastAttempt !== void 0 && now - state.lastAttempt < DAY_MS)
|
|
6615
|
+
return false;
|
|
6616
|
+
await atomicWrite(path, Buffer.from(`${JSON.stringify({ lastAttempt: now })}
|
|
6617
|
+
`), void 0, assertOwned);
|
|
6618
|
+
await utimes(path, now / 1e3, now / 1e3);
|
|
6619
|
+
const platform = options.platform ?? process.platform;
|
|
6620
|
+
const launcher = cliLauncherPath(options);
|
|
6621
|
+
const command = platform === "win32" ? {
|
|
6622
|
+
file: options.env?.ComSpec || "cmd.exe",
|
|
6623
|
+
args: ["/d", "/s", "/c", `""${launcher}" update --automatic"`],
|
|
6624
|
+
windowsVerbatimArguments: true
|
|
6625
|
+
} : platform === "linux" && (options.env ?? process.env).INVOCATION_ID ? {
|
|
6626
|
+
// detached creates a process group, not a new systemd cgroup. An
|
|
6627
|
+
// updater spawned by the scanner must survive stopping that service.
|
|
6628
|
+
file: "systemd-run",
|
|
6629
|
+
args: [
|
|
6630
|
+
"--user",
|
|
6631
|
+
"--collect",
|
|
6632
|
+
"--quiet",
|
|
6633
|
+
`--setenv=MNEMONIK_STATE_DIR=${stateDir}`,
|
|
6634
|
+
"--",
|
|
6635
|
+
launcher,
|
|
6636
|
+
"update",
|
|
6637
|
+
"--automatic"
|
|
6638
|
+
]
|
|
6639
|
+
} : { file: launcher, args: ["update", "--automatic"] };
|
|
6640
|
+
const child = (options.spawn ?? nodeSpawn)(command.file, command.args, {
|
|
6641
|
+
detached: true,
|
|
6642
|
+
stdio: "ignore",
|
|
6643
|
+
windowsHide: true,
|
|
6644
|
+
..."windowsVerbatimArguments" in command ? { windowsVerbatimArguments: command.windowsVerbatimArguments } : {}
|
|
6645
|
+
});
|
|
6646
|
+
child.once("error", () => {
|
|
6647
|
+
});
|
|
6648
|
+
child.unref();
|
|
6649
|
+
return true;
|
|
6650
|
+
});
|
|
6651
|
+
} catch {
|
|
6652
|
+
return false;
|
|
6653
|
+
}
|
|
6654
|
+
}
|
|
6655
|
+
var HELPER_FLAG = "--mnemonik-automatic-update";
|
|
6656
|
+
function isHelperInvocation() {
|
|
6657
|
+
if (process.argv[2] !== HELPER_FLAG || !process.argv[3] || !process.argv[1])
|
|
6658
|
+
return false;
|
|
6659
|
+
try {
|
|
6660
|
+
return realpathSync(process.argv[1]) === realpathSync(fileURLToPath2(import.meta.url));
|
|
6661
|
+
} catch {
|
|
6662
|
+
return false;
|
|
6663
|
+
}
|
|
6664
|
+
}
|
|
6665
|
+
if (isHelperInvocation())
|
|
6666
|
+
void maybeStartAutomaticUpdate({ stateDir: process.argv[3] });
|
|
6667
|
+
|
|
6545
6668
|
// packages/local-setup/dist/index.js
|
|
6546
6669
|
var MAX_ORIGINAL_BYTES = 64 * 1024;
|
|
6547
6670
|
|
|
@@ -6553,8 +6676,8 @@ async function saveInstallation(stateDir, deviceInstallationId, account) {
|
|
|
6553
6676
|
if (!deviceInstallationId || account && !account.account)
|
|
6554
6677
|
throw new Error("installation_invalid");
|
|
6555
6678
|
await mkdir2(stateDir, { recursive: true, mode: 448 });
|
|
6556
|
-
await withLock(
|
|
6557
|
-
const bytes = await readBytes2(
|
|
6679
|
+
await withLock(join5(stateDir, "installation"), 5e3, async () => {
|
|
6680
|
+
const bytes = await readBytes2(join5(stateDir, "installation.json"));
|
|
6558
6681
|
const existing = bytes ? JSON.parse(bytes.toString()) : void 0;
|
|
6559
6682
|
let record = { deviceInstallationId };
|
|
6560
6683
|
if (account) {
|
|
@@ -6581,13 +6704,13 @@ async function saveInstallation(stateDir, deviceInstallationId, account) {
|
|
|
6581
6704
|
record = existing;
|
|
6582
6705
|
}
|
|
6583
6706
|
await atomicWrite(
|
|
6584
|
-
|
|
6707
|
+
join5(stateDir, "installation.json"),
|
|
6585
6708
|
Buffer.from(JSON.stringify(record) + "\n")
|
|
6586
6709
|
);
|
|
6587
6710
|
});
|
|
6588
6711
|
}
|
|
6589
6712
|
async function readInstallation(stateDir, account) {
|
|
6590
|
-
const bytes = await readBytes2(
|
|
6713
|
+
const bytes = await readBytes2(join5(stateDir, "installation.json"));
|
|
6591
6714
|
if (bytes) {
|
|
6592
6715
|
const record = JSON.parse(bytes.toString());
|
|
6593
6716
|
if (typeof record.deviceInstallationId !== "string" || !record.deviceInstallationId)
|
|
@@ -6602,7 +6725,7 @@ async function readInstallation(stateDir, account) {
|
|
|
6602
6725
|
if (owned.size > 1) throw new Error("installation_conflict");
|
|
6603
6726
|
let installation = owned.values().next().value;
|
|
6604
6727
|
if (!account && !installation && await readBytes2(new RuntimeStore(stateDir).pointerPath("scanner"))) {
|
|
6605
|
-
const saved = await readBytes2(
|
|
6728
|
+
const saved = await readBytes2(join5(stateDir, "scanner/state.json"));
|
|
6606
6729
|
if (saved)
|
|
6607
6730
|
installation = JSON.parse(saved.toString()).config?.deviceInstallationId;
|
|
6608
6731
|
}
|
|
@@ -6614,7 +6737,7 @@ async function readInstallations(stateDir) {
|
|
|
6614
6737
|
const current = await readInstallation(stateDir);
|
|
6615
6738
|
if (!current) return [];
|
|
6616
6739
|
const record = JSON.parse(
|
|
6617
|
-
(await readBytes2(
|
|
6740
|
+
(await readBytes2(join5(stateDir, "installation.json")))?.toString() ?? "{}"
|
|
6618
6741
|
);
|
|
6619
6742
|
return [
|
|
6620
6743
|
...new Set(
|
package/dist/launcher.js
CHANGED
|
@@ -516,8 +516,25 @@ function readIdentity(stdout) {
|
|
|
516
516
|
throw new Error("acl_identity_unavailable");
|
|
517
517
|
return { name: match[1], sid: match[2] };
|
|
518
518
|
}
|
|
519
|
+
function* readWindowsIdentity() {
|
|
520
|
+
const user = readIdentity(yield [windowsCommand("whoami.exe"), identityArgs]);
|
|
521
|
+
if (!ADMINISTRATOR_RID.test(user.sid))
|
|
522
|
+
return user;
|
|
523
|
+
const groups = yield [windowsCommand("whoami.exe"), groupArgs];
|
|
524
|
+
const local = /^"[^"\r\n]*","[^"\r\n]*","S-1-5-113",/m.test(groups);
|
|
525
|
+
return {
|
|
526
|
+
...user,
|
|
527
|
+
localAdministratorSid: local ? `${user.sid.slice(0, user.sid.lastIndexOf("-"))}-500` : null
|
|
528
|
+
};
|
|
529
|
+
}
|
|
519
530
|
function windowsCurrentAccountSync() {
|
|
520
|
-
|
|
531
|
+
if (currentIdentity)
|
|
532
|
+
return currentIdentity;
|
|
533
|
+
const commands = readWindowsIdentity();
|
|
534
|
+
let step = commands.next();
|
|
535
|
+
while (!step.done)
|
|
536
|
+
step = commands.next(hookExecuteSync(...step.value));
|
|
537
|
+
return currentIdentity = step.value;
|
|
521
538
|
}
|
|
522
539
|
function hookInvocation(file, args2) {
|
|
523
540
|
if (win32.basename(file) === "whoami.exe") {
|
|
@@ -537,11 +554,13 @@ function hookExecuteSync(file, args2, input) {
|
|
|
537
554
|
[file, args2] = hookInvocation(file, args2);
|
|
538
555
|
return execFileSync(file, args2, { ...hookOptions(file, args2), input });
|
|
539
556
|
}
|
|
540
|
-
var identityArgs, currentIdentity, ttl, hookOptions;
|
|
557
|
+
var identityArgs, groupArgs, ADMINISTRATOR_RID, currentIdentity, ttl, hookOptions;
|
|
541
558
|
var init_runtimeSigners = __esm({
|
|
542
559
|
"packages/shared/dist/runtimeSigners.js"() {
|
|
543
560
|
"use strict";
|
|
544
561
|
identityArgs = ["/user", "/fo", "csv", "/nh"];
|
|
562
|
+
groupArgs = ["/groups", "/fo", "csv", "/nh"];
|
|
563
|
+
ADMINISTRATOR_RID = /^S-1-5-21-\d+-\d+-\d+-500$/;
|
|
545
564
|
ttl = 10 * 6e4;
|
|
546
565
|
hookOptions = (file, args2) => ({
|
|
547
566
|
encoding: args2.includes("/u") ? "utf16le" : "utf8",
|
|
@@ -2197,7 +2216,7 @@ var require_proper_lockfile = __commonJS({
|
|
|
2197
2216
|
});
|
|
2198
2217
|
|
|
2199
2218
|
// packages/cli/src/launcher.ts
|
|
2200
|
-
import { spawn as
|
|
2219
|
+
import { spawn as nodeSpawn2 } from "node:child_process";
|
|
2201
2220
|
import { mkdir as mkdir2, open as open2, realpath, rm } from "node:fs/promises";
|
|
2202
2221
|
import { homedir as homedir3 } from "node:os";
|
|
2203
2222
|
import { basename as basename2, isAbsolute, join as join5, resolve as resolve2 } from "node:path";
|
|
@@ -6627,13 +6646,98 @@ $result = [UIntPtr]::Zero
|
|
|
6627
6646
|
}
|
|
6628
6647
|
|
|
6629
6648
|
// packages/local-setup/dist/automaticUpdate.js
|
|
6649
|
+
import { spawn as nodeSpawn } from "node:child_process";
|
|
6650
|
+
import { realpathSync } from "node:fs";
|
|
6651
|
+
import { stat as nodeStat, utimes } from "node:fs/promises";
|
|
6630
6652
|
import { homedir as homedir2 } from "node:os";
|
|
6631
6653
|
import { join as join4 } from "node:path";
|
|
6654
|
+
import { fileURLToPath as fileURLToPath2 } from "node:url";
|
|
6655
|
+
var DAY_MS = 864e5;
|
|
6656
|
+
var statePath = (stateDir) => join4(stateDir, "automatic-update.json");
|
|
6632
6657
|
function cliLauncherPath(options = {}) {
|
|
6633
6658
|
const platform = options.platform ?? process.platform;
|
|
6634
6659
|
const home = options.home ?? homedir2();
|
|
6635
6660
|
return platform === "win32" ? join4(options.env?.LOCALAPPDATA || join4(home, "AppData", "Local"), "Mnemonik", "bin", "mnemonik.cmd") : join4(home, ".local", "bin", "mnemonik");
|
|
6636
6661
|
}
|
|
6662
|
+
async function readState(path) {
|
|
6663
|
+
const bytes = await readBytes(path);
|
|
6664
|
+
if (!bytes)
|
|
6665
|
+
return {};
|
|
6666
|
+
const value = JSON.parse(bytes.toString());
|
|
6667
|
+
if (!value || typeof value !== "object" || value.lastAttempt !== void 0 && (!Number.isFinite(value.lastAttempt) || value.lastAttempt < 0))
|
|
6668
|
+
throw new Error("automatic_update_state_invalid");
|
|
6669
|
+
return value.lastAttempt === void 0 ? {} : { lastAttempt: value.lastAttempt };
|
|
6670
|
+
}
|
|
6671
|
+
async function maybeStartAutomaticUpdate(options = {}) {
|
|
6672
|
+
const stateDir = options.stateDir ?? stateDirectory(options.platform, options.env, options.home);
|
|
6673
|
+
const path = statePath(stateDir);
|
|
6674
|
+
try {
|
|
6675
|
+
const now = (options.now ?? Date.now)();
|
|
6676
|
+
const stat = options.stat ?? nodeStat;
|
|
6677
|
+
try {
|
|
6678
|
+
if (now - (await stat(path)).mtimeMs < DAY_MS)
|
|
6679
|
+
return false;
|
|
6680
|
+
} catch (error) {
|
|
6681
|
+
if (error.code !== "ENOENT")
|
|
6682
|
+
throw error;
|
|
6683
|
+
}
|
|
6684
|
+
if (!options.spawn && !(await stat(cliLauncherPath(options))).isFile())
|
|
6685
|
+
return false;
|
|
6686
|
+
return await withLock(path, 0, async (assertOwned) => {
|
|
6687
|
+
const state = await readState(path);
|
|
6688
|
+
if (state.lastAttempt !== void 0 && now - state.lastAttempt < DAY_MS)
|
|
6689
|
+
return false;
|
|
6690
|
+
await atomicWrite(path, Buffer.from(`${JSON.stringify({ lastAttempt: now })}
|
|
6691
|
+
`), void 0, assertOwned);
|
|
6692
|
+
await utimes(path, now / 1e3, now / 1e3);
|
|
6693
|
+
const platform = options.platform ?? process.platform;
|
|
6694
|
+
const launcher = cliLauncherPath(options);
|
|
6695
|
+
const command = platform === "win32" ? {
|
|
6696
|
+
file: options.env?.ComSpec || "cmd.exe",
|
|
6697
|
+
args: ["/d", "/s", "/c", `""${launcher}" update --automatic"`],
|
|
6698
|
+
windowsVerbatimArguments: true
|
|
6699
|
+
} : platform === "linux" && (options.env ?? process.env).INVOCATION_ID ? {
|
|
6700
|
+
// detached creates a process group, not a new systemd cgroup. An
|
|
6701
|
+
// updater spawned by the scanner must survive stopping that service.
|
|
6702
|
+
file: "systemd-run",
|
|
6703
|
+
args: [
|
|
6704
|
+
"--user",
|
|
6705
|
+
"--collect",
|
|
6706
|
+
"--quiet",
|
|
6707
|
+
`--setenv=MNEMONIK_STATE_DIR=${stateDir}`,
|
|
6708
|
+
"--",
|
|
6709
|
+
launcher,
|
|
6710
|
+
"update",
|
|
6711
|
+
"--automatic"
|
|
6712
|
+
]
|
|
6713
|
+
} : { file: launcher, args: ["update", "--automatic"] };
|
|
6714
|
+
const child = (options.spawn ?? nodeSpawn)(command.file, command.args, {
|
|
6715
|
+
detached: true,
|
|
6716
|
+
stdio: "ignore",
|
|
6717
|
+
windowsHide: true,
|
|
6718
|
+
..."windowsVerbatimArguments" in command ? { windowsVerbatimArguments: command.windowsVerbatimArguments } : {}
|
|
6719
|
+
});
|
|
6720
|
+
child.once("error", () => {
|
|
6721
|
+
});
|
|
6722
|
+
child.unref();
|
|
6723
|
+
return true;
|
|
6724
|
+
});
|
|
6725
|
+
} catch {
|
|
6726
|
+
return false;
|
|
6727
|
+
}
|
|
6728
|
+
}
|
|
6729
|
+
var HELPER_FLAG = "--mnemonik-automatic-update";
|
|
6730
|
+
function isHelperInvocation() {
|
|
6731
|
+
if (process.argv[2] !== HELPER_FLAG || !process.argv[3] || !process.argv[1])
|
|
6732
|
+
return false;
|
|
6733
|
+
try {
|
|
6734
|
+
return realpathSync(process.argv[1]) === realpathSync(fileURLToPath2(import.meta.url));
|
|
6735
|
+
} catch {
|
|
6736
|
+
return false;
|
|
6737
|
+
}
|
|
6738
|
+
}
|
|
6739
|
+
if (isHelperInvocation())
|
|
6740
|
+
void maybeStartAutomaticUpdate({ stateDir: process.argv[3] });
|
|
6637
6741
|
|
|
6638
6742
|
// packages/local-setup/dist/index.js
|
|
6639
6743
|
var MAX_ORIGINAL_BYTES = 64 * 1024;
|
|
@@ -6855,7 +6959,7 @@ async function removeLauncher(options = {}) {
|
|
|
6855
6959
|
"utf16le"
|
|
6856
6960
|
).toString("base64");
|
|
6857
6961
|
await new Promise((resolve3, reject) => {
|
|
6858
|
-
const child = (options.spawn ??
|
|
6962
|
+
const child = (options.spawn ?? nodeSpawn2)(
|
|
6859
6963
|
"powershell.exe",
|
|
6860
6964
|
[
|
|
6861
6965
|
"-NoProfile",
|
package/dist/output.d.ts
CHANGED
|
@@ -15,11 +15,14 @@ export declare class Output {
|
|
|
15
15
|
private context;
|
|
16
16
|
private installationLayout;
|
|
17
17
|
private lastHumanLineBlank;
|
|
18
|
+
private headingNext;
|
|
18
19
|
private progress?;
|
|
19
20
|
constructor(stdout: Writable, stderr?: Writable, context?: OutputContext);
|
|
20
21
|
setContext(context: OutputContext): void;
|
|
21
22
|
beginInstallation(): void;
|
|
22
23
|
installSection(): void;
|
|
24
|
+
/** A heading that is not a numbered step: flush left, with a blank line above it. */
|
|
25
|
+
heading(value: string): number;
|
|
23
26
|
inputPrefix(): void;
|
|
24
27
|
line(value?: string): number;
|
|
25
28
|
write(value: string): void;
|
package/dist/output.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../src/output.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAOD,2EAA2E;AAC3E,wBAAgB,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,GAAE,aAAkB,GAAG,MAAM,CAa1E;AA0BD,MAAM,WAAW,QAAQ;IACvB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;CAC/B;AAkCD,qBAAa,MAAM;
|
|
1
|
+
{"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../src/output.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAOD,2EAA2E;AAC3E,wBAAgB,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,GAAE,aAAkB,GAAG,MAAM,CAa1E;AA0BD,MAAM,WAAW,QAAQ;IACvB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;CAC/B;AAkCD,qBAAa,MAAM;IAYf,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAZzB,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,kBAAkB,CAAS;IACnC,OAAO,CAAC,kBAAkB,CAAQ;IAClC,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,QAAQ,CAAC,CAIf;IAEF,YACmB,MAAM,EAAE,QAAQ,EAChB,MAAM,GAAE,QAAiB,EAC1C,OAAO,GAAE,aAAkB,EAG5B;IAED,UAAU,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI,CAEvC;IAED,iBAAiB,IAAI,IAAI,CAIxB;IAED,cAAc,IAAI,IAAI,CAErB;IAED,qFAAqF;IACrF,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAO7B;IAED,WAAW,IAAI,IAAI,CAElB;IAED,IAAI,CAAC,KAAK,SAAK,GAAG,MAAM,CAEvB;IAED,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAEzB;IAED,mFAAmF;IACnF,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAG5B;IAED,wFAAwF;IACxF,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAG1C;IAED,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,UAAO,GAAG,MAAM,CAM1C;IAED,IAAI,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAEzB;IAED,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG;QAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,IAAI,IAAI,IAAI,CAAA;KAAE,CA8B9F;IAED,OAAO,CAAC,SAAS;CAwClB"}
|
package/dist/output.js
CHANGED
|
@@ -70,6 +70,7 @@ var Output = class {
|
|
|
70
70
|
context;
|
|
71
71
|
installationLayout = false;
|
|
72
72
|
lastHumanLineBlank = true;
|
|
73
|
+
headingNext = false;
|
|
73
74
|
progress;
|
|
74
75
|
setContext(context) {
|
|
75
76
|
this.context = { ...this.context, ...context };
|
|
@@ -82,6 +83,15 @@ var Output = class {
|
|
|
82
83
|
installSection() {
|
|
83
84
|
if (!this.lastHumanLineBlank) this.line();
|
|
84
85
|
}
|
|
86
|
+
/** A heading that is not a numbered step: flush left, with a blank line above it. */
|
|
87
|
+
heading(value) {
|
|
88
|
+
this.headingNext = true;
|
|
89
|
+
try {
|
|
90
|
+
return this.line(value);
|
|
91
|
+
} finally {
|
|
92
|
+
this.headingNext = false;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
85
95
|
inputPrefix() {
|
|
86
96
|
if (this.installationLayout) this.write(" ");
|
|
87
97
|
}
|
|
@@ -148,7 +158,7 @@ Run mnemonik logout to switch account.
|
|
|
148
158
|
if (progress) this.stdout.write("\r\x1B[2K");
|
|
149
159
|
let count = 0;
|
|
150
160
|
for (const line of humanLines(value)) {
|
|
151
|
-
const heading = /^Step \d+ of \d+:/u.test(line.text);
|
|
161
|
+
const heading = this.headingNext || /^Step \d+ of \d+:/u.test(line.text);
|
|
152
162
|
const approvalLink = line.url?.includes("/oauth/device?user_code=") ?? false;
|
|
153
163
|
if (this.installationLayout && heading && !this.lastHumanLineBlank) {
|
|
154
164
|
stream.write("\n");
|
package/dist/output.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"output.js","sourceRoot":"","sources":["../src/output.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"output.js","sourceRoot":"","sources":["../src/output.ts"],"names":[],"mappings":"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"}
|
package/dist/preflight.d.ts
CHANGED
|
@@ -43,6 +43,11 @@ export interface PreflightDependencies {
|
|
|
43
43
|
env?: NodeJS.ProcessEnv;
|
|
44
44
|
}
|
|
45
45
|
export declare function nodeVersionHelp(version: string, platform: NodeJS.Platform): [string, string];
|
|
46
|
+
/** The launch editors present on this machine, by their files alone. */
|
|
47
|
+
export declare function detectEditors(home: string, root: string, pathExists?: (path: string) => Promise<boolean>): Promise<Array<{
|
|
48
|
+
host: (typeof launchHosts)[number];
|
|
49
|
+
path: string;
|
|
50
|
+
}>>;
|
|
46
51
|
export declare function runPreflight(deps?: PreflightDependencies): Promise<PreflightResult>;
|
|
47
52
|
export declare function renderPreflight(result: PreflightResult, output: Output): void;
|
|
48
53
|
//# sourceMappingURL=preflight.d.ts.map
|
package/dist/preflight.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preflight.d.ts","sourceRoot":"","sources":["../src/preflight.ts"],"names":[],"mappings":"AAGA,OAAO,EAEL,KAAK,mBAAmB,EACxB,sBAAsB,EACtB,KAAK,yBAAyB,EAC/B,MAAM,kBAAkB,CAAC;AAE1B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEtE,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AAE/E,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,QAAQ,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,OAAO,GAAG,iBAAiB,CAAC;IACpC,IAAI,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,OAAO,CAAA;KAAE,CAAC;IAC9C,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,OAAO,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAA;KAAE,CAAC;IAC1E,OAAO,EAAE;QAAE,SAAS,EAAE,OAAO,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,IAAI,CAAA;KAAE,CAAC;CACxF;AAED,MAAM,WAAW,qBAAqB;IACpC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;IAChC,eAAe,CAAC,EAAE,OAAO,sBAAsB,CAAC;IAChD,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAChD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,mFAAmF;IACnF,QAAQ,CAAC,EAAE,mBAAmB,CAAC,UAAU,CAAC,CAAC;IAC3C,YAAY,CAAC,EAAE,mBAAmB,CAAC,cAAc,CAAC,CAAC;IACnD,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CACzB;AAWD,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAS5F;AAgCD,wBAAsB,YAAY,CAAC,IAAI,GAAE,qBAA0B,GAAG,OAAO,CAAC,eAAe,CAAC,
|
|
1
|
+
{"version":3,"file":"preflight.d.ts","sourceRoot":"","sources":["../src/preflight.ts"],"names":[],"mappings":"AAGA,OAAO,EAEL,KAAK,mBAAmB,EACxB,sBAAsB,EACtB,KAAK,yBAAyB,EAC/B,MAAM,kBAAkB,CAAC;AAE1B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEtE,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AAE/E,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,QAAQ,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,OAAO,GAAG,iBAAiB,CAAC;IACpC,IAAI,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,OAAO,CAAA;KAAE,CAAC;IAC9C,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,OAAO,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAA;KAAE,CAAC;IAC1E,OAAO,EAAE;QAAE,SAAS,EAAE,OAAO,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,IAAI,CAAA;KAAE,CAAC;CACxF;AAED,MAAM,WAAW,qBAAqB;IACpC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;IAChC,eAAe,CAAC,EAAE,OAAO,sBAAsB,CAAC;IAChD,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAChD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,mFAAmF;IACnF,QAAQ,CAAC,EAAE,mBAAmB,CAAC,UAAU,CAAC,CAAC;IAC3C,YAAY,CAAC,EAAE,mBAAmB,CAAC,cAAc,CAAC,CAAC;IACnD,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CACzB;AAWD,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAS5F;AAgCD,wEAAwE;AACxE,wBAAsB,aAAa,CACjC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,UAAU,GAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAA4B,GACxE,OAAO,CAAC,KAAK,CAAC;IAAE,IAAI,EAAE,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CAUtE;AAED,wBAAsB,YAAY,CAAC,IAAI,GAAE,qBAA0B,GAAG,OAAO,CAAC,eAAe,CAAC,CA8C7F;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAoB7E"}
|
package/dist/preflight.js
CHANGED
|
@@ -5020,23 +5020,24 @@ var hostPaths = (home, project) => ({
|
|
|
5020
5020
|
join4(project, ".cursor")
|
|
5021
5021
|
]
|
|
5022
5022
|
});
|
|
5023
|
+
async function detectEditors(home, root, pathExists = hostDiscovery.pathExists) {
|
|
5024
|
+
const found = [];
|
|
5025
|
+
const paths = hostPaths(home, root);
|
|
5026
|
+
for (const host of launchHosts)
|
|
5027
|
+
for (const path of paths[host])
|
|
5028
|
+
if (await pathExists(path)) {
|
|
5029
|
+
found.push({ host, path });
|
|
5030
|
+
break;
|
|
5031
|
+
}
|
|
5032
|
+
return found;
|
|
5033
|
+
}
|
|
5023
5034
|
async function runPreflight(deps = {}) {
|
|
5024
5035
|
const home = deps.home ?? homedir2();
|
|
5025
5036
|
const resolution = await (deps.resolveIdentity ?? resolveProjectIdentity)(
|
|
5026
5037
|
deps.cwd ?? process.cwd()
|
|
5027
5038
|
);
|
|
5028
5039
|
const root = "root" in resolution ? resolution.root : deps.cwd ?? process.cwd();
|
|
5029
|
-
const
|
|
5030
|
-
const hosts = [];
|
|
5031
|
-
const paths = hostPaths(home, root);
|
|
5032
|
-
for (const host of launchHosts) {
|
|
5033
|
-
for (const path of paths[host]) {
|
|
5034
|
-
if (await pathExists(path)) {
|
|
5035
|
-
hosts.push({ name: launchHostLabels[host], supported: true, path });
|
|
5036
|
-
break;
|
|
5037
|
-
}
|
|
5038
|
-
}
|
|
5039
|
-
}
|
|
5040
|
+
const hosts = (await detectEditors(home, root, deps.pathExists ?? hostDiscovery.pathExists)).map(({ host, path }) => ({ name: launchHostLabels[host], supported: true, path }));
|
|
5040
5041
|
const projectRoot = "root" in resolution ? resolution.root : void 0;
|
|
5041
5042
|
const discoveryUrl = deps.discoveryUrl ?? new URL("/.well-known/oauth-protected-resource", deps.resource ?? apiOrigin()).href;
|
|
5042
5043
|
let network;
|
|
@@ -5079,7 +5080,7 @@ function renderPreflight(result, output) {
|
|
|
5079
5080
|
const hosts = result.hosts.map(
|
|
5080
5081
|
(host) => `${host.name}${host.supported ? "" : " (not supported yet)"}`
|
|
5081
5082
|
);
|
|
5082
|
-
output.line(` Found ${hosts.length ? hosts.join(", ") : "No supported
|
|
5083
|
+
output.line(` Found ${hosts.length ? hosts.join(", ") : "No supported coding tools"}`);
|
|
5083
5084
|
output.line(
|
|
5084
5085
|
` Project ${result.project.resolution === "absent" ? "No project found" : result.project.root}`
|
|
5085
5086
|
);
|
|
@@ -5093,6 +5094,7 @@ function renderPreflight(result, output) {
|
|
|
5093
5094
|
output.line();
|
|
5094
5095
|
}
|
|
5095
5096
|
export {
|
|
5097
|
+
detectEditors,
|
|
5096
5098
|
nodeVersionHelp,
|
|
5097
5099
|
renderPreflight,
|
|
5098
5100
|
runPreflight
|
package/dist/preflight.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preflight.js","sourceRoot":"","sources":["../src/preflight.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EACL,SAAS,EAET,sBAAsB,GAEvB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAoCtE,MAAM,MAAM,GAAG,CAAC,QAAyB,EAAU,EAAE,CACnD,QAAQ,KAAK,QAAQ;IACnB,CAAC,CAAC,OAAO;IACT,CAAC,CAAC,QAAQ,KAAK,OAAO;QACpB,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,QAAQ,KAAK,OAAO;YACpB,CAAC,CAAC,OAAO;YACT,CAAC,CAAC,QAAQ,CAAC;AAEnB,MAAM,UAAU,eAAe,CAAC,OAAe,EAAE,QAAyB;IACxE,OAAO;QACL,QAAQ,OAAO,iDAAiD;QAChE,QAAQ,KAAK,QAAQ;YACnB,CAAC,CAAC,+EAA+E;YACjF,CAAC,CAAC,QAAQ,KAAK,OAAO;gBACpB,CAAC,CAAC,iEAAiE;gBACnE,CAAC,CAAC,iDAAiD;KACxD,CAAC;AACJ,CAAC;AAED,MAAM,SAAS,GAAG,CAChB,IAAY,EACZ,OAAe,EACiC,EAAE,CAAC,CAAC;IACpD,aAAa,EAAE;QACb,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,eAAe,CAAC;QACtC,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC;QAC1B,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC;QACrB,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,eAAe,CAAC;QACzC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC;QAC1B,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC;KACzB;IACD,KAAK,EAAE;QACL,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,aAAa,CAAC;QACnC,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,YAAY,CAAC;QAClC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC;QACpB,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,aAAa,CAAC;QACtC,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,YAAY,CAAC;QACrC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC;KACxB;IACD,MAAM,EAAE;QACN,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,CAAC;QACjC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,YAAY,CAAC;QACnC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC;QACrB,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,UAAU,CAAC;QACpC,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,YAAY,CAAC;QACtC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC;KACzB;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,IAAI,GAA0B,EAAE;IACjE,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,OAAO,EAAE,CAAC;IACpC,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,IAAI,sBAAsB,CAAC,CACvE,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAC1B,CAAC;IACF,MAAM,IAAI,GAAG,MAAM,IAAI,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAClF,MAAM,
|
|
1
|
+
{"version":3,"file":"preflight.js","sourceRoot":"","sources":["../src/preflight.ts"],"names":[],"mappings":"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"}
|