@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,32 +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 { get } from './get';
6
- import { list } from './list';
7
- import { update } from './update';
8
- const help = registerCommandHelp({
9
- name: 'topic',
10
- description: 'manage topics',
11
- skillChapter: 'commands-topic',
12
- verbs: [
13
- { name: 'list', description: 'list topics' },
14
- { name: 'get', args: ['<slugOrId>'], description: 'show a single topic' },
15
- {
16
- name: 'create',
17
- args: ['--name <n>', '--slug <s>', '[--description ...]', '[--icon ...]'],
18
- description: 'create a topic',
19
- },
20
- {
21
- name: 'update',
22
- args: ['<slugOrId>', '[--name ...]', '...'],
23
- description: 'update a topic',
24
- },
25
- {
26
- name: 'delete',
27
- args: ['<slugOrId>', '[--force]'],
28
- description: 'delete a topic',
29
- },
30
- ],
31
- });
32
- export const topicCmd = Command.make('topic').pipe(Command.withDescription(help.description), Command.withSubcommands([list, get, create, update, del]));
@@ -1,4 +0,0 @@
1
- import { Command } from '@effect/cli';
2
- import { Api } from '../../services/Api';
3
- import { Renderer } from '../../services/Renderer';
4
- export declare const list: Command.Command<"list", Api | Renderer, import("../../services/Api").ApiError, {}>;
@@ -1,10 +0,0 @@
1
- import { Command } from '@effect/cli';
2
- import { Effect } from 'effect';
3
- import { Api } from '../../services/Api';
4
- import { Renderer } from '../../services/Renderer';
5
- export const list = Command.make('list', {}, () => Effect.gen(function* () {
6
- const api = yield* Api;
7
- const renderer = yield* Renderer;
8
- const res = yield* api.request('/topics/all');
9
- yield* renderer.emitSuccess(res);
10
- }));
@@ -1,11 +0,0 @@
1
- import { Command } from '@effect/cli';
2
- import { Option } from 'effect';
3
- import { Api } from '../../services/Api';
4
- import { Renderer } from '../../services/Renderer';
5
- export declare const update: Command.Command<"update", Api | Renderer, import("../../services/Api").ApiError, {
6
- readonly slugOrId: string;
7
- readonly name: Option.Option<string>;
8
- readonly slug: Option.Option<string>;
9
- readonly description: Option.Option<string>;
10
- readonly icon: Option.Option<string>;
11
- }>;
@@ -1,51 +0,0 @@
1
- import { Args, Command, Options } from '@effect/cli';
2
- import { Effect, Option } from 'effect';
3
- import { ResourceNotFound } from '../../domain/errors';
4
- import { Api } from '../../services/Api';
5
- import { Renderer } from '../../services/Renderer';
6
- import { isSnowflakeId } from '../../services/Resolver';
7
- const slugOrId = Args.text({ name: 'slugOrId' });
8
- const name = Options.text('name').pipe(Options.optional);
9
- const slug = Options.text('slug').pipe(Options.optional);
10
- const description = Options.text('description').pipe(Options.optional);
11
- const icon = Options.text('icon').pipe(Options.optional);
12
- const resolveTopicId = (api, ref) => Effect.gen(function* () {
13
- if (isSnowflakeId(ref))
14
- return ref;
15
- const res = yield* api
16
- .request(`/topics/slug/${encodeURIComponent(ref)}`)
17
- .pipe(Effect.catchAll(() => Effect.succeed(null)));
18
- const id = (res && res.id) ??
19
- (res && res.data?.id);
20
- if (!id) {
21
- return yield* Effect.fail(new ResourceNotFound({
22
- kind: 'topic',
23
- ref,
24
- message: `topic not found: ${ref}`,
25
- }));
26
- }
27
- return id;
28
- });
29
- export const update = Command.make('update', { slugOrId, name, slug, description, icon }, ({ slugOrId, name, slug, description, icon }) => Effect.gen(function* () {
30
- const body = {};
31
- const n = Option.getOrUndefined(name);
32
- if (n)
33
- body.name = n;
34
- const s = Option.getOrUndefined(slug);
35
- if (s)
36
- body.slug = s;
37
- const d = Option.getOrUndefined(description);
38
- if (d)
39
- body.description = d;
40
- const ic = Option.getOrUndefined(icon);
41
- if (ic)
42
- body.icon = ic;
43
- const api = yield* Api;
44
- const renderer = yield* Renderer;
45
- const id = yield* resolveTopicId(api, slugOrId);
46
- const res = yield* api.request(`/topics/${id}`, {
47
- method: 'PATCH',
48
- body,
49
- });
50
- yield* renderer.emitSuccess(res);
51
- }));
@@ -1,24 +0,0 @@
1
- export { ANSI, isColorEnabled, visibleLen, wrap } from '../render';
2
- export declare const ok: (text: string, color: boolean) => string;
3
- export declare const fail: (text: string, color: boolean) => string;
4
- export declare const arrow: (text: string, color: boolean) => string;
5
- export declare const star: (text: string, color: boolean) => string;
6
- export declare const dot: (text: string, color: boolean) => string;
7
- export declare const dim: (text: string, color: boolean) => string;
8
- export declare const bold: (text: string, color: boolean) => string;
9
- export declare const roundedBox: (lines: string[]) => string;
10
- /** Indent every line of `text` by `pad` spaces. */
11
- export declare const indent: (text: string, pad: number) => string;
12
- export interface TableColumn {
13
- readonly key: string;
14
- readonly label: string;
15
- /** Minimum column width (auto-grows to fit content). */
16
- readonly minWidth?: number;
17
- }
18
- export declare const renderTable: (cols: readonly TableColumn[], rows: readonly Record<string, string>[], opts: {
19
- readonly color: boolean;
20
- readonly prefix?: (row: number) => string;
21
- }) => string;
22
- export declare const humanDuration: (seconds: number) => string;
23
- /** Format milliseconds-since-epoch as `<duration>` until that point. */
24
- export declare const humanUntil: (epochMs: number) => string;
@@ -1,83 +0,0 @@
1
- // Small TTY-aware UI primitives for command-specific rendering.
2
- //
3
- // `renderMarkdownToAnsi` (in ../render) handles structured prose, but
4
- // some commands need bespoke layouts — boxed device-codes, fixed-width tables,
5
- // status badges. Those primitives live here. Each takes an explicit
6
- // `{ color: boolean }` so callers can opt out (NO_COLOR / non-TTY).
7
- import { ANSI, visibleLen, wrap } from '../render';
8
- export { ANSI, isColorEnabled, visibleLen, wrap } from '../render';
9
- // ---------------------------------------------------------------------------
10
- // Badges — leading icon + text, coloured when permitted.
11
- // ---------------------------------------------------------------------------
12
- export const ok = (text, color) => `${wrap(ANSI.green, '✓', color)} ${text}`;
13
- export const fail = (text, color) => `${wrap(ANSI.red, '✗', color)} ${text}`;
14
- export const arrow = (text, color) => `${wrap(ANSI.cyan, '→', color)} ${text}`;
15
- export const star = (text, color) => `${wrap(ANSI.yellow, '✦', color)} ${text}`;
16
- export const dot = (text, color) => `${wrap(ANSI.cyan, '●', color)} ${text}`;
17
- export const dim = (text, color) => wrap(ANSI.dim, text, color);
18
- export const bold = (text, color) => wrap(ANSI.bold, text, color);
19
- // ---------------------------------------------------------------------------
20
- // Rounded box — `╭─╮│╰─╯`. Always unicode; modern terminals handle it.
21
- // ---------------------------------------------------------------------------
22
- export const roundedBox = (lines) => {
23
- const inner = lines.map((l) => l);
24
- const width = inner.reduce((max, l) => Math.max(max, visibleLen(l)), 0);
25
- const horizontal = '─'.repeat(width + 2);
26
- const top = `╭${horizontal}╮`;
27
- const bottom = `╰${horizontal}╯`;
28
- const middle = inner.map((l) => {
29
- const pad = ' '.repeat(width - visibleLen(l));
30
- return `│ ${l}${pad} │`;
31
- });
32
- return [top, ...middle, bottom].join('\n');
33
- };
34
- /** Indent every line of `text` by `pad` spaces. */
35
- export const indent = (text, pad) => {
36
- const prefix = ' '.repeat(pad);
37
- return text
38
- .split('\n')
39
- .map((l) => `${prefix}${l}`)
40
- .join('\n');
41
- };
42
- export const renderTable = (cols, rows, opts) => {
43
- if (rows.length === 0) {
44
- return dim('(no rows)', opts.color);
45
- }
46
- const widths = cols.map((c) => Math.max(c.label.length, c.minWidth ?? 0, ...rows.map((r) => visibleLen(r[c.key] ?? ''))));
47
- const renderRow = (cells) => cells
48
- .map((cell, i) => {
49
- const padLen = widths[i] - visibleLen(cell);
50
- return `${cell}${' '.repeat(Math.max(0, padLen))}`;
51
- })
52
- .join(' ');
53
- const header = wrap(ANSI.dim, renderRow(cols.map((c) => c.label.toUpperCase())), opts.color);
54
- const body = rows.map((row, idx) => {
55
- const prefix = opts.prefix?.(idx) ?? ' ';
56
- return `${prefix} ${renderRow(cols.map((c) => row[c.key] ?? ''))}`;
57
- });
58
- return [` ${header}`, ...body].join('\n');
59
- };
60
- // ---------------------------------------------------------------------------
61
- // Human-readable duration — seconds → "30 min", "2h 14m", "45s".
62
- // ---------------------------------------------------------------------------
63
- export const humanDuration = (seconds) => {
64
- if (seconds < 0)
65
- return 'expired';
66
- if (seconds < 60)
67
- return `${seconds}s`;
68
- const minutes = Math.floor(seconds / 60);
69
- if (minutes < 60)
70
- return `${minutes} min`;
71
- const hours = Math.floor(minutes / 60);
72
- const remMin = minutes % 60;
73
- if (hours < 24)
74
- return remMin ? `${hours}h ${remMin}m` : `${hours}h`;
75
- const days = Math.floor(hours / 24);
76
- const remH = hours % 24;
77
- return remH ? `${days}d ${remH}h` : `${days}d`;
78
- };
79
- /** Format milliseconds-since-epoch as `<duration>` until that point. */
80
- export const humanUntil = (epochMs) => {
81
- const seconds = Math.round((epochMs - Date.now()) / 1000);
82
- return humanDuration(seconds);
83
- };
@@ -1,10 +0,0 @@
1
- import { Command } from '@effect/cli';
2
- import { Option } from 'effect';
3
- import { Renderer } from '../../services/Renderer';
4
- export declare const updateCmd: Command.Command<"update", Renderer, import("../../services/UpdateNotifier").RunUpdateError, {
5
- readonly check: Option.Option<boolean>;
6
- readonly prerelease: Option.Option<boolean>;
7
- readonly pm: Option.Option<"npm" | "pnpm" | "yarn" | "bun">;
8
- readonly force: Option.Option<boolean>;
9
- readonly yes: Option.Option<boolean>;
10
- }>;
@@ -1,142 +0,0 @@
1
- import { createRequire } from 'node:module';
2
- import { Command, Options } from '@effect/cli';
3
- import { Effect, Option } from 'effect';
4
- import { Renderer } from '../../services/Renderer';
5
- import { make as makeUpdater, } from '../../services/UpdateNotifier';
6
- import { registerCommandHelp } from '../help/registry';
7
- import { bold, dim, fail, ok, star } from '../ui';
8
- registerCommandHelp({
9
- name: 'update',
10
- description: 'install the newest mxs release (auto, no prompt)',
11
- isLeaf: true,
12
- leafOptions: [
13
- { flag: '--check', description: 'compare versions only; do not install' },
14
- { flag: '--prerelease', description: 'use the `next` dist-tag channel' },
15
- {
16
- flag: '--pm <name>',
17
- description: 'force package manager (one of: npm, pnpm, yarn, bun)',
18
- },
19
- { flag: '--force', description: 'bypass the 24h passive-check cache' },
20
- {
21
- flag: '--yes',
22
- description: 'deprecated no-op (kept for back-compat; updates run without a prompt by default)',
23
- },
24
- ],
25
- });
26
- // Read package version once at module load. Walks up to find the cli
27
- // package.json so the lookup works for both dev (`tsx src/...`) and the
28
- // bundled `dist/*.mjs` layouts.
29
- const requireFrom = createRequire(import.meta.url);
30
- const resolveCliVersion = () => {
31
- const candidates = [
32
- '../package.json',
33
- '../../package.json',
34
- '../../../package.json',
35
- ];
36
- for (const candidate of candidates) {
37
- try {
38
- const pkg = requireFrom(candidate);
39
- if (pkg.name === '@mx-space/cli' && typeof pkg.version === 'string') {
40
- return pkg.version;
41
- }
42
- }
43
- catch {
44
- // try next candidate
45
- }
46
- }
47
- return '0.0.0-unknown';
48
- };
49
- const CLI_VERSION = resolveCliVersion();
50
- const check = Options.boolean('check').pipe(Options.optional);
51
- const prerelease = Options.boolean('prerelease').pipe(Options.optional);
52
- const pm = Options.choice('pm', ['npm', 'pnpm', 'yarn', 'bun']).pipe(Options.optional);
53
- const force = Options.boolean('force').pipe(Options.optional);
54
- const yes = Options.boolean('yes').pipe(Options.optional);
55
- const optBool = (opt) => Option.getOrUndefined(opt);
56
- export const updateCmd = Command.make('update', { check, prerelease, pm, force, yes }, ({ check, prerelease, pm, force, yes }) => Effect.gen(function* () {
57
- const renderer = yield* Renderer;
58
- const outOpts = yield* renderer.options;
59
- // Auto-install: `mxs update` no longer prompts. Foreground runs go
60
- // through the same notifier as the passive background path; we do not
61
- // wire `Editor.confirm` here because `runUpdate` itself stopped calling
62
- // any confirmImpl.
63
- const updater = makeUpdater();
64
- const opts = {
65
- currentVersion: CLI_VERSION,
66
- check: optBool(check),
67
- prerelease: optBool(prerelease),
68
- pm: Option.getOrUndefined(pm),
69
- force: optBool(force),
70
- yes: optBool(yes),
71
- json: outOpts.json,
72
- };
73
- const result = yield* updater.runUpdate(opts);
74
- // The UpdateNotifier already streams `emitInfo` lines via deps.emitInfo
75
- // (default: process.stderr). The renderer.emitSuccess emits the final
76
- // structured result for JSON consumers + a closing info line in TTY.
77
- const command = result.command ?? null;
78
- if (result.upToDate) {
79
- yield* renderer.emitView({
80
- current: result.fromVersion,
81
- latest: result.toVersion,
82
- channel: result.channel,
83
- up_to_date: true,
84
- }, ({ color }) => ok(`up to date · ${bold(result.fromVersion, color)} ${dim(`(${result.channel})`, color)}`, color));
85
- return;
86
- }
87
- if (result.cancelled) {
88
- yield* renderer.emitView({
89
- current: result.fromVersion,
90
- latest: result.toVersion,
91
- channel: result.channel,
92
- pm: result.pm,
93
- command,
94
- cancelled: true,
95
- }, ({ color }) => fail(`update cancelled · ${dim(`${result.fromVersion} → ${result.toVersion}`, color)}`, color));
96
- return;
97
- }
98
- if (result.upgraded) {
99
- yield* renderer.emitView({
100
- current: result.fromVersion,
101
- latest: result.toVersion,
102
- channel: result.channel,
103
- pm: result.pm,
104
- upgraded: true,
105
- }, ({ color }) => ok(`upgraded · ${bold(`${result.fromVersion} → ${result.toVersion}`, color)} ${dim(`(${result.channel}, ${result.pm})`, color)}`, color));
106
- return;
107
- }
108
- // --check path: not up to date, but no install ran.
109
- if (opts.check) {
110
- yield* renderer.emitView({
111
- current: result.fromVersion,
112
- latest: result.toVersion,
113
- channel: result.channel,
114
- pm: result.pm,
115
- up_to_date: false,
116
- }, ({ color }) => {
117
- const head = star('update available', color);
118
- const versions = ` ${bold(result.fromVersion, color)} → ${bold(result.toVersion, color)} ${dim(result.channel, color)}`;
119
- const cmd = command
120
- ? `\n\n ${dim('run:', color)} ${bold(command, color)}`
121
- : '';
122
- return `${head}\n\n${versions}${cmd}`;
123
- });
124
- return;
125
- }
126
- // --dry-run path
127
- yield* renderer.emitView({
128
- current: result.fromVersion,
129
- latest: result.toVersion,
130
- channel: result.channel,
131
- pm: result.pm,
132
- command,
133
- dry_run: true,
134
- }, ({ color }) => {
135
- const head = star('would upgrade', color);
136
- const versions = ` ${bold(result.fromVersion, color)} → ${bold(result.toVersion, color)} ${dim(result.channel, color)}`;
137
- const cmd = command
138
- ? `\n\n ${dim('would run:', color)} ${bold(command, color)}`
139
- : '';
140
- return `${head}\n\n${versions}${cmd}`;
141
- });
142
- }));
@@ -1,12 +0,0 @@
1
- import { Effect } from 'effect';
2
- import { Api } from '../services/Api';
3
- import { Renderer } from '../services/Renderer';
4
- export type AdminEditKind = 'posts' | 'notes' | 'pages' | 'projects';
5
- /**
6
- * Resolve the server's admin URL from `/options/url`, build the admin
7
- * edit-page URL for the given resource, and open it in the user's browser.
8
- * Non-fatal: missing admin_url or browser-launch failures emit a warning
9
- * and the parent effect continues.
10
- */
11
- export declare const openAdminEdit: (kind: AdminEditKind, id: string) => Effect.Effect<void, import("../services/Api").ApiError, Api | Renderer>;
12
- export declare const openAdminDraftEdit: (kind: AdminEditKind, draftId: string, refId?: string) => Effect.Effect<void, import("../services/Api").ApiError, Api | Renderer>;
@@ -1,45 +0,0 @@
1
- import { Effect } from 'effect';
2
- import open from 'open';
3
- import { Api } from '../services/Api';
4
- import { Renderer } from '../services/Renderer';
5
- const buildEditUrl = (adminUrl, kind, id) => {
6
- // Admin uses hash-based react-router. posts/notes/pages route at
7
- // `#/<kind>/edit?id=<id>`; projects route at `#/projects/<id>`.
8
- const base = adminUrl.replace(/\/+$/, '');
9
- if (kind === 'projects') {
10
- return `${base}#/projects/${encodeURIComponent(id)}`;
11
- }
12
- return `${base}#/${kind}/edit?id=${encodeURIComponent(id)}`;
13
- };
14
- const buildDraftEditUrl = (adminUrl, kind, draftId, refId) => {
15
- const base = adminUrl.replace(/\/+$/, '');
16
- const params = new URLSearchParams();
17
- params.set('draftId', draftId);
18
- if (refId)
19
- params.set('id', refId);
20
- return `${base}#/${kind}/edit?${params.toString()}`;
21
- };
22
- const openAdminUrl = (buildUrl) => Effect.gen(function* () {
23
- const renderer = yield* Renderer;
24
- const api = yield* Api;
25
- const opts = yield* api.request('/options/url');
26
- const adminUrl = opts.data?.admin_url ?? opts.admin_url;
27
- if (!adminUrl) {
28
- yield* renderer.emitWarn('admin_url is not configured on the server; skipping --open');
29
- return;
30
- }
31
- const url = buildUrl(adminUrl);
32
- yield* renderer.emitInfo(`opening admin: ${url}`);
33
- yield* Effect.tryPromise({
34
- try: () => open(url),
35
- catch: () => new Error('failed to launch browser'),
36
- }).pipe(Effect.catchAll((e) => renderer.emitWarn(`could not launch browser: ${e instanceof Error ? e.message : String(e)}`)));
37
- });
38
- /**
39
- * Resolve the server's admin URL from `/options/url`, build the admin
40
- * edit-page URL for the given resource, and open it in the user's browser.
41
- * Non-fatal: missing admin_url or browser-launch failures emit a warning
42
- * and the parent effect continues.
43
- */
44
- export const openAdminEdit = (kind, id) => openAdminUrl((adminUrl) => buildEditUrl(adminUrl, kind, id));
45
- export const openAdminDraftEdit = (kind, draftId, refId) => openAdminUrl((adminUrl) => buildDraftEditUrl(adminUrl, kind, draftId, refId));
@@ -1,20 +0,0 @@
1
- import { FileSystem, Path } from '@effect/platform';
2
- import { Effect } from 'effect';
3
- import { ValidationFailed } from './errors';
4
- export interface ContentSource {
5
- readonly text: string;
6
- readonly origin: 'inline' | 'file' | 'stdin';
7
- readonly path?: string;
8
- }
9
- /**
10
- * Resolve a content spec — one of:
11
- * - `undefined` → returns `null`
12
- * - `"-"` or `"stdin"` → reads stdin
13
- * - `"file=<path>"` → reads that file (relative to cwd)
14
- * - any other value → inline literal
15
- */
16
- export declare const readContentSpec: (spec: string | undefined, opts?: {
17
- readonly cwd?: string;
18
- }) => Effect.Effect<ContentSource | null, ValidationFailed, FileSystem.FileSystem | Path.Path>;
19
- export declare const readJsonSpec: (spec: string | undefined) => Effect.Effect<unknown, ValidationFailed, FileSystem.FileSystem | Path.Path>;
20
- export declare const readStdin: Effect.Effect<string, ValidationFailed>;
@@ -1,78 +0,0 @@
1
- import { FileSystem, Path } from '@effect/platform';
2
- import { Effect } from 'effect';
3
- import { ValidationFailed } from './errors';
4
- const messageOf = (err) => {
5
- if (err instanceof Error)
6
- return err.message;
7
- if (typeof err === 'string')
8
- return err;
9
- return String(err);
10
- };
11
- /**
12
- * Resolve a content spec — one of:
13
- * - `undefined` → returns `null`
14
- * - `"-"` or `"stdin"` → reads stdin
15
- * - `"file=<path>"` → reads that file (relative to cwd)
16
- * - any other value → inline literal
17
- */
18
- export const readContentSpec = (spec, opts = {}) => Effect.gen(function* () {
19
- if (spec === undefined)
20
- return null;
21
- if (spec === '-' || spec === 'stdin') {
22
- const text = yield* readStdin;
23
- return { text, origin: 'stdin' };
24
- }
25
- if (spec.startsWith('file=')) {
26
- const path = yield* Path.Path;
27
- const fs = yield* FileSystem.FileSystem;
28
- const p = path.resolve(opts.cwd ?? process.cwd(), spec.slice('file='.length));
29
- const text = yield* fs.readFileString(p).pipe(Effect.mapError((err) => new ValidationFailed({
30
- message: `failed to read ${p}: ${messageOf(err)}`,
31
- })));
32
- return { text, origin: 'file', path: p };
33
- }
34
- return { text: spec, origin: 'inline' };
35
- });
36
- export const readJsonSpec = (spec) => Effect.gen(function* () {
37
- if (spec === undefined)
38
- return undefined;
39
- if (spec.startsWith('file=')) {
40
- const path = yield* Path.Path;
41
- const fs = yield* FileSystem.FileSystem;
42
- const p = path.resolve(process.cwd(), spec.slice('file='.length));
43
- const text = yield* fs.readFileString(p).pipe(Effect.mapError((err) => new ValidationFailed({
44
- message: `failed to read JSON from ${p}: ${messageOf(err)}`,
45
- })));
46
- return yield* Effect.try({
47
- try: () => JSON.parse(text),
48
- catch: (err) => new ValidationFailed({
49
- message: `failed to parse JSON: ${messageOf(err)}`,
50
- }),
51
- });
52
- }
53
- return yield* Effect.try({
54
- try: () => JSON.parse(spec),
55
- catch: (err) => new ValidationFailed({
56
- message: `failed to parse JSON: ${messageOf(err)}`,
57
- }),
58
- });
59
- });
60
- export const readStdin = Effect.gen(function* () {
61
- if (process.stdin.isTTY) {
62
- return yield* Effect.fail(new ValidationFailed({
63
- message: 'requested stdin content but stdin is a TTY',
64
- }));
65
- }
66
- return yield* Effect.tryPromise({
67
- try: async () => {
68
- const chunks = [];
69
- for await (const chunk of process.stdin) {
70
- chunks.push(typeof chunk === 'string' ? Buffer.from(chunk) : chunk);
71
- }
72
- return Buffer.concat(chunks).toString('utf8');
73
- },
74
- catch: (err) => new ValidationFailed({
75
- message: `failed to read stdin: ${messageOf(err)}`,
76
- }),
77
- });
78
- });
@@ -1,68 +0,0 @@
1
- /**
2
- * @deprecated Compat shim for the V2 → V3 mx-core wire-format transition.
3
- *
4
- * Remove this file once all deployments referenced by the CLI's user base are
5
- * confirmed V3 (`API_VERSION = 3` in mx-core). Removal checklist:
6
- *
7
- * 1. Delete this file (`envelope-compat.ts`) and its test
8
- * (`test/domain/envelope-compat.test.ts`).
9
- * 2. In `src/services/Api.ts`, `grep -n 'COMPAT:envelope'` and delete the
10
- * two normalizer calls + the `Ref<WireVersion>` field + verbose log
11
- * annotation.
12
- * 3. In `src/services/Config.ts`, change `parsed.apiVersion ?? 2` to
13
- * `?? 3`.
14
- * 4. In `test/integration/cli-post-list.test.ts` and
15
- * `test/integration/cli-error-envelope.test.ts`, drop the V2 `it`
16
- * block; keep only the V3 mock.
17
- * 5. Run `pnpm -C packages/cli typecheck && pnpm -C packages/cli test` —
18
- * no references should remain.
19
- *
20
- * Full design: `packages/cli/docs/specs/2026-05-21-v2-v3-envelope-compat-layer.md`.
21
- */
22
- export type WireVersion = 'v2' | 'v3';
23
- /**
24
- * Sniff the wire version from a parsed response body. Returns `null` if the
25
- * body is too small (raw scalar, FormData echo, dry-run synthetic) to decide.
26
- * Callers must tolerate `null`.
27
- *
28
- * V3 markers (any one suffices):
29
- * - object has a `meta` key, OR
30
- * - object has `error.code` (string) or `error.message` (string).
31
- *
32
- * V2 markers (any one):
33
- * - object has a root-level `pagination` key, OR
34
- * - object has a root-level `message: string | string[]` and no `error` key.
35
- *
36
- * When both V2 and V3 markers are present, V3 wins.
37
- */
38
- export declare const detectWireVersion: (body: unknown) => WireVersion | null;
39
- /**
40
- * Normalize a 2xx response body to the V3 shape `{ data, meta? }`.
41
- *
42
- * - V3 (`{ data, meta? }`) → returned as-is
43
- * - V2 paginated (`{ data, pagination }`) → `{ data, meta: { pagination } }`
44
- * - V2 bare (`{ data }`) → returned as-is
45
- * - Anything else (arrays, scalars, non-object, already-unwrapped doc) → unchanged
46
- *
47
- * Shape-tolerant: unrecognized inputs pass through unchanged. Never mutates
48
- * the input.
49
- */
50
- export declare const normalizeSuccessBody: (body: unknown) => unknown;
51
- export interface NormalizedError {
52
- code?: string;
53
- message?: string;
54
- details?: unknown;
55
- }
56
- /**
57
- * Normalize a non-2xx response body to a flat `{ code?, message?, details? }`
58
- * tuple.
59
- *
60
- * - V3 (`{ error: { code, message, details? } }`) → unwrapped
61
- * - V2 (`{ message: string | string[], code?, details? }`) → flattened.
62
- * Array messages join with `'; '` to match the legacy `extractMessage`
63
- * helper in `api-envelope.ts`.
64
- * - Non-object body → `{}`
65
- *
66
- * Never throws, never mutates.
67
- */
68
- export declare const normalizeErrorBody: (body: unknown) => NormalizedError;