@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,208 +0,0 @@
1
- import { SEPARATOR_WIDTH } from '../helpers';
2
- import { ANSI, visibleLen, wrap } from '../markdown';
3
- // Prefix each non-empty line of `text` with `prefix`. Empty lines stay empty so
4
- // terminals don't show stray prefix glyphs on visual breathers.
5
- const indentLines = (text, prefix) => text
6
- .split('\n')
7
- .map((line) => (line.length === 0 ? line : `${prefix}${line}`))
8
- .join('\n');
9
- const padRight = (s, width) => {
10
- const v = visibleLen(s);
11
- return v < width ? s + ' '.repeat(width - v) : s;
12
- };
13
- const onlyElementChildren = (children) => children.filter((c) => c.type === 'element');
14
- export const paragraphRenderer = (node, ctx, inner) => inner.walkInlineChildren(node.children, ctx);
15
- const makeHeading = (level) => (node, ctx, inner) => {
16
- const text = inner.walkInlineChildren(node.children, ctx);
17
- if (level === 1) {
18
- const styled = wrap(`${ANSI.bold}${ANSI.magenta}`, text, ctx.color);
19
- const rule = wrap(ANSI.dim, '─'.repeat(Math.max(visibleLen(text), 1)), ctx.color);
20
- return `${styled}\n${rule}`;
21
- }
22
- if (level === 2) {
23
- const styled = wrap(`${ANSI.bold}${ANSI.cyan}`, text, ctx.color);
24
- const rule = wrap(ANSI.dim, '─'.repeat(Math.max(visibleLen(text), 1)), ctx.color);
25
- return `${styled}\n${rule}`;
26
- }
27
- return wrap(ANSI.bold, text, ctx.color);
28
- };
29
- export const h1Renderer = makeHeading(1);
30
- export const h2Renderer = makeHeading(2);
31
- export const h3Renderer = makeHeading(3);
32
- export const h4Renderer = makeHeading(4);
33
- export const h5Renderer = makeHeading(5);
34
- export const h6Renderer = makeHeading(6);
35
- export const blockquoteRenderer = (node, ctx, inner) => {
36
- const body = inner.walkBlockChildren(node.children, ctx);
37
- const prefix = wrap(ANSI.dim, '│ ', ctx.color);
38
- const out = indentLines(body, prefix);
39
- const attribution = node.attrs.attribution;
40
- if (attribution) {
41
- const attrLine = wrap(ANSI.dim, ` — ${attribution}`, ctx.color);
42
- return out ? `${out}\n${attrLine}` : attrLine;
43
- }
44
- return out;
45
- };
46
- export const hrRenderer = (_node, ctx) => wrap(ANSI.dim, '─'.repeat(SEPARATOR_WIDTH), ctx.color);
47
- const renderListItemBody = (li, ctx, inner) => {
48
- // Split children: inline-ish content first (with paragraph breaks preserved
49
- // as `\n`-joined segments), nested ul/ol below.
50
- const segments = [];
51
- let buffer = [];
52
- const nestedBlocks = [];
53
- const flush = () => {
54
- if (buffer.length === 0)
55
- return;
56
- segments.push(inner.walkInlineChildren(buffer, ctx));
57
- buffer = [];
58
- };
59
- for (const c of li.children) {
60
- if (c.type === 'element' && (c.tag === 'ul' || c.tag === 'ol')) {
61
- flush();
62
- nestedBlocks.push(c);
63
- }
64
- else if (c.type === 'element' && c.tag === 'p') {
65
- flush();
66
- segments.push(inner.walkInlineChildren(c.children, ctx));
67
- }
68
- else if (c.type === 'text' && /^\s*$/.test(c.value)) {
69
- // skip pretty-print whitespace between sibling paragraphs
70
- continue;
71
- }
72
- else {
73
- buffer.push(c);
74
- }
75
- }
76
- flush();
77
- const head = segments.join('\n');
78
- const nested = nestedBlocks.length > 0
79
- ? inner.walkBlockChildren(nestedBlocks, {
80
- ...ctx,
81
- indent: ctx.indent + 2,
82
- })
83
- : '';
84
- return { inlineHead: head, nested };
85
- };
86
- const liPrefix = (li, ordinal, numWidth, ctx) => {
87
- const checked = li.attrs.checked;
88
- if (checked === 'true')
89
- return wrap(ANSI.dim, '[x] ', ctx.color);
90
- if (checked === 'false')
91
- return wrap(ANSI.dim, '[ ] ', ctx.color);
92
- if (ordinal != null) {
93
- const label = `${ordinal}.`.padStart(numWidth);
94
- return `${label} `;
95
- }
96
- return '- ';
97
- };
98
- const renderList = (ordered) => (node, ctx, inner) => {
99
- const items = onlyElementChildren(node.children).filter((c) => c.tag === 'li');
100
- if (items.length === 0)
101
- return '';
102
- const numWidth = ordered ? String(items.length).length + 1 : 0;
103
- const indentStr = ' '.repeat(ctx.indent);
104
- const lines = [];
105
- items.forEach((item, idx) => {
106
- const prefix = liPrefix(item, ordered ? idx + 1 : null, numWidth, ctx);
107
- const { inlineHead, nested } = renderListItemBody(item, ctx, inner);
108
- const contIndent = ' '.repeat(visibleLen(prefix));
109
- const head = inlineHead
110
- .split('\n')
111
- .map((line, i) => (i === 0 ? line : `${contIndent}${line}`))
112
- .join('\n');
113
- lines.push(`${indentStr}${prefix}${head}`);
114
- if (nested)
115
- lines.push(nested);
116
- });
117
- return lines.join('\n');
118
- };
119
- export const ulRenderer = renderList(false);
120
- export const olRenderer = renderList(true);
121
- // Defensive: `<li>` dispatched outside a list — render as a paragraph.
122
- export const liRenderer = (node, ctx, inner) => inner.walkInlineChildren(node.children, ctx);
123
- export const tableRenderer = (node, ctx, inner) => {
124
- const rows = onlyElementChildren(node.children).filter((c) => c.tag === 'tr');
125
- if (rows.length === 0)
126
- return '';
127
- const matrix = rows.map((row) => onlyElementChildren(row.children)
128
- .filter((c) => c.tag === 'th' || c.tag === 'td')
129
- .map((cell) => inner.walkInlineChildren(cell.children, ctx)));
130
- const numCols = Math.max(...matrix.map((r) => r.length));
131
- const widths = [];
132
- for (let i = 0; i < numCols; i++) {
133
- let max = 0;
134
- for (const row of matrix) {
135
- const cell = row[i] ?? '';
136
- if (visibleLen(cell) > max)
137
- max = visibleLen(cell);
138
- }
139
- widths.push(max);
140
- }
141
- const headerIsAllTh = rows.length > 0 &&
142
- onlyElementChildren(rows[0].children).every((c) => c.tag === 'th');
143
- const lines = [];
144
- matrix.forEach((row, rowIdx) => {
145
- const padded = row.map((cell, idx) => padRight(cell, widths[idx] ?? 0));
146
- const rendered = rowIdx === 0 && headerIsAllTh
147
- ? padded.map((c) => wrap(ANSI.bold, c, ctx.color))
148
- : padded;
149
- lines.push(rendered.join(' │ '));
150
- if (rowIdx === 0 && headerIsAllTh) {
151
- const sep = widths.map((w) => '─'.repeat(w)).join('─┼─');
152
- lines.push(wrap(ANSI.dim, sep, ctx.color));
153
- }
154
- });
155
- return lines.join('\n');
156
- };
157
- const ALERT_LABEL_COLOR = {
158
- info: ANSI.cyan,
159
- tip: ANSI.cyan,
160
- warning: ANSI.yellow,
161
- error: ANSI.red,
162
- success: ANSI.green,
163
- note: ANSI.dim,
164
- };
165
- const renderBox = (defaultType) => (node, ctx, inner) => {
166
- const type = (node.attrs.type ?? defaultType).toLowerCase();
167
- const colorCode = ALERT_LABEL_COLOR[type] ?? ANSI.cyan;
168
- const labelLine = wrap(colorCode, type.toUpperCase(), ctx.color);
169
- const rule = wrap(ANSI.dim, '─'.repeat(SEPARATOR_WIDTH), ctx.color);
170
- const body = inner.walkBlockChildren(node.children, ctx);
171
- const prefix = wrap(ANSI.dim, '│ ', ctx.color);
172
- const indented = indentLines(body, prefix);
173
- return `${labelLine}\n${rule}\n${indented}\n${rule}`;
174
- };
175
- export const alertRenderer = renderBox('info');
176
- export const bannerRenderer = renderBox('info');
177
- export const detailsRenderer = (node, ctx, inner) => {
178
- const summary = node.attrs.summary ?? '';
179
- const head = wrap(ANSI.dim, `▸ ${summary}`, ctx.color);
180
- const body = inner.walkBlockChildren(node.children, ctx);
181
- if (!body)
182
- return head;
183
- const indented = indentLines(body, ' ');
184
- return `${head}\n${indented}`;
185
- };
186
- export const spoilerRenderer = (node, ctx, inner) => {
187
- const text = inner.walkInlineChildren(node.children, ctx);
188
- return wrap(ANSI.dim, text, ctx.color);
189
- };
190
- export const blockRendererEntries = [
191
- ['p', paragraphRenderer],
192
- ['h1', h1Renderer],
193
- ['h2', h2Renderer],
194
- ['h3', h3Renderer],
195
- ['h4', h4Renderer],
196
- ['h5', h5Renderer],
197
- ['h6', h6Renderer],
198
- ['blockquote', blockquoteRenderer],
199
- ['hr', hrRenderer],
200
- ['ul', ulRenderer],
201
- ['ol', olRenderer],
202
- ['li', liRenderer],
203
- ['table', tableRenderer],
204
- ['alert', alertRenderer],
205
- ['banner', bannerRenderer],
206
- ['details', detailsRenderer],
207
- ['spoiler', spoilerRenderer],
208
- ];
@@ -1,2 +0,0 @@
1
- import type { BlockRenderer } from './walker';
2
- export declare const codeblockRenderer: BlockRenderer;
@@ -1,22 +0,0 @@
1
- import { highlightCode } from '../codehighlight';
2
- import { ANSI, wrap } from '../markdown';
3
- const collectText = (children) => {
4
- let out = '';
5
- for (const child of children) {
6
- if (child.type === 'text')
7
- out += child.value;
8
- else
9
- out += collectText(child.children);
10
- }
11
- return out;
12
- };
13
- export const codeblockRenderer = (node, ctx) => {
14
- const lang = node.attrs.lang ?? '';
15
- const code = collectText(node.children).replace(/\n+$/, '');
16
- const body = highlightCode(code, lang, ctx.color);
17
- if (lang) {
18
- const label = wrap(ANSI.dim, lang, ctx.color);
19
- return `${label}\n${body}`;
20
- }
21
- return body;
22
- };
@@ -1,6 +0,0 @@
1
- import type { BlockRenderer } from './walker';
2
- export declare const imgRenderer: BlockRenderer;
3
- export declare const videoRenderer: BlockRenderer;
4
- export declare const linkCardRenderer: BlockRenderer;
5
- export declare const embedRenderer: BlockRenderer;
6
- export declare const embedRendererEntries: ReadonlyArray<readonly [string, BlockRenderer]>;
@@ -1,51 +0,0 @@
1
- import { ANSI, wrap } from '../markdown';
2
- const basename = (path) => {
3
- const idx = path.lastIndexOf('/');
4
- return idx >= 0 ? path.slice(idx + 1) : path;
5
- };
6
- export const imgRenderer = (node, ctx) => {
7
- const { alt, src, caption } = node.attrs;
8
- let label;
9
- if (alt)
10
- label = `[image: ${alt}]`;
11
- else if (src)
12
- label = `[image: ${basename(src)}]`;
13
- else
14
- label = '[image]';
15
- const main = wrap(ANSI.dim, label, ctx.color);
16
- if (caption) {
17
- const cap = wrap(ANSI.dim, caption, ctx.color);
18
- return `${main}\n${cap}`;
19
- }
20
- return main;
21
- };
22
- export const videoRenderer = (node, ctx) => {
23
- const { src } = node.attrs;
24
- return wrap(ANSI.dim, `[video: ${src ?? ''}]`, ctx.color);
25
- };
26
- export const linkCardRenderer = (node, ctx) => {
27
- const { url, title, description } = node.attrs;
28
- if (!title) {
29
- return wrap(ANSI.dim, `[link: ${url ?? ''}]`, ctx.color);
30
- }
31
- const top = `${wrap(ANSI.dim, '┌ ', ctx.color)}${title}`;
32
- const bottom = wrap(ANSI.dim, `└ ${url ?? ''}`, ctx.color);
33
- if (description) {
34
- const mid = wrap(ANSI.dim, `│ ${description}`, ctx.color);
35
- return `${top}\n${mid}\n${bottom}`;
36
- }
37
- return `${top}\n${bottom}`;
38
- };
39
- export const embedRenderer = (node, ctx) => {
40
- const { url, source } = node.attrs;
41
- const label = source
42
- ? `[embed: ${source} ${url ?? ''}]`
43
- : `[embed: ${url ?? ''}]`;
44
- return wrap(ANSI.dim, label, ctx.color);
45
- };
46
- export const embedRendererEntries = [
47
- ['img', imgRenderer],
48
- ['video', videoRenderer],
49
- ['link-card', linkCardRenderer],
50
- ['embed', embedRenderer],
51
- ];
@@ -1,9 +0,0 @@
1
- import { type BlockRenderer, type InlineRenderer } from './walker';
2
- export type { LiteXmlNode } from './parser';
3
- export { parseLitexml } from './parser';
4
- export { type BlockRenderer, type InlineRenderer, type RenderCtx, type WalkApi, } from './walker';
5
- export declare const blockRenderers: Map<string, BlockRenderer>;
6
- export declare const inlineRenderers: Map<string, InlineRenderer>;
7
- export declare const renderLexicalAnsi: (xml: string, opts: {
8
- readonly color: boolean;
9
- }) => string;
@@ -1,25 +0,0 @@
1
- import { blockRendererEntries } from './blocks';
2
- import { codeblockRenderer } from './code';
3
- import { embedRendererEntries } from './embeds';
4
- import { inlineRendererEntries } from './inlines';
5
- import { parseLitexml } from './parser';
6
- import { createWalker } from './walker';
7
- export { parseLitexml } from './parser';
8
- export const blockRenderers = new Map([
9
- ...blockRendererEntries,
10
- ...embedRendererEntries,
11
- ['codeblock', codeblockRenderer],
12
- ]);
13
- export const inlineRenderers = new Map(inlineRendererEntries);
14
- const defaultWalker = createWalker({
15
- blocks: blockRenderers,
16
- inlines: inlineRenderers,
17
- });
18
- export const renderLexicalAnsi = (xml, opts) => {
19
- const nodes = parseLitexml(xml);
20
- const out = defaultWalker.walkBlockChildren(nodes, {
21
- color: opts.color,
22
- indent: 0,
23
- });
24
- return out.replace(/\n+$/, '');
25
- };
@@ -1,17 +0,0 @@
1
- import type { InlineRenderer } from './walker';
2
- export declare const boldRenderer: InlineRenderer;
3
- export declare const italicRenderer: InlineRenderer;
4
- export declare const strikeRenderer: InlineRenderer;
5
- export declare const underlineRenderer: InlineRenderer;
6
- export declare const codeRenderer: InlineRenderer;
7
- export declare const subRenderer: InlineRenderer;
8
- export declare const supRenderer: InlineRenderer;
9
- export declare const markRenderer: InlineRenderer;
10
- export declare const linkRenderer: InlineRenderer;
11
- export declare const brRenderer: InlineRenderer;
12
- export declare const mentionRenderer: InlineRenderer;
13
- export declare const tagRenderer: InlineRenderer;
14
- export declare const commentRenderer: InlineRenderer;
15
- export declare const footnoteRenderer: InlineRenderer;
16
- export declare const rubyRenderer: InlineRenderer;
17
- export declare const inlineRendererEntries: ReadonlyArray<readonly [string, InlineRenderer]>;
@@ -1,76 +0,0 @@
1
- import { ANSI, visibleLen, wrap } from '../markdown';
2
- // Specific reset codes (not ANSI.reset) so nested formats survive — e.g.
3
- // closing italic with `\x1b[23m` doesn't strip an outer bold.
4
- const formatPair = (open, close) => {
5
- return (node, ctx, inner) => {
6
- const text = inner.walkInlineChildren(node.children, ctx);
7
- return ctx.color ? `${open}${text}${close}` : text;
8
- };
9
- };
10
- export const boldRenderer = formatPair('\x1B[1m', '\x1B[22m');
11
- export const italicRenderer = formatPair('\x1B[3m', '\x1B[23m');
12
- export const strikeRenderer = formatPair('\x1B[9m', '\x1B[29m');
13
- export const underlineRenderer = formatPair('\x1B[4m', '\x1B[24m');
14
- // Inline `code`: dim only — italic on top of dim renders inconsistently
15
- // across terminals and breaks alignment when copy-pasted.
16
- export const codeRenderer = formatPair('\x1B[2m', '\x1B[22m');
17
- // `sub`/`sup`: no real subscript/superscript in TTY — degrade to dim so the
18
- // content stays distinguishable but doesn't disrupt the line.
19
- export const subRenderer = formatPair('\x1B[2m', '\x1B[22m');
20
- export const supRenderer = formatPair('\x1B[2m', '\x1B[22m');
21
- export const markRenderer = formatPair('\x1B[7m', '\x1B[27m');
22
- export const linkRenderer = (node, ctx, inner) => {
23
- const href = node.attrs.href ?? '';
24
- const text = inner.walkInlineChildren(node.children, ctx);
25
- if (!href)
26
- return text;
27
- // If text already reveals the URL there's no point appending it.
28
- if (visibleLen(text) > 0 && text.trim() === href)
29
- return text;
30
- const suffix = wrap(ANSI.dim, ` (${href})`, ctx.color);
31
- return `${text}${suffix}`;
32
- };
33
- export const brRenderer = () => '\n';
34
- export const mentionRenderer = (node, ctx, inner) => {
35
- const handle = node.attrs.handle ?? '';
36
- const display = inner.walkInlineChildren(node.children, ctx).trim();
37
- const label = display || handle;
38
- return wrap(ANSI.dim, `@${label}`, ctx.color);
39
- };
40
- export const tagRenderer = (node, ctx, inner) => {
41
- const text = inner.walkInlineChildren(node.children, ctx).trim();
42
- return wrap(ANSI.dim, `#${text}`, ctx.color);
43
- };
44
- export const commentRenderer = (node, ctx, inner) => {
45
- const text = inner.walkInlineChildren(node.children, ctx);
46
- return wrap(ANSI.dim, text, ctx.color);
47
- };
48
- export const footnoteRenderer = (node, ctx) => {
49
- const ref = node.attrs.ref ?? '';
50
- return wrap(ANSI.dim, `[^${ref}]`, ctx.color);
51
- };
52
- export const rubyRenderer = (node, ctx, inner) => {
53
- const base = inner.walkInlineChildren(node.children, ctx);
54
- const rt = node.attrs.rt ?? '';
55
- if (!rt)
56
- return base;
57
- const suffix = wrap(ANSI.dim, ` (${rt})`, ctx.color);
58
- return `${base}${suffix}`;
59
- };
60
- export const inlineRendererEntries = [
61
- ['b', boldRenderer],
62
- ['i', italicRenderer],
63
- ['s', strikeRenderer],
64
- ['u', underlineRenderer],
65
- ['code', codeRenderer],
66
- ['sub', subRenderer],
67
- ['sup', supRenderer],
68
- ['mark', markRenderer],
69
- ['a', linkRenderer],
70
- ['br', brRenderer],
71
- ['mention', mentionRenderer],
72
- ['tag', tagRenderer],
73
- ['comment', commentRenderer],
74
- ['footnote', footnoteRenderer],
75
- ['ruby', rubyRenderer],
76
- ];
@@ -1,10 +0,0 @@
1
- export type LiteXmlNode = {
2
- readonly type: 'text';
3
- readonly value: string;
4
- } | {
5
- readonly type: 'element';
6
- readonly tag: string;
7
- readonly attrs: Readonly<Record<string, string>>;
8
- readonly children: ReadonlyArray<LiteXmlNode>;
9
- };
10
- export declare const parseLitexml: (xml: string) => ReadonlyArray<LiteXmlNode>;
@@ -1,64 +0,0 @@
1
- import { XMLParser } from 'fast-xml-parser';
2
- const TEXT_KEY = '#text';
3
- const ATTR_KEY = ':@';
4
- const parser = new XMLParser({
5
- preserveOrder: true,
6
- ignoreAttributes: false,
7
- attributeNamePrefix: '',
8
- parseAttributeValue: false,
9
- processEntities: true,
10
- trimValues: false,
11
- textNodeName: TEXT_KEY,
12
- });
13
- const normalizeAttrs = (raw) => {
14
- if (!raw || typeof raw !== 'object')
15
- return {};
16
- const out = {};
17
- for (const [k, v] of Object.entries(raw)) {
18
- out[k] = v == null ? '' : String(v);
19
- }
20
- return out;
21
- };
22
- const normalize = (raw) => {
23
- if (!Array.isArray(raw))
24
- return [];
25
- const out = [];
26
- for (const entry of raw) {
27
- if (!entry || typeof entry !== 'object')
28
- continue;
29
- const obj = entry;
30
- const attrs = normalizeAttrs(obj[ATTR_KEY]);
31
- for (const [key, value] of Object.entries(obj)) {
32
- if (key === ATTR_KEY)
33
- continue;
34
- if (key === TEXT_KEY) {
35
- out.push({ type: 'text', value: value == null ? '' : String(value) });
36
- continue;
37
- }
38
- out.push({
39
- type: 'element',
40
- tag: key,
41
- attrs,
42
- children: normalize(value),
43
- });
44
- }
45
- }
46
- return out;
47
- };
48
- export const parseLitexml = (xml) => {
49
- try {
50
- // fast-xml-parser needs a single document root; LiteXML emits multiple
51
- // top-level elements, so we synthesize one.
52
- const raw = parser.parse(`<root>${xml}</root>`);
53
- if (!Array.isArray(raw) || raw.length === 0)
54
- return [];
55
- const first = raw[0];
56
- if (!first)
57
- return [];
58
- const inner = first.root;
59
- return normalize(inner);
60
- }
61
- catch {
62
- return [];
63
- }
64
- };
@@ -1,21 +0,0 @@
1
- import type { LiteXmlNode } from './parser';
2
- export interface RenderCtx {
3
- readonly color: boolean;
4
- readonly indent: number;
5
- }
6
- export interface WalkApi {
7
- readonly walkBlock: (node: LiteXmlNode, ctx: RenderCtx) => string;
8
- readonly walkInline: (node: LiteXmlNode, ctx: RenderCtx) => string;
9
- readonly walkBlockChildren: (children: ReadonlyArray<LiteXmlNode>, ctx: RenderCtx) => string;
10
- readonly walkInlineChildren: (children: ReadonlyArray<LiteXmlNode>, ctx: RenderCtx) => string;
11
- }
12
- export type BlockRenderer = (node: Extract<LiteXmlNode, {
13
- type: 'element';
14
- }>, ctx: RenderCtx, inner: WalkApi) => string;
15
- export type InlineRenderer = (node: Extract<LiteXmlNode, {
16
- type: 'element';
17
- }>, ctx: RenderCtx, inner: WalkApi) => string;
18
- export declare const createWalker: (registries: {
19
- readonly blocks: ReadonlyMap<string, BlockRenderer>;
20
- readonly inlines: ReadonlyMap<string, InlineRenderer>;
21
- }) => WalkApi;
@@ -1,51 +0,0 @@
1
- export const createWalker = (registries) => {
2
- const walkInline = (node, ctx) => {
3
- if (node.type === 'text')
4
- return node.value;
5
- const inline = registries.inlines.get(node.tag);
6
- if (inline)
7
- return inline(node, ctx, api);
8
- return walkInlineChildren(node.children, ctx);
9
- };
10
- const walkBlock = (node, ctx) => {
11
- if (node.type === 'text')
12
- return node.value;
13
- const block = registries.blocks.get(node.tag);
14
- if (block)
15
- return block(node, ctx, api);
16
- return walkBlockChildren(node.children, ctx);
17
- };
18
- const walkInlineChildren = (children, ctx) => {
19
- let out = '';
20
- for (const child of children)
21
- out += walkInline(child, ctx);
22
- return out;
23
- };
24
- const walkBlockChildren = (children, ctx) => {
25
- if (children.length === 0)
26
- return '';
27
- let out = '';
28
- let first = true;
29
- for (const child of children) {
30
- // Drop whitespace-only text nodes between blocks — these are pretty-print
31
- // artifacts from the upstream XML serializer (litexml `compact: false`).
32
- if (child.type === 'text' && /^\s*$/.test(child.value))
33
- continue;
34
- const rendered = walkBlock(child, ctx);
35
- if (!rendered)
36
- continue;
37
- if (!first)
38
- out += '\n\n';
39
- out += rendered;
40
- first = false;
41
- }
42
- return out;
43
- };
44
- const api = {
45
- walkBlock,
46
- walkInline,
47
- walkBlockChildren,
48
- walkInlineChildren,
49
- };
50
- return api;
51
- };
@@ -1,18 +0,0 @@
1
- export interface RenderOptions {
2
- readonly color: boolean;
3
- }
4
- export declare const ANSI: {
5
- readonly reset: "\u001B[0m";
6
- readonly bold: "\u001B[1m";
7
- readonly dim: "\u001B[2m";
8
- readonly red: "\u001B[31m";
9
- readonly green: "\u001B[32m";
10
- readonly yellow: "\u001B[33m";
11
- readonly blue: "\u001B[34m";
12
- readonly magenta: "\u001B[35m";
13
- readonly cyan: "\u001B[36m";
14
- };
15
- export declare const wrap: (code: string, text: string, on: boolean) => string;
16
- export declare const visibleLen: (s: string) => number;
17
- export declare const isColorEnabled: (stream: NodeJS.WriteStream) => boolean;
18
- export declare const renderMarkdownToAnsi: (markdown: string, opts: RenderOptions) => string;