@mnemonik/cli 7.100.0 → 7.101.3

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 (93) hide show
  1. package/dist/auth/pkce.d.ts +2 -0
  2. package/dist/auth/pkce.d.ts.map +1 -1
  3. package/dist/auth/pkce.js +57 -6
  4. package/dist/auth/pkce.js.map +1 -1
  5. package/dist/auth/status.d.ts +1 -5
  6. package/dist/auth/status.d.ts.map +1 -1
  7. package/dist/auth/status.js +1 -71
  8. package/dist/auth/status.js.map +1 -1
  9. package/dist/digests.json +91 -91
  10. package/dist/install/hosts.d.ts +2 -12
  11. package/dist/install/hosts.d.ts.map +1 -1
  12. package/dist/install/hosts.js +57 -356
  13. package/dist/install/hosts.js.map +1 -1
  14. package/dist/install/journal.d.ts +2 -10
  15. package/dist/install/journal.d.ts.map +1 -1
  16. package/dist/install/journal.js +0 -4
  17. package/dist/install/journal.js.map +1 -1
  18. package/dist/install/journey.d.ts.map +1 -1
  19. package/dist/install/journey.js +185 -158
  20. package/dist/install/journey.js.map +1 -1
  21. package/dist/install/transaction.d.ts +2 -3
  22. package/dist/install/transaction.d.ts.map +1 -1
  23. package/dist/install/transaction.js +1 -90
  24. package/dist/install/transaction.js.map +1 -1
  25. package/dist/install/ui.d.ts.map +1 -1
  26. package/dist/install/ui.js +15 -33
  27. package/dist/install/ui.js.map +1 -1
  28. package/dist/installSession.js +0 -4
  29. package/dist/launcher.d.ts.map +1 -1
  30. package/dist/launcher.js +16 -7
  31. package/dist/launcher.js.map +1 -1
  32. package/dist/output.d.ts +1 -0
  33. package/dist/output.d.ts.map +1 -1
  34. package/dist/output.js +3 -0
  35. package/dist/output.js.map +1 -1
  36. package/dist/preflight.d.ts +2 -0
  37. package/dist/preflight.d.ts.map +1 -1
  38. package/dist/preflight.js +64 -209
  39. package/dist/preflight.js.map +1 -1
  40. package/dist/project/eligibility.d.ts +11 -1
  41. package/dist/project/eligibility.d.ts.map +1 -1
  42. package/dist/project/eligibility.js +12 -1
  43. package/dist/project/eligibility.js.map +1 -1
  44. package/dist/project.d.ts +3 -0
  45. package/dist/project.d.ts.map +1 -1
  46. package/dist/project.js +56 -21
  47. package/dist/project.js.map +1 -1
  48. package/dist/router.d.ts +5 -1
  49. package/dist/router.d.ts.map +1 -1
  50. package/dist/router.js +201 -93
  51. package/dist/router.js.map +1 -1
  52. package/dist/runtime/releaseSource.d.ts +10 -0
  53. package/dist/runtime/releaseSource.d.ts.map +1 -1
  54. package/dist/runtime/releaseSource.js +82 -6
  55. package/dist/runtime/releaseSource.js.map +1 -1
  56. package/dist/runtime/selfUpdate.d.ts +4 -1
  57. package/dist/runtime/selfUpdate.d.ts.map +1 -1
  58. package/dist/runtime/selfUpdate.js +12 -6
  59. package/dist/runtime/selfUpdate.js.map +1 -1
  60. package/dist/runtime/signers.js +15 -7
  61. package/dist/runtime/store.d.ts +2 -1
  62. package/dist/runtime/store.d.ts.map +1 -1
  63. package/dist/runtime/store.js +20 -9
  64. package/dist/runtime/store.js.map +1 -1
  65. package/dist/sbom.json +21 -23
  66. package/dist/scanner/discover.d.ts +12 -1
  67. package/dist/scanner/discover.d.ts.map +1 -1
  68. package/dist/scanner/discover.js +37 -6
  69. package/dist/scanner/discover.js.map +1 -1
  70. package/dist/scanner/enable.d.ts +23 -5
  71. package/dist/scanner/enable.d.ts.map +1 -1
  72. package/dist/scanner/enable.js +93 -21
  73. package/dist/scanner/enable.js.map +1 -1
  74. package/dist/scanner/picker.d.ts +7 -1
  75. package/dist/scanner/picker.d.ts.map +1 -1
  76. package/dist/scanner/picker.js +64 -13
  77. package/dist/scanner/picker.js.map +1 -1
  78. package/dist/scanner-release.json +25 -25
  79. package/dist/screens/journey.d.ts +13 -3
  80. package/dist/screens/journey.d.ts.map +1 -1
  81. package/dist/screens/journey.js +145 -53
  82. package/dist/screens/journey.js.map +1 -1
  83. package/dist/screens.d.ts +2 -3
  84. package/dist/screens.d.ts.map +1 -1
  85. package/dist/screens.js +6 -16
  86. package/dist/screens.js.map +1 -1
  87. package/dist/status.d.ts +5 -3
  88. package/dist/status.d.ts.map +1 -1
  89. package/dist/status.js +194 -110
  90. package/dist/status.js.map +1 -1
  91. package/dist/vendor/local-setup.js +124 -27
  92. package/dist/vendor/shared/runtimeSigners.js +11 -6
  93. package/package.json +45 -41
@@ -6404,8 +6404,6 @@ var stateFor = {
6404
6404
  scanner_not_verified: "LIMITED",
6405
6405
  hook_not_verified: "LIMITED",
6406
6406
  hooks_missing: "ACTION_REQUIRED",
6407
- host_grant_unbound: "LIMITED",
6408
- host_not_connected: "LIMITED",
6409
6407
  scanner_omitted: "LIMITED",
6410
6408
  project_uncovered: "LIMITED",
6411
6409
  host_skipped: "LIMITED",
@@ -6421,8 +6419,6 @@ var rank = {
6421
6419
  FAILED: 3
6422
6420
  };
6423
6421
  function defaultAction(condition) {
6424
- if (condition.kind === "host_skipped" && condition.component)
6425
- return `Connect it later: mnemonik connect ${condition.component}`;
6426
6422
  if (condition.kind === "windows_task_creation_failed")
6427
6423
  return "Run mnemonik scanner enable to try again.";
6428
6424
  return condition.action;
@@ -6632,17 +6628,76 @@ import { grantTransport } from "../auth/status.js";
6632
6628
  import { readInstallation, saveInstallation } from "../installation.js";
6633
6629
  import { RuntimeStore, hash as hash3 } from "../runtime/store.js";
6634
6630
  import { releaseSource, devReadiness } from "../runtime/releaseSource.js";
6635
- import { evaluateRoot } from "../project/eligibility.js";
6636
- import { runScannerPicker } from "./picker.js";
6631
+ import { evaluateRoot, repositoryAt } from "../project/eligibility.js";
6637
6632
  import { scannerService } from "./service.js";
6638
6633
  import { controlScanner, scannerReceipt } from "./control.js";
6639
6634
  import { bytesAt, digest } from "../install/journal.js";
6635
+ import {
6636
+ connectedProjectsMessage,
6637
+ createRealProjectRuntime,
6638
+ ensureProjectRoot,
6639
+ projectLimitMessage
6640
+ } from "../project.js";
6641
+ import { consentDraft, runScannerBoundaryPicker } from "./picker.js";
6640
6642
  var scannerStateBytes = (state) => Buffer.from(`${JSON.stringify(state, null, 2)}
6641
6643
  `);
6644
+ var SCANNER_APPROVAL_WAIT = "Waiting for approval in your browser, up to 10 minutes.";
6645
+ async function updateScannerRoots(options) {
6646
+ await mkdir2(join4(options.stateDir, "scanner"), { recursive: true, mode: 448 });
6647
+ return withLock(join4(options.stateDir, "scanner/enable"), 5e3, async () => {
6648
+ const path = join4(options.stateDir, "scanner/state.json");
6649
+ const state = JSON.parse(await readFile2(path, "utf8"));
6650
+ const response = await (options.fetch ?? fetch)(
6651
+ `${apiOrigin()}/api/v1/scanner-consent/current`,
6652
+ {
6653
+ method: "POST",
6654
+ headers: {
6655
+ Authorization: `Bearer ${options.bearer}`,
6656
+ "Content-Type": "application/json"
6657
+ },
6658
+ body: JSON.stringify({ add: options.add, remove: options.remove })
6659
+ }
6660
+ );
6661
+ const body2 = await response.json().catch(() => ({}));
6662
+ if (response.status === 409 && body2.code === "disclosure_required")
6663
+ return { status: "disclosure_required" };
6664
+ if (!response.ok || !body2.consent || !Array.isArray(body2.consent.roots))
6665
+ throw new Error(`scanner_request_${response.status}`);
6666
+ const removed = new Set(options.remove);
6667
+ state.config.roots = state.config.roots.filter((root) => !removed.has(root));
6668
+ for (const root of options.add)
6669
+ if (!state.config.roots.includes(root)) state.config.roots.push(root);
6670
+ if (!state.config.roots.every((root) => body2.consent?.roots.includes(root)))
6671
+ throw new Error("scanner_consent_mismatch");
6672
+ state.consent = body2.consent;
6673
+ await atomicWrite(path, scannerStateBytes(state));
6674
+ return { status: "updated", state };
6675
+ });
6676
+ }
6642
6677
  async function enableScanner(options) {
6643
6678
  return prepareScanner(options, async (prepared) => {
6644
- const document = await prepared.apply();
6679
+ const executor = await prepared.projectExecutor();
6680
+ const connected = [];
6681
+ let limit;
6682
+ for (const root of [...prepared.roots]) {
6683
+ const result = await ensureProjectRoot(root, executor);
6684
+ if (result.status === "done") connected.push(root);
6685
+ else {
6686
+ const lines = projectLimitMessage(result, root);
6687
+ if (lines) {
6688
+ limit = lines.join("\n");
6689
+ break;
6690
+ }
6691
+ throw new Error("project_setup_required");
6692
+ }
6693
+ }
6694
+ prepared.roots.splice(0, prepared.roots.length, ...connected);
6695
+ const document = await prepared.apply(void 0, connected);
6645
6696
  if (document.installation.state === "READY") await prepared.complete(document);
6697
+ if (!options.nonInteractive) {
6698
+ if (connected.length) options.output.line(connectedProjectsMessage(connected));
6699
+ if (limit) for (const line of limit.split("\n")) options.output.line(line);
6700
+ }
6646
6701
  return document;
6647
6702
  });
6648
6703
  }
@@ -6709,34 +6764,41 @@ async function prepareScanner(options, work) {
6709
6764
  }
6710
6765
  if (restore) await controlScanner("pause", options);
6711
6766
  try {
6712
- const picked = options.roots ? { roots: options.roots, exclusions: options.exclusions ?? [] } : options.nonInteractive ? (() => {
6767
+ const picked = options.roots ? { roots: options.roots, exclusions: options.exclusions ?? [], repositories: [] } : options.nonInteractive ? (() => {
6713
6768
  throw new Error("scan_roots_required");
6714
- })() : await runScannerPicker({
6769
+ })() : await runScannerBoundaryPicker({
6715
6770
  input: options.input,
6716
6771
  output: options.output,
6717
6772
  currentProject: options.cwd,
6718
- currentFolder: options.cwd
6773
+ currentFolder: options.cwd,
6774
+ home: options.home
6719
6775
  });
6720
6776
  if ("status" in picked) throw new Error("consent_declined");
6721
- if (!picked.roots.length) throw new Error("scan_roots_required");
6777
+ if (!picked.roots.length && !picked.candidates?.length)
6778
+ throw new Error("scan_roots_required");
6722
6779
  picked.roots = await Promise.all(picked.roots.map((root) => realpath(root)));
6723
6780
  picked.exclusions = await Promise.all(picked.exclusions.map((root) => realpath(root)));
6724
6781
  for (const root of picked.roots) {
6725
6782
  const decision = await evaluateRoot(
6726
- { kind: "absent", root, repository: { kind: "plain", root }, nested: [] },
6783
+ { kind: "absent", root, repository: await repositoryAt(root), nested: [] },
6727
6784
  { cwd: root, nonGitSelected: true }
6728
6785
  );
6729
- if (!decision.allowed) throw new Error(decision.reason);
6786
+ if (!decision.allowed) {
6787
+ options.output.error(`${decision.reason}: ${root}`);
6788
+ throw new Error(decision.reason);
6789
+ }
6730
6790
  }
6731
6791
  let remote = await request("GET", "/api/v1/scanner-consent/current");
6732
- if (!options.nonInteractive)
6733
- for (const statement of remote.disclosure.statements) options.output.line(statement.text);
6734
- const matches = () => remote.consent?.disclosureVersion === remote.disclosure.version && JSON.stringify(remote.consent?.roots) === JSON.stringify(picked.roots) && JSON.stringify(remote.consent?.exclusions) === JSON.stringify(picked.exclusions);
6792
+ const matches = () => remote.consent?.disclosureVersion === remote.disclosure.version && (picked.candidates ? !!remote.consent?.roots.length && remote.consent.roots.every(
6793
+ (root) => picked.candidates?.some((candidate) => candidate.path === root)
6794
+ ) : JSON.stringify(remote.consent?.roots) === JSON.stringify(picked.roots)) && JSON.stringify(remote.consent?.exclusions) === JSON.stringify(picked.exclusions);
6735
6795
  if (!matches() || !session) {
6736
6796
  const listing2 = await grantTransport(async () => bearer, options.fetch).list();
6737
6797
  const installation = session?.device_installation_id ?? listing2.deviceInstallationId ?? await readInstallation(options.stateDir, listing2.account);
6738
6798
  if (!installation) throw new Error("scanner_installation_missing");
6739
- bearer = await authorize(picked, installation);
6799
+ if (!options.nonInteractive && !options.approvalAnnounced)
6800
+ options.output.line(SCANNER_APPROVAL_WAIT);
6801
+ bearer = await authorize(consentDraft(picked), installation);
6740
6802
  session = await request("GET", "/api/v1/install-sessions/current");
6741
6803
  remote = await request("GET", "/api/v1/scanner-consent/current");
6742
6804
  }
@@ -6747,12 +6809,19 @@ async function prepareScanner(options, work) {
6747
6809
  });
6748
6810
  const approvedSession = session;
6749
6811
  const approvedConsent = remote.consent;
6812
+ const approvedRoots = [...approvedConsent.roots];
6750
6813
  const pointer = store.pointerPath("scanner");
6751
6814
  return await work({
6752
- roots: picked.roots,
6815
+ roots: approvedRoots,
6753
6816
  exclusions: picked.exclusions,
6754
6817
  files: [path, pointer],
6755
6818
  session,
6819
+ projectExecutor: async () => options.projectExecutor ?? (await createRealProjectRuntime({
6820
+ stateDir: options.projectStateDir ?? options.stateDir,
6821
+ credentials,
6822
+ getCliBearer: async () => bearer,
6823
+ fetch: options.fetch
6824
+ })).executor,
6756
6825
  complete: async (document) => {
6757
6826
  await request("POST", `/api/v1/install-sessions/${approvedSession.id}/complete`, {
6758
6827
  readiness: document,
@@ -6762,7 +6831,7 @@ async function prepareScanner(options, work) {
6762
6831
  rollback: async (journal) => {
6763
6832
  await restoreScannerInstall(journal, options);
6764
6833
  },
6765
- apply: async (journal) => {
6834
+ apply: async (journal, roots = approvedRoots) => {
6766
6835
  const put = async (targetPath, content) => {
6767
6836
  if (!journal) return atomicWrite(targetPath, content);
6768
6837
  const target = await journal.plan(targetPath, content, {
@@ -6787,8 +6856,9 @@ async function prepareScanner(options, work) {
6787
6856
  restore = false;
6788
6857
  const state = {
6789
6858
  schemaVersion: 1,
6859
+ ...picked.boundary ? { boundary: picked.boundary } : {},
6790
6860
  config: {
6791
- roots: picked.roots,
6861
+ roots: [...roots],
6792
6862
  exclusions: picked.exclusions,
6793
6863
  serverUrl: apiOrigin(),
6794
6864
  deviceInstallationId: approvedSession.device_installation_id
@@ -6916,8 +6986,10 @@ async function observeScannerState(journal, path) {
6916
6986
  await journal.save();
6917
6987
  }
6918
6988
  export {
6989
+ SCANNER_APPROVAL_WAIT,
6919
6990
  enableScanner,
6920
6991
  prepareScanner,
6921
6992
  restoreScannerInstall,
6922
- scannerStateBytes
6993
+ scannerStateBytes,
6994
+ updateScannerRoots
6923
6995
  };
@@ -1 +1 @@
1
- {"version":3,"file":"enable.js","sourceRoot":"","sources":["../../src/scanner/enable.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"enable.js","sourceRoot":"","sources":["../../src/scanner/enable.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import type { Readable } from 'node:stream';
2
2
  import type { EnsureOptions, SetupResult } from '@mnemonik/local-setup';
3
3
  import type { Output } from '../output.js';
4
- import { classifyRepository, discoverRepositories, type RepositoryState } from './discover.js';
4
+ import { classifyRepository, discoverRepositories, type ScannerCandidate, type RepositoryState } from './discover.js';
5
5
  export interface PickerRepository {
6
6
  path: string;
7
7
  state: RepositoryState;
@@ -12,6 +12,8 @@ export interface ScannerPickerResult {
12
12
  roots: string[];
13
13
  exclusions: string[];
14
14
  repositories: PickerRepository[];
15
+ boundary?: string;
16
+ candidates?: ScannerCandidate[];
15
17
  }
16
18
  export type ScannerPickerRunResult = ScannerPickerResult | {
17
19
  status: 'cancelled';
@@ -20,9 +22,12 @@ export type ScannerPickerRunResult = ScannerPickerResult | {
20
22
  export interface ScannerConsentDraft {
21
23
  roots: string[];
22
24
  exclusions: string[];
25
+ candidates?: ScannerCandidate[];
26
+ boundary?: string;
23
27
  }
24
28
  export declare const SCANNER_SELECTION_LIMIT = 32;
25
29
  export declare const SCANNER_SELECTION_LIMIT_MESSAGE = "You can leave out up to 32 repositories here. Choose a narrower folder, or watch only this project.";
30
+ export declare const scannerBoundaryPrompt: (shown: string) => string;
26
31
  interface PickerOptions {
27
32
  input: Readable;
28
33
  output: Output;
@@ -36,6 +41,7 @@ interface PickerOptions {
36
41
  home?: string;
37
42
  env?: NodeJS.ProcessEnv;
38
43
  }
44
+ export declare function runScannerBoundaryPicker(options: PickerOptions): Promise<ScannerPickerResult>;
39
45
  export declare function runScannerPicker(options: PickerOptions): Promise<ScannerPickerRunResult>;
40
46
  export declare function consentDraft(picked: ScannerPickerResult): ScannerConsentDraft;
41
47
  export declare const scannerRootsParameter: (picked: ScannerPickerResult) => string;
@@ -1 +1 @@
1
- {"version":3,"file":"picker.d.ts","sourceRoot":"","sources":["../../src/scanner/picker.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAMxE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAE3C,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EAIpB,KAAK,eAAe,EACrB,MAAM,eAAe,CAAC;AAEvB,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,eAAe,CAAC;IACvB,QAAQ,EAAE,OAAO,CAAC;IAClB,cAAc,CAAC,EAAE,IAAI,CAAC;CACvB;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,YAAY,EAAE,gBAAgB,EAAE,CAAC;CAClC;AAED,MAAM,MAAM,sBAAsB,GAC9B,mBAAmB,GACnB;IACE,MAAM,EAAE,WAAW,CAAC;IACpB,MAAM,EACF,uBAAuB,GACvB,sBAAsB,GACtB,gBAAgB,GAChB,2BAA2B,GAC3B,iBAAiB,GACjB,gBAAgB,GAChB,qBAAqB,GACrB,0BAA0B,GAC1B,qBAAqB,GACrB,uBAAuB,GACvB,wBAAwB,CAAC;CAC9B,CAAC;AAIN,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAC1C,eAAO,MAAM,+BAA+B,wGAC2D,CAAC;AAExG,UAAU,aAAa;IACrB,KAAK,EAAE,QAAQ,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACrD,QAAQ,CAAC,EAAE,OAAO,oBAAoB,CAAC;IACvC,QAAQ,CAAC,EAAE,OAAO,kBAAkB,CAAC;IACrC,cAAc,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CACzB;AA4DD,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,sBAAsB,CAAC,CA2K9F;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,mBAAmB,GAAG,mBAAmB,CAQ7E;AAED,eAAO,MAAM,qBAAqB,WAAY,mBAAmB,KAAG,MAC9B,CAAC;AAEvC,KAAK,aAAa,GAAG;IAAE,KAAK,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC,CAAA;CAAE,CAAC;AAC7E,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,WAAW,CAAA;KAAE,CAAC,CAAC;IACrD,cAAc,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,WAAW,CAAA;KAAE,CAAC,CAAC;CAC9D;AAED,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,mBAAmB,EAC3B,QAAQ,EAAE,aAAa,EACvB,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,oBAAoB,CAAC,CAc/B;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CASrF"}
1
+ {"version":3,"file":"picker.d.ts","sourceRoot":"","sources":["../../src/scanner/picker.ts"],"names":[],"mappings":"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"}
@@ -489,8 +489,8 @@ var require_ignore = __commonJS({
489
489
 
490
490
  // packages/cli/src/scanner/picker.ts
491
491
  import { createInterface } from "node:readline";
492
- import { lstat, readdir, realpath } from "node:fs/promises";
493
- import { join as join2, posix as posix2 } from "node:path";
492
+ import { readdir, realpath } from "node:fs/promises";
493
+ import { posix as posix2 } from "node:path";
494
494
 
495
495
  // packages/shared/dist/instructions.js
496
496
  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.
@@ -4738,15 +4738,67 @@ var REPOSITORY_PROVIDER_RULES = Object.freeze([
4738
4738
  var controls = new RegExp("\\p{Cc}", "u");
4739
4739
 
4740
4740
  // packages/cli/src/scanner/picker.ts
4741
- import { evaluateRoot } from "../project/eligibility.js";
4741
+ import { evaluateRoot, repositoryAt } from "../project/eligibility.js";
4742
4742
  import {
4743
4743
  classifyRepository,
4744
4744
  discoverRepositories,
4745
+ guessDiscoveryBoundary,
4745
4746
  repositoryName,
4746
- repositoryStateLabel
4747
+ repositoryStateLabel,
4748
+ scannerCandidates
4747
4749
  } from "./discover.js";
4748
4750
  var SCANNER_SELECTION_LIMIT = 32;
4749
4751
  var SCANNER_SELECTION_LIMIT_MESSAGE = "You can leave out up to 32 repositories here. Choose a narrower folder, or watch only this project.";
4752
+ var scannerBoundaryPrompt = (shown) => `Where do your projects live? [${shown}]`;
4753
+ async function runScannerBoundaryPicker(options) {
4754
+ const readline = createInterface({ input: options.input, terminal: false });
4755
+ const answers = readline[Symbol.asyncIterator]();
4756
+ const canonicalize = options.canonicalizePath ?? realpath;
4757
+ const home = options.home ?? process.env.HOME ?? "";
4758
+ const guess = await guessDiscoveryBoundary(options.currentFolder, home);
4759
+ const shown = home && (guess === home || guess.startsWith(`${home}/`)) ? `~${guess.slice(home.length)}` : guess;
4760
+ options.output.line(scannerBoundaryPrompt(shown));
4761
+ try {
4762
+ const answer = String((await answers.next()).value ?? "").trim();
4763
+ const boundary = await canonicalize(answer || guess);
4764
+ const decision = await evaluateRoot(
4765
+ { kind: "absent", root: boundary, repository: await repositoryAt(boundary), nested: [] },
4766
+ {
4767
+ cwd: boundary,
4768
+ home: options.home,
4769
+ platform: options.platform,
4770
+ env: options.env,
4771
+ nonGitSelected: true
4772
+ }
4773
+ );
4774
+ if (!decision.allowed && decision.reason !== "broad_workspace_parent")
4775
+ throw new Error(decision.reason);
4776
+ const protectedPaths = options.protectedPaths ?? protectedLocalPaths(options.platform, options.env, options.home);
4777
+ const enclosing = protectedPaths.find(
4778
+ (path) => isProtectedLocalPath(boundary, [path], options.platform)
4779
+ );
4780
+ if (enclosing) throw new Error(`protected_path: ${enclosing}`);
4781
+ const discovered = await scannerCandidates(boundary);
4782
+ if (!discovered.candidates.length) throw new Error("no_projects_found");
4783
+ const exclusions = protectedPathsWithinRoot(boundary, protectedPaths, options.platform);
4784
+ if (exclusions.length > SCANNER_SELECTION_LIMIT)
4785
+ throw new RangeError(SCANNER_SELECTION_LIMIT_MESSAGE);
4786
+ return {
4787
+ roots: [],
4788
+ exclusions,
4789
+ boundary: discovered.boundary,
4790
+ candidates: discovered.candidates,
4791
+ repositories: discovered.repositories.map(({ path, state, nonGitSelected }) => ({
4792
+ path,
4793
+ state,
4794
+ selected: !nonGitSelected,
4795
+ ...nonGitSelected ? { nonGitSelected } : {}
4796
+ }))
4797
+ };
4798
+ } finally {
4799
+ readline.close();
4800
+ }
4801
+ }
4750
4802
  function writeChoices(output, currentFolder) {
4751
4803
  output.line(" What should Mnemonik watch?");
4752
4804
  output.line();
@@ -4806,14 +4858,7 @@ async function runScannerPicker(options) {
4806
4858
  );
4807
4859
  return { status: "cancelled", reason: "temporary_directory" };
4808
4860
  }
4809
- const marker = await lstat(join2(candidate, ".git")).catch(() => void 0);
4810
- const repository = marker?.isDirectory() || marker?.isFile() ? {
4811
- kind: "git",
4812
- root: candidate,
4813
- commonDir: join2(candidate, ".git"),
4814
- isLinkedWorktree: false,
4815
- nested: []
4816
- } : { kind: "plain", root: candidate };
4861
+ const repository = await repositoryAt(candidate);
4817
4862
  const decision = await evaluateRoot(
4818
4863
  {
4819
4864
  kind: "absent",
@@ -4956,7 +5001,11 @@ function consentDraft(picked) {
4956
5001
  if (picked.roots.length > SCANNER_SELECTION_LIMIT || picked.exclusions.length > SCANNER_SELECTION_LIMIT) {
4957
5002
  throw new RangeError(SCANNER_SELECTION_LIMIT_MESSAGE);
4958
5003
  }
4959
- return { roots: picked.roots, exclusions: picked.exclusions };
5004
+ return {
5005
+ roots: picked.roots,
5006
+ exclusions: picked.exclusions,
5007
+ ...picked.candidates ? { candidates: picked.candidates, boundary: picked.boundary } : {}
5008
+ };
4960
5009
  }
4961
5010
  var scannerRootsParameter = (picked) => JSON.stringify(consentDraft(picked));
4962
5011
  async function reviewScannerProjects(picked, executor, output) {
@@ -4988,6 +5037,8 @@ export {
4988
5037
  consentDraft,
4989
5038
  renderScannerStatus,
4990
5039
  reviewScannerProjects,
5040
+ runScannerBoundaryPicker,
4991
5041
  runScannerPicker,
5042
+ scannerBoundaryPrompt,
4992
5043
  scannerRootsParameter
4993
5044
  };
@@ -1 +1 @@
1
- {"version":3,"file":"picker.js","sourceRoot":"","sources":["../../src/scanner/picker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"picker.js","sourceRoot":"","sources":["../../src/scanner/picker.ts"],"names":[],"mappings":"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"}