@mnemonik/cli 7.102.0 → 7.102.1

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 (55) hide show
  1. package/dist/auth/credentials.js +9 -0
  2. package/dist/auth/device.d.ts +2 -1
  3. package/dist/auth/device.d.ts.map +1 -1
  4. package/dist/auth/device.js +89 -76
  5. package/dist/auth/device.js.map +1 -1
  6. package/dist/auth/index.d.ts +1 -2
  7. package/dist/auth/index.d.ts.map +1 -1
  8. package/dist/auth/index.js +15 -33
  9. package/dist/auth/index.js.map +1 -1
  10. package/dist/auth/pkce.d.ts +0 -1
  11. package/dist/auth/pkce.d.ts.map +1 -1
  12. package/dist/auth/pkce.js +3 -52
  13. package/dist/auth/pkce.js.map +1 -1
  14. package/dist/diagnostics.js +9 -0
  15. package/dist/digests.json +53 -53
  16. package/dist/install/journal.js +9 -0
  17. package/dist/install/journey.d.ts.map +1 -1
  18. package/dist/install/journey.js +137 -59
  19. package/dist/install/journey.js.map +1 -1
  20. package/dist/install/ui.d.ts.map +1 -1
  21. package/dist/install/ui.js +1 -2
  22. package/dist/install/ui.js.map +1 -1
  23. package/dist/installation.js +9 -0
  24. package/dist/launcher.js +9 -0
  25. package/dist/output.d.ts +8 -0
  26. package/dist/output.d.ts.map +1 -1
  27. package/dist/output.js +71 -4
  28. package/dist/output.js.map +1 -1
  29. package/dist/project/records.js +9 -0
  30. package/dist/project.js +9 -0
  31. package/dist/runtime/bootstrap.d.ts +7 -1
  32. package/dist/runtime/bootstrap.d.ts.map +1 -1
  33. package/dist/runtime/bootstrap.js +51 -3
  34. package/dist/runtime/bootstrap.js.map +1 -1
  35. package/dist/sbom.json +21 -21
  36. package/dist/scanner/control.js +9 -0
  37. package/dist/scanner/discover.d.ts.map +1 -1
  38. package/dist/scanner/discover.js +6 -3
  39. package/dist/scanner/discover.js.map +1 -1
  40. package/dist/scanner/enable.js +9 -0
  41. package/dist/scanner/picker.d.ts.map +1 -1
  42. package/dist/scanner/picker.js +26 -13
  43. package/dist/scanner/picker.js.map +1 -1
  44. package/dist/scanner/update.js +9 -0
  45. package/dist/scanner-release.json +21 -21
  46. package/dist/screens/journey.d.ts +15 -1
  47. package/dist/screens/journey.d.ts.map +1 -1
  48. package/dist/screens/journey.js +76 -37
  49. package/dist/screens/journey.js.map +1 -1
  50. package/dist/screens.d.ts +1 -1
  51. package/dist/screens.d.ts.map +1 -1
  52. package/dist/screens.js +10 -2
  53. package/dist/screens.js.map +1 -1
  54. package/dist/vendor/local-setup.js +8 -0
  55. package/package.json +41 -41
package/dist/digests.json CHANGED
@@ -5,7 +5,7 @@
5
5
  "dist/bin.js.map": "cc1294265f701530a28a77efa246d44c2dd83f1b9e5f57ec6426b06c1cc542a0",
6
6
  "dist/diagnostics.d.ts": "419b5baee4bee84895b08c54b0761bbab6064cee4ae387c45b8f0dad25643e8b",
7
7
  "dist/diagnostics.d.ts.map": "2c7b1303fe1020bffe25e79b8c42d64a663c4967ac2f06974f7950ce49531ca0",
8
- "dist/diagnostics.js": "16f46e7a60f9f82154a12b3b75f0ee06dbe3aeb77908588716ba748716e5f784",
8
+ "dist/diagnostics.js": "1591cbc850a631ec82087c045c31f1f1564becb4ff9b304b7b50b38e61813902",
9
9
  "dist/diagnostics.js.map": "f89a6683f13817913990ce7fc548b0916f0a7164702b46b2e094dffd90c63d25",
10
10
  "dist/hostDiscovery.d.ts": "7ed39f9b4da7e9df762bc7a3d76637a0b3c271024ae78de31af408b3858c3920",
11
11
  "dist/hostDiscovery.d.ts.map": "59a6632184d195e4d0f569d26cc2d00b0abe2a897402c476d754f440e36938e7",
@@ -21,58 +21,58 @@
21
21
  "dist/installSession.js.map": "327adbf2dfc9a1e10c6c92de2c703f9072b1d409de3f2bcad25e38ec7a2a2e70",
22
22
  "dist/installation.d.ts": "418e46ea1535b8e66b11ce02b104c230ab7557291849ca2045904a22d82219dc",
23
23
  "dist/installation.d.ts.map": "3b8806a71ead4638f429c46d91061e4926a864621929df3b83074c174015b549",
24
- "dist/installation.js": "adaa173d21668f001d9183cbc9eaf0d87c2c69bb7bb664277dcfbdb7618e053d",
24
+ "dist/installation.js": "a79ea262f1c0a26d43bf4feb65f7042bebf4dda76cd46f724e3821b774a2011c",
25
25
  "dist/installation.js.map": "2a4412e49f60129369fe0108031a73bfd49024556581067f0f8f57f0f8b00e48",
26
26
  "dist/launcher.d.ts": "39ffe9871073cfd19fda86f7296ebe4704e18a34feb62fb26daa9fbc8b5a2ddf",
27
27
  "dist/launcher.d.ts.map": "e456ce27d6809b57063b30be9608789a38b1ff08112a79dc519af5442776673b",
28
- "dist/launcher.js": "bc3555758b0713adbef4c817831c3b148b714592ef6b8e728b58337178146b3a",
28
+ "dist/launcher.js": "a2914e045d24c12e0ed61d13f8ac5023d924b856c179c52ee5f395d5b9e653f3",
29
29
  "dist/launcher.js.map": "4886e5b70b72587da14dc0f868a95074f212ae7f669e4dbadea3a46b8385aa35",
30
- "dist/output.d.ts": "91bf06e1fb77b3ae05520a472ec315a34a2705ad173b542e5f7d02fa8d63d2a9",
31
- "dist/output.d.ts.map": "325ba6af76b7d2dd348c46b8b90f2ed9cd89e06458d6d364b5a1b4c88801b244",
32
- "dist/output.js": "78fbce1fc78507027b13e77ebd569cc59c0a4aaacae330991d0281e77f63de3c",
33
- "dist/output.js.map": "970286ca7ce263afbdfbed91c6776bbe1f1010a3ac08c6041e17f5e5e2e74f43",
30
+ "dist/output.d.ts": "49b550ad9c69726dd5881f7e5fad792139ac62dcce0af26f745819f9abbfb403",
31
+ "dist/output.d.ts.map": "39f13daf9ccdec8bcd68e04ea24b8fa027f98edfb04d4168a256e72a601a47e3",
32
+ "dist/output.js": "bd4ff46a2385fcecf6146354fdfc04049f7a998cd6a48c227a4a4783e409f56b",
33
+ "dist/output.js.map": "dd07361658dc65cda25fc87b00ec0b8cdee3c98a5d9b1c837b41db99a3113647",
34
34
  "dist/preflight.d.ts": "ed553a0ee0eceb06b47f10e3d1e71b59fcc8bf8e8915a2104ddef166d61a5acf",
35
35
  "dist/preflight.d.ts.map": "34554da8f7aab23ce8e28d51dabe1e9ab84f12acab3622aef9fe32f74481efd4",
36
36
  "dist/preflight.js": "3db9750cb0dcdac4bb841189812d2903bfeee9454280de881bdf1639136537c7",
37
37
  "dist/preflight.js.map": "ad340f5595590b511644d1e9751e13a05264aa96966459f0c13855855f308e14",
38
38
  "dist/project.d.ts": "f75fc59b93ba3647d31afdf3ec3d3cc630fd7f37e19142dd651ca97ef2574f6c",
39
39
  "dist/project.d.ts.map": "acf21c0469812c02023a8856e9982614990c3fe4f71b1372a40bb727d280dfe0",
40
- "dist/project.js": "44b4deeeb4d5fce5944b77f43478d641171a9e6d4f224b3c2cfd9047f28114d9",
40
+ "dist/project.js": "9b199430a9bf6fd6d8c11502c173cc2ff1b77b526a201e6f195a3402f72ebf53",
41
41
  "dist/project.js.map": "812b6ea27bd9e42d086dc38f850a417797604b357831d26483f46e3cd1521bd1",
42
42
  "dist/router.d.ts": "49532ba1a6ba8530198538751c5336f2433cec951996d2bdb6da143433a5451d",
43
43
  "dist/router.d.ts.map": "0395d059355451637c0d6501875ec161bba7eb46f82a8023e6b3ba2d2886d1ec",
44
44
  "dist/router.js": "1de5b58c00627bd2d654a64d7ee4bd597cff989be9af8d5624ca3191d210f47a",
45
45
  "dist/router.js.map": "12a434e003c7cf2a62ea134224b9d79a64d69fd89cfdf3234c41f6b7d1befda0",
46
- "dist/sbom.json": "dbb88da7c297e5f0df41e9a8bbc9247379201aba31ab3bb80ac8c5a7b59bc182",
47
- "dist/scanner-release.json": "68a5207c2596fd3d4fc184b1be8e48d928e43ef89133bab3a9387ef70c0c645e",
48
- "dist/screens.d.ts": "295a829f0f0882af714f2d06509fc2ba1357f7fd6a042e436f00dfde654b0517",
49
- "dist/screens.d.ts.map": "0ec665f40ad6c89abefe1c95d0166d11d60cee375714f5854e4c830c6aacc86a",
50
- "dist/screens.js": "d92185ea403fec45e19c82bffa4bed2cd02f03e160905fdf2d052f4f9badb9f3",
51
- "dist/screens.js.map": "c9f1fce5016aeaf3b63cb63e65cdb745254187e2460a223e3218b79837ebfe57",
46
+ "dist/sbom.json": "e90437030378c928ded7136d17dd83f149db7d408f6776d0c65bb495fe9ab409",
47
+ "dist/scanner-release.json": "b47cf22b53b240d13fad726a1629e7589e3b02e5d03130eece632f565aa8e3bf",
48
+ "dist/screens.d.ts": "1cf8371307f61409cb5f495a1577dac824b8c8b6cf41f1738c26d1eeb3379199",
49
+ "dist/screens.d.ts.map": "04c06aec78103390eb80382c4d4f0776ade2abafdb8dd2c3a9e9292ee01c4af8",
50
+ "dist/screens.js": "bc222e6dacd22f9d50432a7b6f48934c38913569a99f2636779ca45a7f88ac7b",
51
+ "dist/screens.js.map": "66e6fcfae0f3a903f13a281971c9319b7477a8617aa6558b3a86457a95cda207",
52
52
  "dist/status.d.ts": "f500db289c2235f5338c3730dea643cb22ed1a598a7184656ff3f154e2ab1f45",
53
53
  "dist/status.d.ts.map": "161bbdbcc8e4df7d52404b63f412eb9fb87ceed93db948ce40305c51bb8692a5",
54
54
  "dist/status.js": "ed65a504b99dd82cdfe9e9f0d806556820c0b40f9b38153f8e26c250a494c619",
55
55
  "dist/status.js.map": "4b2c6117d0c4cb966ed4c20b54618939f0437a194fbb9800e7433305ca3ce955",
56
56
  "dist/auth/credentials.d.ts": "7401116a8cc2d40281073796097dfd66e99a8f9090103cbf96f2370153d447bd",
57
57
  "dist/auth/credentials.d.ts.map": "a9f8b62a688a9dc40c0c330d1dd88c94c4294f1a951e0579d555949e1dc06cdf",
58
- "dist/auth/credentials.js": "d689489fc92fc7feba51d1842162b5c368be48528b6b62f79f234428afd28b10",
58
+ "dist/auth/credentials.js": "104a662092107175b0aff581ed3a1ab907f7ce6c2b9a5cd60a0d1eb5861b58ca",
59
59
  "dist/auth/credentials.js.map": "7751d7e9e0e1140707879173eaabb320abfddb4f4a8d43a59f68955b3c10a80c",
60
- "dist/auth/device.d.ts": "913eb89a0732766294af2b3a8e562a8e3f266f1683fed991fb6348de00da314f",
61
- "dist/auth/device.d.ts.map": "b17c6ef7c1624ca989bd3c6d481dce6a9af2926eabe1bf73e2aee28f7076abc9",
62
- "dist/auth/device.js": "d7fb5cf2a868149d80c9e1e0b8cf5701233428fa2ce81887908a022c3dfdb5ea",
63
- "dist/auth/device.js.map": "7c4bc4c93a00314e0f5c10f83ff1dcbe0f5511649c4f4394c49b7b6ae32a9ed6",
64
- "dist/auth/index.d.ts": "4781ab436bc6c1510562279ad6c914b254793d3cd4aa079e03a92629982d5334",
65
- "dist/auth/index.d.ts.map": "b453d19df0104af479bd9c37de57d71b2022a8071c29a9a95e3ee7cb87d6c93b",
66
- "dist/auth/index.js": "230d8fd12a0bcc14b2e00b80a77ff02112527f5fef0fc6a29ae77a3c0a9def40",
67
- "dist/auth/index.js.map": "817a258395006266b4743f6abf829ac523f860ae9e02e94f0d247e203166ed4b",
60
+ "dist/auth/device.d.ts": "6c32783db13396e224cb4d085df23f88fdcb093012dd253c146fb8ae1d356bbd",
61
+ "dist/auth/device.d.ts.map": "3a839d041f64bca207fbccc5191967e26b1d35167cf27a46b94c387a846db1f8",
62
+ "dist/auth/device.js": "3692eb6937d604378e5acb70d3d1a0bed3815f8a2007a5e4afbb8ed9ab4f8d80",
63
+ "dist/auth/device.js.map": "47e870763d1cf97f837aadf184f12c1a555dc99ee05818b1423921028d87d0c5",
64
+ "dist/auth/index.d.ts": "ff8a64dbe2e371c845b6b1bacae386440b36c97c539bd82e31b357a13b8f5bb0",
65
+ "dist/auth/index.d.ts.map": "d6b32c025ccf7d9a4e143e930f2d20edbe5c147a7e5ec201847858fa7504682d",
66
+ "dist/auth/index.js": "828a7af2e3d72d643ea3bbef756c21322ae42f17492fc83826c2dec507dd74e4",
67
+ "dist/auth/index.js.map": "7cc99b3ae04ff9dcee02b83bcdfa0fb27062243769bd94202e07cb62f3b5e478",
68
68
  "dist/auth/installSession.d.ts": "ed8988db918345f6b7129c0ef5b4d6e56dd614ae49b9f24857ba69a69df90116",
69
69
  "dist/auth/installSession.d.ts.map": "cf175e2b3a290c6316bf1668ac4a6480339b6f48fb6921ec6a4f3cf09ce13c83",
70
70
  "dist/auth/installSession.js": "550f600064100c3a5dca6b82e6ffbbee4b8a45d498988f6437d476f500f2b5ad",
71
71
  "dist/auth/installSession.js.map": "a1b949763834411f84441c4ffc7ce493320217df5e8477717720c935c1559485",
72
- "dist/auth/pkce.d.ts": "dd20e4f6a2a6e7bcc5d7eedb8f00956d0e6c1110ca77194612446379f4f0ff58",
73
- "dist/auth/pkce.d.ts.map": "1d243714e4fe09291a3384a600fe32db419a2782eba9f85bc60eb0601c12c1b6",
74
- "dist/auth/pkce.js": "57ba4d337eb14fe4864ca7c35c9ccbc45305fb83c5024989fb2cf71b738375f5",
75
- "dist/auth/pkce.js.map": "2ef47aa1ccc6f092895abcea73dc7339221ca520252a6b3a7ef04cafe3aed2ea",
72
+ "dist/auth/pkce.d.ts": "08cc5c7b4ffc381f06aad154bae0107549754efa21b96cef7470c7cfd0691258",
73
+ "dist/auth/pkce.d.ts.map": "c10d6725c8a8055c1e0721aa3286f0703e7c6544a771c2d5ae4ff3c358c09ff9",
74
+ "dist/auth/pkce.js": "470b05867be83265967e1860e76cbfb5d6d726a2c43607800716ece97c748ec8",
75
+ "dist/auth/pkce.js.map": "0518d07fbb373ac53cfcd7a2b18229b1c5cf1ff37836be2c9f5936b3d5422bd2",
76
76
  "dist/auth/status.d.ts": "37a25b146554cd6f6f8c45c4d58bb8a7b1a45d820eb5bdce244e034e8303bf43",
77
77
  "dist/auth/status.d.ts.map": "231ab1243235d4092e1f375174d1eab6dcb72cdd708660c161d2eeda51d890b4",
78
78
  "dist/auth/status.js": "892a5007258bc4ffa79153d8bc00e797a95329dd5ce520190ef9b57d001f8c6f",
@@ -91,12 +91,12 @@
91
91
  "dist/install/hosts.js.map": "da36471d04901272eb3f64ab8c4f843c14451c91abf13f54e2a416074d73ab8d",
92
92
  "dist/install/journal.d.ts": "0a49e968102fe0c7166136eb844a07d2913d60395d3f99398d3d5752edd00ce6",
93
93
  "dist/install/journal.d.ts.map": "bc87f5e72d7ba80845e01c45ff2214be4f09c20d3068b66585c0d06659d5b519",
94
- "dist/install/journal.js": "79574bc9e0d2f511b3b071856e5d17a35f2b121a4d1e3a02cee415de3cffba8f",
94
+ "dist/install/journal.js": "f62f672259d0b750f09dfa0d76a4129eb361f4b0d00dac69fc420f5e0f661aed",
95
95
  "dist/install/journal.js.map": "24d7aa711920a3b514a72cb9914830d8540cf2188d93a0fd5dd726a8473e287d",
96
96
  "dist/install/journey.d.ts": "f8a4ae8fa564e7d5b2720f524e4c5c5081399fbfc19d0c633a6036a53cf19b21",
97
- "dist/install/journey.d.ts.map": "009cb2eb81e3b885932433b8f4c9b8acba5950ff718bffbcb16ad5458185bbf4",
98
- "dist/install/journey.js": "5890b58b0e65cbc752729777a0007b27e19eb644cfebd9a056f8147b938fd8a2",
99
- "dist/install/journey.js.map": "0900b29a17fd0526563f4a1da5a25cec3cf6f5c50832c623238187bcc320f640",
97
+ "dist/install/journey.d.ts.map": "9344f4323c120a1bf619f12869efb81bb00fed2ea6a4a5bf24a072c5cbe88f40",
98
+ "dist/install/journey.js": "19f4517ce06581b212d6ec9b980398a2f5228a67b42126c4cfd62ea86bfcfde1",
99
+ "dist/install/journey.js.map": "7b78045780dcb877bf35d295d3cca57d5285706daaa6b13ab93e179d0f99e953",
100
100
  "dist/install/ownership.d.ts": "9ce76111b3424693a29036cd459ed14158ed11167f5f0aed13247df33941202b",
101
101
  "dist/install/ownership.d.ts.map": "e16f1f8d7c9375f73041289ad78b9d8ea2dfdb01199967cdeb3c436c6a64570b",
102
102
  "dist/install/ownership.js": "238b1e32ecbb170c8f24f03f31b06a2d308895168133291ee1a2902bf9c4255e",
@@ -106,21 +106,21 @@
106
106
  "dist/install/transaction.js": "90dfae635dce75fbd341d315f4d9a32ed6a8b08ab38d830e0e8b9046317d46fc",
107
107
  "dist/install/transaction.js.map": "40b243575081956f24ec2119315c682b4e6f78163b7bd7faa4324808ed84e9db",
108
108
  "dist/install/ui.d.ts": "7ec8f2f4278af8ad311d2b1404e7081ad40290e2b69bcaea02e083e127d0b82b",
109
- "dist/install/ui.d.ts.map": "39fd4d110d9eebb749c3f1ac9d9a70a62bcc593b303dfaf3a7b2a20905fd210d",
110
- "dist/install/ui.js": "11c67be4419178c15ddf6376d00e4cb4bd51418bcdded00dfa5edd5ec06f7306",
111
- "dist/install/ui.js.map": "237571e39776ef284fd2a79dd44fec26556fe72a6ea79e88439663da0d5ef730",
109
+ "dist/install/ui.d.ts.map": "85ae943e39694a5fe8103ecbb751e3351989f6f10159decb260dbd41383a5c0e",
110
+ "dist/install/ui.js": "e38c632b9209fd824cf096f40c9b7d69ff34fa551ea52055ea28ae45b6971179",
111
+ "dist/install/ui.js.map": "746857627c3459877010041fbe39ebe444c06d9c174f6ad2280660c4c391cc60",
112
112
  "dist/project/eligibility.d.ts": "c69cde0072951d28ac633a7f9cda8753627d28492cfda9633857d14a4a344301",
113
113
  "dist/project/eligibility.d.ts.map": "db5a80e40ce9f01dacc98f4d0d7b73951ef998c01f7c21d3ceea39eaec468b9a",
114
114
  "dist/project/eligibility.js": "dd0c5773119475ff6e5b027aa92861145049be6cc2a617dbd6ccf1a32a54d260",
115
115
  "dist/project/eligibility.js.map": "c6f99ab4064b1eda4e7643946ef4c452aa3467ce33d0a4b2d6f378078e0ca18f",
116
116
  "dist/project/records.d.ts": "f67fa8b3ca81748a84065b2f5a89da2e4719b20e81cfdc53d851aa7e1a7f39ad",
117
117
  "dist/project/records.d.ts.map": "1f572d8df5e71d6820ca3e5bf4e0d0878b6822375c78afb054d114b2a04dac0b",
118
- "dist/project/records.js": "70f53b9cfad3ec98cdde7fb6462a6b0503382b27c9a83544bd29ac8337389f9f",
118
+ "dist/project/records.js": "7ed7969967c9f4c556469a88b03647a2d2463ca71748c34413379e70749e2a7e",
119
119
  "dist/project/records.js.map": "349fd9dca72f084d3c4747159f241bd6afab76295e42c326b75235adca3778fe",
120
- "dist/runtime/bootstrap.d.ts": "143bcf41270841bf96f7db7b42bcdec7b918a3c13a3ba6020859bd4c4a9423d7",
121
- "dist/runtime/bootstrap.d.ts.map": "29563c7b89cd49c078631a811b1f127e4cb0f9c5414639d6b68a62211e486bac",
122
- "dist/runtime/bootstrap.js": "dddac9f2c35b6efec4f686594b105b7a15df6538ec8b56993e3bc961ab5c0e6d",
123
- "dist/runtime/bootstrap.js.map": "7f1ce47fb5cf63e4298503e710c6ce630fad4022cc38e1a0fc019d4d2c32f221",
120
+ "dist/runtime/bootstrap.d.ts": "7f0dde7c7ef77beab0b9ed52ba5425e3a6943c705cd8df4d5571b227d2ac80d2",
121
+ "dist/runtime/bootstrap.d.ts.map": "035c498dfeb8887879a9f344e3f5c5f839175e3ed0d25731ead224fbae6e39bf",
122
+ "dist/runtime/bootstrap.js": "f22e20cb20616020bbbf0709f9bf0d30b053028de29f0d2aee8f160830953cd2",
123
+ "dist/runtime/bootstrap.js.map": "eca96a20a6b0872d559dba43b68c6aa9da1fff1412300fae2bf1ff17d4c0f737",
124
124
  "dist/runtime/releaseSource.d.ts": "3016bcb155ceee670369df363e675a132fca2cd05c3920bca1b8eaba320f7bda",
125
125
  "dist/runtime/releaseSource.d.ts.map": "e9eff7aecb0a37d148282bc1caee6f4e717db9edfa1b7432f748398f27b86721",
126
126
  "dist/runtime/releaseSource.js": "3b062eabf5c50cbfedc1a25d32f43f21f63df3c1f3e71119d4e4a00b09580b53",
@@ -139,41 +139,41 @@
139
139
  "dist/runtime/store.js.map": "f716e3f48555cc9b7b94bab6632cf291308b939cc3834c9fe2c3e6387e894749",
140
140
  "dist/scanner/control.d.ts": "f623e6925a7c3ffbd573022463cf903940f8b264af5584953f75d3e3120f61b2",
141
141
  "dist/scanner/control.d.ts.map": "bd9432428a99689005c337cb95b88b8f4a25b2bed7e9f1cf63743e848d544e95",
142
- "dist/scanner/control.js": "588922b2dc1226b136ebe66ad73c123dd2c60ce277140ffb3c4cd4c90682a3d4",
142
+ "dist/scanner/control.js": "1f328cc5e4957000c9715ad133f4954c9a85d38cc45154886e2eec068d732bf6",
143
143
  "dist/scanner/control.js.map": "204be12d9ed14f1e2f6b7acb6de19f9e82ea4182ad2e7466028e479abf4c0a49",
144
144
  "dist/scanner/data.d.ts": "cfb3f35766ee44898849a54553b3b60386e80706b6c952c9e2e7807cff232c58",
145
145
  "dist/scanner/data.d.ts.map": "997415437937f3c1c8848497198eb8a070fd5296adf6d5faffdfc5a885d26f7e",
146
146
  "dist/scanner/data.js": "acb503efbe8e202550ef0b86c6a9a8a222682b8828042928947c92f76b13c1ae",
147
147
  "dist/scanner/data.js.map": "490a61e186b7be15e63cc846563e323e91add45e1ed4a28a185ec22b07c7e8bd",
148
148
  "dist/scanner/discover.d.ts": "910eb57fad447db376d530c01b87b85d66019f3dc4bc414876bed0f2fc127ca9",
149
- "dist/scanner/discover.d.ts.map": "7da95e7f1daa8b50a19d2b3303ff7fd64c6958d4f79523543cd53d9a7c923632",
150
- "dist/scanner/discover.js": "85445adc71fde3578cd78419c4b9035bfb74c008e0f1109a7eacf070708706b9",
151
- "dist/scanner/discover.js.map": "b33141f5d2ea93a226d39d9f071dffea8f49d6c40d25e612e5d974d3fe49cdd9",
149
+ "dist/scanner/discover.d.ts.map": "ef9df03778731071efb8f1d406dff9e8a68d9993ec77c3090fca0b50357aca01",
150
+ "dist/scanner/discover.js": "a6a7319590fd5bd2c23c2ae6fe0040fd4fd5911301d8da2f371d3eee5215a95b",
151
+ "dist/scanner/discover.js.map": "741ab7b8ec6137ebf450fad4ade0a7ea1682fe2b08905d7c9cc98a1e4f505fb9",
152
152
  "dist/scanner/enable.d.ts": "ea6928fe3c4de0f019de4e7903ebeec039b0edb2411fb4f07dab957d878a971e",
153
153
  "dist/scanner/enable.d.ts.map": "58c44313251016a3ce9991aea15da5efb4428f544661127eb93faace8a37324b",
154
- "dist/scanner/enable.js": "1ac866de6646cc95525b9733446c5de7ff2bce7d2cae75ddbe3aa684bb71472f",
154
+ "dist/scanner/enable.js": "90bc7cf4a85f2635e88de7d31885861c6f646360a9e7ddf5d2d40cc9bc72e18b",
155
155
  "dist/scanner/enable.js.map": "cbfc913fa86406b12018730feb553d1af981e9a6183c343c4bce3f4af19f570c",
156
156
  "dist/scanner/picker.d.ts": "8e3a77dbfb004749e66d379544bdfc29189c4478c6e67e5dd5390979d55d0808",
157
- "dist/scanner/picker.d.ts.map": "199b534d94c8b2e6d7697c4f65e665d2b69785c255f4f8ff5d044ff5174376b1",
158
- "dist/scanner/picker.js": "9e310ca9fe6dc65192a24a0b41159ba407b1227fb9df90d9a3120f1f4b573616",
159
- "dist/scanner/picker.js.map": "7ea99061c563e8307711e08a6d120e09d3dc75480af74ee4109a0483ad1fd01d",
157
+ "dist/scanner/picker.d.ts.map": "7c58d8ccdd06c65996bf46cc1e5e398b34c06af4111bf3d22e197b82887ef06a",
158
+ "dist/scanner/picker.js": "a62e3f6e774e671385046502977a8f79294ae5ae76894db8bf40fc322e583ddb",
159
+ "dist/scanner/picker.js.map": "ddcfe69689f1a378541f69b0558746ab9006ad6a4ead049eeafd9c748c7cf1b8",
160
160
  "dist/scanner/service.d.ts": "f1559d1915dfc08efd7a149358fb39027312cbafd8a32f93e17cbc240ca62986",
161
161
  "dist/scanner/service.d.ts.map": "58409ca5b81129cc619b8b166b913f764cb42753ad2cdf95ce6598abb2a51b74",
162
162
  "dist/scanner/service.js": "f8b1dbf03ea07fc4bc9317673cbdcb2602c8d231ad7fcc67c79eb812a4c85638",
163
163
  "dist/scanner/service.js.map": "284b32d9cc8741589957d15a19cc37b5a64fb3f7ef0fb94bc2909a1f87bfe28a",
164
164
  "dist/scanner/update.d.ts": "15cf741a36189d34b9344fea8bbd1afc92c12316d9d57df36f4f3b17d5784334",
165
165
  "dist/scanner/update.d.ts.map": "fdd2e50b12615000681f3f867cbc57ce2a7684627142008c570fa9832316ee24",
166
- "dist/scanner/update.js": "854b569ee1b9c41b9e9a31f0ed5e48fb161ef49bb26a496d857c6aedd1e1ccc8",
166
+ "dist/scanner/update.js": "a9427f65a91a0d19f72477d30607be00b472ac9b8a76e4dba8411377bcf1d145",
167
167
  "dist/scanner/update.js.map": "f1bbe0ad9aff2eda7c7a4ea7888ac7091059481b637b0a88e2c6cbb5da5033e2",
168
- "dist/screens/journey.d.ts": "bcfe3d5d54b6f991bf21f944bc0727016946c1411af1094e94990de4af992c59",
169
- "dist/screens/journey.d.ts.map": "032de5654efd38f4a32bddc23cd6c41046fcce9ded38ae068c73b9dfe8bb7733",
170
- "dist/screens/journey.js": "4fe55ff6c4b2f4bc67c21e9a378b3ac71a5ba603f5e4070dd5049089069a80c5",
171
- "dist/screens/journey.js.map": "5081b53288fda9fb75c13f2a60d3e9186d776c4dbb7d2e3a8415858d99b39075",
168
+ "dist/screens/journey.d.ts": "e39f2d9b39ad70e6d388c65ef60c7bfa92b8d09912bb8428488e59a906d019a2",
169
+ "dist/screens/journey.d.ts.map": "05d92996aff102dcf1abf363ba38c633a1fa44ff139401592086c4ec9cfca56a",
170
+ "dist/screens/journey.js": "7849355983942c9090f25a88bf41d08b266bfb5b39c6ff569e94e723b146c76f",
171
+ "dist/screens/journey.js.map": "f5197334064f919379f0686758f6d0cf9d8434c01f22c4790ba58e99a11da3ba",
172
172
  "dist/transport/server.d.ts": "7c753c747615d9a4360ac669538d6653cdf1f3a100d25f6e11ce7a93f2c99166",
173
173
  "dist/transport/server.d.ts.map": "86706da48210c58c6133bd104144dbdbfa4a48d27a109273a26607cf754c69f4",
174
174
  "dist/transport/server.js": "23b9b32f3b027d64f7d32e699d6277f4449b4ec6724836468ea871f4b6d5fec4",
175
175
  "dist/transport/server.js.map": "a994ebf172f4ef9764cbaae0aa69ac4ab6eb8aeec959f606a226d1c4179d9fbf",
176
- "dist/vendor/local-setup.js": "47bf76f488b9bf4df037dec4917fb1ab9d516c5bff76b8888963678feaa731b1",
176
+ "dist/vendor/local-setup.js": "277d4a96701ff06dc653b9ba99b4201fc308a819e712fbf0045e6ca17fbe54da",
177
177
  "dist/vendor/shared/runtimeReader.js": "e4a0e013d1827291f0025edc2313b5cdd1fcfe3c50c8e77a23214d4a6cb5641e",
178
178
  "dist/vendor/shared/runtimeSigners.js": "8dcb3bf26a61d75a70a45ae46962368a93788a5bc8d2cd40506177e6638735c9"
179
179
  }
@@ -6504,6 +6504,15 @@ async function withLock(path, waitMs, work) {
6504
6504
  throw error;
6505
6505
  }).then(() => rmdir(dir)).then(() => callback(), callback);
6506
6506
  },
6507
+ rmdirSync: (dir) => {
6508
+ try {
6509
+ fs2.unlinkSync(join3(dir, "owner"));
6510
+ } catch (error) {
6511
+ if (!codeIs(error, "ENOENT"))
6512
+ throw error;
6513
+ }
6514
+ fs2.rmdirSync(dir);
6515
+ },
6507
6516
  stat: (file, callback) => {
6508
6517
  void (acquired ? assertOwned() : Promise.resolve()).then(() => fs2.stat(file, callback), () => callback(Object.assign(new Error("lock_lost"), { code: "ENOENT" })));
6509
6518
  }
@@ -1 +1 @@
1
- {"version":3,"file":"journey.d.ts","sourceRoot":"","sources":["../../src/install/journey.ts"],"names":[],"mappings":"AAKA,OAAO,EAIL,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACxB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAqB3C,OAAO,EAGL,KAAK,gBAAgB,EACrB,KAAK,UAAU,EAEhB,MAAM,YAAY,CAAC;AASpB,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,UAAU,EAAE,EACrB,OAAO,EAAE,OAAO,GACf,kBAAkB,EAAE,CAUtB;AAED,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,MAAM,OAAO,CAAC,iBAAiB,CAAC,EACvC,OAAO,EAAE,MAAM,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,EACxC,KAAK,GAAE,IAAI,CAAC,gBAAgB,EAAE,KAAK,GAAG,OAAO,CAAM,GAClD,OAAO,CAAC;IAAE,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CA0B7D;AAED,wBAAsB,aAAa,CACjC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,EACjC,IAAI,EAAE,eAAe,EACrB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,EAChC,UAAU,EAAE,MAAM,OAAO,CAAC,gBAAgB,CAAC,GAC1C,OAAO,CAAC,MAAM,CAAC,CA8tBjB"}
1
+ {"version":3,"file":"journey.d.ts","sourceRoot":"","sources":["../../src/install/journey.ts"],"names":[],"mappings":"AAKA,OAAO,EAIL,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACxB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAuB3C,OAAO,EAGL,KAAK,gBAAgB,EACrB,KAAK,UAAU,EAEhB,MAAM,YAAY,CAAC;AAUpB,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,UAAU,EAAE,EACrB,OAAO,EAAE,OAAO,GACf,kBAAkB,EAAE,CAUtB;AAED,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,MAAM,OAAO,CAAC,iBAAiB,CAAC,EACvC,OAAO,EAAE,MAAM,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,EACxC,KAAK,GAAE,IAAI,CAAC,gBAAgB,EAAE,KAAK,GAAG,OAAO,CAAM,GAClD,OAAO,CAAC;IAAE,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CA0B7D;AAED,wBAAsB,aAAa,CACjC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,EACjC,IAAI,EAAE,eAAe,EACrB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,EAChC,UAAU,EAAE,MAAM,OAAO,CAAC,gBAAgB,CAAC,GAC1C,OAAO,CAAC,MAAM,CAAC,CA0yBjB"}
@@ -4886,7 +4886,9 @@ import {
4886
4886
  completedLine,
4887
4887
  renderCustomize,
4888
4888
  renderJourney,
4889
- journeyAnswers
4889
+ journeyAnswers,
4890
+ INSTALLATION_STOPPED,
4891
+ stepProgress
4890
4892
  } from "../screens/journey.js";
4891
4893
  import { interrupted } from "./journal.js";
4892
4894
  import {
@@ -4899,6 +4901,7 @@ import { ensureLauncher, launcherPathAction, LauncherError } from "../launcher.j
4899
4901
  var labels = { "claude-code": "Claude Code", codex: "Codex", cursor: "Cursor", grok: "Grok" };
4900
4902
  var launchHosts = ["claude-code", "codex", "cursor", "grok"];
4901
4903
  var notOfferedHosts = ["vscode-copilot"];
4904
+ var FINAL_REPORT_TIMEOUT_MS = 3e3;
4902
4905
  function hostReadinessConditions(results, scanner) {
4903
4906
  return results.filter((r) => r.status !== "READY").map((r) => {
4904
4907
  return {
@@ -4972,8 +4975,52 @@ async function joinedInstall(flags2, deps, output, authorize, management) {
4972
4975
  }
4973
4976
  const home = deps.home ?? homedir2();
4974
4977
  let cwd = deps.cwd ?? process.cwd();
4978
+ const input = deps.input ?? process.stdin;
4979
+ const interactive = Boolean(input.isTTY);
4980
+ let answers;
4981
+ let stopped = false;
4982
+ const interrupt = (signal) => {
4983
+ if (stopped) return;
4984
+ stopped = true;
4985
+ output.line(INSTALLATION_STOPPED);
4986
+ answers?.close();
4987
+ const repeat = globalThis.setImmediate(() => process.kill(process.pid, signal));
4988
+ repeat.unref();
4989
+ };
4990
+ const interruptBySigint = () => interrupt("SIGINT");
4991
+ const interruptByHangup = () => interrupt("SIGHUP");
4992
+ let automaticSignals = false;
4993
+ const closeInteraction = () => {
4994
+ answers?.close();
4995
+ if (automaticSignals) {
4996
+ process.off("SIGINT", interruptBySigint);
4997
+ process.off("SIGHUP", interruptByHangup);
4998
+ automaticSignals = false;
4999
+ }
5000
+ };
5001
+ let activeProgress;
5002
+ const startProgress = (text) => {
5003
+ activeProgress?.stop();
5004
+ activeProgress = json ? void 0 : stepProgress(output, interactive, text);
5005
+ };
5006
+ const completeProgress = (text) => {
5007
+ activeProgress?.complete(completedLine(text));
5008
+ activeProgress = void 0;
5009
+ };
4975
5010
  const stateDir = deps.hostManagement?.stateDir ?? deps.installStateDir ?? stateDirectory(process.platform, process.env, home);
4976
- const previous = (await interrupted(stateDir))[0];
5011
+ if (!automatic) answers = journeyAnswers(input, output, { interrupt });
5012
+ else {
5013
+ process.on("SIGINT", interruptBySigint);
5014
+ process.on("SIGHUP", interruptByHangup);
5015
+ automaticSignals = true;
5016
+ }
5017
+ let previous;
5018
+ try {
5019
+ previous = (await interrupted(stateDir))[0];
5020
+ } catch (error) {
5021
+ closeInteraction();
5022
+ throw error;
5023
+ }
4977
5024
  if (previous?.data.joined) {
4978
5025
  if (automatic) {
4979
5026
  if (json)
@@ -4986,6 +5033,7 @@ async function joinedInstall(flags2, deps, output, authorize, management) {
4986
5033
  output.error(
4987
5034
  "Previous installation was interrupted. Run mnemonik install interactively to resume or roll back."
4988
5035
  );
5036
+ closeInteraction();
4989
5037
  return 3;
4990
5038
  }
4991
5039
  cwd = previous.data.hostRequest?.selections[0]?.projectRoot ?? previous.data.roots[0] ?? cwd;
@@ -4993,12 +5041,22 @@ async function joinedInstall(flags2, deps, output, authorize, management) {
4993
5041
  scanner = components.includes("scanner");
4994
5042
  names = [...new Set(previous.data.hostRequest?.selections.map((s) => s.host) ?? [])];
4995
5043
  }
4996
- const preflight = await runPreflight({
4997
- cwd,
4998
- home,
4999
- ...!scanner && flags2.has("components") ? { fetch: async () => new Response("{}") } : {},
5000
- ...deps.preflight
5001
- });
5044
+ startProgress("Checking this computer");
5045
+ let preflight;
5046
+ try {
5047
+ preflight = await runPreflight({
5048
+ cwd,
5049
+ home,
5050
+ ...!scanner && flags2.has("components") ? { fetch: async () => new Response("{}") } : {},
5051
+ ...deps.preflight
5052
+ });
5053
+ completeProgress("Computer checked");
5054
+ } catch (error) {
5055
+ activeProgress?.stop();
5056
+ activeProgress = void 0;
5057
+ closeInteraction();
5058
+ throw error;
5059
+ }
5002
5060
  const root = preflight.project.root ?? cwd;
5003
5061
  const logPath = join3(stateDir, "install.log");
5004
5062
  const log = async (detail) => {
@@ -5014,10 +5072,6 @@ async function joinedInstall(flags2, deps, output, authorize, management) {
5014
5072
  names = preflight.hosts.filter((h) => h.supported).map(
5015
5073
  (h) => Object.keys(labels).find((key) => labels[key] === h.name) ?? ""
5016
5074
  ).filter(Boolean);
5017
- const answers = automatic ? void 0 : journeyAnswers(deps.input ?? process.stdin, output);
5018
- const interactive = Boolean(
5019
- (deps.input ?? process.stdin).isTTY
5020
- );
5021
5075
  const replaceScreen = (lines, replacement) => {
5022
5076
  if (!interactive) return;
5023
5077
  output.write(`\x1B[${lines}A\r\x1B[J`);
@@ -5152,66 +5206,82 @@ async function joinedInstall(flags2, deps, output, authorize, management) {
5152
5206
  deps.preflight?.platform ?? process.platform
5153
5207
  ))
5154
5208
  output.error(line);
5155
- if (!preflight.network.reachable)
5156
- output.error(
5157
- `Discovery ${preflight.network.discoveryUrl}: ${preflight.network.detail ?? "unavailable"}`
5158
- );
5209
+ if (!preflight.network.reachable) {
5210
+ output.error("Discovery could not be reached.");
5211
+ output.error(preflight.network.discoveryUrl);
5212
+ output.error(preflight.network.detail ?? "unavailable");
5213
+ }
5159
5214
  throw new Error("preflight_failed");
5160
5215
  }
5161
5216
  if (!automatic && !flags2.has("apply")) {
5162
5217
  renderJourney("account", output);
5163
5218
  }
5164
5219
  for (; ; ) {
5220
+ startProgress("Signing in");
5165
5221
  try {
5166
5222
  await authorize();
5167
- if (!automatic) output.line(completedLine("Signed in"));
5223
+ completeProgress("Signed in");
5168
5224
  break;
5169
5225
  } catch (error) {
5226
+ activeProgress?.stop();
5227
+ activeProgress = void 0;
5170
5228
  if (automatic || await choose("Sign-in did not finish.", ["Retry", "Skip"]) !== "Retry")
5171
5229
  throw error;
5172
5230
  }
5173
5231
  }
5232
+ if (!automatic) output.line(completedStep(3, "Configure editors"));
5233
+ startProgress("Configuring your editors");
5174
5234
  const managed = await management();
5175
5235
  reportFinal = async (readiness) => {
5176
5236
  const versions = await ownership.readInstallVersions(stateDir, readiness.scanner?.version ?? void 0).catch(() => void 0);
5177
5237
  readiness = { ...readiness, platform: process.platform, ...versions ? { versions } : {} };
5238
+ const controller = new AbortController();
5239
+ let timer;
5178
5240
  try {
5179
- const bearer = await managed.getCliBearer?.();
5180
- if (bearer) {
5181
- const fetcher = deps.scannerEnable?.fetch ?? deps.grantFetch ?? fetch;
5182
- const headers = { authorization: `Bearer ${bearer}`, "content-type": "application/json" };
5183
- let session = prepared?.session;
5184
- if (!session) {
5185
- const response2 = await fetcher(`${apiOrigin()}/api/v1/install-sessions/current`, {
5186
- headers
5187
- });
5188
- if (!response2.ok) throw new Error(`install_report_${response2.status}`);
5189
- session = await response2.json();
5190
- }
5191
- const response = await fetcher(
5192
- `${apiOrigin()}/api/v1/install-sessions/${session.id}/complete`,
5193
- {
5194
- method: "POST",
5195
- headers,
5196
- body: JSON.stringify({
5197
- readiness: serializeReadiness(readiness),
5198
- platform: process.platform,
5199
- ...versions ? { versions } : {}
5200
- })
5201
- }
5202
- );
5203
- if (!response.ok) throw new Error(`install_report_${response.status}`);
5204
- } else if (prepared) await prepared.complete(serializeReadiness(readiness));
5205
- } catch (error) {
5206
- const reason = `The final installation status could not be uploaded: ${error.message}`;
5207
- readiness = {
5208
- ...readiness,
5209
- installation: {
5210
- state: readiness.installation.state === "FAILED" ? "FAILED" : "LIMITED",
5211
- reasons: [...readiness.installation.reasons, reason],
5212
- actions: [...readiness.installation.actions, "mnemonik install"]
5213
- }
5214
- };
5241
+ await Promise.race([
5242
+ (async () => {
5243
+ const bearer = await managed.getCliBearer?.();
5244
+ if (bearer) {
5245
+ const fetcher = deps.scannerEnable?.fetch ?? deps.grantFetch ?? fetch;
5246
+ const headers = {
5247
+ authorization: `Bearer ${bearer}`,
5248
+ "content-type": "application/json"
5249
+ };
5250
+ let session = prepared?.session;
5251
+ if (!session) {
5252
+ const response2 = await fetcher(`${apiOrigin()}/api/v1/install-sessions/current`, {
5253
+ headers,
5254
+ signal: controller.signal
5255
+ });
5256
+ if (!response2.ok) throw new Error(`install_report_${response2.status}`);
5257
+ session = await response2.json();
5258
+ }
5259
+ const response = await fetcher(
5260
+ `${apiOrigin()}/api/v1/install-sessions/${session.id}/complete`,
5261
+ {
5262
+ method: "POST",
5263
+ headers,
5264
+ signal: controller.signal,
5265
+ body: JSON.stringify({
5266
+ readiness: serializeReadiness(readiness),
5267
+ platform: process.platform,
5268
+ ...versions ? { versions } : {}
5269
+ })
5270
+ }
5271
+ );
5272
+ if (!response.ok) throw new Error(`install_report_${response.status}`);
5273
+ } else if (prepared) await prepared.complete(serializeReadiness(readiness));
5274
+ })(),
5275
+ new Promise((_, reject) => {
5276
+ timer = setTimeout(() => {
5277
+ controller.abort();
5278
+ reject(new Error("install_report_timeout"));
5279
+ }, FINAL_REPORT_TIMEOUT_MS);
5280
+ })
5281
+ ]);
5282
+ } catch {
5283
+ } finally {
5284
+ clearTimeout(timer);
5215
5285
  }
5216
5286
  return readiness;
5217
5287
  };
@@ -5224,12 +5294,8 @@ async function joinedInstall(flags2, deps, output, authorize, management) {
5224
5294
  projectRoot: root
5225
5295
  }))
5226
5296
  );
5227
- if (!automatic) output.line(completedStep(3, "Configure editors"));
5228
5297
  const afterHosts = async (journal, results, refreshHosts) => {
5229
- if (!automatic)
5230
- output.line(
5231
- completedLine(`${names.length} ${names.length === 1 ? "editor" : "editors"} configured`)
5232
- );
5298
+ completeProgress(`${names.length} ${names.length === 1 ? "editor" : "editors"} configured`);
5233
5299
  journal.data.components = components;
5234
5300
  journal.data.roots = roots;
5235
5301
  const projectConditions = [];
@@ -5296,6 +5362,7 @@ async function joinedInstall(flags2, deps, output, authorize, management) {
5296
5362
  roots = scannerPlan.roots;
5297
5363
  journal.data.roots = roots;
5298
5364
  }
5365
+ if (scannerPlan) completeProgress("Repositories connected");
5299
5366
  if (!automatic && !flags2.has("apply")) {
5300
5367
  for (; ; ) {
5301
5368
  const applyLines = renderJourney("apply", output, {
@@ -5315,6 +5382,7 @@ async function joinedInstall(flags2, deps, output, authorize, management) {
5315
5382
  }
5316
5383
  }
5317
5384
  journal.data.phase = "applying";
5385
+ startProgress("Finishing installation");
5318
5386
  await journal.event("apply");
5319
5387
  for (const project of journal.data.projects) {
5320
5388
  const result2 = await executor?.apply({
@@ -5427,6 +5495,7 @@ async function joinedInstall(flags2, deps, output, authorize, management) {
5427
5495
  };
5428
5496
  if (scanner) {
5429
5497
  if (!automatic) renderJourney("scanner", output);
5498
+ startProgress("Connecting your repositories");
5430
5499
  try {
5431
5500
  await prepareScanner(
5432
5501
  {
@@ -5520,6 +5589,8 @@ async function joinedInstall(flags2, deps, output, authorize, management) {
5520
5589
  false
5521
5590
  );
5522
5591
  if (restart && result.journal.phase === "rolled_back") {
5592
+ activeProgress?.stop();
5593
+ activeProgress = void 0;
5523
5594
  answers?.close();
5524
5595
  output.line(" Restored this run. Review your settings again.");
5525
5596
  return joinedInstall(
@@ -5556,6 +5627,7 @@ async function joinedInstall(flags2, deps, output, authorize, management) {
5556
5627
  };
5557
5628
  final = await reportFinal({ ...final, ...launcher ? { launcher } : {} });
5558
5629
  await log({ preflight, journal: result.journal, targets: result.results, readiness: final });
5630
+ completeProgress("Installation finished");
5559
5631
  if (json)
5560
5632
  output.json({
5561
5633
  ...final,
@@ -5587,9 +5659,12 @@ async function joinedInstall(flags2, deps, output, authorize, management) {
5587
5659
  } catch (error) {
5588
5660
  const reason = error instanceof Error ? error.message : "install_failed";
5589
5661
  if (reason === "install_cancelled") {
5662
+ activeProgress?.stop();
5663
+ activeProgress = void 0;
5590
5664
  output.line(" Installation cancelled.");
5591
5665
  return 130;
5592
5666
  }
5667
+ if (!activeProgress) startProgress("Finishing installation");
5593
5668
  await reportFinal(
5594
5669
  serializeReadiness({
5595
5670
  installation: {
@@ -5607,11 +5682,14 @@ async function joinedInstall(flags2, deps, output, authorize, management) {
5607
5682
  });
5608
5683
  else {
5609
5684
  await log({ error: reason }).catch(() => void 0);
5685
+ activeProgress?.stop();
5686
+ activeProgress = void 0;
5610
5687
  output.error(`Installation stopped. Details: ${logPath}`);
5611
5688
  }
5612
5689
  return 3;
5613
5690
  } finally {
5614
- answers?.close();
5691
+ activeProgress?.stop();
5692
+ closeInteraction();
5615
5693
  }
5616
5694
  }
5617
5695
  export {