@mnemonik/cli 7.109.2 → 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.
Files changed (104) hide show
  1. package/dist/auth/credentials.js +297 -36
  2. package/dist/auth/index.d.ts +2 -0
  3. package/dist/auth/index.d.ts.map +1 -1
  4. package/dist/auth/index.js +1914 -19
  5. package/dist/auth/index.js.map +1 -1
  6. package/dist/auth/machineName.d.ts +8 -0
  7. package/dist/auth/machineName.d.ts.map +1 -0
  8. package/dist/auth/machineName.js +23 -0
  9. package/dist/auth/machineName.js.map +1 -0
  10. package/dist/consent.d.ts +29 -0
  11. package/dist/consent.d.ts.map +1 -0
  12. package/dist/consent.js +87 -0
  13. package/dist/consent.js.map +1 -0
  14. package/dist/diagnostics.js +301 -40
  15. package/dist/digests.json +102 -90
  16. package/dist/help.d.ts.map +1 -1
  17. package/dist/help.js +59 -44
  18. package/dist/help.js.map +1 -1
  19. package/dist/humanReason.d.ts +8 -0
  20. package/dist/humanReason.d.ts.map +1 -1
  21. package/dist/humanReason.js +44 -16
  22. package/dist/humanReason.js.map +1 -1
  23. package/dist/identity/migrate.js +1835 -44
  24. package/dist/install/hosts.d.ts +2 -0
  25. package/dist/install/hosts.d.ts.map +1 -1
  26. package/dist/install/hosts.js +23 -14
  27. package/dist/install/hosts.js.map +1 -1
  28. package/dist/install/journal.js +124 -11
  29. package/dist/install/journey.d.ts +20 -0
  30. package/dist/install/journey.d.ts.map +1 -1
  31. package/dist/install/journey.js +1913 -82
  32. package/dist/install/journey.js.map +1 -1
  33. package/dist/install/ownership.d.ts.map +1 -1
  34. package/dist/install/ownership.js +1818 -10
  35. package/dist/install/ownership.js.map +1 -1
  36. package/dist/install/transaction.js +1913 -19
  37. package/dist/install/ui.js +1910 -15
  38. package/dist/installation.js +133 -10
  39. package/dist/launcher.js +108 -4
  40. package/dist/output.d.ts +3 -0
  41. package/dist/output.d.ts.map +1 -1
  42. package/dist/output.js +11 -1
  43. package/dist/output.js.map +1 -1
  44. package/dist/preflight.d.ts +5 -0
  45. package/dist/preflight.d.ts.map +1 -1
  46. package/dist/preflight.js +14 -12
  47. package/dist/preflight.js.map +1 -1
  48. package/dist/project/eligibility.js +1917 -22
  49. package/dist/project/records.js +121 -8
  50. package/dist/project.d.ts +15 -0
  51. package/dist/project.d.ts.map +1 -1
  52. package/dist/project.js +229 -15
  53. package/dist/project.js.map +1 -1
  54. package/dist/router.d.ts +2 -0
  55. package/dist/router.d.ts.map +1 -1
  56. package/dist/router.js +2164 -122
  57. package/dist/router.js.map +1 -1
  58. package/dist/runtime/releaseSource.d.ts +6 -0
  59. package/dist/runtime/releaseSource.d.ts.map +1 -1
  60. package/dist/runtime/releaseSource.js +1933 -32
  61. package/dist/runtime/releaseSource.js.map +1 -1
  62. package/dist/runtime/selfUpdate.js +1809 -8
  63. package/dist/runtime/signers.js +28 -9
  64. package/dist/runtime/store.js +18 -6
  65. package/dist/runtime/updateCheck.d.ts +4 -0
  66. package/dist/runtime/updateCheck.d.ts.map +1 -0
  67. package/dist/runtime/updateCheck.js +6695 -0
  68. package/dist/runtime/updateCheck.js.map +1 -0
  69. package/dist/sbom.json +21 -21
  70. package/dist/scanner/control.d.ts +27 -1
  71. package/dist/scanner/control.d.ts.map +1 -1
  72. package/dist/scanner/control.js +207 -36
  73. package/dist/scanner/control.js.map +1 -1
  74. package/dist/scanner/discover.d.ts +5 -0
  75. package/dist/scanner/discover.d.ts.map +1 -1
  76. package/dist/scanner/discover.js +16 -6
  77. package/dist/scanner/discover.js.map +1 -1
  78. package/dist/scanner/enable.d.ts +2 -0
  79. package/dist/scanner/enable.d.ts.map +1 -1
  80. package/dist/scanner/enable.js +152 -14
  81. package/dist/scanner/enable.js.map +1 -1
  82. package/dist/scanner/picker.d.ts.map +1 -1
  83. package/dist/scanner/picker.js +5 -6
  84. package/dist/scanner/picker.js.map +1 -1
  85. package/dist/scanner/service.d.ts +2 -0
  86. package/dist/scanner/service.d.ts.map +1 -1
  87. package/dist/scanner/service.js +279 -54
  88. package/dist/scanner/service.js.map +1 -1
  89. package/dist/scanner/update.d.ts +8 -0
  90. package/dist/scanner/update.d.ts.map +1 -1
  91. package/dist/scanner/update.js +254 -20
  92. package/dist/scanner/update.js.map +1 -1
  93. package/dist/scanner-release.json +35 -30
  94. package/dist/screens/journey.d.ts +6 -1
  95. package/dist/screens/journey.d.ts.map +1 -1
  96. package/dist/screens/journey.js +29 -8
  97. package/dist/screens/journey.js.map +1 -1
  98. package/dist/status.d.ts +21 -0
  99. package/dist/status.d.ts.map +1 -1
  100. package/dist/status.js +1993 -39
  101. package/dist/status.js.map +1 -1
  102. package/dist/vendor/local-setup.js +256 -29
  103. package/dist/vendor/shared/runtimeSigners.js +38 -11
  104. package/package.json +31 -31
@@ -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
- return currentIdentity ??= readIdentity(hookExecuteSync(windowsCommand("whoami.exe"), identityArgs));
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 join4 } from "node:path";
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
- init_hookRuntime();
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(join4(stateDir, "installation"), 5e3, async () => {
6557
- const bytes = await readBytes2(join4(stateDir, "installation.json"));
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
- join4(stateDir, "installation.json"),
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(join4(stateDir, "installation.json"));
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(join4(stateDir, "scanner/state.json"));
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(join4(stateDir, "installation.json")))?.toString() ?? "{}"
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
- return currentIdentity ??= readIdentity(hookExecuteSync(windowsCommand("whoami.exe"), identityArgs));
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 nodeSpawn } from "node:child_process";
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 ?? nodeSpawn)(
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;
@@ -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;IAWf,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAXzB,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,kBAAkB,CAAS;IACnC,OAAO,CAAC,kBAAkB,CAAQ;IAClC,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,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"}
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");
@@ -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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"}
@@ -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
@@ -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,CAsD7F;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAoB7E"}
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 pathExists = deps.pathExists ?? hostDiscovery.pathExists;
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 editors"}`);
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
@@ -1 +1 @@
1
- {"version":3,"file":"preflight.js","sourceRoot":"","sources":["../src/preflight.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"preflight.js","sourceRoot":"","sources":["../src/preflight.ts"],"names":[],"mappings":"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"}