@mx-space/cli 0.15.1 → 0.15.2

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 (611) hide show
  1. package/dist/{Lexical.dev-BSvx45_E.mjs → Lexical.dev-Df5TNMgP.mjs} +2 -2
  2. package/dist/{Lexical.node-kAh5GM2n.mjs → Lexical.node-B064E4Hy.mjs} +1 -1
  3. package/dist/{Lexical.prod-Bqwgb3ez.mjs → Lexical.prod-DRFSwoE7.mjs} +2 -2
  4. package/dist/{LexicalClipboard.dev-BWU3KXIa.mjs → LexicalClipboard.dev-ClOWeg5v.mjs} +5 -5
  5. package/dist/{LexicalClipboard.node-BygAdNdF.mjs → LexicalClipboard.node-BJBLWpEi.mjs} +1 -1
  6. package/dist/{LexicalClipboard.prod-BtMuKNyT.mjs → LexicalClipboard.prod-Ytt65eQo.mjs} +5 -5
  7. package/dist/{LexicalCodeCore.dev-CD2xgvDs.mjs → LexicalCodeCore.dev-CzEPINOT.mjs} +4 -4
  8. package/dist/{LexicalCodeCore.prod-Bl6FFMc7.mjs → LexicalCodeCore.prod-DOVk7lL_.mjs} +4 -4
  9. package/dist/{LexicalDragon.dev-BwdYhm4K.mjs → LexicalDragon.dev-DxePN9fP.mjs} +2 -2
  10. package/dist/{LexicalDragon.node-CpJhkCVV.mjs → LexicalDragon.node-DBwaqStp.mjs} +1 -1
  11. package/dist/{LexicalDragon.prod-CvXmWwo1.mjs → LexicalDragon.prod-Bji84-Hq.mjs} +2 -2
  12. package/dist/{LexicalExtension.dev-LcRLXI5Z.mjs → LexicalExtension.dev-DtSRyjbf.mjs} +2 -2
  13. package/dist/{LexicalExtension.node-BwJt2LXV.mjs → LexicalExtension.node-3nsS5NjU.mjs} +1 -1
  14. package/dist/{LexicalExtension.prod-lg8_33-H.mjs → LexicalExtension.prod-Ddk0ja_6.mjs} +2 -2
  15. package/dist/{LexicalHeadless.dev-BeUbKBes.mjs → LexicalHeadless.dev-DdWJsPoH.mjs} +1 -1
  16. package/dist/{LexicalHeadless.prod-4gbIA8HM.mjs → LexicalHeadless.prod-CH74ZDMt.mjs} +1 -1
  17. package/dist/{LexicalHtml.dev-BLdZWTCJ.mjs → LexicalHtml.dev-DN7QIb_7.mjs} +4 -4
  18. package/dist/{LexicalHtml.node-BeuJMvvt.mjs → LexicalHtml.node-DAwuaPeI.mjs} +1 -1
  19. package/dist/{LexicalHtml.prod-CHUyCocN.mjs → LexicalHtml.prod-X4eTHEfI.mjs} +4 -4
  20. package/dist/{LexicalLink.dev-DgsFRqw0.mjs → LexicalLink.dev-owitIl6I.mjs} +4 -4
  21. package/dist/{LexicalLink.prod-CkXkeKY2.mjs → LexicalLink.prod-BZ7ZZkVD.mjs} +4 -4
  22. package/dist/{LexicalList.dev-OOms3kQi.mjs → LexicalList.dev-CUbi09Yo.mjs} +4 -4
  23. package/dist/{LexicalList.prod-DzMBeqHn.mjs → LexicalList.prod-pUsUZa0r.mjs} +4 -4
  24. package/dist/{LexicalMarkdown.dev-DJLKbZtD.mjs → LexicalMarkdown.dev-S2yWckH9.mjs} +3 -3
  25. package/dist/{LexicalMarkdown.prod-Cp21kDCU.mjs → LexicalMarkdown.prod-TRkMWfmC.mjs} +3 -3
  26. package/dist/{LexicalRichText.dev-0rkAGjUf.mjs → LexicalRichText.dev-Y3ybFF2S.mjs} +7 -7
  27. package/dist/{LexicalRichText.node-Cd-BySPE.mjs → LexicalRichText.node-wNAi2Z4i.mjs} +4 -4
  28. package/dist/{LexicalRichText.prod-DTQiEr8C.mjs → LexicalRichText.prod-HLxqZ6hQ.mjs} +7 -7
  29. package/dist/{LexicalSelection.dev-Bi0VlUEv.mjs → LexicalSelection.dev-CyhKOKbs.mjs} +1 -1
  30. package/dist/{LexicalSelection.node-t2U46EF_.mjs → LexicalSelection.node-BCuHMbzl.mjs} +1 -1
  31. package/dist/{LexicalSelection.prod-CrFG111g.mjs → LexicalSelection.prod-RebDJliC.mjs} +1 -1
  32. package/dist/{LexicalTable.dev-D-sFhO-o.mjs → LexicalTable.dev-DN3ezVey.mjs} +5 -5
  33. package/dist/{LexicalTable.prod-DwYaa_dN.mjs → LexicalTable.prod-B0MioVyq.mjs} +5 -5
  34. package/dist/{LexicalUtils.dev-Q2q3-UDM.mjs → LexicalUtils.dev-Bw6LFRlt.mjs} +2 -2
  35. package/dist/{LexicalUtils.node-Dl7OvqJV.mjs → LexicalUtils.node-BPKMFN80.mjs} +1 -1
  36. package/dist/{LexicalUtils.prod-CBnq_iEV.mjs → LexicalUtils.prod-CJYQVQJO.mjs} +2 -2
  37. package/dist/bin/mxs.mjs +1 -1
  38. package/dist/{esm-ZXjJmLEC.mjs → esm-7vSMGlFz.mjs} +171 -245
  39. package/dist/esm-ZrfYH2y2.mjs +2 -0
  40. package/dist/index.mjs +1 -1
  41. package/dist/{mxs-DC9zR3f2.mjs → mxs-DKv-4ZTg.mjs} +362 -297
  42. package/dist/vendor/litexml/cli.mjs +94 -38
  43. package/dist/vendor/litexml/litexml-html-preview-client.css +329 -836
  44. package/dist/vendor/litexml/litexml-html-preview-client.js +6048 -5832
  45. package/dist/vendor/litexml/style.css +5 -1
  46. package/package.json +10 -10
  47. package/dist/esm-CNZ7kdTg.mjs +0 -2
  48. package/dist/src/bin/mxs.d.ts +0 -2
  49. package/dist/src/bin/mxs.js +0 -310
  50. package/dist/src/cli/ai/_poll.d.ts +0 -12
  51. package/dist/src/cli/ai/_poll.js +0 -38
  52. package/dist/src/cli/ai/_resolve.d.ts +0 -8
  53. package/dist/src/cli/ai/_resolve.js +0 -27
  54. package/dist/src/cli/ai/index.d.ts +0 -127
  55. package/dist/src/cli/ai/index.js +0 -46
  56. package/dist/src/cli/ai/insights/by-article.d.ts +0 -10
  57. package/dist/src/cli/ai/insights/by-article.js +0 -21
  58. package/dist/src/cli/ai/insights/delete.d.ts +0 -7
  59. package/dist/src/cli/ai/insights/delete.js +0 -18
  60. package/dist/src/cli/ai/insights/edit.d.ts +0 -8
  61. package/dist/src/cli/ai/insights/edit.js +0 -54
  62. package/dist/src/cli/ai/insights/get.d.ts +0 -6
  63. package/dist/src/cli/ai/insights/get.js +0 -11
  64. package/dist/src/cli/ai/insights/index.d.ts +0 -30
  65. package/dist/src/cli/ai/insights/index.js +0 -17
  66. package/dist/src/cli/ai/insights/list.d.ts +0 -10
  67. package/dist/src/cli/ai/insights/list.js +0 -20
  68. package/dist/src/cli/ai/insights/refresh.d.ts +0 -10
  69. package/dist/src/cli/ai/insights/refresh.js +0 -25
  70. package/dist/src/cli/ai/insights/translate.d.ts +0 -10
  71. package/dist/src/cli/ai/insights/translate.js +0 -25
  72. package/dist/src/cli/ai/overview/by-article.d.ts +0 -7
  73. package/dist/src/cli/ai/overview/by-article.js +0 -15
  74. package/dist/src/cli/ai/overview/index.d.ts +0 -11
  75. package/dist/src/cli/ai/overview/index.js +0 -4
  76. package/dist/src/cli/ai/overview/list.d.ts +0 -10
  77. package/dist/src/cli/ai/overview/list.js +0 -20
  78. package/dist/src/cli/ai/summary/by-article.d.ts +0 -10
  79. package/dist/src/cli/ai/summary/by-article.js +0 -21
  80. package/dist/src/cli/ai/summary/delete.d.ts +0 -7
  81. package/dist/src/cli/ai/summary/delete.js +0 -18
  82. package/dist/src/cli/ai/summary/edit.d.ts +0 -8
  83. package/dist/src/cli/ai/summary/edit.js +0 -54
  84. package/dist/src/cli/ai/summary/get.d.ts +0 -6
  85. package/dist/src/cli/ai/summary/get.js +0 -11
  86. package/dist/src/cli/ai/summary/index.d.ts +0 -30
  87. package/dist/src/cli/ai/summary/index.js +0 -9
  88. package/dist/src/cli/ai/summary/list.d.ts +0 -10
  89. package/dist/src/cli/ai/summary/list.js +0 -20
  90. package/dist/src/cli/ai/summary/regen.d.ts +0 -10
  91. package/dist/src/cli/ai/summary/regen.js +0 -25
  92. package/dist/src/cli/ai/summary/translate.d.ts +0 -10
  93. package/dist/src/cli/ai/summary/translate.js +0 -25
  94. package/dist/src/cli/ai/translate/by-article.d.ts +0 -9
  95. package/dist/src/cli/ai/translate/by-article.js +0 -19
  96. package/dist/src/cli/ai/translate/delete.d.ts +0 -7
  97. package/dist/src/cli/ai/translate/delete.js +0 -18
  98. package/dist/src/cli/ai/translate/edit.d.ts +0 -8
  99. package/dist/src/cli/ai/translate/edit.js +0 -97
  100. package/dist/src/cli/ai/translate/entries/delete.d.ts +0 -7
  101. package/dist/src/cli/ai/translate/entries/delete.js +0 -18
  102. package/dist/src/cli/ai/translate/entries/edit.d.ts +0 -8
  103. package/dist/src/cli/ai/translate/entries/edit.js +0 -73
  104. package/dist/src/cli/ai/translate/entries/generate.d.ts +0 -7
  105. package/dist/src/cli/ai/translate/entries/generate.js +0 -15
  106. package/dist/src/cli/ai/translate/entries/index.d.ts +0 -17
  107. package/dist/src/cli/ai/translate/entries/index.js +0 -6
  108. package/dist/src/cli/ai/translate/entries/list.d.ts +0 -10
  109. package/dist/src/cli/ai/translate/entries/list.js +0 -20
  110. package/dist/src/cli/ai/translate/get.d.ts +0 -6
  111. package/dist/src/cli/ai/translate/get.js +0 -11
  112. package/dist/src/cli/ai/translate/index.d.ts +0 -40
  113. package/dist/src/cli/ai/translate/index.js +0 -19
  114. package/dist/src/cli/ai/translate/languages.d.ts +0 -7
  115. package/dist/src/cli/ai/translate/languages.js +0 -15
  116. package/dist/src/cli/ai/translate/list.d.ts +0 -9
  117. package/dist/src/cli/ai/translate/list.js +0 -19
  118. package/dist/src/cli/ai/translate/run.d.ts +0 -10
  119. package/dist/src/cli/ai/translate/run.js +0 -31
  120. package/dist/src/cli/ai/tts/by-article.d.ts +0 -7
  121. package/dist/src/cli/ai/tts/by-article.js +0 -15
  122. package/dist/src/cli/ai/tts/delete.d.ts +0 -7
  123. package/dist/src/cli/ai/tts/delete.js +0 -18
  124. package/dist/src/cli/ai/tts/index.d.ts +0 -22
  125. package/dist/src/cli/ai/tts/index.js +0 -7
  126. package/dist/src/cli/ai/tts/list.d.ts +0 -10
  127. package/dist/src/cli/ai/tts/list.js +0 -20
  128. package/dist/src/cli/ai/tts/run.d.ts +0 -10
  129. package/dist/src/cli/ai/tts/run.js +0 -25
  130. package/dist/src/cli/ai/tts/voices.d.ts +0 -7
  131. package/dist/src/cli/ai/tts/voices.js +0 -12
  132. package/dist/src/cli/ai/views.d.ts +0 -3
  133. package/dist/src/cli/ai/views.js +0 -45
  134. package/dist/src/cli/auth/index.d.ts +0 -6
  135. package/dist/src/cli/auth/index.js +0 -22
  136. package/dist/src/cli/auth/login.d.ts +0 -11
  137. package/dist/src/cli/auth/login.js +0 -168
  138. package/dist/src/cli/auth/logout.d.ts +0 -6
  139. package/dist/src/cli/auth/logout.js +0 -21
  140. package/dist/src/cli/auth/status.d.ts +0 -4
  141. package/dist/src/cli/auth/status.js +0 -31
  142. package/dist/src/cli/auth/view.d.ts +0 -25
  143. package/dist/src/cli/auth/view.js +0 -46
  144. package/dist/src/cli/auth/whoami.d.ts +0 -7
  145. package/dist/src/cli/auth/whoami.js +0 -44
  146. package/dist/src/cli/category/create.d.ts +0 -10
  147. package/dist/src/cli/category/create.js +0 -24
  148. package/dist/src/cli/category/delete.d.ts +0 -8
  149. package/dist/src/cli/category/delete.js +0 -21
  150. package/dist/src/cli/category/get.d.ts +0 -6
  151. package/dist/src/cli/category/get.js +0 -11
  152. package/dist/src/cli/category/index.d.ts +0 -20
  153. package/dist/src/cli/category/index.js +0 -41
  154. package/dist/src/cli/category/list.d.ts +0 -4
  155. package/dist/src/cli/category/list.js +0 -10
  156. package/dist/src/cli/category/update.d.ts +0 -12
  157. package/dist/src/cli/category/update.js +0 -34
  158. package/dist/src/cli/comment/_flags.d.ts +0 -28
  159. package/dist/src/cli/comment/_flags.js +0 -48
  160. package/dist/src/cli/comment/approve.d.ts +0 -9
  161. package/dist/src/cli/comment/approve.js +0 -23
  162. package/dist/src/cli/comment/delete.d.ts +0 -9
  163. package/dist/src/cli/comment/delete.js +0 -24
  164. package/dist/src/cli/comment/get.d.ts +0 -6
  165. package/dist/src/cli/comment/get.js +0 -12
  166. package/dist/src/cli/comment/index.d.ts +0 -34
  167. package/dist/src/cli/comment/index.js +0 -53
  168. package/dist/src/cli/comment/list.d.ts +0 -9
  169. package/dist/src/cli/comment/list.js +0 -20
  170. package/dist/src/cli/comment/reject.d.ts +0 -9
  171. package/dist/src/cli/comment/reject.js +0 -23
  172. package/dist/src/cli/comment/reply.d.ts +0 -9
  173. package/dist/src/cli/comment/reply.js +0 -31
  174. package/dist/src/cli/comment/unread.d.ts +0 -7
  175. package/dist/src/cli/comment/unread.js +0 -21
  176. package/dist/src/cli/comment/view.d.ts +0 -3
  177. package/dist/src/cli/comment/view.js +0 -197
  178. package/dist/src/cli/config/edit.d.ts +0 -5
  179. package/dist/src/cli/config/edit.js +0 -36
  180. package/dist/src/cli/config/get.d.ts +0 -6
  181. package/dist/src/cli/config/get.js +0 -11
  182. package/dist/src/cli/config/index.d.ts +0 -10
  183. package/dist/src/cli/config/index.js +0 -22
  184. package/dist/src/cli/config/list.d.ts +0 -4
  185. package/dist/src/cli/config/list.js +0 -10
  186. package/dist/src/cli/config/set.d.ts +0 -9
  187. package/dist/src/cli/config/set.js +0 -48
  188. package/dist/src/cli/draft/_shared.d.ts +0 -27
  189. package/dist/src/cli/draft/_shared.js +0 -85
  190. package/dist/src/cli/draft/create.d.ts +0 -21
  191. package/dist/src/cli/draft/create.js +0 -34
  192. package/dist/src/cli/draft/delete.d.ts +0 -7
  193. package/dist/src/cli/draft/delete.js +0 -20
  194. package/dist/src/cli/draft/get.d.ts +0 -6
  195. package/dist/src/cli/draft/get.js +0 -11
  196. package/dist/src/cli/draft/index.d.ts +0 -54
  197. package/dist/src/cli/draft/index.js +0 -42
  198. package/dist/src/cli/draft/list.d.ts +0 -11
  199. package/dist/src/cli/draft/list.js +0 -23
  200. package/dist/src/cli/draft/publish.d.ts +0 -8
  201. package/dist/src/cli/draft/publish.js +0 -64
  202. package/dist/src/cli/draft/update.d.ts +0 -22
  203. package/dist/src/cli/draft/update.js +0 -29
  204. package/dist/src/cli/file/_shared.d.ts +0 -6
  205. package/dist/src/cli/file/_shared.js +0 -5
  206. package/dist/src/cli/file/delete.d.ts +0 -8
  207. package/dist/src/cli/file/delete.js +0 -21
  208. package/dist/src/cli/file/index.d.ts +0 -19
  209. package/dist/src/cli/file/index.js +0 -33
  210. package/dist/src/cli/file/list.d.ts +0 -6
  211. package/dist/src/cli/file/list.js +0 -11
  212. package/dist/src/cli/file/rename.d.ts +0 -8
  213. package/dist/src/cli/file/rename.js +0 -16
  214. package/dist/src/cli/file/upload.d.ts +0 -9
  215. package/dist/src/cli/file/upload.js +0 -32
  216. package/dist/src/cli/help/index.d.ts +0 -62
  217. package/dist/src/cli/help/index.js +0 -276
  218. package/dist/src/cli/help/registry.d.ts +0 -28
  219. package/dist/src/cli/help/registry.js +0 -29
  220. package/dist/src/cli/note/_flags.d.ts +0 -66
  221. package/dist/src/cli/note/_flags.js +0 -73
  222. package/dist/src/cli/note/create.d.ts +0 -23
  223. package/dist/src/cli/note/create.js +0 -25
  224. package/dist/src/cli/note/delete.d.ts +0 -8
  225. package/dist/src/cli/note/delete.js +0 -21
  226. package/dist/src/cli/note/edit.d.ts +0 -28
  227. package/dist/src/cli/note/edit.js +0 -114
  228. package/dist/src/cli/note/get.d.ts +0 -6
  229. package/dist/src/cli/note/get.js +0 -29
  230. package/dist/src/cli/note/index.d.ts +0 -77
  231. package/dist/src/cli/note/index.js +0 -63
  232. package/dist/src/cli/note/list.d.ts +0 -10
  233. package/dist/src/cli/note/list.js +0 -22
  234. package/dist/src/cli/note/publish.d.ts +0 -7
  235. package/dist/src/cli/note/publish.js +0 -17
  236. package/dist/src/cli/note/unpublish.d.ts +0 -7
  237. package/dist/src/cli/note/unpublish.js +0 -17
  238. package/dist/src/cli/note/update.d.ts +0 -25
  239. package/dist/src/cli/note/update.js +0 -36
  240. package/dist/src/cli/note/view.d.ts +0 -3
  241. package/dist/src/cli/note/view.js +0 -162
  242. package/dist/src/cli/page/create.d.ts +0 -41
  243. package/dist/src/cli/page/create.js +0 -56
  244. package/dist/src/cli/page/delete.d.ts +0 -7
  245. package/dist/src/cli/page/delete.js +0 -37
  246. package/dist/src/cli/page/edit.d.ts +0 -19
  247. package/dist/src/cli/page/edit.js +0 -117
  248. package/dist/src/cli/page/get.d.ts +0 -6
  249. package/dist/src/cli/page/get.js +0 -16
  250. package/dist/src/cli/page/index.d.ts +0 -44
  251. package/dist/src/cli/page/index.js +0 -38
  252. package/dist/src/cli/page/list.d.ts +0 -4
  253. package/dist/src/cli/page/list.js +0 -10
  254. package/dist/src/cli/page/update.d.ts +0 -16
  255. package/dist/src/cli/page/update.js +0 -48
  256. package/dist/src/cli/page/view.d.ts +0 -2
  257. package/dist/src/cli/page/view.js +0 -79
  258. package/dist/src/cli/post/_flags.d.ts +0 -66
  259. package/dist/src/cli/post/_flags.js +0 -96
  260. package/dist/src/cli/post/apply.d.ts +0 -7
  261. package/dist/src/cli/post/apply.js +0 -70
  262. package/dist/src/cli/post/create.d.ts +0 -21
  263. package/dist/src/cli/post/create.js +0 -24
  264. package/dist/src/cli/post/delete.d.ts +0 -8
  265. package/dist/src/cli/post/delete.js +0 -21
  266. package/dist/src/cli/post/edit.d.ts +0 -26
  267. package/dist/src/cli/post/edit.js +0 -115
  268. package/dist/src/cli/post/get.d.ts +0 -7
  269. package/dist/src/cli/post/get.js +0 -15
  270. package/dist/src/cli/post/index.d.ts +0 -91
  271. package/dist/src/cli/post/index.js +0 -73
  272. package/dist/src/cli/post/list.d.ts +0 -10
  273. package/dist/src/cli/post/list.js +0 -23
  274. package/dist/src/cli/post/publish.d.ts +0 -7
  275. package/dist/src/cli/post/publish.js +0 -17
  276. package/dist/src/cli/post/stage.d.ts +0 -23
  277. package/dist/src/cli/post/stage.js +0 -55
  278. package/dist/src/cli/post/unpublish.d.ts +0 -7
  279. package/dist/src/cli/post/unpublish.js +0 -17
  280. package/dist/src/cli/post/update.d.ts +0 -23
  281. package/dist/src/cli/post/update.js +0 -38
  282. package/dist/src/cli/post/view.d.ts +0 -3
  283. package/dist/src/cli/post/view.js +0 -150
  284. package/dist/src/cli/preview/index.d.ts +0 -13
  285. package/dist/src/cli/preview/index.js +0 -226
  286. package/dist/src/cli/profile/index.d.ts +0 -14
  287. package/dist/src/cli/profile/index.js +0 -36
  288. package/dist/src/cli/profile/ls.d.ts +0 -5
  289. package/dist/src/cli/profile/ls.js +0 -26
  290. package/dist/src/cli/profile/mark.d.ts +0 -9
  291. package/dist/src/cli/profile/mark.js +0 -23
  292. package/dist/src/cli/profile/rm.d.ts +0 -12
  293. package/dist/src/cli/profile/rm.js +0 -50
  294. package/dist/src/cli/profile/show.d.ts +0 -9
  295. package/dist/src/cli/profile/show.js +0 -40
  296. package/dist/src/cli/profile/use.d.ts +0 -6
  297. package/dist/src/cli/profile/use.js +0 -11
  298. package/dist/src/cli/profile/view.d.ts +0 -8
  299. package/dist/src/cli/profile/view.js +0 -21
  300. package/dist/src/cli/project/_flags.d.ts +0 -56
  301. package/dist/src/cli/project/_flags.js +0 -130
  302. package/dist/src/cli/project/create.d.ts +0 -17
  303. package/dist/src/cli/project/create.js +0 -25
  304. package/dist/src/cli/project/delete.d.ts +0 -8
  305. package/dist/src/cli/project/delete.js +0 -22
  306. package/dist/src/cli/project/edit.d.ts +0 -11
  307. package/dist/src/cli/project/edit.js +0 -61
  308. package/dist/src/cli/project/get.d.ts +0 -7
  309. package/dist/src/cli/project/get.js +0 -14
  310. package/dist/src/cli/project/index.d.ts +0 -43
  311. package/dist/src/cli/project/index.js +0 -52
  312. package/dist/src/cli/project/list.d.ts +0 -8
  313. package/dist/src/cli/project/list.js +0 -19
  314. package/dist/src/cli/project/update.d.ts +0 -18
  315. package/dist/src/cli/project/update.js +0 -24
  316. package/dist/src/cli/project/view-cmd.d.ts +0 -7
  317. package/dist/src/cli/project/view-cmd.js +0 -15
  318. package/dist/src/cli/project/view.d.ts +0 -3
  319. package/dist/src/cli/project/view.js +0 -102
  320. package/dist/src/cli/render/codehighlight.d.ts +0 -8
  321. package/dist/src/cli/render/codehighlight.js +0 -264
  322. package/dist/src/cli/render/envelope.d.ts +0 -7
  323. package/dist/src/cli/render/envelope.js +0 -23
  324. package/dist/src/cli/render/frontmatter.d.ts +0 -8
  325. package/dist/src/cli/render/frontmatter.js +0 -50
  326. package/dist/src/cli/render/helpers.d.ts +0 -2
  327. package/dist/src/cli/render/helpers.js +0 -11
  328. package/dist/src/cli/render/index.d.ts +0 -7
  329. package/dist/src/cli/render/index.js +0 -10
  330. package/dist/src/cli/render/lexical/blocks.d.ts +0 -19
  331. package/dist/src/cli/render/lexical/blocks.js +0 -208
  332. package/dist/src/cli/render/lexical/code.d.ts +0 -2
  333. package/dist/src/cli/render/lexical/code.js +0 -22
  334. package/dist/src/cli/render/lexical/embeds.d.ts +0 -6
  335. package/dist/src/cli/render/lexical/embeds.js +0 -51
  336. package/dist/src/cli/render/lexical/index.d.ts +0 -9
  337. package/dist/src/cli/render/lexical/index.js +0 -25
  338. package/dist/src/cli/render/lexical/inlines.d.ts +0 -17
  339. package/dist/src/cli/render/lexical/inlines.js +0 -76
  340. package/dist/src/cli/render/lexical/parser.d.ts +0 -10
  341. package/dist/src/cli/render/lexical/parser.js +0 -64
  342. package/dist/src/cli/render/lexical/walker.d.ts +0 -21
  343. package/dist/src/cli/render/lexical/walker.js +0 -51
  344. package/dist/src/cli/render/markdown.d.ts +0 -18
  345. package/dist/src/cli/render/markdown.js +0 -196
  346. package/dist/src/cli/render/metadata-block.d.ts +0 -14
  347. package/dist/src/cli/render/metadata-block.js +0 -50
  348. package/dist/src/cli/skill/all.d.ts +0 -4
  349. package/dist/src/cli/skill/all.js +0 -11
  350. package/dist/src/cli/skill/get.d.ts +0 -6
  351. package/dist/src/cli/skill/get.js +0 -12
  352. package/dist/src/cli/skill/index.d.ts +0 -10
  353. package/dist/src/cli/skill/index.js +0 -34
  354. package/dist/src/cli/skill/list.d.ts +0 -4
  355. package/dist/src/cli/skill/list.js +0 -11
  356. package/dist/src/cli/skill/search.d.ts +0 -6
  357. package/dist/src/cli/skill/search.js +0 -12
  358. package/dist/src/cli/skill/views.d.ts +0 -6
  359. package/dist/src/cli/skill/views.js +0 -90
  360. package/dist/src/cli/snippet/_flags.d.ts +0 -57
  361. package/dist/src/cli/snippet/_flags.js +0 -123
  362. package/dist/src/cli/snippet/_resolve.d.ts +0 -4
  363. package/dist/src/cli/snippet/_resolve.js +0 -32
  364. package/dist/src/cli/snippet/_sync.d.ts +0 -5
  365. package/dist/src/cli/snippet/_sync.js +0 -54
  366. package/dist/src/cli/snippet/create.d.ts +0 -19
  367. package/dist/src/cli/snippet/create.js +0 -35
  368. package/dist/src/cli/snippet/delete.d.ts +0 -8
  369. package/dist/src/cli/snippet/delete.js +0 -28
  370. package/dist/src/cli/snippet/edit.d.ts +0 -7
  371. package/dist/src/cli/snippet/edit.js +0 -29
  372. package/dist/src/cli/snippet/get.d.ts +0 -6
  373. package/dist/src/cli/snippet/get.js +0 -12
  374. package/dist/src/cli/snippet/index.d.ts +0 -43
  375. package/dist/src/cli/snippet/index.js +0 -58
  376. package/dist/src/cli/snippet/list.d.ts +0 -9
  377. package/dist/src/cli/snippet/list.js +0 -20
  378. package/dist/src/cli/snippet/pull.d.ts +0 -8
  379. package/dist/src/cli/snippet/pull.js +0 -33
  380. package/dist/src/cli/snippet/push.d.ts +0 -10
  381. package/dist/src/cli/snippet/push.js +0 -31
  382. package/dist/src/cli/snippet/update.d.ts +0 -8
  383. package/dist/src/cli/snippet/update.js +0 -16
  384. package/dist/src/cli/topic/create.d.ts +0 -10
  385. package/dist/src/cli/topic/create.js +0 -24
  386. package/dist/src/cli/topic/delete.d.ts +0 -7
  387. package/dist/src/cli/topic/delete.js +0 -37
  388. package/dist/src/cli/topic/get.d.ts +0 -6
  389. package/dist/src/cli/topic/get.js +0 -15
  390. package/dist/src/cli/topic/index.d.ts +0 -20
  391. package/dist/src/cli/topic/index.js +0 -32
  392. package/dist/src/cli/topic/list.d.ts +0 -4
  393. package/dist/src/cli/topic/list.js +0 -10
  394. package/dist/src/cli/topic/update.d.ts +0 -11
  395. package/dist/src/cli/topic/update.js +0 -51
  396. package/dist/src/cli/ui/index.d.ts +0 -24
  397. package/dist/src/cli/ui/index.js +0 -83
  398. package/dist/src/cli/update/index.d.ts +0 -10
  399. package/dist/src/cli/update/index.js +0 -142
  400. package/dist/src/domain/admin-link.d.ts +0 -12
  401. package/dist/src/domain/admin-link.js +0 -45
  402. package/dist/src/domain/content-spec.d.ts +0 -20
  403. package/dist/src/domain/content-spec.js +0 -78
  404. package/dist/src/domain/envelope-compat.d.ts +0 -68
  405. package/dist/src/domain/envelope-compat.js +0 -121
  406. package/dist/src/domain/envelope.d.ts +0 -34
  407. package/dist/src/domain/envelope.js +0 -355
  408. package/dist/src/domain/errors.d.ts +0 -336
  409. package/dist/src/domain/errors.js +0 -239
  410. package/dist/src/domain/gate.d.ts +0 -14
  411. package/dist/src/domain/gate.js +0 -18
  412. package/dist/src/domain/payload.d.ts +0 -64
  413. package/dist/src/domain/payload.js +0 -237
  414. package/dist/src/domain/preflight-guards.d.ts +0 -54
  415. package/dist/src/domain/preflight-guards.js +0 -130
  416. package/dist/src/domain/runtime-flags.d.ts +0 -33
  417. package/dist/src/domain/runtime-flags.js +0 -166
  418. package/dist/src/domain/schema/api-envelope.d.ts +0 -67
  419. package/dist/src/domain/schema/api-envelope.js +0 -65
  420. package/dist/src/domain/schema/category.d.ts +0 -23
  421. package/dist/src/domain/schema/category.js +0 -19
  422. package/dist/src/domain/schema/config.d.ts +0 -13
  423. package/dist/src/domain/schema/config.js +0 -18
  424. package/dist/src/domain/schema/note.d.ts +0 -76
  425. package/dist/src/domain/schema/note.js +0 -35
  426. package/dist/src/domain/schema/page.d.ts +0 -40
  427. package/dist/src/domain/schema/page.js +0 -22
  428. package/dist/src/domain/schema/post.d.ts +0 -68
  429. package/dist/src/domain/schema/post.js +0 -35
  430. package/dist/src/domain/schema/profile.d.ts +0 -14
  431. package/dist/src/domain/schema/profile.js +0 -22
  432. package/dist/src/domain/schema/topic.d.ts +0 -24
  433. package/dist/src/domain/schema/topic.js +0 -16
  434. package/dist/src/domain/version.d.ts +0 -15
  435. package/dist/src/domain/version.js +0 -43
  436. package/dist/src/index.d.ts +0 -4
  437. package/dist/src/index.js +0 -8
  438. package/dist/src/layers/App.d.ts +0 -30
  439. package/dist/src/layers/App.js +0 -39
  440. package/dist/src/services/Ai/index.d.ts +0 -13
  441. package/dist/src/services/Ai/index.js +0 -127
  442. package/dist/src/services/Ai/overview.d.ts +0 -7
  443. package/dist/src/services/Ai/overview.js +0 -11
  444. package/dist/src/services/Ai/resources.d.ts +0 -7
  445. package/dist/src/services/Ai/resources.js +0 -59
  446. package/dist/src/services/Ai/shared.d.ts +0 -2
  447. package/dist/src/services/Ai/shared.js +0 -11
  448. package/dist/src/services/Ai/tasks.d.ts +0 -8
  449. package/dist/src/services/Ai/tasks.js +0 -144
  450. package/dist/src/services/Ai/types.d.ts +0 -130
  451. package/dist/src/services/Ai/types.js +0 -1
  452. package/dist/src/services/Api.d.ts +0 -67
  453. package/dist/src/services/Api.js +0 -348
  454. package/dist/src/services/Auth.d.ts +0 -101
  455. package/dist/src/services/Auth.js +0 -402
  456. package/dist/src/services/Backup.d.ts +0 -8
  457. package/dist/src/services/Backup.js +0 -4
  458. package/dist/src/services/Cache.d.ts +0 -8
  459. package/dist/src/services/Cache.js +0 -4
  460. package/dist/src/services/Comment.d.ts +0 -48
  461. package/dist/src/services/Comment.js +0 -102
  462. package/dist/src/services/Config.d.ts +0 -95
  463. package/dist/src/services/Config.js +0 -359
  464. package/dist/src/services/Editor.d.ts +0 -28
  465. package/dist/src/services/Editor.js +0 -95
  466. package/dist/src/services/Lexical.d.ts +0 -27
  467. package/dist/src/services/Lexical.js +0 -56
  468. package/dist/src/services/Migration.d.ts +0 -31
  469. package/dist/src/services/Migration.js +0 -177
  470. package/dist/src/services/Profile.d.ts +0 -29
  471. package/dist/src/services/Profile.js +0 -115
  472. package/dist/src/services/Renderer/content.d.ts +0 -16
  473. package/dist/src/services/Renderer/content.js +0 -110
  474. package/dist/src/services/Renderer/datetime.d.ts +0 -38
  475. package/dist/src/services/Renderer/datetime.js +0 -147
  476. package/dist/src/services/Renderer/errors.d.ts +0 -3
  477. package/dist/src/services/Renderer/errors.js +0 -59
  478. package/dist/src/services/Renderer/index.d.ts +0 -13
  479. package/dist/src/services/Renderer/index.js +0 -11
  480. package/dist/src/services/Renderer/lists.d.ts +0 -1
  481. package/dist/src/services/Renderer/lists.js +0 -101
  482. package/dist/src/services/Renderer/options.d.ts +0 -10
  483. package/dist/src/services/Renderer/options.js +0 -13
  484. package/dist/src/services/Renderer/primitives.d.ts +0 -4
  485. package/dist/src/services/Renderer/primitives.js +0 -12
  486. package/dist/src/services/Renderer/service.d.ts +0 -35
  487. package/dist/src/services/Renderer/service.js +0 -123
  488. package/dist/src/services/Renderer/view.d.ts +0 -16
  489. package/dist/src/services/Renderer/view.js +0 -1
  490. package/dist/src/services/Resolver.d.ts +0 -47
  491. package/dist/src/services/Resolver.js +0 -269
  492. package/dist/src/services/Skill.d.ts +0 -29
  493. package/dist/src/services/Skill.js +0 -421
  494. package/dist/src/services/UpdateNotifier.d.ts +0 -162
  495. package/dist/src/services/UpdateNotifier.js +0 -572
  496. package/dist/test/cli/ai/ai.test.d.ts +0 -1
  497. package/dist/test/cli/ai/ai.test.js +0 -507
  498. package/dist/test/cli/ai/verbs.test.d.ts +0 -1
  499. package/dist/test/cli/ai/verbs.test.js +0 -235
  500. package/dist/test/cli/auth/login.test.d.ts +0 -1
  501. package/dist/test/cli/auth/login.test.js +0 -236
  502. package/dist/test/cli/auth/logout-whoami.test.d.ts +0 -1
  503. package/dist/test/cli/auth/logout-whoami.test.js +0 -124
  504. package/dist/test/cli/auth/status.test.d.ts +0 -1
  505. package/dist/test/cli/auth/status.test.js +0 -90
  506. package/dist/test/cli/category/category.test.d.ts +0 -1
  507. package/dist/test/cli/category/category.test.js +0 -175
  508. package/dist/test/cli/comment/comment.test.d.ts +0 -1
  509. package/dist/test/cli/comment/comment.test.js +0 -445
  510. package/dist/test/cli/config/config.test.d.ts +0 -1
  511. package/dist/test/cli/config/config.test.js +0 -281
  512. package/dist/test/cli/edit-roundtrip.test.d.ts +0 -1
  513. package/dist/test/cli/edit-roundtrip.test.js +0 -259
  514. package/dist/test/cli/file/file.test.d.ts +0 -1
  515. package/dist/test/cli/file/file.test.js +0 -185
  516. package/dist/test/cli/help.test.d.ts +0 -1
  517. package/dist/test/cli/help.test.js +0 -289
  518. package/dist/test/cli/note/create.test.d.ts +0 -1
  519. package/dist/test/cli/note/create.test.js +0 -155
  520. package/dist/test/cli/note/list.test.d.ts +0 -1
  521. package/dist/test/cli/note/list.test.js +0 -115
  522. package/dist/test/cli/note/publish.test.d.ts +0 -1
  523. package/dist/test/cli/note/publish.test.js +0 -123
  524. package/dist/test/cli/page/page.test.d.ts +0 -1
  525. package/dist/test/cli/page/page.test.js +0 -185
  526. package/dist/test/cli/post/create.test.d.ts +0 -1
  527. package/dist/test/cli/post/create.test.js +0 -172
  528. package/dist/test/cli/post/list.test.d.ts +0 -1
  529. package/dist/test/cli/post/list.test.js +0 -133
  530. package/dist/test/cli/post/publish.test.d.ts +0 -1
  531. package/dist/test/cli/post/publish.test.js +0 -139
  532. package/dist/test/cli/post/stage-apply.test.d.ts +0 -1
  533. package/dist/test/cli/post/stage-apply.test.js +0 -215
  534. package/dist/test/cli/post/update.test.d.ts +0 -1
  535. package/dist/test/cli/post/update.test.js +0 -160
  536. package/dist/test/cli/post-note-crud.test.d.ts +0 -1
  537. package/dist/test/cli/post-note-crud.test.js +0 -362
  538. package/dist/test/cli/profile/ls.test.d.ts +0 -1
  539. package/dist/test/cli/profile/ls.test.js +0 -93
  540. package/dist/test/cli/profile/mark-use.test.d.ts +0 -1
  541. package/dist/test/cli/profile/mark-use.test.js +0 -216
  542. package/dist/test/cli/project-crud.test.d.ts +0 -1
  543. package/dist/test/cli/project-crud.test.js +0 -315
  544. package/dist/test/cli/render/lexical.test.d.ts +0 -1
  545. package/dist/test/cli/render/lexical.test.js +0 -216
  546. package/dist/test/cli/render/markdown.test.d.ts +0 -1
  547. package/dist/test/cli/render/markdown.test.js +0 -39
  548. package/dist/test/cli/snippet-crud.test.d.ts +0 -1
  549. package/dist/test/cli/snippet-crud.test.js +0 -293
  550. package/dist/test/cli/topic/topic.test.d.ts +0 -1
  551. package/dist/test/cli/topic/topic.test.js +0 -181
  552. package/dist/test/cli/update.test.d.ts +0 -1
  553. package/dist/test/cli/update.test.js +0 -395
  554. package/dist/test/domain/content-spec.test.d.ts +0 -1
  555. package/dist/test/domain/content-spec.test.js +0 -126
  556. package/dist/test/domain/envelope-compat.test.d.ts +0 -1
  557. package/dist/test/domain/envelope-compat.test.js +0 -126
  558. package/dist/test/domain/envelope.test.d.ts +0 -1
  559. package/dist/test/domain/envelope.test.js +0 -149
  560. package/dist/test/domain/errors.test.d.ts +0 -1
  561. package/dist/test/domain/errors.test.js +0 -127
  562. package/dist/test/domain/gate.test.d.ts +0 -1
  563. package/dist/test/domain/gate.test.js +0 -128
  564. package/dist/test/domain/payload.test.d.ts +0 -1
  565. package/dist/test/domain/payload.test.js +0 -259
  566. package/dist/test/helper/test-fs.d.ts +0 -24
  567. package/dist/test/helper/test-fs.js +0 -161
  568. package/dist/test/helper/test-http.d.ts +0 -31
  569. package/dist/test/helper/test-http.js +0 -66
  570. package/dist/test/integration/_helpers.d.ts +0 -5
  571. package/dist/test/integration/_helpers.js +0 -24
  572. package/dist/test/integration/cli-error-envelope.test.d.ts +0 -1
  573. package/dist/test/integration/cli-error-envelope.test.js +0 -137
  574. package/dist/test/integration/cli-help-render.test.d.ts +0 -1
  575. package/dist/test/integration/cli-help-render.test.js +0 -149
  576. package/dist/test/integration/cli-help.test.d.ts +0 -1
  577. package/dist/test/integration/cli-help.test.js +0 -67
  578. package/dist/test/integration/cli-post-list.test.d.ts +0 -1
  579. package/dist/test/integration/cli-post-list.test.js +0 -140
  580. package/dist/test/integration/cli-skill.test.d.ts +0 -1
  581. package/dist/test/integration/cli-skill.test.js +0 -74
  582. package/dist/test/integration/cli-version.test.d.ts +0 -1
  583. package/dist/test/integration/cli-version.test.js +0 -37
  584. package/dist/test/services/Api.test.d.ts +0 -1
  585. package/dist/test/services/Api.test.js +0 -553
  586. package/dist/test/services/Auth.test.d.ts +0 -1
  587. package/dist/test/services/Auth.test.js +0 -650
  588. package/dist/test/services/Config.test.d.ts +0 -1
  589. package/dist/test/services/Config.test.js +0 -510
  590. package/dist/test/services/Datetime.test.d.ts +0 -1
  591. package/dist/test/services/Datetime.test.js +0 -113
  592. package/dist/test/services/Editor.test.d.ts +0 -1
  593. package/dist/test/services/Editor.test.js +0 -205
  594. package/dist/test/services/Lexical.errors.test.d.ts +0 -1
  595. package/dist/test/services/Lexical.errors.test.js +0 -60
  596. package/dist/test/services/Lexical.test.d.ts +0 -1
  597. package/dist/test/services/Lexical.test.js +0 -68
  598. package/dist/test/services/Migration.test.d.ts +0 -1
  599. package/dist/test/services/Migration.test.js +0 -376
  600. package/dist/test/services/Profile.test.d.ts +0 -1
  601. package/dist/test/services/Profile.test.js +0 -277
  602. package/dist/test/services/Renderer.test.d.ts +0 -1
  603. package/dist/test/services/Renderer.test.js +0 -538
  604. package/dist/test/services/Resolver.test.d.ts +0 -1
  605. package/dist/test/services/Resolver.test.js +0 -320
  606. package/dist/test/services/Skill.test.d.ts +0 -1
  607. package/dist/test/services/Skill.test.js +0 -261
  608. package/dist/test/services/UpdateNotifier.spawn.test.d.ts +0 -1
  609. package/dist/test/services/UpdateNotifier.spawn.test.js +0 -73
  610. package/dist/test/services/UpdateNotifier.test.d.ts +0 -1
  611. package/dist/test/services/UpdateNotifier.test.js +0 -912
@@ -1,23 +0,0 @@
1
- import { Args, Command, Options } from '@effect/cli';
2
- import { Effect, Option } from 'effect';
3
- import { ValidationFailed } from '../../domain/errors';
4
- import { Profile } from '../../services/Profile';
5
- import { Renderer } from '../../services/Renderer';
6
- const name = Args.text({ name: 'name' });
7
- const production = Options.boolean('production', {
8
- negationNames: ['no-production'],
9
- }).pipe(Options.optional);
10
- export const mark = Command.make('mark', { name, production }, ({ name, production }) => Effect.gen(function* () {
11
- const profile = yield* Profile;
12
- const renderer = yield* Renderer;
13
- yield* profile.validateName(name);
14
- if (Option.isNone(production)) {
15
- return yield* Effect.fail(new ValidationFailed({
16
- message: 'one of --production or --no-production is required',
17
- }));
18
- }
19
- const value = production.value;
20
- yield* profile.mark(name, { production: value });
21
- const flag = value ? '--production' : '--no-production';
22
- yield* renderer.emitInfo(`mxs: profile '${name}' marked with ${flag}`);
23
- }));
@@ -1,12 +0,0 @@
1
- import { Command } from '@effect/cli';
2
- import { FileSystem } from '@effect/platform';
3
- import { Option } from 'effect';
4
- import { ValidationFailed } from '../../domain/errors';
5
- import { Config } from '../../services/Config';
6
- import { Editor } from '../../services/Editor';
7
- import { Profile } from '../../services/Profile';
8
- import { Renderer } from '../../services/Renderer';
9
- export declare const rm: Command.Command<"rm", FileSystem.FileSystem | Config | Renderer | Editor | Profile, ValidationFailed | import("../../domain/errors").ResourceNotFound | import("../../domain/errors").ProfileInvalidName | import("../../domain/errors").Generic, {
10
- readonly name: string;
11
- readonly force: Option.Option<boolean>;
12
- }>;
@@ -1,50 +0,0 @@
1
- import { Args, Command, Options } from '@effect/cli';
2
- import { FileSystem } from '@effect/platform';
3
- import { Effect, Option } from 'effect';
4
- import { ValidationFailed } from '../../domain/errors';
5
- import { Config } from '../../services/Config';
6
- import { Editor } from '../../services/Editor';
7
- import { Profile } from '../../services/Profile';
8
- import { Renderer } from '../../services/Renderer';
9
- const name = Args.text({ name: 'name' });
10
- const force = Options.boolean('force').pipe(Options.optional);
11
- export const rm = Command.make('rm', { name, force }, ({ name, force }) => Effect.gen(function* () {
12
- const profile = yield* Profile;
13
- const config = yield* Config;
14
- const editor = yield* Editor;
15
- const renderer = yield* Renderer;
16
- yield* profile.validateName(name);
17
- const forced = Option.getOrElse(force, () => false);
18
- const current = yield* profile.current;
19
- if (current === name && !forced) {
20
- return yield* Effect.fail(new ValidationFailed({
21
- message: `profile '${name}' is currently active; pass --force to remove it`,
22
- hint: 'switch to another profile first with `mxs profile use <name>`',
23
- }));
24
- }
25
- if (!forced) {
26
- if (!process.stdin.isTTY) {
27
- return yield* Effect.fail(new ValidationFailed({
28
- message: `cannot remove profile '${name}' non-interactively`,
29
- hint: 'pass --force to confirm removal in a non-interactive context',
30
- }));
31
- }
32
- const confirmed = yield* editor
33
- .confirm(`Remove profile '${name}'? This cannot be undone.`)
34
- .pipe(Effect.catchAll(() => Effect.succeed(false)));
35
- if (!confirmed)
36
- return;
37
- }
38
- yield* profile.rm(name);
39
- yield* renderer.emitInfo(`mxs: profile '${name}' removed`);
40
- if (current === name) {
41
- // Clear the stale active-profile pointer so subsequent commands don't
42
- // hit profile.not_found on a profile that no longer exists.
43
- const fs = yield* FileSystem.FileSystem;
44
- const currentPath = yield* config.getCurrentPath;
45
- yield* fs
46
- .remove(currentPath, { force: true })
47
- .pipe(Effect.catchAll(() => Effect.void));
48
- yield* renderer.emitInfo('mxs: cleared active profile pointer');
49
- }
50
- }));
@@ -1,9 +0,0 @@
1
- import { Command } from '@effect/cli';
2
- import { Option } from 'effect';
3
- import { ProfileNoneActive } from '../../domain/errors';
4
- import { Config } from '../../services/Config';
5
- import { Profile } from '../../services/Profile';
6
- import { Renderer } from '../../services/Renderer';
7
- export declare const show: Command.Command<"show", Config | Renderer | Profile, import("../../domain/errors").ProfileNotFound | ProfileNoneActive | import("../../domain/errors").ProfileInvalidName | import("../../domain/errors").Generic, {
8
- readonly name: Option.Option<string>;
9
- }>;
@@ -1,40 +0,0 @@
1
- import { Args, Command } from '@effect/cli';
2
- import { Effect, Option } from 'effect';
3
- import { ProfileNoneActive } from '../../domain/errors';
4
- import { Config } from '../../services/Config';
5
- import { Profile } from '../../services/Profile';
6
- import { Renderer } from '../../services/Renderer';
7
- import { formatDateTime } from '../../services/Renderer/datetime';
8
- const nameArg = Args.text({ name: 'name' }).pipe(Args.optional);
9
- export const show = Command.make('show', { name: nameArg }, ({ name }) => Effect.gen(function* () {
10
- const profile = yield* Profile;
11
- const config = yield* Config;
12
- const renderer = yield* Renderer;
13
- let target = Option.getOrElse(name, () => '');
14
- if (!target) {
15
- const current = yield* profile.current;
16
- if (!current) {
17
- return yield* Effect.fail(new ProfileNoneActive({
18
- message: 'no profile specified and no active profile',
19
- hint: 'run `mxs profile use <name>` or pass a profile name',
20
- }));
21
- }
22
- target = current;
23
- }
24
- yield* profile.validateName(target);
25
- // Profile.show emits ProfileNotFound when the profile dir is missing.
26
- yield* profile.show(target);
27
- const cfg = yield* config.readProfileConfig(target);
28
- const creds = yield* config.readProfileCredentials(target);
29
- const expiresAt = creds?.expires_at ?? null;
30
- const expiresHuman = expiresAt !== null ? formatDateTime(expiresAt, { style: 'both' }) : null;
31
- yield* renderer.emitSuccess({
32
- name: target,
33
- api_url: cfg.api_url ?? null,
34
- production: cfg.production ?? false,
35
- user: creds?.user ?? null,
36
- expires_at: expiresAt,
37
- expires_at_human: expiresHuman,
38
- authenticated: creds !== null,
39
- });
40
- }));
@@ -1,6 +0,0 @@
1
- import { Command } from '@effect/cli';
2
- import { Profile } from '../../services/Profile';
3
- import { Renderer } from '../../services/Renderer';
4
- export declare const use: Command.Command<"use", Renderer | Profile, import("../../domain/errors").ProfileNotFound | import("../../domain/errors").ProfileInvalidName | import("../../domain/errors").Generic, {
5
- readonly name: string;
6
- }>;
@@ -1,11 +0,0 @@
1
- import { Args, Command } from '@effect/cli';
2
- import { Effect } from 'effect';
3
- import { Profile } from '../../services/Profile';
4
- import { Renderer } from '../../services/Renderer';
5
- const name = Args.text({ name: 'name' });
6
- export const use = Command.make('use', { name }, ({ name }) => Effect.gen(function* () {
7
- const profile = yield* Profile;
8
- const renderer = yield* Renderer;
9
- yield* profile.use(name);
10
- yield* renderer.emitInfo(`mxs: active profile is now '${name}'`);
11
- }));
@@ -1,8 +0,0 @@
1
- import type { View } from '../../services/Renderer/view';
2
- export interface ProfileListRow {
3
- readonly current: string;
4
- readonly name: string;
5
- readonly api_url: string;
6
- readonly production: string;
7
- }
8
- export declare const profileListView: View<readonly ProfileListRow[]>;
@@ -1,21 +0,0 @@
1
- import { ANSI, dim, renderTable, wrap } from '../ui';
2
- export const profileListView = {
3
- kind: 'profile-list',
4
- modes: new Set(['readable', 'llm']),
5
- readable: (rows, { color }) => {
6
- if (rows.length === 0)
7
- return '';
8
- return renderTable([
9
- { key: 'name', label: 'profile' },
10
- { key: 'api_url', label: 'api url' },
11
- { key: 'production', label: 'prod' },
12
- ], rows.map((r) => ({
13
- name: r.current === '*' ? wrap(ANSI.bold, r.name, color) : r.name,
14
- api_url: r.api_url || dim('—', color),
15
- production: r.production === 'yes' ? 'yes' : dim('—', color),
16
- })), {
17
- color,
18
- prefix: (i) => rows[i].current === '*' ? wrap(ANSI.cyan, '●', color) : ' ',
19
- });
20
- },
21
- };
@@ -1,56 +0,0 @@
1
- import { Options } from '@effect/cli';
2
- import { FileSystem } from '@effect/platform';
3
- import { Effect, Option } from 'effect';
4
- import { ValidationFailed } from '../../domain/errors';
5
- export declare const name: Options.Options<Option.Option<string>>;
6
- export declare const description: Options.Options<Option.Option<string>>;
7
- export declare const previewUrl: Options.Options<Option.Option<string>>;
8
- export declare const docUrl: Options.Options<Option.Option<string>>;
9
- export declare const projectUrl: Options.Options<Option.Option<string>>;
10
- export declare const avatar: Options.Options<Option.Option<string>>;
11
- export declare const images: Options.Options<Option.Option<string>>;
12
- export declare const text: Options.Options<Option.Option<string>>;
13
- export declare const file: Options.Options<Option.Option<string>>;
14
- export declare const openFlag: Options.Options<boolean>;
15
- export declare const silentFlag: Options.Options<boolean>;
16
- export declare const projectWriteOptions: {
17
- name: Options.Options<Option.Option<string>>;
18
- description: Options.Options<Option.Option<string>>;
19
- previewUrl: Options.Options<Option.Option<string>>;
20
- docUrl: Options.Options<Option.Option<string>>;
21
- projectUrl: Options.Options<Option.Option<string>>;
22
- avatar: Options.Options<Option.Option<string>>;
23
- images: Options.Options<Option.Option<string>>;
24
- text: Options.Options<Option.Option<string>>;
25
- file: Options.Options<Option.Option<string>>;
26
- open: Options.Options<boolean>;
27
- silent: Options.Options<boolean>;
28
- };
29
- export interface ProjectWriteOptionsParsed {
30
- readonly name: Option.Option<string>;
31
- readonly description: Option.Option<string>;
32
- readonly previewUrl: Option.Option<string>;
33
- readonly docUrl: Option.Option<string>;
34
- readonly projectUrl: Option.Option<string>;
35
- readonly avatar: Option.Option<string>;
36
- readonly images: Option.Option<string>;
37
- readonly text: Option.Option<string>;
38
- readonly file: Option.Option<string>;
39
- readonly open: boolean;
40
- readonly silent: boolean;
41
- }
42
- export interface ProjectFlagInputs {
43
- readonly name?: string;
44
- readonly description?: string;
45
- readonly previewUrl?: string | null;
46
- readonly docUrl?: string | null;
47
- readonly projectUrl?: string | null;
48
- readonly avatar?: string | null;
49
- readonly images?: string[] | null;
50
- readonly text?: string | null;
51
- readonly file?: string;
52
- }
53
- export declare const toProjectFlagInputs: (opts: ProjectWriteOptionsParsed) => ProjectFlagInputs;
54
- export declare const buildProjectPayload: (flags: ProjectFlagInputs) => Effect.Effect<Record<string, unknown>, ValidationFailed, FileSystem.FileSystem>;
55
- export declare const extractId: (res: unknown) => string | undefined;
56
- export declare const editableFieldsOf: (raw: Record<string, unknown>) => Record<string, unknown>;
@@ -1,130 +0,0 @@
1
- import { Options } from '@effect/cli';
2
- import { FileSystem } from '@effect/platform';
3
- import { Effect, Option } from 'effect';
4
- import { ValidationFailed } from '../../domain/errors';
5
- const optional = (self) => Options.optional(self);
6
- const unwrap = (value) => Option.getOrUndefined(value);
7
- export const name = optional(Options.text('name'));
8
- export const description = optional(Options.text('description'));
9
- export const previewUrl = optional(Options.text('preview-url'));
10
- export const docUrl = optional(Options.text('doc-url'));
11
- export const projectUrl = optional(Options.text('project-url'));
12
- export const avatar = optional(Options.text('avatar'));
13
- export const images = optional(Options.text('images'));
14
- export const text = optional(Options.text('text'));
15
- export const file = optional(Options.text('file'));
16
- export const openFlag = Options.boolean('open').pipe(Options.withDescription('After success, open the admin edit page in the default browser.'));
17
- export const silentFlag = Options.boolean('silent').pipe(Options.withDescription('On success, emit a minimal `ok` instead of the full server response.'));
18
- const parseCsv = (v) => {
19
- if (v === undefined)
20
- return undefined;
21
- const parts = v
22
- .split(',')
23
- .map((s) => s.trim())
24
- .filter(Boolean);
25
- return parts;
26
- };
27
- export const projectWriteOptions = {
28
- name,
29
- description,
30
- previewUrl,
31
- docUrl,
32
- projectUrl,
33
- avatar,
34
- images,
35
- text,
36
- file,
37
- open: openFlag,
38
- silent: silentFlag,
39
- };
40
- export const toProjectFlagInputs = (opts) => ({
41
- name: unwrap(opts.name),
42
- description: unwrap(opts.description),
43
- previewUrl: unwrap(opts.previewUrl),
44
- docUrl: unwrap(opts.docUrl),
45
- projectUrl: unwrap(opts.projectUrl),
46
- avatar: unwrap(opts.avatar),
47
- images: parseCsv(unwrap(opts.images)),
48
- text: unwrap(opts.text),
49
- file: unwrap(opts.file),
50
- });
51
- const PROJECT_KEYS = [
52
- 'name',
53
- 'description',
54
- 'previewUrl',
55
- 'docUrl',
56
- 'projectUrl',
57
- 'avatar',
58
- 'images',
59
- 'text',
60
- ];
61
- const readJsonFile = (path) => Effect.gen(function* () {
62
- const fs = yield* FileSystem.FileSystem;
63
- const raw = yield* fs.readFileString(path).pipe(Effect.mapError((cause) => new ValidationFailed({
64
- message: `cannot read --file ${path}`,
65
- details: { cause: String(cause) },
66
- })));
67
- const parsed = yield* Effect.try({
68
- try: () => JSON.parse(raw),
69
- catch: (err) => new ValidationFailed({
70
- message: `--file ${path} is not valid JSON`,
71
- details: { cause: String(err) },
72
- }),
73
- });
74
- if (!parsed || typeof parsed !== 'object' || Array.isArray(parsed)) {
75
- return yield* Effect.fail(new ValidationFailed({
76
- message: `--file ${path} must contain a JSON object`,
77
- }));
78
- }
79
- return parsed;
80
- });
81
- const pickProjectFields = (raw) => {
82
- const out = {};
83
- for (const key of PROJECT_KEYS) {
84
- if (key in raw)
85
- out[key] = raw[key];
86
- }
87
- return out;
88
- };
89
- export const buildProjectPayload = (flags) => Effect.gen(function* () {
90
- const fileMerge = flags.file
91
- ? pickProjectFields(yield* readJsonFile(flags.file))
92
- : {};
93
- const payload = { ...fileMerge };
94
- if (flags.name !== undefined)
95
- payload.name = flags.name;
96
- if (flags.description !== undefined)
97
- payload.description = flags.description;
98
- if (flags.previewUrl !== undefined)
99
- payload.previewUrl = flags.previewUrl;
100
- if (flags.docUrl !== undefined)
101
- payload.docUrl = flags.docUrl;
102
- if (flags.projectUrl !== undefined)
103
- payload.projectUrl = flags.projectUrl;
104
- if (flags.avatar !== undefined)
105
- payload.avatar = flags.avatar;
106
- if (flags.images !== undefined)
107
- payload.images = flags.images;
108
- if (flags.text !== undefined)
109
- payload.text = flags.text;
110
- return payload;
111
- });
112
- export const extractId = (res) => {
113
- if (!res || typeof res !== 'object')
114
- return undefined;
115
- const r = res;
116
- if (typeof r.id === 'string')
117
- return r.id;
118
- if (typeof r._id === 'string')
119
- return r._id;
120
- if (r.data && typeof r.data === 'object')
121
- return extractId(r.data);
122
- return undefined;
123
- };
124
- export const editableFieldsOf = (raw) => {
125
- const out = {};
126
- for (const key of PROJECT_KEYS) {
127
- out[key] = key in raw ? (raw[key] ?? null) : null;
128
- }
129
- return out;
130
- };
@@ -1,17 +0,0 @@
1
- import { Command } from '@effect/cli';
2
- import { Api } from '../../services/Api';
3
- import { Renderer } from '../../services/Renderer';
4
- import { Resolver } from '../../services/Resolver';
5
- export declare const create: Command.Command<"create", import("@effect/platform/FileSystem").FileSystem | Api | Renderer | Resolver, import("../../services/Api").ApiError, {
6
- readonly name: import("effect/Option").Option<string>;
7
- readonly description: import("effect/Option").Option<string>;
8
- readonly previewUrl: import("effect/Option").Option<string>;
9
- readonly docUrl: import("effect/Option").Option<string>;
10
- readonly projectUrl: import("effect/Option").Option<string>;
11
- readonly avatar: import("effect/Option").Option<string>;
12
- readonly images: import("effect/Option").Option<string>;
13
- readonly text: import("effect/Option").Option<string>;
14
- readonly file: import("effect/Option").Option<string>;
15
- readonly open: boolean;
16
- readonly silent: boolean;
17
- }>;
@@ -1,25 +0,0 @@
1
- import { Command } from '@effect/cli';
2
- import { Effect } from 'effect';
3
- import { openAdminEdit } from '../../domain/admin-link';
4
- import { Api } from '../../services/Api';
5
- import { Renderer } from '../../services/Renderer';
6
- import { Resolver } from '../../services/Resolver';
7
- import { buildProjectPayload, extractId, projectWriteOptions, toProjectFlagInputs, } from './_flags';
8
- export const create = Command.make('create', projectWriteOptions, (opts) => Effect.gen(function* () {
9
- const flags = toProjectFlagInputs(opts);
10
- const payload = yield* buildProjectPayload(flags);
11
- const api = yield* Api;
12
- const renderer = yield* Renderer;
13
- const resolver = yield* Resolver;
14
- const res = yield* api.request('/projects', {
15
- method: 'POST',
16
- body: payload,
17
- });
18
- yield* resolver.invalidate('project');
19
- yield* renderer.emitSuccess(opts.silent ? { ok: true } : res);
20
- if (opts.open) {
21
- const id = extractId(res);
22
- if (id)
23
- yield* openAdminEdit('projects', id);
24
- }
25
- })).pipe(Command.withDescription('create a project'));
@@ -1,8 +0,0 @@
1
- import { Command } from '@effect/cli';
2
- import { Api } from '../../services/Api';
3
- import { Renderer } from '../../services/Renderer';
4
- import { Resolver } from '../../services/Resolver';
5
- export declare const del: Command.Command<"delete", Api | Renderer | Resolver, import("../../services/Api").ApiError, {
6
- readonly nameOrId: string;
7
- readonly force: boolean;
8
- }>;
@@ -1,22 +0,0 @@
1
- import { Args, Command, Options } from '@effect/cli';
2
- import { Effect } from 'effect';
3
- import { ValidationFailed } from '../../domain/errors';
4
- import { Api } from '../../services/Api';
5
- import { Renderer } from '../../services/Renderer';
6
- import { Resolver } from '../../services/Resolver';
7
- const nameOrId = Args.text({ name: 'nameOrId' });
8
- const force = Options.boolean('force').pipe(Options.withDescription('skip the non-TTY guard'));
9
- export const del = Command.make('delete', { nameOrId, force }, ({ nameOrId, force }) => Effect.gen(function* () {
10
- if (!force && !process.stdin.isTTY) {
11
- return yield* Effect.fail(new ValidationFailed({
12
- message: 'refusing to delete without --force in non-TTY context',
13
- }));
14
- }
15
- const resolver = yield* Resolver;
16
- const api = yield* Api;
17
- const renderer = yield* Renderer;
18
- const id = yield* resolver.resolveProjectId(nameOrId);
19
- yield* api.request(`/projects/${id}`, { method: 'DELETE' });
20
- yield* resolver.invalidate('project');
21
- yield* renderer.emitSuccess({ deleted: id });
22
- })).pipe(Command.withDescription('delete a project'));
@@ -1,11 +0,0 @@
1
- import { Command } from '@effect/cli';
2
- import { ValidationJson } from '../../domain/errors';
3
- import { Api } from '../../services/Api';
4
- import { Editor } from '../../services/Editor';
5
- import { Renderer } from '../../services/Renderer';
6
- import { Resolver } from '../../services/Resolver';
7
- export declare const edit: Command.Command<"edit", Api | Renderer | Resolver | Editor, ValidationJson | import("../../services/Api").ApiError, {
8
- readonly nameOrId: string;
9
- readonly open: boolean;
10
- readonly silent: boolean;
11
- }>;
@@ -1,61 +0,0 @@
1
- import { Args, Command, Options } from '@effect/cli';
2
- import { Effect } from 'effect';
3
- import { openAdminEdit } from '../../domain/admin-link';
4
- import { ValidationJson } from '../../domain/errors';
5
- import { Api } from '../../services/Api';
6
- import { Editor } from '../../services/Editor';
7
- import { Renderer } from '../../services/Renderer';
8
- import { Resolver } from '../../services/Resolver';
9
- import { editableFieldsOf } from './_flags';
10
- const nameOrId = Args.text({ name: 'nameOrId' });
11
- const openFlag = Options.boolean('open').pipe(Options.withDescription('After success, open the admin edit page in the default browser.'));
12
- const silentFlag = Options.boolean('silent').pipe(Options.withDescription('On success, emit a minimal `ok` instead of the full server response.'));
13
- const unwrapDoc = (raw) => {
14
- if (!raw || typeof raw !== 'object')
15
- return {};
16
- const r = raw;
17
- if (r.data && typeof r.data === 'object' && !Array.isArray(r.data)) {
18
- return r.data;
19
- }
20
- return r;
21
- };
22
- const formatJson = (value) => `${JSON.stringify(value, null, 2)}\n`;
23
- const parseEnvelope = (raw) => {
24
- const parsed = JSON.parse(raw);
25
- if (!parsed || typeof parsed !== 'object' || Array.isArray(parsed)) {
26
- throw new Error('expected a JSON object');
27
- }
28
- return parsed;
29
- };
30
- export const edit = Command.make('edit', { nameOrId, open: openFlag, silent: silentFlag }, ({ nameOrId, open, silent }) => Effect.gen(function* () {
31
- const api = yield* Api;
32
- const editor = yield* Editor;
33
- const renderer = yield* Renderer;
34
- const resolver = yield* Resolver;
35
- const id = yield* resolver.resolveProjectId(nameOrId);
36
- const current = unwrapDoc(yield* api.request(`/projects/${id}`));
37
- const initial = formatJson(editableFieldsOf(current));
38
- const next = yield* editor.openEditor({
39
- filename: `project-${id}.json`,
40
- initialContent: initial,
41
- });
42
- if (next.trim() === initial.trim()) {
43
- yield* renderer.emitInfo('no changes');
44
- return;
45
- }
46
- const parsed = yield* Effect.try({
47
- try: () => parseEnvelope(next),
48
- catch: (err) => new ValidationJson({
49
- message: err instanceof Error ? err.message : String(err),
50
- cause: err,
51
- }),
52
- });
53
- const res = yield* api.request(`/projects/${id}`, {
54
- method: 'PATCH',
55
- body: parsed,
56
- });
57
- yield* resolver.invalidate('project');
58
- yield* renderer.emitSuccess(silent ? { ok: true } : res);
59
- if (open)
60
- yield* openAdminEdit('projects', id);
61
- })).pipe(Command.withDescription('edit a project via $EDITOR (JSON envelope)'));
@@ -1,7 +0,0 @@
1
- import { Command } from '@effect/cli';
2
- import { Api } from '../../services/Api';
3
- import { Renderer } from '../../services/Renderer';
4
- import { Resolver } from '../../services/Resolver';
5
- export declare const get: Command.Command<"get", Api | Renderer | Resolver, import("../../services/Api").ApiError, {
6
- readonly nameOrId: string;
7
- }>;
@@ -1,14 +0,0 @@
1
- import { Args, Command } from '@effect/cli';
2
- import { Effect } from 'effect';
3
- import { Api } from '../../services/Api';
4
- import { Renderer } from '../../services/Renderer';
5
- import { Resolver } from '../../services/Resolver';
6
- const nameOrId = Args.text({ name: 'nameOrId' });
7
- export const get = Command.make('get', { nameOrId }, ({ nameOrId }) => Effect.gen(function* () {
8
- const api = yield* Api;
9
- const renderer = yield* Renderer;
10
- const resolver = yield* Resolver;
11
- const id = yield* resolver.resolveProjectId(nameOrId);
12
- const res = yield* api.request(`/projects/${id}`);
13
- yield* renderer.emitSuccess(res);
14
- })).pipe(Command.withDescription('get a project by name or id'));
@@ -1,43 +0,0 @@
1
- import { Command } from '@effect/cli';
2
- export declare const projectCmd: Command.Command<"project", import("@effect/platform/FileSystem").FileSystem | import("../../services/Api").Api | import("../ai/_poll").Renderer | import("../../services/Resolver").Resolver | import("../../services/Editor").Editor, import("../../domain/errors").ValidationJson | import("../../services/Api").ApiError, {
3
- readonly subcommand: import("effect/Option").Option<{
4
- readonly name: import("effect/Option").Option<string>;
5
- readonly description: import("effect/Option").Option<string>;
6
- readonly previewUrl: import("effect/Option").Option<string>;
7
- readonly docUrl: import("effect/Option").Option<string>;
8
- readonly projectUrl: import("effect/Option").Option<string>;
9
- readonly avatar: import("effect/Option").Option<string>;
10
- readonly images: import("effect/Option").Option<string>;
11
- readonly text: import("effect/Option").Option<string>;
12
- readonly file: import("effect/Option").Option<string>;
13
- readonly open: boolean;
14
- readonly silent: boolean;
15
- } | {
16
- readonly nameOrId: string;
17
- readonly force: boolean;
18
- } | {
19
- readonly nameOrId: string;
20
- readonly open: boolean;
21
- readonly silent: boolean;
22
- } | {
23
- readonly nameOrId: string;
24
- } | {
25
- readonly page: import("effect/Option").Option<number>;
26
- readonly size: import("effect/Option").Option<number>;
27
- } | {
28
- readonly name: import("effect/Option").Option<string>;
29
- readonly description: import("effect/Option").Option<string>;
30
- readonly previewUrl: import("effect/Option").Option<string>;
31
- readonly docUrl: import("effect/Option").Option<string>;
32
- readonly projectUrl: import("effect/Option").Option<string>;
33
- readonly avatar: import("effect/Option").Option<string>;
34
- readonly images: import("effect/Option").Option<string>;
35
- readonly text: import("effect/Option").Option<string>;
36
- readonly file: import("effect/Option").Option<string>;
37
- readonly open: boolean;
38
- readonly silent: boolean;
39
- readonly nameOrId: string;
40
- } | {
41
- readonly nameOrId: string;
42
- }>;
43
- }>;
@@ -1,52 +0,0 @@
1
- import { Command } from '@effect/cli';
2
- import { registerCommandHelp } from '../help/registry';
3
- import { create } from './create';
4
- import { del } from './delete';
5
- import { edit } from './edit';
6
- import { get } from './get';
7
- import { list } from './list';
8
- import { update } from './update';
9
- import { viewCmd } from './view-cmd';
10
- const help = registerCommandHelp({
11
- name: 'project',
12
- description: 'manage portfolio projects',
13
- skillChapter: 'commands-project',
14
- verbs: [
15
- {
16
- name: 'list',
17
- args: ['[--page <n>]', '[--size <n>]'],
18
- description: 'list projects',
19
- },
20
- {
21
- name: 'get',
22
- args: ['<nameOrId>'],
23
- description: 'show a single project (raw)',
24
- },
25
- {
26
- name: 'view',
27
- args: ['<nameOrId>'],
28
- description: 'show a single project (rendered)',
29
- },
30
- {
31
- name: 'create',
32
- args: ['--name <s>', '--description <s>', '[--file <path>]', '...'],
33
- description: 'create a project',
34
- },
35
- {
36
- name: 'edit',
37
- args: ['<nameOrId>'],
38
- description: 'edit a project via $EDITOR (JSON envelope)',
39
- },
40
- {
41
- name: 'update',
42
- args: ['<nameOrId>', '[--name ...]', '...'],
43
- description: 'partially update a project',
44
- },
45
- {
46
- name: 'delete',
47
- args: ['<nameOrId>', '[--force]'],
48
- description: 'delete a project',
49
- },
50
- ],
51
- });
52
- export const projectCmd = Command.make('project').pipe(Command.withDescription(help.description), Command.withSubcommands([list, get, viewCmd, create, edit, update, del]));