@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,54 +0,0 @@
1
- import { Args, Command } from '@effect/cli';
2
- import { Effect } from 'effect';
3
- import { ValidationJson } from '../../../domain/errors';
4
- import { Ai } from '../../../services/Ai';
5
- import { Editor } from '../../../services/Editor';
6
- import { Renderer } from '../../../services/Renderer';
7
- const recordId = Args.text({ name: 'recordId' });
8
- const formatJson = (value) => `${JSON.stringify(value, null, 2)}\n`;
9
- const parseEnvelope = (raw) => {
10
- const parsed = JSON.parse(raw);
11
- if (!parsed || typeof parsed !== 'object' || Array.isArray(parsed)) {
12
- throw new Error('expected a JSON object');
13
- }
14
- const obj = parsed;
15
- if (typeof obj.content !== 'string') {
16
- throw new Error('expected `content` field of type string');
17
- }
18
- return { content: obj.content };
19
- };
20
- const unwrapDoc = (raw) => {
21
- if (!raw || typeof raw !== 'object')
22
- return {};
23
- const r = raw;
24
- if (r.data && typeof r.data === 'object' && !Array.isArray(r.data)) {
25
- return r.data;
26
- }
27
- return r;
28
- };
29
- export const edit = Command.make('edit', { recordId }, ({ recordId }) => Effect.gen(function* () {
30
- const ai = yield* Ai;
31
- const editor = yield* Editor;
32
- const renderer = yield* Renderer;
33
- const current = unwrapDoc(yield* ai.getInsights(recordId));
34
- const initial = formatJson({
35
- content: typeof current.content === 'string' ? current.content : '',
36
- });
37
- const next = yield* editor.openEditor({
38
- filename: `ai-insights-${recordId}.json`,
39
- initialContent: initial,
40
- });
41
- if (next.trim() === initial.trim()) {
42
- yield* renderer.emitInfo('no changes');
43
- return;
44
- }
45
- const parsed = yield* Effect.try({
46
- try: () => parseEnvelope(next),
47
- catch: (err) => new ValidationJson({
48
- message: err instanceof Error ? err.message : String(err),
49
- cause: err,
50
- }),
51
- });
52
- const res = yield* ai.updateInsights(recordId, parsed);
53
- yield* renderer.emitSuccess(res);
54
- })).pipe(Command.withDescription('edit AI insights via $EDITOR'));
@@ -1,6 +0,0 @@
1
- import { Command } from '@effect/cli';
2
- import { Ai } from '../../../services/Ai';
3
- import { Renderer } from '../../../services/Renderer';
4
- export declare const get: Command.Command<"get", Ai | Renderer, import("../../../domain/errors").AiRecordNotFound | import("../../../services/Api").ApiError, {
5
- readonly recordId: string;
6
- }>;
@@ -1,11 +0,0 @@
1
- import { Args, Command } from '@effect/cli';
2
- import { Effect } from 'effect';
3
- import { Ai } from '../../../services/Ai';
4
- import { Renderer } from '../../../services/Renderer';
5
- const recordId = Args.text({ name: 'recordId' });
6
- export const get = Command.make('get', { recordId }, ({ recordId }) => Effect.gen(function* () {
7
- const ai = yield* Ai;
8
- const renderer = yield* Renderer;
9
- const res = yield* ai.getInsights(recordId);
10
- yield* renderer.emitSuccess(res);
11
- })).pipe(Command.withDescription('get AI insights by record id'));
@@ -1,30 +0,0 @@
1
- import { Command } from '@effect/cli';
2
- export declare const insightsCmd: Command.Command<"insights", import("../../../services/Ai").Ai | import("../_poll").Renderer | import("../../../services/Resolver").Resolver | import("../../../services/Editor").Editor, import("../../../domain/errors").ValidationJson | import("../../../domain/errors").AiTaskCreateFailed | import("../../../domain/errors").AiTaskFailed | import("../../../domain/errors").AiRecordNotFound | import("../../../services/Api").ApiError, {
3
- readonly subcommand: import("effect/Option").Option<{
4
- readonly id: string;
5
- readonly lang: import("effect/Option").Option<string>;
6
- readonly onlyDb: boolean;
7
- } | {
8
- readonly recordId: string;
9
- readonly force: boolean;
10
- } | {
11
- readonly recordId: string;
12
- } | {
13
- readonly recordId: string;
14
- } | {
15
- readonly page: import("effect/Option").Option<number>;
16
- readonly size: import("effect/Option").Option<number>;
17
- readonly grouped: boolean;
18
- readonly search: import("effect/Option").Option<string>;
19
- } | {
20
- readonly id: string;
21
- readonly to: string[];
22
- readonly force: boolean;
23
- readonly noWait: boolean;
24
- } | {
25
- readonly id: string;
26
- readonly to: string;
27
- readonly force: boolean;
28
- readonly noWait: boolean;
29
- }>;
30
- }>;
@@ -1,17 +0,0 @@
1
- import { Command } from '@effect/cli';
2
- import { byArticle } from './by-article';
3
- import { del } from './delete';
4
- import { edit } from './edit';
5
- import { get } from './get';
6
- import { list } from './list';
7
- import { refresh } from './refresh';
8
- import { translate } from './translate';
9
- export const insightsCmd = Command.make('insights').pipe(Command.withDescription('manage AI insights'), Command.withSubcommands([
10
- refresh,
11
- translate,
12
- list,
13
- get,
14
- byArticle,
15
- edit,
16
- del,
17
- ]));
@@ -1,10 +0,0 @@
1
- import { Command } from '@effect/cli';
2
- import { Option } from 'effect';
3
- import { Ai } from '../../../services/Ai';
4
- import { Renderer } from '../../../services/Renderer';
5
- export declare const list: Command.Command<"list", Ai | Renderer, import("../../../services/Api").ApiError, {
6
- readonly page: Option.Option<number>;
7
- readonly size: Option.Option<number>;
8
- readonly grouped: boolean;
9
- readonly search: Option.Option<string>;
10
- }>;
@@ -1,20 +0,0 @@
1
- import { Command, Options } from '@effect/cli';
2
- import { Effect, Option } from 'effect';
3
- import { Ai } from '../../../services/Ai';
4
- import { Renderer } from '../../../services/Renderer';
5
- const page = Options.integer('page').pipe(Options.optional);
6
- const size = Options.integer('size').pipe(Options.optional);
7
- const grouped = Options.boolean('grouped').pipe(Options.withDescription('group rows by article'));
8
- const search = Options.text('search').pipe(Options.optional, Options.withDescription('filter by article title (grouped mode)'));
9
- const unwrap = (value) => Option.getOrUndefined(value);
10
- export const list = Command.make('list', { page, size, grouped, search }, ({ page, size, grouped, search }) => Effect.gen(function* () {
11
- const ai = yield* Ai;
12
- const renderer = yield* Renderer;
13
- const res = yield* ai.listInsights({
14
- page: unwrap(page),
15
- size: unwrap(size),
16
- grouped,
17
- search: unwrap(search),
18
- });
19
- yield* renderer.emitSuccess(res);
20
- })).pipe(Command.withDescription('list AI insights'));
@@ -1,10 +0,0 @@
1
- import { Command } from '@effect/cli';
2
- import { Ai } from '../../../services/Ai';
3
- import { Renderer } from '../../../services/Renderer';
4
- import { Resolver } from '../../../services/Resolver';
5
- export declare const refresh: Command.Command<"refresh", Ai | Renderer | Resolver, import("../../../domain/errors").AiTaskCreateFailed | import("../../../domain/errors").AiTaskFailed | import("../../../services/Api").ApiError, {
6
- readonly id: string;
7
- readonly to: string[];
8
- readonly force: boolean;
9
- readonly noWait: boolean;
10
- }>;
@@ -1,25 +0,0 @@
1
- import { Args, Command, Options } from '@effect/cli';
2
- import { Effect } from 'effect';
3
- import { Ai } from '../../../services/Ai';
4
- import { Renderer } from '../../../services/Renderer';
5
- import { Resolver } from '../../../services/Resolver';
6
- import { followTask } from '../_poll';
7
- import { resolveArticleId } from '../_resolve';
8
- import { aiTaskView } from '../views';
9
- const id = Args.text({ name: 'idOrSlug' });
10
- const to = Options.text('to').pipe(Options.repeated, Options.withDescription('language to translate the insights into once generated (repeatable)'));
11
- const force = Options.boolean('force').pipe(Options.withDescription('regenerate even when an up-to-date result exists'));
12
- const noWait = Options.boolean('no-wait').pipe(Options.withDescription('return immediately after creating the task'));
13
- export const refresh = Command.make('refresh', { id, to, force, noWait }, ({ id, to, force, noWait }) => Effect.gen(function* () {
14
- const ai = yield* Ai;
15
- const renderer = yield* Renderer;
16
- const resolver = yield* Resolver;
17
- const refId = yield* resolveArticleId(resolver, id);
18
- const created = yield* ai.refreshInsights({
19
- refId,
20
- targetLanguages: to.length ? to : undefined,
21
- force,
22
- });
23
- const final = yield* followTask(ai, renderer, created, noWait);
24
- yield* renderer.emit(aiTaskView, final);
25
- })).pipe(Command.withDescription('refresh AI insights for an article'));
@@ -1,10 +0,0 @@
1
- import { Command } from '@effect/cli';
2
- import { Ai } from '../../../services/Ai';
3
- import { Renderer } from '../../../services/Renderer';
4
- import { Resolver } from '../../../services/Resolver';
5
- export declare const translate: Command.Command<"translate", Ai | Renderer | Resolver, import("../../../domain/errors").AiTaskCreateFailed | import("../../../domain/errors").AiTaskFailed | import("../../../services/Api").ApiError, {
6
- readonly id: string;
7
- readonly to: string;
8
- readonly force: boolean;
9
- readonly noWait: boolean;
10
- }>;
@@ -1,25 +0,0 @@
1
- import { Args, Command, Options } from '@effect/cli';
2
- import { Effect } from 'effect';
3
- import { Ai } from '../../../services/Ai';
4
- import { Renderer } from '../../../services/Renderer';
5
- import { Resolver } from '../../../services/Resolver';
6
- import { followTask } from '../_poll';
7
- import { resolveArticleId } from '../_resolve';
8
- import { aiTaskView } from '../views';
9
- const id = Args.text({ name: 'idOrSlug' });
10
- const to = Options.text('to').pipe(Options.withDescription('target language code (single)'));
11
- const force = Options.boolean('force').pipe(Options.withDescription('retranslate even when an up-to-date result exists'));
12
- const noWait = Options.boolean('no-wait').pipe(Options.withDescription('return immediately after creating the task'));
13
- export const translate = Command.make('translate', { id, to, force, noWait }, ({ id, to, force, noWait }) => Effect.gen(function* () {
14
- const ai = yield* Ai;
15
- const renderer = yield* Renderer;
16
- const resolver = yield* Resolver;
17
- const refId = yield* resolveArticleId(resolver, id);
18
- const created = yield* ai.translateInsights({
19
- refId,
20
- targetLang: to,
21
- force,
22
- });
23
- const final = yield* followTask(ai, renderer, created, noWait);
24
- yield* renderer.emit(aiTaskView, final);
25
- })).pipe(Command.withDescription('translate the existing AI insights into another language'));
@@ -1,7 +0,0 @@
1
- import { Command } from '@effect/cli';
2
- import { Ai } from '../../../services/Ai';
3
- import { Renderer } from '../../../services/Renderer';
4
- import { Resolver } from '../../../services/Resolver';
5
- export declare const byArticle: Command.Command<"by-article", Ai | Renderer | Resolver, import("../../../services/Api").ApiError, {
6
- readonly id: string;
7
- }>;
@@ -1,15 +0,0 @@
1
- import { Args, Command } from '@effect/cli';
2
- import { Effect } from 'effect';
3
- import { Ai } from '../../../services/Ai';
4
- import { Renderer } from '../../../services/Renderer';
5
- import { Resolver } from '../../../services/Resolver';
6
- import { resolveArticleId } from '../_resolve';
7
- const id = Args.text({ name: 'idOrSlug' });
8
- export const byArticle = Command.make('by-article', { id }, ({ id }) => Effect.gen(function* () {
9
- const ai = yield* Ai;
10
- const renderer = yield* Renderer;
11
- const resolver = yield* Resolver;
12
- const refId = yield* resolveArticleId(resolver, id);
13
- const res = yield* ai.getOverviewByArticle(refId);
14
- yield* renderer.emitSuccess(res);
15
- })).pipe(Command.withDescription('show the AI artifact overview for one article'));
@@ -1,11 +0,0 @@
1
- import { Command } from '@effect/cli';
2
- export declare const overviewCmd: Command.Command<"overview", import("../../../services/Ai").Ai | import("../_poll").Renderer | import("../../../services/Resolver").Resolver, import("../../../services/Api").ApiError, {
3
- readonly subcommand: import("effect/Option").Option<{
4
- readonly id: string;
5
- } | {
6
- readonly page: import("effect/Option").Option<number>;
7
- readonly size: import("effect/Option").Option<number>;
8
- readonly search: import("effect/Option").Option<string>;
9
- readonly type: import("effect/Option").Option<"post" | "note" | "page">;
10
- }>;
11
- }>;
@@ -1,4 +0,0 @@
1
- import { Command } from '@effect/cli';
2
- import { byArticle } from './by-article';
3
- import { list } from './list';
4
- export const overviewCmd = Command.make('overview').pipe(Command.withDescription('inspect the per-article AI overview board'), Command.withSubcommands([list, byArticle]));
@@ -1,10 +0,0 @@
1
- import { Command } from '@effect/cli';
2
- import { Option } from 'effect';
3
- import { Ai } from '../../../services/Ai';
4
- import { Renderer } from '../../../services/Renderer';
5
- export declare const list: Command.Command<"list", Ai | Renderer, import("../../../services/Api").ApiError, {
6
- readonly page: Option.Option<number>;
7
- readonly size: Option.Option<number>;
8
- readonly search: Option.Option<string>;
9
- readonly type: Option.Option<"post" | "note" | "page">;
10
- }>;
@@ -1,20 +0,0 @@
1
- import { Command, Options } from '@effect/cli';
2
- import { Effect, Option } from 'effect';
3
- import { Ai } from '../../../services/Ai';
4
- import { Renderer } from '../../../services/Renderer';
5
- const page = Options.integer('page').pipe(Options.optional);
6
- const size = Options.integer('size').pipe(Options.optional);
7
- const search = Options.text('search').pipe(Options.optional, Options.withDescription('filter by article title'));
8
- const type = Options.choice('type', ['post', 'note', 'page']).pipe(Options.optional, Options.withDescription('filter by article type'));
9
- const unwrap = (value) => Option.getOrUndefined(value);
10
- export const list = Command.make('list', { page, size, search, type }, ({ page, size, search, type }) => Effect.gen(function* () {
11
- const ai = yield* Ai;
12
- const renderer = yield* Renderer;
13
- const res = yield* ai.listOverview({
14
- page: unwrap(page),
15
- size: unwrap(size),
16
- search: unwrap(search),
17
- type: unwrap(type),
18
- });
19
- yield* renderer.emitSuccess(res);
20
- })).pipe(Command.withDescription('list the per-article AI overview board (grouped)'));
@@ -1,10 +0,0 @@
1
- import { Command } from '@effect/cli';
2
- import { Option } from 'effect';
3
- import { Ai } from '../../../services/Ai';
4
- import { Renderer } from '../../../services/Renderer';
5
- import { Resolver } from '../../../services/Resolver';
6
- export declare const byArticle: Command.Command<"by-article", Ai | Renderer | Resolver, import("../../../services/Api").ApiError, {
7
- readonly id: string;
8
- readonly lang: Option.Option<string>;
9
- readonly onlyDb: boolean;
10
- }>;
@@ -1,21 +0,0 @@
1
- import { Args, Command, Options } from '@effect/cli';
2
- import { Effect, Option } from 'effect';
3
- import { Ai } from '../../../services/Ai';
4
- import { Renderer } from '../../../services/Renderer';
5
- import { Resolver } from '../../../services/Resolver';
6
- import { resolveArticleId } from '../_resolve';
7
- const id = Args.text({ name: 'idOrSlug' });
8
- const lang = Options.text('lang').pipe(Options.optional);
9
- const onlyDb = Options.boolean('only-db').pipe(Options.withDescription('do not auto-generate on miss'));
10
- const unwrap = (value) => Option.getOrUndefined(value);
11
- export const byArticle = Command.make('by-article', { id, lang, onlyDb }, ({ id, lang, onlyDb }) => Effect.gen(function* () {
12
- const ai = yield* Ai;
13
- const renderer = yield* Renderer;
14
- const resolver = yield* Resolver;
15
- const refId = yield* resolveArticleId(resolver, id);
16
- const res = yield* ai.getSummariesByArticle(refId, {
17
- lang: unwrap(lang),
18
- onlyDb,
19
- });
20
- yield* renderer.emitSuccess(res);
21
- })).pipe(Command.withDescription("show an article's AI summary"));
@@ -1,7 +0,0 @@
1
- import { Command } from '@effect/cli';
2
- import { Ai } from '../../../services/Ai';
3
- import { Renderer } from '../../../services/Renderer';
4
- export declare const del: Command.Command<"delete", Ai | Renderer, import("../../../services/Api").ApiError, {
5
- readonly recordId: string;
6
- readonly force: boolean;
7
- }>;
@@ -1,18 +0,0 @@
1
- import { Args, Command, Options } from '@effect/cli';
2
- import { Effect } from 'effect';
3
- import { ValidationFailed } from '../../../domain/errors';
4
- import { Ai } from '../../../services/Ai';
5
- import { Renderer } from '../../../services/Renderer';
6
- const recordId = Args.text({ name: 'recordId' });
7
- const force = Options.boolean('force').pipe(Options.withDescription('skip the non-TTY guard'));
8
- export const del = Command.make('delete', { recordId, force }, ({ recordId, force }) => Effect.gen(function* () {
9
- if (!force && !process.stdin.isTTY) {
10
- return yield* Effect.fail(new ValidationFailed({
11
- message: 'refusing to delete without --force in non-TTY context',
12
- }));
13
- }
14
- const ai = yield* Ai;
15
- const renderer = yield* Renderer;
16
- yield* ai.deleteSummary(recordId);
17
- yield* renderer.emitSuccess({ deleted: recordId });
18
- })).pipe(Command.withDescription('delete an AI summary'));
@@ -1,8 +0,0 @@
1
- import { Command } from '@effect/cli';
2
- import { ValidationJson } from '../../../domain/errors';
3
- import { Ai } from '../../../services/Ai';
4
- import { Editor } from '../../../services/Editor';
5
- import { Renderer } from '../../../services/Renderer';
6
- export declare const edit: Command.Command<"edit", Ai | Renderer | Editor, ValidationJson | import("../../../domain/errors").AiRecordNotFound | import("../../../services/Api").ApiError, {
7
- readonly recordId: string;
8
- }>;
@@ -1,54 +0,0 @@
1
- import { Args, Command } from '@effect/cli';
2
- import { Effect } from 'effect';
3
- import { ValidationJson } from '../../../domain/errors';
4
- import { Ai } from '../../../services/Ai';
5
- import { Editor } from '../../../services/Editor';
6
- import { Renderer } from '../../../services/Renderer';
7
- const recordId = Args.text({ name: 'recordId' });
8
- const formatJson = (value) => `${JSON.stringify(value, null, 2)}\n`;
9
- const parseEnvelope = (raw) => {
10
- const parsed = JSON.parse(raw);
11
- if (!parsed || typeof parsed !== 'object' || Array.isArray(parsed)) {
12
- throw new Error('expected a JSON object');
13
- }
14
- const obj = parsed;
15
- if (typeof obj.summary !== 'string') {
16
- throw new Error('expected `summary` field of type string');
17
- }
18
- return { summary: obj.summary };
19
- };
20
- const unwrapDoc = (raw) => {
21
- if (!raw || typeof raw !== 'object')
22
- return {};
23
- const r = raw;
24
- if (r.data && typeof r.data === 'object' && !Array.isArray(r.data)) {
25
- return r.data;
26
- }
27
- return r;
28
- };
29
- export const edit = Command.make('edit', { recordId }, ({ recordId }) => Effect.gen(function* () {
30
- const ai = yield* Ai;
31
- const editor = yield* Editor;
32
- const renderer = yield* Renderer;
33
- const current = unwrapDoc(yield* ai.getSummary(recordId));
34
- const initial = formatJson({
35
- summary: typeof current.summary === 'string' ? current.summary : '',
36
- });
37
- const next = yield* editor.openEditor({
38
- filename: `ai-summary-${recordId}.json`,
39
- initialContent: initial,
40
- });
41
- if (next.trim() === initial.trim()) {
42
- yield* renderer.emitInfo('no changes');
43
- return;
44
- }
45
- const parsed = yield* Effect.try({
46
- try: () => parseEnvelope(next),
47
- catch: (err) => new ValidationJson({
48
- message: err instanceof Error ? err.message : String(err),
49
- cause: err,
50
- }),
51
- });
52
- const res = yield* ai.updateSummary(recordId, parsed);
53
- yield* renderer.emitSuccess(res);
54
- })).pipe(Command.withDescription('edit an AI summary via $EDITOR'));
@@ -1,6 +0,0 @@
1
- import { Command } from '@effect/cli';
2
- import { Ai } from '../../../services/Ai';
3
- import { Renderer } from '../../../services/Renderer';
4
- export declare const get: Command.Command<"get", Ai | Renderer, import("../../../domain/errors").AiRecordNotFound | import("../../../services/Api").ApiError, {
5
- readonly recordId: string;
6
- }>;
@@ -1,11 +0,0 @@
1
- import { Args, Command } from '@effect/cli';
2
- import { Effect } from 'effect';
3
- import { Ai } from '../../../services/Ai';
4
- import { Renderer } from '../../../services/Renderer';
5
- const recordId = Args.text({ name: 'recordId' });
6
- export const get = Command.make('get', { recordId }, ({ recordId }) => Effect.gen(function* () {
7
- const ai = yield* Ai;
8
- const renderer = yield* Renderer;
9
- const res = yield* ai.getSummary(recordId);
10
- yield* renderer.emitSuccess(res);
11
- })).pipe(Command.withDescription('get an AI summary by record id'));
@@ -1,30 +0,0 @@
1
- import { Command } from '@effect/cli';
2
- export declare const summaryCmd: Command.Command<"summary", import("../../../services/Ai").Ai | import("../_poll").Renderer | import("../../../services/Resolver").Resolver | import("../../../services/Editor").Editor, import("../../../domain/errors").ValidationJson | import("../../../domain/errors").AiTaskCreateFailed | import("../../../domain/errors").AiTaskFailed | import("../../../domain/errors").AiRecordNotFound | import("../../../services/Api").ApiError, {
3
- readonly subcommand: import("effect/Option").Option<{
4
- readonly id: string;
5
- readonly lang: import("effect/Option").Option<string>;
6
- readonly onlyDb: boolean;
7
- } | {
8
- readonly recordId: string;
9
- readonly force: boolean;
10
- } | {
11
- readonly recordId: string;
12
- } | {
13
- readonly recordId: string;
14
- } | {
15
- readonly page: import("effect/Option").Option<number>;
16
- readonly size: import("effect/Option").Option<number>;
17
- readonly grouped: boolean;
18
- readonly search: import("effect/Option").Option<string>;
19
- } | {
20
- readonly id: string;
21
- readonly to: string[];
22
- readonly force: boolean;
23
- readonly noWait: boolean;
24
- } | {
25
- readonly id: string;
26
- readonly to: string;
27
- readonly force: boolean;
28
- readonly noWait: boolean;
29
- }>;
30
- }>;
@@ -1,9 +0,0 @@
1
- import { Command } from '@effect/cli';
2
- import { byArticle } from './by-article';
3
- import { del } from './delete';
4
- import { edit } from './edit';
5
- import { get } from './get';
6
- import { list } from './list';
7
- import { regen } from './regen';
8
- import { translate } from './translate';
9
- export const summaryCmd = Command.make('summary').pipe(Command.withDescription('manage AI summaries'), Command.withSubcommands([regen, translate, list, get, byArticle, edit, del]));
@@ -1,10 +0,0 @@
1
- import { Command } from '@effect/cli';
2
- import { Option } from 'effect';
3
- import { Ai } from '../../../services/Ai';
4
- import { Renderer } from '../../../services/Renderer';
5
- export declare const list: Command.Command<"list", Ai | Renderer, import("../../../services/Api").ApiError, {
6
- readonly page: Option.Option<number>;
7
- readonly size: Option.Option<number>;
8
- readonly grouped: boolean;
9
- readonly search: Option.Option<string>;
10
- }>;
@@ -1,20 +0,0 @@
1
- import { Command, Options } from '@effect/cli';
2
- import { Effect, Option } from 'effect';
3
- import { Ai } from '../../../services/Ai';
4
- import { Renderer } from '../../../services/Renderer';
5
- const page = Options.integer('page').pipe(Options.optional);
6
- const size = Options.integer('size').pipe(Options.optional);
7
- const grouped = Options.boolean('grouped').pipe(Options.withDescription('group rows by article'));
8
- const search = Options.text('search').pipe(Options.optional, Options.withDescription('filter by article title (grouped mode)'));
9
- const unwrap = (value) => Option.getOrUndefined(value);
10
- export const list = Command.make('list', { page, size, grouped, search }, ({ page, size, grouped, search }) => Effect.gen(function* () {
11
- const ai = yield* Ai;
12
- const renderer = yield* Renderer;
13
- const res = yield* ai.listSummaries({
14
- page: unwrap(page),
15
- size: unwrap(size),
16
- grouped,
17
- search: unwrap(search),
18
- });
19
- yield* renderer.emitSuccess(res);
20
- })).pipe(Command.withDescription('list AI summaries'));
@@ -1,10 +0,0 @@
1
- import { Command } from '@effect/cli';
2
- import { Ai } from '../../../services/Ai';
3
- import { Renderer } from '../../../services/Renderer';
4
- import { Resolver } from '../../../services/Resolver';
5
- export declare const regen: Command.Command<"regen", Ai | Renderer | Resolver, import("../../../domain/errors").AiTaskCreateFailed | import("../../../domain/errors").AiTaskFailed | import("../../../services/Api").ApiError, {
6
- readonly id: string;
7
- readonly to: string[];
8
- readonly force: boolean;
9
- readonly noWait: boolean;
10
- }>;
@@ -1,25 +0,0 @@
1
- import { Args, Command, Options } from '@effect/cli';
2
- import { Effect } from 'effect';
3
- import { Ai } from '../../../services/Ai';
4
- import { Renderer } from '../../../services/Renderer';
5
- import { Resolver } from '../../../services/Resolver';
6
- import { followTask } from '../_poll';
7
- import { resolveArticleId } from '../_resolve';
8
- import { aiTaskView } from '../views';
9
- const id = Args.text({ name: 'idOrSlug' });
10
- const to = Options.text('to').pipe(Options.repeated, Options.withDescription('target language code (repeatable)'));
11
- const force = Options.boolean('force').pipe(Options.withDescription('regenerate even when an up-to-date result exists'));
12
- const noWait = Options.boolean('no-wait').pipe(Options.withDescription('return immediately after creating the task'));
13
- export const regen = Command.make('regen', { id, to, force, noWait }, ({ id, to, force, noWait }) => Effect.gen(function* () {
14
- const ai = yield* Ai;
15
- const renderer = yield* Renderer;
16
- const resolver = yield* Resolver;
17
- const refId = yield* resolveArticleId(resolver, id);
18
- const created = yield* ai.regenSummary({
19
- refId,
20
- targetLanguages: to.length ? to : undefined,
21
- force,
22
- });
23
- const final = yield* followTask(ai, renderer, created, noWait);
24
- yield* renderer.emit(aiTaskView, final);
25
- })).pipe(Command.withDescription('regenerate the AI summary for an article'));
@@ -1,10 +0,0 @@
1
- import { Command } from '@effect/cli';
2
- import { Ai } from '../../../services/Ai';
3
- import { Renderer } from '../../../services/Renderer';
4
- import { Resolver } from '../../../services/Resolver';
5
- export declare const translate: Command.Command<"translate", Ai | Renderer | Resolver, import("../../../domain/errors").AiTaskCreateFailed | import("../../../domain/errors").AiTaskFailed | import("../../../services/Api").ApiError, {
6
- readonly id: string;
7
- readonly to: string;
8
- readonly force: boolean;
9
- readonly noWait: boolean;
10
- }>;
@@ -1,25 +0,0 @@
1
- import { Args, Command, Options } from '@effect/cli';
2
- import { Effect } from 'effect';
3
- import { Ai } from '../../../services/Ai';
4
- import { Renderer } from '../../../services/Renderer';
5
- import { Resolver } from '../../../services/Resolver';
6
- import { followTask } from '../_poll';
7
- import { resolveArticleId } from '../_resolve';
8
- import { aiTaskView } from '../views';
9
- const id = Args.text({ name: 'idOrSlug' });
10
- const to = Options.text('to').pipe(Options.withDescription('target language code (single)'));
11
- const force = Options.boolean('force').pipe(Options.withDescription('retranslate even when an up-to-date result exists'));
12
- const noWait = Options.boolean('no-wait').pipe(Options.withDescription('return immediately after creating the task'));
13
- export const translate = Command.make('translate', { id, to, force, noWait }, ({ id, to, force, noWait }) => Effect.gen(function* () {
14
- const ai = yield* Ai;
15
- const renderer = yield* Renderer;
16
- const resolver = yield* Resolver;
17
- const refId = yield* resolveArticleId(resolver, id);
18
- const created = yield* ai.translateSummary({
19
- refId,
20
- targetLang: to,
21
- force,
22
- });
23
- const final = yield* followTask(ai, renderer, created, noWait);
24
- yield* renderer.emit(aiTaskView, final);
25
- })).pipe(Command.withDescription('translate the existing AI summary into another language'));
@@ -1,9 +0,0 @@
1
- import { Command } from '@effect/cli';
2
- import { Option } from 'effect';
3
- import { Ai } from '../../../services/Ai';
4
- import { Renderer } from '../../../services/Renderer';
5
- import { Resolver } from '../../../services/Resolver';
6
- export declare const byArticle: Command.Command<"by-article", Ai | Renderer | Resolver, import("../../../services/Api").ApiError, {
7
- readonly id: string;
8
- readonly lang: Option.Option<string>;
9
- }>;