@mnemonik/cli 0.0.0 → 7.99.5

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 (177) hide show
  1. package/LICENSE +38 -0
  2. package/dist/auth/credentials.d.ts +38 -0
  3. package/dist/auth/credentials.d.ts.map +1 -0
  4. package/dist/auth/credentials.js +7464 -0
  5. package/dist/auth/credentials.js.map +1 -0
  6. package/dist/auth/device.d.ts +23 -0
  7. package/dist/auth/device.d.ts.map +1 -0
  8. package/dist/auth/device.js +108 -0
  9. package/dist/auth/device.js.map +1 -0
  10. package/dist/auth/index.d.ts +34 -0
  11. package/dist/auth/index.d.ts.map +1 -0
  12. package/dist/auth/index.js +5048 -0
  13. package/dist/auth/index.js.map +1 -0
  14. package/dist/auth/installSession.d.ts +22 -0
  15. package/dist/auth/installSession.d.ts.map +1 -0
  16. package/dist/auth/installSession.js +4717 -0
  17. package/dist/auth/installSession.js.map +1 -0
  18. package/dist/auth/pkce.d.ts +35 -0
  19. package/dist/auth/pkce.d.ts.map +1 -0
  20. package/dist/auth/pkce.js +182 -0
  21. package/dist/auth/pkce.js.map +1 -0
  22. package/dist/auth/status.d.ts +30 -0
  23. package/dist/auth/status.d.ts.map +1 -0
  24. package/dist/auth/status.js +4799 -0
  25. package/dist/auth/status.js.map +1 -0
  26. package/dist/bin.d.ts +3 -0
  27. package/dist/bin.d.ts.map +1 -0
  28. package/dist/bin.js +28 -0
  29. package/dist/bin.js.map +1 -0
  30. package/dist/diagnostics.d.ts +42 -0
  31. package/dist/diagnostics.d.ts.map +1 -0
  32. package/dist/diagnostics.js +7405 -0
  33. package/dist/diagnostics.js.map +1 -0
  34. package/dist/digests.json +175 -0
  35. package/dist/identity/migrate.d.ts +62 -0
  36. package/dist/identity/migrate.d.ts.map +1 -0
  37. package/dist/identity/migrate.js +5416 -0
  38. package/dist/identity/migrate.js.map +1 -0
  39. package/dist/index.d.ts +9 -0
  40. package/dist/index.d.ts.map +1 -0
  41. package/dist/index.js +11 -0
  42. package/dist/index.js.map +1 -0
  43. package/dist/install/adapters.d.ts +65 -0
  44. package/dist/install/adapters.d.ts.map +1 -0
  45. package/dist/install/adapters.js +91 -0
  46. package/dist/install/adapters.js.map +1 -0
  47. package/dist/install/hosts.d.ts +83 -0
  48. package/dist/install/hosts.d.ts.map +1 -0
  49. package/dist/install/hosts.js +5733 -0
  50. package/dist/install/hosts.js.map +1 -0
  51. package/dist/install/journal.d.ts +113 -0
  52. package/dist/install/journal.d.ts.map +1 -0
  53. package/dist/install/journal.js +6836 -0
  54. package/dist/install/journal.js.map +1 -0
  55. package/dist/install/journey.d.ts +11 -0
  56. package/dist/install/journey.d.ts.map +1 -0
  57. package/dist/install/journey.js +5594 -0
  58. package/dist/install/journey.js.map +1 -0
  59. package/dist/install/ownership.d.ts +55 -0
  60. package/dist/install/ownership.d.ts.map +1 -0
  61. package/dist/install/ownership.js +4942 -0
  62. package/dist/install/ownership.js.map +1 -0
  63. package/dist/install/transaction.d.ts +71 -0
  64. package/dist/install/transaction.d.ts.map +1 -0
  65. package/dist/install/transaction.js +5254 -0
  66. package/dist/install/transaction.js.map +1 -0
  67. package/dist/install/ui.d.ts +14 -0
  68. package/dist/install/ui.d.ts.map +1 -0
  69. package/dist/install/ui.js +4925 -0
  70. package/dist/install/ui.js.map +1 -0
  71. package/dist/installSession.d.ts +33 -0
  72. package/dist/installSession.d.ts.map +1 -0
  73. package/dist/installSession.js +4893 -0
  74. package/dist/installSession.js.map +1 -0
  75. package/dist/installation.d.ts +11 -0
  76. package/dist/installation.d.ts.map +1 -0
  77. package/dist/installation.js +6618 -0
  78. package/dist/installation.js.map +1 -0
  79. package/dist/launcher.d.ts +27 -0
  80. package/dist/launcher.d.ts.map +1 -0
  81. package/dist/launcher.js +6862 -0
  82. package/dist/launcher.js.map +1 -0
  83. package/dist/output.d.ts +22 -0
  84. package/dist/output.d.ts.map +1 -0
  85. package/dist/output.js +68 -0
  86. package/dist/output.js.map +1 -0
  87. package/dist/preflight.d.ts +43 -0
  88. package/dist/preflight.d.ts.map +1 -0
  89. package/dist/preflight.js +5265 -0
  90. package/dist/preflight.js.map +1 -0
  91. package/dist/project/eligibility.d.ts +19 -0
  92. package/dist/project/eligibility.d.ts.map +1 -0
  93. package/dist/project/eligibility.js +4835 -0
  94. package/dist/project/eligibility.js.map +1 -0
  95. package/dist/project/records.d.ts +14 -0
  96. package/dist/project/records.d.ts.map +1 -0
  97. package/dist/project/records.js +6598 -0
  98. package/dist/project/records.js.map +1 -0
  99. package/dist/project.d.ts +127 -0
  100. package/dist/project.d.ts.map +1 -0
  101. package/dist/project.js +7857 -0
  102. package/dist/project.js.map +1 -0
  103. package/dist/router.d.ts +63 -0
  104. package/dist/router.d.ts.map +1 -0
  105. package/dist/router.js +6168 -0
  106. package/dist/router.js.map +1 -0
  107. package/dist/runtime/bootstrap.d.ts +31 -0
  108. package/dist/runtime/bootstrap.d.ts.map +1 -0
  109. package/dist/runtime/bootstrap.js +386 -0
  110. package/dist/runtime/bootstrap.js.map +1 -0
  111. package/dist/runtime/releaseSource.d.ts +26 -0
  112. package/dist/runtime/releaseSource.d.ts.map +1 -0
  113. package/dist/runtime/releaseSource.js +4992 -0
  114. package/dist/runtime/releaseSource.js.map +1 -0
  115. package/dist/runtime/selfUpdate.d.ts +12 -0
  116. package/dist/runtime/selfUpdate.d.ts.map +1 -0
  117. package/dist/runtime/selfUpdate.js +4943 -0
  118. package/dist/runtime/selfUpdate.js.map +1 -0
  119. package/dist/runtime/signers.d.ts +2 -0
  120. package/dist/runtime/signers.d.ts.map +1 -0
  121. package/dist/runtime/signers.js +1697 -0
  122. package/dist/runtime/signers.js.map +1 -0
  123. package/dist/runtime/store.d.ts +30 -0
  124. package/dist/runtime/store.d.ts.map +1 -0
  125. package/dist/runtime/store.js +977 -0
  126. package/dist/runtime/store.js.map +1 -0
  127. package/dist/sbom.json +308 -0
  128. package/dist/scanner/control.d.ts +38 -0
  129. package/dist/scanner/control.d.ts.map +1 -0
  130. package/dist/scanner/control.js +6568 -0
  131. package/dist/scanner/control.js.map +1 -0
  132. package/dist/scanner/data.d.ts +9 -0
  133. package/dist/scanner/data.d.ts.map +1 -0
  134. package/dist/scanner/data.js +4715 -0
  135. package/dist/scanner/data.js.map +1 -0
  136. package/dist/scanner/discover.d.ts +35 -0
  137. package/dist/scanner/discover.d.ts.map +1 -0
  138. package/dist/scanner/discover.js +5266 -0
  139. package/dist/scanner/discover.js.map +1 -0
  140. package/dist/scanner/enable.d.ts +69 -0
  141. package/dist/scanner/enable.d.ts.map +1 -0
  142. package/dist/scanner/enable.js +6923 -0
  143. package/dist/scanner/enable.js.map +1 -0
  144. package/dist/scanner/picker.d.ts +58 -0
  145. package/dist/scanner/picker.d.ts.map +1 -0
  146. package/dist/scanner/picker.js +4993 -0
  147. package/dist/scanner/picker.js.map +1 -0
  148. package/dist/scanner/service.d.ts +49 -0
  149. package/dist/scanner/service.d.ts.map +1 -0
  150. package/dist/scanner/service.js +4888 -0
  151. package/dist/scanner/service.js.map +1 -0
  152. package/dist/scanner/update.d.ts +4 -0
  153. package/dist/scanner/update.d.ts.map +1 -0
  154. package/dist/scanner/update.js +6569 -0
  155. package/dist/scanner/update.js.map +1 -0
  156. package/dist/scanner-release.json +129 -0
  157. package/dist/screens/journey.d.ts +23 -0
  158. package/dist/screens/journey.d.ts.map +1 -0
  159. package/dist/screens/journey.js +110 -0
  160. package/dist/screens/journey.js.map +1 -0
  161. package/dist/screens.d.ts +18 -0
  162. package/dist/screens.d.ts.map +1 -0
  163. package/dist/screens.js +79 -0
  164. package/dist/screens.js.map +1 -0
  165. package/dist/status.d.ts +64 -0
  166. package/dist/status.d.ts.map +1 -0
  167. package/dist/status.js +5281 -0
  168. package/dist/status.js.map +1 -0
  169. package/dist/transport/server.d.ts +79 -0
  170. package/dist/transport/server.d.ts.map +1 -0
  171. package/dist/transport/server.js +136 -0
  172. package/dist/transport/server.js.map +1 -0
  173. package/dist/vendor/local-setup.js +6971 -0
  174. package/dist/vendor/shared/runtimeReader.js +408 -0
  175. package/dist/vendor/shared/runtimeSigners.js +512 -0
  176. package/package.json +258 -7
  177. package/README.md +0 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/scanner/update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,aAAa,EAAsB,MAAM,qBAAqB,CAAC;AACtF,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,cAAc,EAA8B,MAAM,cAAc,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAmB,MAAM,aAAa,CAAC;AACjE,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,OAA8B,EAC9B,MAAM,GAAG,GAAG,EAAE,CAAC,aAAa,CAAC,SAAS,CAAC;IAEvC,MAAM,KAAK,GACT,OAAO,CAAC,KAAK;QACb,IAAI,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,EAAE;YAC5C,aAAa,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,wBAAwB;SACtD,CAAC,CAAC;IACL,MAAM,OAAO,GAAG,cAAc,CAAC,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;IACtD,MAAM,aAAa,GAAG,KAAK,IAA4B,EAAE;QACvD,OAAO,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,gBAAgB,CAAC,EAAE,IAAI,EAAE,KAAK,IAAI,EAAE;YACzE,MAAM,SAAS,GAAG,MAAM,MAAM,EAAE,CAAC;YACjC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CACtB,MAAM,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,oBAAoB,CAAC,EAAE,MAAM,CAAC,CACvD,CAAC;YAChB,IACE,SAAS,CAAC,QAAQ,CAAC,iBAAiB;gBACpC,SAAS,CAAC,QAAQ,CAAC,iBAAiB,KAAK,KAAK,CAAC,OAAO,EAAE,iBAAiB,EACzE,CAAC;gBACD,IAAI,CAAC,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO;oBAAE,MAAM,cAAc,CAAC,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;qBACtF,CAAC;oBACJ,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;oBACpB,MAAM,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,oBAAoB,CAAC,EAAE,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC;gBAC5F,CAAC;gBACD,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;YACvE,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IACF,OAAO,aAAa,CAAC;QACnB,KAAK;QACL,MAAM,EAAE,aAAa;QACrB,sBAAsB,EAAE,KAAK,IAAI,EAAE;YACjC,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QAC1B,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,129 @@
1
+ {
2
+ "version": "7.99.5",
3
+ "digestsSha256": "fea209d3668d746bab7a068c512c3531b97ce792aa5df658a95618bb8304fd9b",
4
+ "platforms": {
5
+ "darwin-arm64": {
6
+ "schemaVersion": 1,
7
+ "artifact": "scanner",
8
+ "version": "7.99.5",
9
+ "entry": "scanner-darwin-arm64",
10
+ "files": {
11
+ "scanner-darwin-arm64": {
12
+ "sha256": "8be6ab0659cb5b8157f3c5c9954dd45d5ee3a298eb0b659317fe37e4a5646fab",
13
+ "size": 155307424,
14
+ "executable": true
15
+ }
16
+ },
17
+ "totalSize": 155307424,
18
+ "source": {
19
+ "kind": "release",
20
+ "url": "https://github.com/JayDeeCo-Limited/mnemonik-cli/releases/download/scanner-v7.99.5/"
21
+ },
22
+ "signer": {
23
+ "platform": "darwin",
24
+ "identity": "XSCB9T4CAS"
25
+ },
26
+ "signingStatus": "signed"
27
+ },
28
+ "darwin-x64": {
29
+ "schemaVersion": 1,
30
+ "artifact": "scanner",
31
+ "version": "7.99.5",
32
+ "entry": "scanner-darwin-x64",
33
+ "files": {
34
+ "scanner-darwin-x64": {
35
+ "sha256": "34db18fcb9e761c279f06964512205063f6292c2d628c67eebfdb22c18c2bdfb",
36
+ "size": 157075120,
37
+ "executable": true
38
+ }
39
+ },
40
+ "totalSize": 157075120,
41
+ "source": {
42
+ "kind": "release",
43
+ "url": "https://github.com/JayDeeCo-Limited/mnemonik-cli/releases/download/scanner-v7.99.5/"
44
+ },
45
+ "signer": {
46
+ "platform": "darwin",
47
+ "identity": "XSCB9T4CAS"
48
+ },
49
+ "signingStatus": "signed"
50
+ },
51
+ "linux-arm64": {
52
+ "schemaVersion": 1,
53
+ "artifact": "scanner",
54
+ "version": "7.99.5",
55
+ "entry": "scanner-linux-arm64",
56
+ "files": {
57
+ "scanner-linux-arm64": {
58
+ "sha256": "aeb4acc08c26ec65dc899571707fe28ef52d7d83de901a2b6c1eb87d1b6d6c3e",
59
+ "size": 156109952,
60
+ "executable": true
61
+ },
62
+ "scanner-linux-arm64.minisig": {
63
+ "sha256": "c0b6df7dd1d134662bf82f41c0c6f97772e51182438a8f3b738b4f3d587a0426",
64
+ "size": 314,
65
+ "executable": false
66
+ }
67
+ },
68
+ "totalSize": 156110266,
69
+ "source": {
70
+ "kind": "release",
71
+ "url": "https://github.com/JayDeeCo-Limited/mnemonik-cli/releases/download/scanner-v7.99.5/"
72
+ },
73
+ "signer": {
74
+ "platform": "linux",
75
+ "identity": "RWSBYwgbjz0qKB4/ToA3dywBiAlQeBjoQpib4OHdjP2nDbpQnOVqpPm0",
76
+ "signature": "scanner-linux-arm64.minisig"
77
+ },
78
+ "signingStatus": "signed"
79
+ },
80
+ "linux-x64": {
81
+ "schemaVersion": 1,
82
+ "artifact": "scanner",
83
+ "version": "7.99.5",
84
+ "entry": "scanner-linux-x64",
85
+ "files": {
86
+ "scanner-linux-x64": {
87
+ "sha256": "dbd0692608abd8bc4b49351d6ad3ad3bd8f13b874a053d03bbd0a8c7c1e3a321",
88
+ "size": 159911104,
89
+ "executable": true
90
+ },
91
+ "scanner-linux-x64.minisig": {
92
+ "sha256": "6d9c34b0fb36078c1e65c3269f13603ecaeafe392381d8d428e6ee53af2a52dd",
93
+ "size": 312,
94
+ "executable": false
95
+ }
96
+ },
97
+ "totalSize": 159911416,
98
+ "source": {
99
+ "kind": "release",
100
+ "url": "https://github.com/JayDeeCo-Limited/mnemonik-cli/releases/download/scanner-v7.99.5/"
101
+ },
102
+ "signer": {
103
+ "platform": "linux",
104
+ "identity": "RWSBYwgbjz0qKB4/ToA3dywBiAlQeBjoQpib4OHdjP2nDbpQnOVqpPm0",
105
+ "signature": "scanner-linux-x64.minisig"
106
+ },
107
+ "signingStatus": "signed"
108
+ },
109
+ "win-x64": {
110
+ "schemaVersion": 1,
111
+ "artifact": "scanner",
112
+ "version": "7.99.5",
113
+ "entry": "scanner-win-x64.exe",
114
+ "files": {
115
+ "scanner-win-x64.exe": {
116
+ "sha256": "0fdd8110dcb5fa76471f73dd9ca1f253baa703fdd9db78aef739f2d914a28656",
117
+ "size": 126881280,
118
+ "executable": true
119
+ }
120
+ },
121
+ "totalSize": 126881280,
122
+ "source": {
123
+ "kind": "release",
124
+ "url": "https://github.com/JayDeeCo-Limited/mnemonik-cli/releases/download/scanner-v7.99.5/"
125
+ },
126
+ "signingStatus": "unsigned"
127
+ }
128
+ }
129
+ }
@@ -0,0 +1,23 @@
1
+ import type { Readable } from 'node:stream';
2
+ import type { Output } from '../output.js';
3
+ export interface JourneyValues {
4
+ hosts?: string[];
5
+ project?: string;
6
+ node?: string;
7
+ os?: string;
8
+ files?: string[];
9
+ total?: number | null;
10
+ completed?: number | null;
11
+ skipped?: string;
12
+ remaining?: number;
13
+ reason?: string;
14
+ connected?: boolean;
15
+ }
16
+ /** Browser-owned account, CLI and scanner choices are announced, never duplicated here. */
17
+ export declare function renderJourney(screen: string, output: Output, v?: JourneyValues): void;
18
+ export declare function journeyAnswers(input: Readable): {
19
+ choose(choices: string[], fallback?: number): Promise<string>;
20
+ text(): Promise<string | undefined>;
21
+ close(): void;
22
+ };
23
+ //# sourceMappingURL=journey.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"journey.d.ts","sourceRoot":"","sources":["../../src/screens/journey.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAE3C,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AACD,2FAA2F;AAC3F,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,GAAE,aAAkB,QAiFlF;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,QAAQ;IAYpC,MAAM,UAAU,MAAM,EAAE;IAWxB,IAAI;IAIV,KAAK;EAIR"}
@@ -0,0 +1,110 @@
1
+ import { createRequire as __createRequire } from "node:module"; const require = __createRequire(import.meta.url);
2
+
3
+ // packages/cli/src/screens/journey.ts
4
+ import { createInterface } from "node:readline";
5
+ function renderJourney(screen, output, v = {}) {
6
+ const hosts = v.hosts ?? [];
7
+ const lines = {
8
+ recommended: [
9
+ "Mnemonik",
10
+ "",
11
+ ` Found ${hosts.join(", ") || "No supported editors"}`,
12
+ ` Project ${v.project}`,
13
+ ` Node ${v.node}, ${v.os}`,
14
+ "",
15
+ " Recommended setup",
16
+ ` Memory tools and hooks in ${hosts.length === 3 ? "all three editors" : "your selected editors"}`,
17
+ " Background scanner watching this project",
18
+ "",
19
+ " > Recommended",
20
+ " Customize",
21
+ ""
22
+ ],
23
+ account: [
24
+ " Opening your browser to sign in.",
25
+ " Waiting for you to sign in and approve, up to 10 minutes.",
26
+ ""
27
+ ],
28
+ cli_approval: [
29
+ " Approve this CLI in the browser.",
30
+ " Compare the code and confirm the account and computer shown there.",
31
+ ""
32
+ ],
33
+ host_approvals: [
34
+ " Connect your editors",
35
+ "",
36
+ ...hosts.map((host) => ` - Approve Mnemonik in ${host}, your default profile`),
37
+ "",
38
+ " > Connect them",
39
+ " Cancel",
40
+ ""
41
+ ],
42
+ scanner: [
43
+ " Review scanner disclosure and roots in your browser.",
44
+ " Waiting for you to approve the selected roots before Apply.",
45
+ ""
46
+ ],
47
+ apply: [
48
+ " Ready to install",
49
+ "",
50
+ ...(v.files ?? []).map((file) => ` ${file}`),
51
+ "",
52
+ " Existing files are backed up and restored if anything fails.",
53
+ v.connected === false ? " Skipped editors can be connected later." : " Your selected editors are connected.",
54
+ "",
55
+ " > Install and upload",
56
+ " Back",
57
+ " Cancel",
58
+ ""
59
+ ],
60
+ done: [
61
+ " Done. Your editors will use Mnemonik on their next session.",
62
+ ...v.total != null && v.completed != null ? [` Indexing ${v.total} files, ${v.completed} done. You can close this terminal.`] : [" Indexing in progress."],
63
+ ""
64
+ ],
65
+ skipped: [
66
+ !v.remaining ? " Done." : v.remaining === 1 ? " Done, with one thing left." : ` Done, with ${v.remaining} things left.`,
67
+ ` ${v.skipped ?? ""}`,
68
+ ""
69
+ ],
70
+ windows: [
71
+ " Your editors are connected. The scanner could not be installed.",
72
+ ` Windows could not create the logon task: ${v.reason}`,
73
+ " Run mnemonik scanner enable to try again.",
74
+ ""
75
+ ]
76
+ };
77
+ for (const line of lines[screen] ?? []) output.line(line);
78
+ }
79
+ function journeyAnswers(input) {
80
+ const reader = createInterface({
81
+ input,
82
+ terminal: Boolean(input.isTTY)
83
+ });
84
+ const answers = reader[Symbol.asyncIterator]();
85
+ let cancelled = false;
86
+ reader.on("SIGINT", () => {
87
+ cancelled = true;
88
+ reader.close();
89
+ });
90
+ return {
91
+ async choose(choices, fallback = 0) {
92
+ const answer = await answers.next();
93
+ if (answer.done || cancelled) return "Cancel";
94
+ const value = answer.value.trim();
95
+ if (!value) return choices[fallback] ?? "Cancel";
96
+ return choices[Number(value) - 1] ?? choices.find((c) => c.toLowerCase() === value.toLowerCase()) ?? "Cancel";
97
+ },
98
+ async text() {
99
+ const answer = await answers.next();
100
+ return answer.done ? void 0 : answer.value.trim();
101
+ },
102
+ close() {
103
+ reader.close();
104
+ }
105
+ };
106
+ }
107
+ export {
108
+ journeyAnswers,
109
+ renderJourney
110
+ };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"journey.js","sourceRoot":"","sources":["../../src/screens/journey.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import type { Output } from './output.js';
2
+ export interface ChoiceScreen {
3
+ id: 'recommended' | 'account' | 'cli_approval' | 'host_approvals' | 'scanner' | 'apply' | 'cancel' | 'resume';
4
+ title: string;
5
+ lines: string[];
6
+ choices: string[];
7
+ default: number;
8
+ owner?: 'account setup' | 'scanner setup' | 'installation' | 'host setup';
9
+ }
10
+ export declare const cancelScreen: ChoiceScreen;
11
+ export declare const interruptedScreen: ChoiceScreen;
12
+ export declare const hostApprovalScreen: (hosts: string[]) => ChoiceScreen;
13
+ export declare const finalReviewScreen: (lines: string[], scanner: boolean) => ChoiceScreen;
14
+ export declare function renderScreen(screen: ChoiceScreen, output: Output, width?: number): void;
15
+ export * from './scanner/discover.js';
16
+ export * from './scanner/picker.js';
17
+ export { renderJourney } from './screens/journey.js';
18
+ //# sourceMappingURL=screens.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"screens.d.ts","sourceRoot":"","sources":["../src/screens.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C,MAAM,WAAW,YAAY;IAC3B,EAAE,EACE,aAAa,GACb,SAAS,GACT,cAAc,GACd,gBAAgB,GAChB,SAAS,GACT,OAAO,GACP,QAAQ,GACR,QAAQ,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,eAAe,GAAG,eAAe,GAAG,cAAc,GAAG,YAAY,CAAC;CAC3E;AAED,eAAO,MAAM,YAAY,EAAE,YAO1B,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,YAO/B,CAAC;AAEF,eAAO,MAAM,kBAAkB,UAAW,MAAM,EAAE,KAAG,YAanD,CAAC;AACH,eAAO,MAAM,iBAAiB,UAAW,MAAM,EAAE,WAAW,OAAO,KAAG,YAUpE,CAAC;AAiBH,wBAAgB,YAAY,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,SAAK,GAAG,IAAI,CAUnF;AAED,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AAEpC,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1,79 @@
1
+ import { createRequire as __createRequire } from "node:module"; const require = __createRequire(import.meta.url);
2
+
3
+ // packages/cli/src/screens.ts
4
+ export * from "./scanner/discover.js";
5
+ export * from "./scanner/picker.js";
6
+ import { renderJourney } from "./screens/journey.js";
7
+ var cancelScreen = {
8
+ id: "cancel",
9
+ title: "Cancel installation?",
10
+ lines: ["Staged local changes are undone in either case."],
11
+ choices: ["Revoke everything from this run", "Keep the CLI sign-in only"],
12
+ default: 0,
13
+ owner: "installation"
14
+ };
15
+ var interruptedScreen = {
16
+ id: "resume",
17
+ title: "Previous installation was interrupted",
18
+ lines: ["The identity record can be resumed or rolled back without changing host files."],
19
+ choices: ["Resume", "Rollback"],
20
+ default: 0,
21
+ owner: "installation"
22
+ };
23
+ var hostApprovalScreen = (hosts) => ({
24
+ id: "host_approvals",
25
+ title: "Connect your editors",
26
+ lines: [
27
+ "Mnemonik will connect these editors one at a time. Each opens its own approval, and each keeps its own sign-in.",
28
+ ...hosts.map(
29
+ (host) => `${host} user scope ${host === "cursor" ? "approve in Cursor, then return here" : "approval opens here"}`
30
+ ),
31
+ "Up to 2 minutes each. You can skip any editor and connect it later."
32
+ ],
33
+ choices: ["Connect them", "Back"],
34
+ default: 0
35
+ });
36
+ var finalReviewScreen = (lines, scanner) => ({
37
+ id: "apply",
38
+ title: "Ready to install",
39
+ lines: [
40
+ ...lines,
41
+ "Existing files are backed up and restored if local rollback succeeds.",
42
+ "Host grants and remote projects may remain. Uploaded data requires separate deletion."
43
+ ],
44
+ choices: [scanner ? "Install and upload" : "Install in Limited Mode", "Back", "Cancel"],
45
+ default: 0
46
+ });
47
+ function wrap(text, width) {
48
+ const limit = Math.max(20, width - 4);
49
+ const words = text.split(/\s+/);
50
+ const lines = [];
51
+ let current = "";
52
+ for (const word of words) {
53
+ if (current && current.length + word.length + 1 > limit) {
54
+ lines.push(current);
55
+ current = word;
56
+ } else current += `${current ? " " : ""}${word}`;
57
+ }
58
+ if (current) lines.push(current);
59
+ return lines;
60
+ }
61
+ function renderScreen(screen, output, width = 80) {
62
+ output.line(` ${screen.title}`);
63
+ output.line();
64
+ for (const line of screen.lines) for (const part of wrap(line, width)) output.line(` ${part}`);
65
+ if (screen.lines.length) output.line();
66
+ screen.choices.forEach((choice, index) => {
67
+ const marker = index === screen.default ? ">" : " ";
68
+ output.line(` ${marker} ${index + 1}. ${choice}`);
69
+ });
70
+ output.line();
71
+ }
72
+ export {
73
+ cancelScreen,
74
+ finalReviewScreen,
75
+ hostApprovalScreen,
76
+ interruptedScreen,
77
+ renderJourney,
78
+ renderScreen
79
+ };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"screens.js","sourceRoot":"","sources":["../src/screens.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,64 @@
1
+ import { cliCredentialStatus } from './auth/credentials.js';
2
+ import { type GrantTransport } from './auth/status.js';
3
+ import type { Readable } from 'node:stream';
4
+ import { type ReadinessCondition, type ReadinessDocument, type ReadinessDocumentInput } from '@mnemonik/shared';
5
+ import { Output } from './output.js';
6
+ import { type ProjectCommandDependencies, type ProjectExecutor, type ProjectReadTransport, type ServerProjectState } from './project.js';
7
+ import type { ScannerPickerResult } from './scanner/picker.js';
8
+ import type { PreflightResult } from './preflight.js';
9
+ import { type LauncherOptions, type LauncherStatus } from './launcher.js';
10
+ export interface ProjectStatusResult {
11
+ resolvedRoot: string;
12
+ projectId: string | null;
13
+ identity: string;
14
+ reachability: 'reachable' | 'unreachable';
15
+ server?: ServerProjectState;
16
+ executorState?: string;
17
+ }
18
+ export interface StatusDocumentInput {
19
+ installationConditions: readonly ReadinessCondition[];
20
+ projectStatus?: ProjectStatusResult;
21
+ scannerStatus?: ScannerPickerResult;
22
+ projectHookConditions?: readonly ReadinessCondition[];
23
+ configuredHosts?: readonly string[];
24
+ details?: Omit<ReadinessDocumentInput, 'installation' | 'projects' | 'generatedAt'>;
25
+ scannerHeartbeat?: {
26
+ at: string;
27
+ version: string | null;
28
+ disclosureVersion: string | null;
29
+ };
30
+ generatedAt?: string;
31
+ }
32
+ export interface ReadProjectStatusInput {
33
+ cwd: string;
34
+ home?: string;
35
+ input: Readable;
36
+ executor?: ProjectExecutor;
37
+ resolver?: ProjectCommandDependencies['resolver'];
38
+ stateDir?: string;
39
+ getCliBearer?: () => Promise<string | undefined>;
40
+ transport?: ProjectReadTransport;
41
+ }
42
+ export interface CollectStatusInput extends ReadProjectStatusInput {
43
+ launcher?: LauncherOptions;
44
+ grants?: GrantTransport;
45
+ preflight: PreflightResult;
46
+ installationConditions?: readonly ReadinessCondition[];
47
+ scannerStatus?: () => Promise<ScannerPickerResult>;
48
+ projectHookConditions?: readonly ReadinessCondition[];
49
+ configuredHosts?: readonly string[];
50
+ details?: StatusDocumentInput['details'];
51
+ generatedAt?: string;
52
+ }
53
+ export declare function buildStatusDocument(input: StatusDocumentInput): ReadinessDocument;
54
+ export declare function renderStatusSummaries(document: ReadinessDocument & {
55
+ cliCredential?: Awaited<ReturnType<typeof cliCredentialStatus>>;
56
+ launcher?: LauncherStatus;
57
+ }, output: Pick<Output, 'line'>): void;
58
+ export declare function statusExitCode(document: ReadinessDocument): number;
59
+ export declare function readProjectStatus(input: ReadProjectStatusInput): Promise<ProjectStatusResult>;
60
+ export declare function collectStatusDocument(input: CollectStatusInput): Promise<ReadinessDocument & {
61
+ cliCredential: Awaited<ReturnType<typeof cliCredentialStatus>>;
62
+ launcher: LauncherStatus;
63
+ }>;
64
+ //# sourceMappingURL=status.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../src/status.ts"],"names":[],"mappings":"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"}