@mx-space/cli 0.2.3 → 0.3.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 (210) hide show
  1. package/README.md +14 -0
  2. package/ROADMAP.md +6 -0
  3. package/bin/mxs.cjs +5 -5
  4. package/dist/{Lexical.dev-CMevU1DO.mjs → Lexical.dev-rcxzwpir.mjs} +0 -2
  5. package/dist/{Lexical.node-BR9e7Cyk.mjs → Lexical.node-BUsI9gWr.mjs} +1 -3
  6. package/dist/{Lexical.prod-PUD-z9fY.mjs → Lexical.prod-C8HtkSD6.mjs} +0 -2
  7. package/dist/{LexicalClipboard.dev-DZC2zppG.mjs → LexicalClipboard.dev-BpqRwTLP.mjs} +5 -7
  8. package/dist/{LexicalClipboard.node-e5G1wVGb.mjs → LexicalClipboard.node-CO-MCKx5.mjs} +1 -3
  9. package/dist/{LexicalClipboard.prod-DE2azzIb.mjs → LexicalClipboard.prod-B_xdeiAC.mjs} +5 -7
  10. package/dist/{LexicalCodeCore.dev-gs--x55I.mjs → LexicalCodeCore.dev-7_cexm39.mjs} +2 -4
  11. package/dist/{LexicalCodeCore.prod-DPHOnyEj.mjs → LexicalCodeCore.prod-Bd6WFHcO.mjs} +2 -4
  12. package/dist/{LexicalDragon.dev-CVe8bzVN.mjs → LexicalDragon.dev-gBP8WSRS.mjs} +2 -4
  13. package/dist/{LexicalDragon.node-c7EHvcnK.mjs → LexicalDragon.node-OG6G55nl.mjs} +1 -3
  14. package/dist/{LexicalDragon.prod-D6KvqyLD.mjs → LexicalDragon.prod-DP-_Q8cv.mjs} +2 -4
  15. package/dist/{LexicalExtension.dev-PDo8HyEw.mjs → LexicalExtension.dev-DVbjljrm.mjs} +2 -4
  16. package/dist/{LexicalExtension.node-BKzjRb-0.mjs → LexicalExtension.node-CF3EAPN7.mjs} +1 -3
  17. package/dist/{LexicalExtension.prod-D0x_lX7q.mjs → LexicalExtension.prod-DklHHErZ.mjs} +2 -4
  18. package/dist/{LexicalHeadless.dev-DBKcW82j.mjs → LexicalHeadless.dev-DdWLM7Nl.mjs} +1 -3
  19. package/dist/{LexicalHeadless.prod-D4nEh7cR.mjs → LexicalHeadless.prod-CoiiTDzR.mjs} +1 -3
  20. package/dist/{LexicalHtml.dev-vsWW05es.mjs → LexicalHtml.dev-C3ZSWBFZ.mjs} +3 -5
  21. package/dist/{LexicalHtml.node-CpibAfba.mjs → LexicalHtml.node-D0TD152E.mjs} +1 -3
  22. package/dist/{LexicalHtml.prod-Bqz-3WAp.mjs → LexicalHtml.prod-CX47X0zl.mjs} +3 -5
  23. package/dist/{LexicalLink.dev-BO0J0B1E.mjs → LexicalLink.dev-BS1Bf-yD.mjs} +3 -5
  24. package/dist/{LexicalLink.prod-D66AhUCZ.mjs → LexicalLink.prod-B_crkoHP.mjs} +3 -5
  25. package/dist/{LexicalList.dev-DVGTWRk0.mjs → LexicalList.dev-OMqmcnQ-.mjs} +3 -5
  26. package/dist/{LexicalList.prod-Bao7NGl7.mjs → LexicalList.prod-CpL1s8vS.mjs} +3 -5
  27. package/dist/{LexicalMarkdown.dev-CRWkZwlp.mjs → LexicalMarkdown.dev-BHSdx_Gr.mjs} +3 -5
  28. package/dist/{LexicalMarkdown.prod-tGG6js4r.mjs → LexicalMarkdown.prod-C-S7Ii6-.mjs} +3 -5
  29. package/dist/{LexicalRichText.dev-DPXfQePC.mjs → LexicalRichText.dev-Bz9A_WbM.mjs} +5 -7
  30. package/dist/{LexicalRichText.node-BEkm_YwY.mjs → LexicalRichText.node-DDpwfE-P.mjs} +4 -6
  31. package/dist/{LexicalRichText.prod-DlfudC5w.mjs → LexicalRichText.prod-C8qXACDL.mjs} +5 -7
  32. package/dist/{LexicalSelection.dev-BVTArZ-b.mjs → LexicalSelection.dev-CQ380fnD.mjs} +1 -3
  33. package/dist/{LexicalSelection.node-CQ8iTYsz.mjs → LexicalSelection.node-DesBMjIE.mjs} +1 -3
  34. package/dist/{LexicalSelection.prod-BZKGGs-G.mjs → LexicalSelection.prod-D2jivCDB.mjs} +1 -3
  35. package/dist/{LexicalTable.dev-C-AOEpJn.mjs → LexicalTable.dev-Ca7mQ7Jk.mjs} +4 -6
  36. package/dist/{LexicalTable.prod-Cyn0qWxZ.mjs → LexicalTable.prod-DyPAcC7y.mjs} +4 -6
  37. package/dist/{LexicalUtils.dev-DRRDyAlS.mjs → LexicalUtils.dev-HxM8F0g6.mjs} +2 -4
  38. package/dist/{LexicalUtils.node-Dz-HANi6.mjs → LexicalUtils.node-lCWjRjoG.mjs} +1 -3
  39. package/dist/{LexicalUtils.prod-CmeHwh8W.mjs → LexicalUtils.prod-Bti5w4ki.mjs} +2 -4
  40. package/dist/bin/mxs.d.mts +2 -929
  41. package/dist/bin/mxs.mjs +2 -3596
  42. package/dist/esm-BKxzBG1f.mjs +2 -0
  43. package/dist/esm-DO9hVR8S.mjs +37652 -0
  44. package/dist/index.d.mts +1492 -374
  45. package/dist/index.mjs +2 -11
  46. package/dist/mxs-BUOk42XP.mjs +30444 -0
  47. package/dist/mxs-CM8-6uAr.d.mts +4 -0
  48. package/package.json +7 -2
  49. package/dist/Lexical.dev-CMevU1DO.mjs.map +0 -1
  50. package/dist/Lexical.node-BR9e7Cyk.mjs.map +0 -1
  51. package/dist/Lexical.prod-PUD-z9fY.mjs.map +0 -1
  52. package/dist/LexicalClipboard.dev-DZC2zppG.mjs.map +0 -1
  53. package/dist/LexicalClipboard.node-e5G1wVGb.mjs.map +0 -1
  54. package/dist/LexicalClipboard.prod-DE2azzIb.mjs.map +0 -1
  55. package/dist/LexicalCodeCore.dev-gs--x55I.mjs.map +0 -1
  56. package/dist/LexicalCodeCore.prod-DPHOnyEj.mjs.map +0 -1
  57. package/dist/LexicalDragon.dev-CVe8bzVN.mjs.map +0 -1
  58. package/dist/LexicalDragon.node-c7EHvcnK.mjs.map +0 -1
  59. package/dist/LexicalDragon.prod-D6KvqyLD.mjs.map +0 -1
  60. package/dist/LexicalExtension.dev-PDo8HyEw.mjs.map +0 -1
  61. package/dist/LexicalExtension.node-BKzjRb-0.mjs.map +0 -1
  62. package/dist/LexicalExtension.prod-D0x_lX7q.mjs.map +0 -1
  63. package/dist/LexicalHeadless.dev-DBKcW82j.mjs.map +0 -1
  64. package/dist/LexicalHeadless.prod-D4nEh7cR.mjs.map +0 -1
  65. package/dist/LexicalHtml.dev-vsWW05es.mjs.map +0 -1
  66. package/dist/LexicalHtml.node-CpibAfba.mjs.map +0 -1
  67. package/dist/LexicalHtml.prod-Bqz-3WAp.mjs.map +0 -1
  68. package/dist/LexicalLink.dev-BO0J0B1E.mjs.map +0 -1
  69. package/dist/LexicalLink.prod-D66AhUCZ.mjs.map +0 -1
  70. package/dist/LexicalList.dev-DVGTWRk0.mjs.map +0 -1
  71. package/dist/LexicalList.prod-Bao7NGl7.mjs.map +0 -1
  72. package/dist/LexicalMarkdown.dev-CRWkZwlp.mjs.map +0 -1
  73. package/dist/LexicalMarkdown.prod-tGG6js4r.mjs.map +0 -1
  74. package/dist/LexicalRichText.dev-DPXfQePC.mjs.map +0 -1
  75. package/dist/LexicalRichText.node-BEkm_YwY.mjs.map +0 -1
  76. package/dist/LexicalRichText.prod-DlfudC5w.mjs.map +0 -1
  77. package/dist/LexicalSelection.dev-BVTArZ-b.mjs.map +0 -1
  78. package/dist/LexicalSelection.node-CQ8iTYsz.mjs.map +0 -1
  79. package/dist/LexicalSelection.prod-BZKGGs-G.mjs.map +0 -1
  80. package/dist/LexicalTable.dev-C-AOEpJn.mjs.map +0 -1
  81. package/dist/LexicalTable.prod-Cyn0qWxZ.mjs.map +0 -1
  82. package/dist/LexicalUtils.dev-DRRDyAlS.mjs.map +0 -1
  83. package/dist/LexicalUtils.node-Dz-HANi6.mjs.map +0 -1
  84. package/dist/LexicalUtils.prod-CmeHwh8W.mjs.map +0 -1
  85. package/dist/auth-CAKmTDpF.mjs +0 -211
  86. package/dist/auth-CAKmTDpF.mjs.map +0 -1
  87. package/dist/bin/mxs.mjs.map +0 -1
  88. package/dist/config-store-B8_9iStL.mjs +0 -166
  89. package/dist/config-store-B8_9iStL.mjs.map +0 -1
  90. package/dist/create-5wbU7IQh.mjs +0 -23
  91. package/dist/create-5wbU7IQh.mjs.map +0 -1
  92. package/dist/create-Bs6K7AyQ.mjs +0 -23
  93. package/dist/create-Bs6K7AyQ.mjs.map +0 -1
  94. package/dist/create-DBReocgJ.mjs +0 -24
  95. package/dist/create-DBReocgJ.mjs.map +0 -1
  96. package/dist/create-DGVaE0_S.mjs +0 -19
  97. package/dist/create-DGVaE0_S.mjs.map +0 -1
  98. package/dist/create-lLFZuMsz.mjs +0 -23
  99. package/dist/create-lLFZuMsz.mjs.map +0 -1
  100. package/dist/delete-6tkhHQDp.mjs +0 -22
  101. package/dist/delete-6tkhHQDp.mjs.map +0 -1
  102. package/dist/delete-CRFxitDN.mjs +0 -31
  103. package/dist/delete-CRFxitDN.mjs.map +0 -1
  104. package/dist/delete-DU2Hvsy8.mjs +0 -22
  105. package/dist/delete-DU2Hvsy8.mjs.map +0 -1
  106. package/dist/delete-nJmHtvfq.mjs +0 -31
  107. package/dist/delete-nJmHtvfq.mjs.map +0 -1
  108. package/dist/delete-tJhXI8s4.mjs +0 -22
  109. package/dist/delete-tJhXI8s4.mjs.map +0 -1
  110. package/dist/dist-DJF1Ntdn.mjs +0 -810
  111. package/dist/dist-DJF1Ntdn.mjs.map +0 -1
  112. package/dist/document-output-BFJdwPV0.mjs +0 -200
  113. package/dist/document-output-BFJdwPV0.mjs.map +0 -1
  114. package/dist/edit-BMjTbPQO.mjs +0 -40
  115. package/dist/edit-BMjTbPQO.mjs.map +0 -1
  116. package/dist/edit-BnEmMmv6.mjs +0 -80
  117. package/dist/edit-BnEmMmv6.mjs.map +0 -1
  118. package/dist/edit-C4vRSmRy.mjs +0 -79
  119. package/dist/edit-C4vRSmRy.mjs.map +0 -1
  120. package/dist/edit-CQsW5gnk.mjs +0 -86
  121. package/dist/edit-CQsW5gnk.mjs.map +0 -1
  122. package/dist/editor-BIw1ALTF.mjs +0 -42
  123. package/dist/editor-BIw1ALTF.mjs.map +0 -1
  124. package/dist/envelope-overlays-DXXygxdF.mjs +0 -26
  125. package/dist/envelope-overlays-DXXygxdF.mjs.map +0 -1
  126. package/dist/get-B3Y5hAAO.mjs +0 -10
  127. package/dist/get-B3Y5hAAO.mjs.map +0 -1
  128. package/dist/get-C5fmd5Vf.mjs +0 -14
  129. package/dist/get-C5fmd5Vf.mjs.map +0 -1
  130. package/dist/get-Cdp2tmwz.mjs +0 -28
  131. package/dist/get-Cdp2tmwz.mjs.map +0 -1
  132. package/dist/get-D18ChSKU.mjs +0 -10
  133. package/dist/get-D18ChSKU.mjs.map +0 -1
  134. package/dist/get-NSHTGu4Y.mjs +0 -13
  135. package/dist/get-NSHTGu4Y.mjs.map +0 -1
  136. package/dist/get-XBPJr95m.mjs +0 -14
  137. package/dist/get-XBPJr95m.mjs.map +0 -1
  138. package/dist/list-B6703n9X.mjs +0 -10
  139. package/dist/list-B6703n9X.mjs.map +0 -1
  140. package/dist/list-BtNocJhc.mjs +0 -14
  141. package/dist/list-BtNocJhc.mjs.map +0 -1
  142. package/dist/list-C9dXrU9H.mjs +0 -10
  143. package/dist/list-C9dXrU9H.mjs.map +0 -1
  144. package/dist/list-CcwcYZgN.mjs +0 -10
  145. package/dist/list-CcwcYZgN.mjs.map +0 -1
  146. package/dist/list-Ctc8b5gT.mjs +0 -10
  147. package/dist/list-Ctc8b5gT.mjs.map +0 -1
  148. package/dist/list-b60JzCTw.mjs +0 -15
  149. package/dist/list-b60JzCTw.mjs.map +0 -1
  150. package/dist/litexml-codec-CfIxcPG0.mjs +0 -13451
  151. package/dist/litexml-codec-CfIxcPG0.mjs.map +0 -1
  152. package/dist/login-bZx4HaVs.mjs +0 -591
  153. package/dist/login-bZx4HaVs.mjs.map +0 -1
  154. package/dist/logout-C0Dzitsu.mjs +0 -18
  155. package/dist/logout-C0Dzitsu.mjs.map +0 -1
  156. package/dist/ls-wMiTXZPQ.mjs +0 -33
  157. package/dist/ls-wMiTXZPQ.mjs.map +0 -1
  158. package/dist/mark-Dh9BErsf.mjs +0 -29
  159. package/dist/mark-Dh9BErsf.mjs.map +0 -1
  160. package/dist/onboarding-Bw_I8qpf.mjs +0 -214
  161. package/dist/onboarding-Bw_I8qpf.mjs.map +0 -1
  162. package/dist/output-D2dDlyV2.d.mts +0 -16
  163. package/dist/output-vzequvhd.mjs +0 -163
  164. package/dist/output-vzequvhd.mjs.map +0 -1
  165. package/dist/payload-CO4zbNr8.mjs +0 -547
  166. package/dist/payload-CO4zbNr8.mjs.map +0 -1
  167. package/dist/profile-CNe2uWJi.mjs +0 -172
  168. package/dist/profile-CNe2uWJi.mjs.map +0 -1
  169. package/dist/publish-CzzucXQq.mjs +0 -23
  170. package/dist/publish-CzzucXQq.mjs.map +0 -1
  171. package/dist/publish-DRQkpxsz.mjs +0 -23
  172. package/dist/publish-DRQkpxsz.mjs.map +0 -1
  173. package/dist/resolve-BYg5Gees.mjs +0 -23
  174. package/dist/resolve-BYg5Gees.mjs.map +0 -1
  175. package/dist/resolve-BlpMdnaM.mjs +0 -16
  176. package/dist/resolve-BlpMdnaM.mjs.map +0 -1
  177. package/dist/resolve-CUsHGcb-.mjs +0 -119
  178. package/dist/resolve-CUsHGcb-.mjs.map +0 -1
  179. package/dist/resolve-helpers-CoHYa2uk.mjs +0 -30
  180. package/dist/resolve-helpers-CoHYa2uk.mjs.map +0 -1
  181. package/dist/resolve-jdb1VqAG.mjs +0 -26
  182. package/dist/resolve-jdb1VqAG.mjs.map +0 -1
  183. package/dist/rm-D-2iW1Cr.mjs +0 -33
  184. package/dist/rm-D-2iW1Cr.mjs.map +0 -1
  185. package/dist/run-Dnax6uhZ.mjs +0 -130
  186. package/dist/run-Dnax6uhZ.mjs.map +0 -1
  187. package/dist/self-update-CZywTwGd.mjs +0 -1610
  188. package/dist/self-update-CZywTwGd.mjs.map +0 -1
  189. package/dist/set-Dk28LAy5.mjs +0 -43
  190. package/dist/set-Dk28LAy5.mjs.map +0 -1
  191. package/dist/shared-d0_6ZPn_.mjs +0 -50
  192. package/dist/shared-d0_6ZPn_.mjs.map +0 -1
  193. package/dist/show-DScu6mXz.mjs +0 -39
  194. package/dist/show-DScu6mXz.mjs.map +0 -1
  195. package/dist/status-8F6tgphP.mjs +0 -23
  196. package/dist/status-8F6tgphP.mjs.map +0 -1
  197. package/dist/update-B1LGxV0n.mjs +0 -30
  198. package/dist/update-B1LGxV0n.mjs.map +0 -1
  199. package/dist/update-CXetpFT3.mjs +0 -28
  200. package/dist/update-CXetpFT3.mjs.map +0 -1
  201. package/dist/update-Dr4BW8U-.mjs +0 -30
  202. package/dist/update-Dr4BW8U-.mjs.map +0 -1
  203. package/dist/update-bqcHRJPC.mjs +0 -36
  204. package/dist/update-bqcHRJPC.mjs.map +0 -1
  205. package/dist/update-dBtzzmkN.mjs +0 -37
  206. package/dist/update-dBtzzmkN.mjs.map +0 -1
  207. package/dist/use-D7eKESSW.mjs +0 -29
  208. package/dist/use-D7eKESSW.mjs.map +0 -1
  209. package/dist/whoami-CKSNd6zL.mjs +0 -22
  210. package/dist/whoami-CKSNd6zL.mjs.map +0 -1
@@ -1,591 +0,0 @@
1
- import { i as emitSuccess, r as emitInfo } from "./output-vzequvhd.mjs";
2
- import { f as setCurrentProfile, h as writeProfileCredentials, l as readProfileConfig, m as writeProfileConfig, r as getCurrentProfile } from "./profile-CNe2uWJi.mjs";
3
- import { l as requestDeviceCode, o as pollDeviceToken, u as toCredentials } from "./auth-CAKmTDpF.mjs";
4
- import { n as resolveContext } from "./shared-d0_6ZPn_.mjs";
5
- import childProcess, { execFile } from "node:child_process";
6
- import path from "node:path";
7
- import fs from "node:fs";
8
- import V from "node:process";
9
- import { promisify } from "node:util";
10
- import os from "node:os";
11
- import { fileURLToPath } from "node:url";
12
- import fs$1, { constants } from "node:fs/promises";
13
- import { Buffer } from "node:buffer";
14
- //#region ../../node_modules/.pnpm/is-docker@3.0.0/node_modules/is-docker/index.js
15
- let isDockerCached;
16
- function hasDockerEnv() {
17
- try {
18
- fs.statSync("/.dockerenv");
19
- return true;
20
- } catch {
21
- return false;
22
- }
23
- }
24
- function hasDockerCGroup() {
25
- try {
26
- return fs.readFileSync("/proc/self/cgroup", "utf8").includes("docker");
27
- } catch {
28
- return false;
29
- }
30
- }
31
- function isDocker() {
32
- if (isDockerCached === void 0) isDockerCached = hasDockerEnv() || hasDockerCGroup();
33
- return isDockerCached;
34
- }
35
- //#endregion
36
- //#region ../../node_modules/.pnpm/is-inside-container@1.0.0/node_modules/is-inside-container/index.js
37
- let cachedResult;
38
- const hasContainerEnv = () => {
39
- try {
40
- fs.statSync("/run/.containerenv");
41
- return true;
42
- } catch {
43
- return false;
44
- }
45
- };
46
- function isInsideContainer() {
47
- if (cachedResult === void 0) cachedResult = hasContainerEnv() || isDocker();
48
- return cachedResult;
49
- }
50
- //#endregion
51
- //#region ../../node_modules/.pnpm/is-wsl@3.1.1/node_modules/is-wsl/index.js
52
- const isWsl = () => {
53
- if (V.platform !== "linux") return false;
54
- if (os.release().toLowerCase().includes("microsoft")) {
55
- if (isInsideContainer()) return false;
56
- return true;
57
- }
58
- try {
59
- if (fs.readFileSync("/proc/version", "utf8").toLowerCase().includes("microsoft")) return !isInsideContainer();
60
- } catch {}
61
- if (fs.existsSync("/proc/sys/fs/binfmt_misc/WSLInterop") || fs.existsSync("/run/WSL")) return !isInsideContainer();
62
- return false;
63
- };
64
- var is_wsl_default = V.env.__IS_WSL_TEST__ ? isWsl : isWsl();
65
- //#endregion
66
- //#region ../../node_modules/.pnpm/powershell-utils@0.1.0/node_modules/powershell-utils/index.js
67
- const execFile$2 = promisify(childProcess.execFile);
68
- const powerShellPath$1 = () => `${V.env.SYSTEMROOT || V.env.windir || String.raw`C:\Windows`}\\System32\\WindowsPowerShell\\v1.0\\powershell.exe`;
69
- const executePowerShell = async (command, options = {}) => {
70
- const { powerShellPath: psPath, ...execFileOptions } = options;
71
- const encodedCommand = executePowerShell.encodeCommand(command);
72
- return execFile$2(psPath ?? powerShellPath$1(), [...executePowerShell.argumentsPrefix, encodedCommand], {
73
- encoding: "utf8",
74
- ...execFileOptions
75
- });
76
- };
77
- executePowerShell.argumentsPrefix = [
78
- "-NoProfile",
79
- "-NonInteractive",
80
- "-ExecutionPolicy",
81
- "Bypass",
82
- "-EncodedCommand"
83
- ];
84
- executePowerShell.encodeCommand = (command) => Buffer.from(command, "utf16le").toString("base64");
85
- executePowerShell.escapeArgument = (value) => `'${String(value).replaceAll("'", "''")}'`;
86
- //#endregion
87
- //#region ../../node_modules/.pnpm/wsl-utils@0.3.1/node_modules/wsl-utils/utilities.js
88
- function parseMountPointFromConfig(content) {
89
- for (const line of content.split("\n")) {
90
- if (/^\s*#/.test(line)) continue;
91
- const match = /^\s*root\s*=\s*(?<mountPoint>"[^"]*"|'[^']*'|[^#]*)/.exec(line);
92
- if (!match) continue;
93
- return match.groups.mountPoint.trim().replaceAll(/^["']|["']$/g, "");
94
- }
95
- }
96
- //#endregion
97
- //#region ../../node_modules/.pnpm/wsl-utils@0.3.1/node_modules/wsl-utils/index.js
98
- const execFile$1 = promisify(childProcess.execFile);
99
- const wslDrivesMountPoint = (() => {
100
- const defaultMountPoint = "/mnt/";
101
- let mountPoint;
102
- return async function() {
103
- if (mountPoint) return mountPoint;
104
- const configFilePath = "/etc/wsl.conf";
105
- let isConfigFileExists = false;
106
- try {
107
- await fs$1.access(configFilePath, constants.F_OK);
108
- isConfigFileExists = true;
109
- } catch {}
110
- if (!isConfigFileExists) return defaultMountPoint;
111
- const parsedMountPoint = parseMountPointFromConfig(await fs$1.readFile(configFilePath, { encoding: "utf8" }));
112
- if (parsedMountPoint === void 0) return defaultMountPoint;
113
- mountPoint = parsedMountPoint;
114
- mountPoint = mountPoint.endsWith("/") ? mountPoint : `${mountPoint}/`;
115
- return mountPoint;
116
- };
117
- })();
118
- const powerShellPathFromWsl = async () => {
119
- return `${await wslDrivesMountPoint()}c/Windows/System32/WindowsPowerShell/v1.0/powershell.exe`;
120
- };
121
- const powerShellPath = is_wsl_default ? powerShellPathFromWsl : powerShellPath$1;
122
- let canAccessPowerShellPromise;
123
- const canAccessPowerShell = async () => {
124
- canAccessPowerShellPromise ??= (async () => {
125
- try {
126
- const psPath = await powerShellPath();
127
- await fs$1.access(psPath, constants.X_OK);
128
- return true;
129
- } catch {
130
- return false;
131
- }
132
- })();
133
- return canAccessPowerShellPromise;
134
- };
135
- const wslDefaultBrowser = async () => {
136
- const psPath = await powerShellPath();
137
- const { stdout } = await executePowerShell(String.raw`(Get-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\http\UserChoice").ProgId`, { powerShellPath: psPath });
138
- return stdout.trim();
139
- };
140
- const convertWslPathToWindows = async (path) => {
141
- if (/^[a-z]+:\/\//i.test(path)) return path;
142
- try {
143
- const { stdout } = await execFile$1("wslpath", ["-aw", path], { encoding: "utf8" });
144
- return stdout.trim();
145
- } catch {
146
- return path;
147
- }
148
- };
149
- //#endregion
150
- //#region ../../node_modules/.pnpm/define-lazy-prop@3.0.0/node_modules/define-lazy-prop/index.js
151
- function defineLazyProperty(object, propertyName, valueGetter) {
152
- const define = (value) => Object.defineProperty(object, propertyName, {
153
- value,
154
- enumerable: true,
155
- writable: true
156
- });
157
- Object.defineProperty(object, propertyName, {
158
- configurable: true,
159
- enumerable: true,
160
- get() {
161
- const result = valueGetter();
162
- define(result);
163
- return result;
164
- },
165
- set(value) {
166
- define(value);
167
- }
168
- });
169
- return object;
170
- }
171
- //#endregion
172
- //#region ../../node_modules/.pnpm/default-browser-id@5.0.1/node_modules/default-browser-id/index.js
173
- const execFileAsync$3 = promisify(execFile);
174
- async function defaultBrowserId() {
175
- if (V.platform !== "darwin") throw new Error("macOS only");
176
- const { stdout } = await execFileAsync$3("defaults", [
177
- "read",
178
- "com.apple.LaunchServices/com.apple.launchservices.secure",
179
- "LSHandlers"
180
- ]);
181
- const browserId = /LSHandlerRoleAll = "(?!-)(?<id>[^"]+?)";\s+?LSHandlerURLScheme = (?:http|https);/.exec(stdout)?.groups.id ?? "com.apple.Safari";
182
- if (browserId === "com.apple.safari") return "com.apple.Safari";
183
- return browserId;
184
- }
185
- //#endregion
186
- //#region ../../node_modules/.pnpm/run-applescript@7.1.0/node_modules/run-applescript/index.js
187
- const execFileAsync$2 = promisify(execFile);
188
- async function runAppleScript(script, { humanReadableOutput = true, signal } = {}) {
189
- if (V.platform !== "darwin") throw new Error("macOS only");
190
- const outputArguments = humanReadableOutput ? [] : ["-ss"];
191
- const execOptions = {};
192
- if (signal) execOptions.signal = signal;
193
- const { stdout } = await execFileAsync$2("osascript", [
194
- "-e",
195
- script,
196
- outputArguments
197
- ], execOptions);
198
- return stdout.trim();
199
- }
200
- //#endregion
201
- //#region ../../node_modules/.pnpm/bundle-name@4.1.0/node_modules/bundle-name/index.js
202
- async function bundleName(bundleId) {
203
- return runAppleScript(`tell application "Finder" to set app_path to application file id "${bundleId}" as string\ntell application "System Events" to get value of property list item "CFBundleName" of property list file (app_path & ":Contents:Info.plist")`);
204
- }
205
- //#endregion
206
- //#region ../../node_modules/.pnpm/default-browser@5.5.0/node_modules/default-browser/windows.js
207
- const execFileAsync$1 = promisify(execFile);
208
- const windowsBrowserProgIds = {
209
- MSEdgeHTM: {
210
- name: "Edge",
211
- id: "com.microsoft.edge"
212
- },
213
- MSEdgeBHTML: {
214
- name: "Edge Beta",
215
- id: "com.microsoft.edge.beta"
216
- },
217
- MSEdgeDHTML: {
218
- name: "Edge Dev",
219
- id: "com.microsoft.edge.dev"
220
- },
221
- AppXq0fevzme2pys62n3e0fbqa7peapykr8v: {
222
- name: "Edge",
223
- id: "com.microsoft.edge.old"
224
- },
225
- ChromeHTML: {
226
- name: "Chrome",
227
- id: "com.google.chrome"
228
- },
229
- ChromeBHTML: {
230
- name: "Chrome Beta",
231
- id: "com.google.chrome.beta"
232
- },
233
- ChromeDHTML: {
234
- name: "Chrome Dev",
235
- id: "com.google.chrome.dev"
236
- },
237
- ChromiumHTM: {
238
- name: "Chromium",
239
- id: "org.chromium.Chromium"
240
- },
241
- BraveHTML: {
242
- name: "Brave",
243
- id: "com.brave.Browser"
244
- },
245
- BraveBHTML: {
246
- name: "Brave Beta",
247
- id: "com.brave.Browser.beta"
248
- },
249
- BraveDHTML: {
250
- name: "Brave Dev",
251
- id: "com.brave.Browser.dev"
252
- },
253
- BraveSSHTM: {
254
- name: "Brave Nightly",
255
- id: "com.brave.Browser.nightly"
256
- },
257
- FirefoxURL: {
258
- name: "Firefox",
259
- id: "org.mozilla.firefox"
260
- },
261
- OperaStable: {
262
- name: "Opera",
263
- id: "com.operasoftware.Opera"
264
- },
265
- VivaldiHTM: {
266
- name: "Vivaldi",
267
- id: "com.vivaldi.Vivaldi"
268
- },
269
- "IE.HTTP": {
270
- name: "Internet Explorer",
271
- id: "com.microsoft.ie"
272
- }
273
- };
274
- const _windowsBrowserProgIdMap = new Map(Object.entries(windowsBrowserProgIds));
275
- var UnknownBrowserError = class extends Error {};
276
- async function defaultBrowser$1(_execFileAsync = execFileAsync$1) {
277
- const { stdout } = await _execFileAsync("reg", [
278
- "QUERY",
279
- " HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\Shell\\Associations\\UrlAssociations\\http\\UserChoice",
280
- "/v",
281
- "ProgId"
282
- ]);
283
- const match = /ProgId\s*REG_SZ\s*(?<id>\S+)/.exec(stdout);
284
- if (!match) throw new UnknownBrowserError(`Cannot find Windows browser in stdout: ${JSON.stringify(stdout)}`);
285
- const { id } = match.groups;
286
- const dotIndex = id.lastIndexOf(".");
287
- const hyphenIndex = id.lastIndexOf("-");
288
- const baseIdByDot = dotIndex === -1 ? void 0 : id.slice(0, dotIndex);
289
- const baseIdByHyphen = hyphenIndex === -1 ? void 0 : id.slice(0, hyphenIndex);
290
- return windowsBrowserProgIds[id] ?? windowsBrowserProgIds[baseIdByDot] ?? windowsBrowserProgIds[baseIdByHyphen] ?? {
291
- name: id,
292
- id
293
- };
294
- }
295
- //#endregion
296
- //#region ../../node_modules/.pnpm/default-browser@5.5.0/node_modules/default-browser/index.js
297
- const execFileAsync = promisify(execFile);
298
- const titleize = (string) => string.toLowerCase().replaceAll(/(?:^|\s|-)\S/g, (x) => x.toUpperCase());
299
- async function defaultBrowser() {
300
- if (V.platform === "darwin") {
301
- const id = await defaultBrowserId();
302
- return {
303
- name: await bundleName(id),
304
- id
305
- };
306
- }
307
- if (V.platform === "linux") {
308
- const { stdout } = await execFileAsync("xdg-mime", [
309
- "query",
310
- "default",
311
- "x-scheme-handler/http"
312
- ]);
313
- const id = stdout.trim();
314
- return {
315
- name: titleize(id.replace(/.desktop$/, "").replace("-", " ")),
316
- id
317
- };
318
- }
319
- if (V.platform === "win32") return defaultBrowser$1();
320
- throw new Error("Only macOS, Linux, and Windows are supported");
321
- }
322
- //#endregion
323
- //#region ../../node_modules/.pnpm/is-in-ssh@1.0.0/node_modules/is-in-ssh/index.js
324
- const isInSsh = Boolean(V.env.SSH_CONNECTION || V.env.SSH_CLIENT || V.env.SSH_TTY);
325
- //#endregion
326
- //#region ../../node_modules/.pnpm/open@11.0.0/node_modules/open/index.js
327
- const fallbackAttemptSymbol = Symbol("fallbackAttempt");
328
- const __dirname = import.meta.url ? path.dirname(fileURLToPath(import.meta.url)) : "";
329
- const localXdgOpenPath = path.join(__dirname, "xdg-open");
330
- const { platform, arch } = V;
331
- const tryEachApp = async (apps, opener) => {
332
- if (apps.length === 0) return;
333
- const errors = [];
334
- for (const app of apps) try {
335
- return await opener(app);
336
- } catch (error) {
337
- errors.push(error);
338
- }
339
- throw new AggregateError(errors, "Failed to open in all supported apps");
340
- };
341
- const baseOpen = async (options) => {
342
- options = {
343
- wait: false,
344
- background: false,
345
- newInstance: false,
346
- allowNonzeroExitCode: false,
347
- ...options
348
- };
349
- const isFallbackAttempt = options[fallbackAttemptSymbol] === true;
350
- delete options[fallbackAttemptSymbol];
351
- if (Array.isArray(options.app)) return tryEachApp(options.app, (singleApp) => baseOpen({
352
- ...options,
353
- app: singleApp,
354
- [fallbackAttemptSymbol]: true
355
- }));
356
- let { name: app, arguments: appArguments = [] } = options.app ?? {};
357
- appArguments = [...appArguments];
358
- if (Array.isArray(app)) return tryEachApp(app, (appName) => baseOpen({
359
- ...options,
360
- app: {
361
- name: appName,
362
- arguments: appArguments
363
- },
364
- [fallbackAttemptSymbol]: true
365
- }));
366
- if (app === "browser" || app === "browserPrivate") {
367
- const ids = {
368
- "com.google.chrome": "chrome",
369
- "google-chrome.desktop": "chrome",
370
- "com.brave.browser": "brave",
371
- "org.mozilla.firefox": "firefox",
372
- "firefox.desktop": "firefox",
373
- "com.microsoft.msedge": "edge",
374
- "com.microsoft.edge": "edge",
375
- "com.microsoft.edgemac": "edge",
376
- "microsoft-edge.desktop": "edge",
377
- "com.apple.safari": "safari"
378
- };
379
- const flags = {
380
- chrome: "--incognito",
381
- brave: "--incognito",
382
- firefox: "--private-window",
383
- edge: "--inPrivate"
384
- };
385
- let browser;
386
- if (is_wsl_default) {
387
- const progId = await wslDefaultBrowser();
388
- browser = _windowsBrowserProgIdMap.get(progId) ?? {};
389
- } else browser = await defaultBrowser();
390
- if (browser.id in ids) {
391
- const browserName = ids[browser.id.toLowerCase()];
392
- if (app === "browserPrivate") {
393
- if (browserName === "safari") throw new Error("Safari doesn't support opening in private mode via command line");
394
- appArguments.push(flags[browserName]);
395
- }
396
- return baseOpen({
397
- ...options,
398
- app: {
399
- name: apps[browserName],
400
- arguments: appArguments
401
- }
402
- });
403
- }
404
- throw new Error(`${browser.name} is not supported as a default browser`);
405
- }
406
- let command;
407
- const cliArguments = [];
408
- const childProcessOptions = {};
409
- let shouldUseWindowsInWsl = false;
410
- if (is_wsl_default && !isInsideContainer() && !isInSsh && !app) shouldUseWindowsInWsl = await canAccessPowerShell();
411
- if (platform === "darwin") {
412
- command = "open";
413
- if (options.wait) cliArguments.push("--wait-apps");
414
- if (options.background) cliArguments.push("--background");
415
- if (options.newInstance) cliArguments.push("--new");
416
- if (app) cliArguments.push("-a", app);
417
- } else if (platform === "win32" || shouldUseWindowsInWsl) {
418
- command = await powerShellPath();
419
- cliArguments.push(...executePowerShell.argumentsPrefix);
420
- if (!is_wsl_default) childProcessOptions.windowsVerbatimArguments = true;
421
- if (is_wsl_default && options.target) options.target = await convertWslPathToWindows(options.target);
422
- const encodedArguments = ["$ProgressPreference = 'SilentlyContinue';", "Start"];
423
- if (options.wait) encodedArguments.push("-Wait");
424
- if (app) {
425
- encodedArguments.push(executePowerShell.escapeArgument(app));
426
- if (options.target) appArguments.push(options.target);
427
- } else if (options.target) encodedArguments.push(executePowerShell.escapeArgument(options.target));
428
- if (appArguments.length > 0) {
429
- appArguments = appArguments.map((argument) => executePowerShell.escapeArgument(argument));
430
- encodedArguments.push("-ArgumentList", appArguments.join(","));
431
- }
432
- options.target = executePowerShell.encodeCommand(encodedArguments.join(" "));
433
- if (!options.wait) childProcessOptions.stdio = "ignore";
434
- } else {
435
- if (app) command = app;
436
- else {
437
- const isBundled = !__dirname || __dirname === "/";
438
- let exeLocalXdgOpen = false;
439
- try {
440
- await fs$1.access(localXdgOpenPath, constants.X_OK);
441
- exeLocalXdgOpen = true;
442
- } catch {}
443
- command = V.versions.electron ?? (platform === "android" || isBundled || !exeLocalXdgOpen) ? "xdg-open" : localXdgOpenPath;
444
- }
445
- if (appArguments.length > 0) cliArguments.push(...appArguments);
446
- if (!options.wait) {
447
- childProcessOptions.stdio = "ignore";
448
- childProcessOptions.detached = true;
449
- }
450
- }
451
- if (platform === "darwin" && appArguments.length > 0) cliArguments.push("--args", ...appArguments);
452
- if (options.target) cliArguments.push(options.target);
453
- const subprocess = childProcess.spawn(command, cliArguments, childProcessOptions);
454
- if (options.wait) return new Promise((resolve, reject) => {
455
- subprocess.once("error", reject);
456
- subprocess.once("close", (exitCode) => {
457
- if (!options.allowNonzeroExitCode && exitCode !== 0) {
458
- reject(/* @__PURE__ */ new Error(`Exited with code ${exitCode}`));
459
- return;
460
- }
461
- resolve(subprocess);
462
- });
463
- });
464
- if (isFallbackAttempt) return new Promise((resolve, reject) => {
465
- subprocess.once("error", reject);
466
- subprocess.once("spawn", () => {
467
- subprocess.once("close", (exitCode) => {
468
- subprocess.off("error", reject);
469
- if (exitCode !== 0) {
470
- reject(/* @__PURE__ */ new Error(`Exited with code ${exitCode}`));
471
- return;
472
- }
473
- subprocess.unref();
474
- resolve(subprocess);
475
- });
476
- });
477
- });
478
- subprocess.unref();
479
- return new Promise((resolve, reject) => {
480
- subprocess.once("error", reject);
481
- subprocess.once("spawn", () => {
482
- subprocess.off("error", reject);
483
- resolve(subprocess);
484
- });
485
- });
486
- };
487
- const open = (target, options) => {
488
- if (typeof target !== "string") throw new TypeError("Expected a `target`");
489
- return baseOpen({
490
- ...options,
491
- target
492
- });
493
- };
494
- function detectArchBinary(binary) {
495
- if (typeof binary === "string" || Array.isArray(binary)) return binary;
496
- const { [arch]: archBinary } = binary;
497
- if (!archBinary) throw new Error(`${arch} is not supported`);
498
- return archBinary;
499
- }
500
- function detectPlatformBinary({ [platform]: platformBinary }, { wsl } = {}) {
501
- if (wsl && is_wsl_default) return detectArchBinary(wsl);
502
- if (!platformBinary) throw new Error(`${platform} is not supported`);
503
- return detectArchBinary(platformBinary);
504
- }
505
- const apps = {
506
- browser: "browser",
507
- browserPrivate: "browserPrivate"
508
- };
509
- defineLazyProperty(apps, "chrome", () => detectPlatformBinary({
510
- darwin: "google chrome",
511
- win32: "chrome",
512
- linux: [
513
- "google-chrome",
514
- "google-chrome-stable",
515
- "chromium",
516
- "chromium-browser"
517
- ]
518
- }, { wsl: {
519
- ia32: "/mnt/c/Program Files (x86)/Google/Chrome/Application/chrome.exe",
520
- x64: ["/mnt/c/Program Files/Google/Chrome/Application/chrome.exe", "/mnt/c/Program Files (x86)/Google/Chrome/Application/chrome.exe"]
521
- } }));
522
- defineLazyProperty(apps, "brave", () => detectPlatformBinary({
523
- darwin: "brave browser",
524
- win32: "brave",
525
- linux: ["brave-browser", "brave"]
526
- }, { wsl: {
527
- ia32: "/mnt/c/Program Files (x86)/BraveSoftware/Brave-Browser/Application/brave.exe",
528
- x64: ["/mnt/c/Program Files/BraveSoftware/Brave-Browser/Application/brave.exe", "/mnt/c/Program Files (x86)/BraveSoftware/Brave-Browser/Application/brave.exe"]
529
- } }));
530
- defineLazyProperty(apps, "firefox", () => detectPlatformBinary({
531
- darwin: "firefox",
532
- win32: String.raw`C:\Program Files\Mozilla Firefox\firefox.exe`,
533
- linux: "firefox"
534
- }, { wsl: "/mnt/c/Program Files/Mozilla Firefox/firefox.exe" }));
535
- defineLazyProperty(apps, "edge", () => detectPlatformBinary({
536
- darwin: "microsoft edge",
537
- win32: "msedge",
538
- linux: ["microsoft-edge", "microsoft-edge-dev"]
539
- }, { wsl: "/mnt/c/Program Files (x86)/Microsoft/Edge/Application/msedge.exe" }));
540
- defineLazyProperty(apps, "safari", () => detectPlatformBinary({ darwin: "Safari" }));
541
- //#endregion
542
- //#region src/commands/auth/login.ts
543
- async function run(flags, out, opts = {}) {
544
- const ctx = await resolveContext(flags, out);
545
- emitInfo(`probing ${ctx.apiUrl}…`, out);
546
- emitInfo(`API base: ${ctx.apiBase}`, out);
547
- const code = await requestDeviceCode(ctx.authBase, ctx.clientId);
548
- emitInfo(`visit: ${code.verification_uri}`, out);
549
- emitInfo(`code: ${code.user_code}`, out);
550
- emitInfo(`expires in ${code.expires_in}s`, out);
551
- if (out.json) process.stdout.write(`${JSON.stringify({
552
- ok: true,
553
- data: {
554
- verification_uri: code.verification_uri,
555
- verification_uri_complete: code.verification_uri_complete,
556
- user_code: code.user_code,
557
- expires_in: code.expires_in,
558
- interval: code.interval
559
- }
560
- })}\n`);
561
- else if (!flags.quiet && code.verification_uri_complete) open(code.verification_uri_complete).catch(() => void 0);
562
- const cred = toCredentials(await pollDeviceToken(ctx.authBase, ctx.clientId, code.device_code, {
563
- intervalSec: code.interval,
564
- expiresInSec: code.expires_in,
565
- onTick: (state) => {
566
- if (state === "slow_down") emitInfo("slow_down — increasing interval", out);
567
- }
568
- }));
569
- const target = flags.profile?.trim() || await getCurrentProfile() || "default";
570
- const existing = await readProfileConfig(target);
571
- await writeProfileConfig(target, {
572
- ...existing,
573
- api_url: ctx.apiUrl,
574
- api_base: ctx.apiBase,
575
- auth_base: ctx.authBase,
576
- api_version: ctx.apiVersion,
577
- client_id: ctx.clientId,
578
- ...opts.production !== void 0 ? { production: opts.production } : existing.production !== void 0 ? { production: existing.production } : {}
579
- });
580
- await writeProfileCredentials(target, cred);
581
- await setCurrentProfile(target);
582
- emitInfo(`mxs: logged in to profile '${target}'`, out);
583
- emitSuccess({
584
- user: cred.user ?? null,
585
- expires_at: cred.expires_at
586
- }, out);
587
- }
588
- //#endregion
589
- export { run };
590
-
591
- //# sourceMappingURL=login-bZx4HaVs.mjs.map