@mx-space/cli 0.1.1 → 0.2.1
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.
- package/README.md +101 -28
- package/ROADMAP.md +4 -3
- package/dist/{Lexical.dev-DpU35QTu.mjs → Lexical.dev-CMevU1DO.mjs} +1 -1
- package/dist/{Lexical.dev-DpU35QTu.mjs.map → Lexical.dev-CMevU1DO.mjs.map} +1 -1
- package/dist/{Lexical.node-gYNDt_p9.mjs → Lexical.node-BR9e7Cyk.mjs} +2 -2
- package/dist/{Lexical.node-gYNDt_p9.mjs.map → Lexical.node-BR9e7Cyk.mjs.map} +1 -1
- package/dist/{Lexical.prod-t4c3bHV3.mjs → Lexical.prod-PUD-z9fY.mjs} +1 -1
- package/dist/{Lexical.prod-t4c3bHV3.mjs.map → Lexical.prod-PUD-z9fY.mjs.map} +1 -1
- package/dist/{LexicalClipboard.dev-CdeeWCIq.mjs → LexicalClipboard.dev-DZC2zppG.mjs} +6 -6
- package/dist/{LexicalClipboard.dev-CdeeWCIq.mjs.map → LexicalClipboard.dev-DZC2zppG.mjs.map} +1 -1
- package/dist/{LexicalClipboard.node-0e9GBL1g.mjs → LexicalClipboard.node-e5G1wVGb.mjs} +2 -2
- package/dist/{LexicalClipboard.node-0e9GBL1g.mjs.map → LexicalClipboard.node-e5G1wVGb.mjs.map} +1 -1
- package/dist/{LexicalClipboard.prod-CsCWYmV7.mjs → LexicalClipboard.prod-DE2azzIb.mjs} +6 -6
- package/dist/{LexicalClipboard.prod-CsCWYmV7.mjs.map → LexicalClipboard.prod-DE2azzIb.mjs.map} +1 -1
- package/dist/{LexicalCodeCore.dev-haI2cqH8.mjs → LexicalCodeCore.dev-gs--x55I.mjs} +3 -3
- package/dist/{LexicalCodeCore.dev-haI2cqH8.mjs.map → LexicalCodeCore.dev-gs--x55I.mjs.map} +1 -1
- package/dist/{LexicalCodeCore.prod-D_k7zuE5.mjs → LexicalCodeCore.prod-DPHOnyEj.mjs} +3 -3
- package/dist/{LexicalCodeCore.prod-D_k7zuE5.mjs.map → LexicalCodeCore.prod-DPHOnyEj.mjs.map} +1 -1
- package/dist/{LexicalDragon.dev-CAggdFh_.mjs → LexicalDragon.dev-CVe8bzVN.mjs} +3 -3
- package/dist/{LexicalDragon.dev-CAggdFh_.mjs.map → LexicalDragon.dev-CVe8bzVN.mjs.map} +1 -1
- package/dist/{LexicalDragon.node-QMR_wqJg.mjs → LexicalDragon.node-c7EHvcnK.mjs} +2 -2
- package/dist/{LexicalDragon.node-QMR_wqJg.mjs.map → LexicalDragon.node-c7EHvcnK.mjs.map} +1 -1
- package/dist/{LexicalDragon.prod-OssQhwS-.mjs → LexicalDragon.prod-D6KvqyLD.mjs} +3 -3
- package/dist/{LexicalDragon.prod-OssQhwS-.mjs.map → LexicalDragon.prod-D6KvqyLD.mjs.map} +1 -1
- package/dist/{LexicalExtension.dev-CtDZiMCU.mjs → LexicalExtension.dev-PDo8HyEw.mjs} +3 -3
- package/dist/{LexicalExtension.dev-CtDZiMCU.mjs.map → LexicalExtension.dev-PDo8HyEw.mjs.map} +1 -1
- package/dist/{LexicalExtension.node-BM0gh8zu.mjs → LexicalExtension.node-BKzjRb-0.mjs} +2 -2
- package/dist/{LexicalExtension.node-BM0gh8zu.mjs.map → LexicalExtension.node-BKzjRb-0.mjs.map} +1 -1
- package/dist/{LexicalExtension.prod-Ug6emhEO.mjs → LexicalExtension.prod-D0x_lX7q.mjs} +3 -3
- package/dist/{LexicalExtension.prod-Ug6emhEO.mjs.map → LexicalExtension.prod-D0x_lX7q.mjs.map} +1 -1
- package/dist/{LexicalHeadless.dev-D4yQpl_s.mjs → LexicalHeadless.dev-DBKcW82j.mjs} +2 -2
- package/dist/{LexicalHeadless.dev-D4yQpl_s.mjs.map → LexicalHeadless.dev-DBKcW82j.mjs.map} +1 -1
- package/dist/{LexicalHeadless.prod-jeN65B3k.mjs → LexicalHeadless.prod-D4nEh7cR.mjs} +2 -2
- package/dist/{LexicalHeadless.prod-jeN65B3k.mjs.map → LexicalHeadless.prod-D4nEh7cR.mjs.map} +1 -1
- package/dist/{LexicalHtml.dev-BdU1_ITQ.mjs → LexicalHtml.dev-vsWW05es.mjs} +4 -4
- package/dist/{LexicalHtml.dev-BdU1_ITQ.mjs.map → LexicalHtml.dev-vsWW05es.mjs.map} +1 -1
- package/dist/{LexicalHtml.node-DLtAh00E.mjs → LexicalHtml.node-CpibAfba.mjs} +2 -2
- package/dist/{LexicalHtml.node-DLtAh00E.mjs.map → LexicalHtml.node-CpibAfba.mjs.map} +1 -1
- package/dist/{LexicalHtml.prod-DdLE1HHT.mjs → LexicalHtml.prod-Bqz-3WAp.mjs} +4 -4
- package/dist/{LexicalHtml.prod-DdLE1HHT.mjs.map → LexicalHtml.prod-Bqz-3WAp.mjs.map} +1 -1
- package/dist/{LexicalLink.dev-DK87Biuy.mjs → LexicalLink.dev-BO0J0B1E.mjs} +4 -4
- package/dist/{LexicalLink.dev-DK87Biuy.mjs.map → LexicalLink.dev-BO0J0B1E.mjs.map} +1 -1
- package/dist/{LexicalLink.prod-fssuv6Sf.mjs → LexicalLink.prod-D66AhUCZ.mjs} +4 -4
- package/dist/{LexicalLink.prod-fssuv6Sf.mjs.map → LexicalLink.prod-D66AhUCZ.mjs.map} +1 -1
- package/dist/{LexicalList.dev-BJ4dr_rk.mjs → LexicalList.dev-DVGTWRk0.mjs} +4 -4
- package/dist/{LexicalList.dev-BJ4dr_rk.mjs.map → LexicalList.dev-DVGTWRk0.mjs.map} +1 -1
- package/dist/{LexicalList.prod-jWBbaWfi.mjs → LexicalList.prod-Bao7NGl7.mjs} +4 -4
- package/dist/{LexicalList.prod-jWBbaWfi.mjs.map → LexicalList.prod-Bao7NGl7.mjs.map} +1 -1
- package/dist/{LexicalMarkdown.dev-C8e-eh6y.mjs → LexicalMarkdown.dev-CRWkZwlp.mjs} +4 -4
- package/dist/{LexicalMarkdown.dev-C8e-eh6y.mjs.map → LexicalMarkdown.dev-CRWkZwlp.mjs.map} +1 -1
- package/dist/{LexicalMarkdown.prod-k73tZVb2.mjs → LexicalMarkdown.prod-tGG6js4r.mjs} +4 -4
- package/dist/{LexicalMarkdown.prod-k73tZVb2.mjs.map → LexicalMarkdown.prod-tGG6js4r.mjs.map} +1 -1
- package/dist/{LexicalRichText.dev-CrSqq3K-.mjs → LexicalRichText.dev-DPXfQePC.mjs} +6 -6
- package/dist/{LexicalRichText.dev-CrSqq3K-.mjs.map → LexicalRichText.dev-DPXfQePC.mjs.map} +1 -1
- package/dist/{LexicalRichText.node-B7k7wlQz.mjs → LexicalRichText.node-BEkm_YwY.mjs} +5 -5
- package/dist/{LexicalRichText.node-B7k7wlQz.mjs.map → LexicalRichText.node-BEkm_YwY.mjs.map} +1 -1
- package/dist/{LexicalRichText.prod-CqvyxQ9m.mjs → LexicalRichText.prod-DlfudC5w.mjs} +6 -6
- package/dist/{LexicalRichText.prod-CqvyxQ9m.mjs.map → LexicalRichText.prod-DlfudC5w.mjs.map} +1 -1
- package/dist/{LexicalSelection.dev-sNOHKHe_.mjs → LexicalSelection.dev-BVTArZ-b.mjs} +2 -2
- package/dist/{LexicalSelection.dev-sNOHKHe_.mjs.map → LexicalSelection.dev-BVTArZ-b.mjs.map} +1 -1
- package/dist/{LexicalSelection.node-Di7GwBCZ.mjs → LexicalSelection.node-CQ8iTYsz.mjs} +2 -2
- package/dist/{LexicalSelection.node-Di7GwBCZ.mjs.map → LexicalSelection.node-CQ8iTYsz.mjs.map} +1 -1
- package/dist/{LexicalSelection.prod-SWllPJop.mjs → LexicalSelection.prod-BZKGGs-G.mjs} +2 -2
- package/dist/{LexicalSelection.prod-SWllPJop.mjs.map → LexicalSelection.prod-BZKGGs-G.mjs.map} +1 -1
- package/dist/{LexicalTable.dev-CQkLHXJx.mjs → LexicalTable.dev-C-AOEpJn.mjs} +5 -5
- package/dist/{LexicalTable.dev-CQkLHXJx.mjs.map → LexicalTable.dev-C-AOEpJn.mjs.map} +1 -1
- package/dist/{LexicalTable.prod-BtqCwKSi.mjs → LexicalTable.prod-Cyn0qWxZ.mjs} +5 -5
- package/dist/{LexicalTable.prod-BtqCwKSi.mjs.map → LexicalTable.prod-Cyn0qWxZ.mjs.map} +1 -1
- package/dist/{LexicalUtils.dev-DiUpsXE8.mjs → LexicalUtils.dev-DRRDyAlS.mjs} +3 -3
- package/dist/{LexicalUtils.dev-DiUpsXE8.mjs.map → LexicalUtils.dev-DRRDyAlS.mjs.map} +1 -1
- package/dist/{LexicalUtils.node-CmK462d1.mjs → LexicalUtils.node-Dz-HANi6.mjs} +2 -2
- package/dist/{LexicalUtils.node-CmK462d1.mjs.map → LexicalUtils.node-Dz-HANi6.mjs.map} +1 -1
- package/dist/{LexicalUtils.prod-bWwV4GAF.mjs → LexicalUtils.prod-CmeHwh8W.mjs} +3 -3
- package/dist/{LexicalUtils.prod-bWwV4GAF.mjs.map → LexicalUtils.prod-CmeHwh8W.mjs.map} +1 -1
- package/dist/{auth-OeKZZ_2x.mjs → auth-CAKmTDpF.mjs} +11 -11
- package/dist/auth-CAKmTDpF.mjs.map +1 -0
- package/dist/bin/mxs.d.mts +2 -1
- package/dist/bin/mxs.mjs +402 -55
- package/dist/bin/mxs.mjs.map +1 -1
- package/dist/{config-store-WL7dNMS6.mjs → config-store-B8_9iStL.mjs} +21 -81
- package/dist/config-store-B8_9iStL.mjs.map +1 -0
- package/dist/{create-Cxnqt_Wt.mjs → create-5wbU7IQh.mjs} +5 -5
- package/dist/{create-Cxnqt_Wt.mjs.map → create-5wbU7IQh.mjs.map} +1 -1
- package/dist/{create-DUOSAqBm.mjs → create-Bs6K7AyQ.mjs} +3 -3
- package/dist/{create-DUOSAqBm.mjs.map → create-Bs6K7AyQ.mjs.map} +1 -1
- package/dist/{create-C85MSrtt.mjs → create-DBReocgJ.mjs} +5 -5
- package/dist/{create-C85MSrtt.mjs.map → create-DBReocgJ.mjs.map} +1 -1
- package/dist/{create-BVHnXtIH.mjs → create-DGVaE0_S.mjs} +4 -4
- package/dist/{create-BVHnXtIH.mjs.map → create-DGVaE0_S.mjs.map} +1 -1
- package/dist/{create-BWA2WGrW.mjs → create-lLFZuMsz.mjs} +3 -3
- package/dist/{create-BWA2WGrW.mjs.map → create-lLFZuMsz.mjs.map} +1 -1
- package/dist/{delete-CGy-cV6k.mjs → delete-6tkhHQDp.mjs} +5 -5
- package/dist/delete-6tkhHQDp.mjs.map +1 -0
- package/dist/{delete-CcyrLNZv.mjs → delete-CRFxitDN.mjs} +6 -6
- package/dist/delete-CRFxitDN.mjs.map +1 -0
- package/dist/{delete-Cjxehwj7.mjs → delete-DU2Hvsy8.mjs} +5 -5
- package/dist/delete-DU2Hvsy8.mjs.map +1 -0
- package/dist/{delete-BEXOOFAJ.mjs → delete-nJmHtvfq.mjs} +6 -6
- package/dist/delete-nJmHtvfq.mjs.map +1 -0
- package/dist/{delete-CKqlAUT8.mjs → delete-tJhXI8s4.mjs} +5 -5
- package/dist/delete-tJhXI8s4.mjs.map +1 -0
- package/dist/{onboarding-C1t1yoay.mjs → dist-DJF1Ntdn.mjs} +95 -173
- package/dist/dist-DJF1Ntdn.mjs.map +1 -0
- package/dist/{document-output-C5PWbz2p.mjs → document-output-BFJdwPV0.mjs} +5 -5
- package/dist/document-output-BFJdwPV0.mjs.map +1 -0
- package/dist/{edit-BuKMUNVC.mjs → edit-BMjTbPQO.mjs} +5 -5
- package/dist/edit-BMjTbPQO.mjs.map +1 -0
- package/dist/{edit-DFnOnk4i.mjs → edit-BnEmMmv6.mjs} +9 -9
- package/dist/edit-BnEmMmv6.mjs.map +1 -0
- package/dist/{edit-BRaZ6GGg.mjs → edit-C4vRSmRy.mjs} +9 -9
- package/dist/{edit-BRaZ6GGg.mjs.map → edit-C4vRSmRy.mjs.map} +1 -1
- package/dist/{edit-t108N11Q.mjs → edit-CQsW5gnk.mjs} +8 -8
- package/dist/{edit-t108N11Q.mjs.map → edit-CQsW5gnk.mjs.map} +1 -1
- package/dist/{editor-xrF-j3UE.mjs → editor-BIw1ALTF.mjs} +4 -4
- package/dist/editor-BIw1ALTF.mjs.map +1 -0
- package/dist/{envelope-overlays-DPAlMNW1.mjs → envelope-overlays-DXXygxdF.mjs} +2 -2
- package/dist/{envelope-overlays-DPAlMNW1.mjs.map → envelope-overlays-DXXygxdF.mjs.map} +1 -1
- package/dist/{get-CwcNFb39.mjs → get-B3Y5hAAO.mjs} +3 -3
- package/dist/{get-CwcNFb39.mjs.map → get-B3Y5hAAO.mjs.map} +1 -1
- package/dist/{get-DnDvLa9S.mjs → get-C5fmd5Vf.mjs} +4 -4
- package/dist/{get-DnDvLa9S.mjs.map → get-C5fmd5Vf.mjs.map} +1 -1
- package/dist/{get-Doi-NKAh.mjs → get-Cdp2tmwz.mjs} +6 -6
- package/dist/get-Cdp2tmwz.mjs.map +1 -0
- package/dist/{get-DxTU7Nom.mjs → get-D18ChSKU.mjs} +3 -3
- package/dist/{get-DxTU7Nom.mjs.map → get-D18ChSKU.mjs.map} +1 -1
- package/dist/{get-BYoAlJwB.mjs → get-NSHTGu4Y.mjs} +4 -4
- package/dist/{get-BYoAlJwB.mjs.map → get-NSHTGu4Y.mjs.map} +1 -1
- package/dist/{get-GdRz82RW.mjs → get-XBPJr95m.mjs} +4 -4
- package/dist/{get-GdRz82RW.mjs.map → get-XBPJr95m.mjs.map} +1 -1
- package/dist/index.d.mts +57 -11
- package/dist/index.mjs +11 -10
- package/dist/{list-DVunNsXr.mjs → list-B6703n9X.mjs} +3 -3
- package/dist/{list-DVunNsXr.mjs.map → list-B6703n9X.mjs.map} +1 -1
- package/dist/{list-DN81zVDA.mjs → list-BtNocJhc.mjs} +3 -3
- package/dist/{list-DN81zVDA.mjs.map → list-BtNocJhc.mjs.map} +1 -1
- package/dist/{list-DHG-MzOM.mjs → list-C9dXrU9H.mjs} +3 -3
- package/dist/{list-DHG-MzOM.mjs.map → list-C9dXrU9H.mjs.map} +1 -1
- package/dist/{list-CtME3aDw.mjs → list-CcwcYZgN.mjs} +3 -3
- package/dist/{list-CtME3aDw.mjs.map → list-CcwcYZgN.mjs.map} +1 -1
- package/dist/{list-CLAcZYZ4.mjs → list-Ctc8b5gT.mjs} +3 -3
- package/dist/{list-CLAcZYZ4.mjs.map → list-Ctc8b5gT.mjs.map} +1 -1
- package/dist/{list-DbNCVZbz.mjs → list-b60JzCTw.mjs} +3 -3
- package/dist/{list-DbNCVZbz.mjs.map → list-b60JzCTw.mjs.map} +1 -1
- package/dist/{litexml-codec-CDoRloiR.mjs → litexml-codec-CfIxcPG0.mjs} +10 -10
- package/dist/{litexml-codec-CDoRloiR.mjs.map → litexml-codec-CfIxcPG0.mjs.map} +1 -1
- package/dist/{login-mjliJn8U.mjs → login-bZx4HaVs.mjs} +21 -9
- package/dist/{login-mjliJn8U.mjs.map → login-bZx4HaVs.mjs.map} +1 -1
- package/dist/logout-C0Dzitsu.mjs +18 -0
- package/dist/logout-C0Dzitsu.mjs.map +1 -0
- package/dist/ls-wMiTXZPQ.mjs +33 -0
- package/dist/ls-wMiTXZPQ.mjs.map +1 -0
- package/dist/mark-Dh9BErsf.mjs +29 -0
- package/dist/mark-Dh9BErsf.mjs.map +1 -0
- package/dist/onboarding-Bw_I8qpf.mjs +214 -0
- package/dist/onboarding-Bw_I8qpf.mjs.map +1 -0
- package/dist/{output-CTnO1lYt.d.mts → output-D2dDlyV2.d.mts} +1 -1
- package/dist/{output-BM7aBFwt.mjs → output-vzequvhd.mjs} +52 -9
- package/dist/output-vzequvhd.mjs.map +1 -0
- package/dist/{payload-CN11pUto.mjs → payload-CO4zbNr8.mjs} +17 -17
- package/dist/payload-CO4zbNr8.mjs.map +1 -0
- package/dist/profile-CNe2uWJi.mjs +172 -0
- package/dist/profile-CNe2uWJi.mjs.map +1 -0
- package/dist/{publish-akQWYsnL.mjs → publish-CzzucXQq.mjs} +4 -4
- package/dist/{publish-akQWYsnL.mjs.map → publish-CzzucXQq.mjs.map} +1 -1
- package/dist/{publish-CN3NTJ_r.mjs → publish-DRQkpxsz.mjs} +4 -4
- package/dist/{publish-CN3NTJ_r.mjs.map → publish-DRQkpxsz.mjs.map} +1 -1
- package/dist/{resolve-CyjMlaoJ.mjs → resolve-BYg5Gees.mjs} +5 -5
- package/dist/resolve-BYg5Gees.mjs.map +1 -0
- package/dist/{resolve-Bw5Po9yK.mjs → resolve-BlpMdnaM.mjs} +4 -4
- package/dist/resolve-BlpMdnaM.mjs.map +1 -0
- package/dist/{resolve-BogJOR7R.mjs → resolve-CUsHGcb-.mjs} +4 -4
- package/dist/resolve-CUsHGcb-.mjs.map +1 -0
- package/dist/{resolve-helpers-CahPoJ0Y.mjs → resolve-helpers-CoHYa2uk.mjs} +2 -2
- package/dist/{resolve-helpers-CahPoJ0Y.mjs.map → resolve-helpers-CoHYa2uk.mjs.map} +1 -1
- package/dist/{resolve-Bp1AfBmM.mjs → resolve-jdb1VqAG.mjs} +5 -5
- package/dist/resolve-jdb1VqAG.mjs.map +1 -0
- package/dist/rm-D-2iW1Cr.mjs +33 -0
- package/dist/rm-D-2iW1Cr.mjs.map +1 -0
- package/dist/run-Dnax6uhZ.mjs +130 -0
- package/dist/run-Dnax6uhZ.mjs.map +1 -0
- package/dist/self-update-CZywTwGd.mjs +1610 -0
- package/dist/self-update-CZywTwGd.mjs.map +1 -0
- package/dist/{set-ClbrGFGv.mjs → set-Dk28LAy5.mjs} +5 -5
- package/dist/set-Dk28LAy5.mjs.map +1 -0
- package/dist/{shared-C2EAn5h_.mjs → shared-d0_6ZPn_.mjs} +13 -9
- package/dist/shared-d0_6ZPn_.mjs.map +1 -0
- package/dist/show-DScu6mXz.mjs +39 -0
- package/dist/show-DScu6mXz.mjs.map +1 -0
- package/dist/status-8F6tgphP.mjs +23 -0
- package/dist/status-8F6tgphP.mjs.map +1 -0
- package/dist/{update-dc-72pUN.mjs → update-B1LGxV0n.mjs} +6 -6
- package/dist/{update-dc-72pUN.mjs.map → update-B1LGxV0n.mjs.map} +1 -1
- package/dist/{update-CHmckeo8.mjs → update-CXetpFT3.mjs} +4 -4
- package/dist/{update-CHmckeo8.mjs.map → update-CXetpFT3.mjs.map} +1 -1
- package/dist/{update-Duh-iVOZ.mjs → update-Dr4BW8U-.mjs} +6 -6
- package/dist/{update-Duh-iVOZ.mjs.map → update-Dr4BW8U-.mjs.map} +1 -1
- package/dist/{update-qfiC-9Og.mjs → update-bqcHRJPC.mjs} +6 -6
- package/dist/update-bqcHRJPC.mjs.map +1 -0
- package/dist/{update-CJjwg09n.mjs → update-dBtzzmkN.mjs} +5 -5
- package/dist/update-dBtzzmkN.mjs.map +1 -0
- package/dist/use-D7eKESSW.mjs +29 -0
- package/dist/use-D7eKESSW.mjs.map +1 -0
- package/dist/{whoami-UwcdRchK.mjs → whoami-CKSNd6zL.mjs} +6 -6
- package/dist/whoami-CKSNd6zL.mjs.map +1 -0
- package/package.json +15 -13
- package/LICENSE +0 -33
- package/dist/auth-OeKZZ_2x.mjs.map +0 -1
- package/dist/chunk-hT5z_Zn9.mjs +0 -35
- package/dist/config-store-WL7dNMS6.mjs.map +0 -1
- package/dist/delete-BEXOOFAJ.mjs.map +0 -1
- package/dist/delete-CGy-cV6k.mjs.map +0 -1
- package/dist/delete-CKqlAUT8.mjs.map +0 -1
- package/dist/delete-CcyrLNZv.mjs.map +0 -1
- package/dist/delete-Cjxehwj7.mjs.map +0 -1
- package/dist/document-output-C5PWbz2p.mjs.map +0 -1
- package/dist/edit-BuKMUNVC.mjs.map +0 -1
- package/dist/edit-DFnOnk4i.mjs.map +0 -1
- package/dist/editor-xrF-j3UE.mjs.map +0 -1
- package/dist/get-Doi-NKAh.mjs.map +0 -1
- package/dist/logout-Bslt_ZJ4.mjs +0 -11
- package/dist/logout-Bslt_ZJ4.mjs.map +0 -1
- package/dist/onboarding-C1t1yoay.mjs.map +0 -1
- package/dist/output-BM7aBFwt.mjs.map +0 -1
- package/dist/payload-CN11pUto.mjs.map +0 -1
- package/dist/resolve-BogJOR7R.mjs.map +0 -1
- package/dist/resolve-Bp1AfBmM.mjs.map +0 -1
- package/dist/resolve-Bw5Po9yK.mjs.map +0 -1
- package/dist/resolve-CyjMlaoJ.mjs.map +0 -1
- package/dist/set-ClbrGFGv.mjs.map +0 -1
- package/dist/shared-C2EAn5h_.mjs.map +0 -1
- package/dist/status-Cvyrrx-J.mjs +0 -22
- package/dist/status-Cvyrrx-J.mjs.map +0 -1
- package/dist/update-CJjwg09n.mjs.map +0 -1
- package/dist/update-qfiC-9Og.mjs.map +0 -1
- package/dist/whoami-UwcdRchK.mjs.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"document-output-BFJdwPV0.mjs","names":[],"sources":["../src/core/document-output.ts"],"sourcesContent":["import { MxsError, MxsErrorCode } from './errors'\nimport { type LexicalState, serializeFromLexical } from './litexml-codec'\nimport { emitSuccess, type OutputOptions } from './output'\n\nexport type DocumentKind = 'post' | 'note' | 'page'\n\nconst POST_LIST_OUTPUT_MODES = new Set([\n 'pretty-json',\n 'json',\n 'readable',\n 'llm',\n])\n\nconst DOCUMENT_OUTPUT_MODES = new Set([\n 'pretty-json',\n 'json',\n 'readable',\n 'llm',\n 'envelope',\n])\n\nexport function emitDocument(\n kind: DocumentKind,\n data: unknown,\n opts: OutputOptions,\n): void {\n const mode = opts.output ?? 'pretty-json'\n if (!DOCUMENT_OUTPUT_MODES.has(mode)) {\n throw new MxsError({\n code: MxsErrorCode.ValidationFailed,\n message: `unsupported --output value: ${mode}`,\n hint: 'use --output pretty-json, json, readable, llm, or envelope',\n })\n }\n\n if (opts.json || mode === 'json' || mode === 'pretty-json') {\n emitSuccess(data, opts)\n return\n }\n\n const doc = unwrapDocument(data)\n const rendered =\n mode === 'envelope'\n ? renderDocumentEnvelope(kind, doc)\n : renderReadableDocument(kind, doc)\n process.stdout.write(`${rendered}\\n`)\n}\n\nexport function emitPostList(data: unknown, opts: OutputOptions): void {\n const mode = opts.output ?? 'pretty-json'\n if (!POST_LIST_OUTPUT_MODES.has(mode)) {\n throw new MxsError({\n code: MxsErrorCode.ValidationFailed,\n message: `unsupported --output value for post list: ${mode}`,\n hint: 'use --output pretty-json, json, readable, or llm',\n })\n }\n\n if (opts.json || mode === 'json' || mode === 'pretty-json') {\n emitSuccess(data, opts)\n return\n }\n\n process.stdout.write(`${renderPostList(data)}\\n`)\n}\n\nexport function renderReadableDocument(\n kind: DocumentKind,\n data: unknown,\n): string {\n const doc = asRecord(data)\n const lines: string[] = [kind]\n const fields = collectReadableFields(kind, doc)\n\n for (const [key, value] of fields) {\n if (value === undefined || value === null || value === '') continue\n lines.push(`${key}: ${formatScalar(value)}`)\n }\n\n const summary = firstString(doc, 'summary', 'subtitle')\n if (summary) {\n lines.push('', 'summary:', summary)\n }\n\n const content = renderContent(doc)\n if (content.body) {\n lines.push(\n '',\n `content_format: ${content.format}`,\n '',\n 'content:',\n content.body,\n )\n }\n\n return lines.join('\\n')\n}\n\nexport function renderPostList(data: unknown): string {\n const payload = asRecord(data)\n const rows = Array.isArray(payload.data)\n ? payload.data\n : Array.isArray(data)\n ? data\n : []\n const pagination = asRecord(first(payload, 'pagination'))\n const lines = ['posts']\n\n if (rows.length > 0) {\n lines.push(`count: ${rows.length}`)\n } else {\n lines.push('count: 0')\n }\n\n const page = first(pagination, 'page', 'currentPage')\n const size = first(pagination, 'size', 'pageSize')\n const total = first(pagination, 'total', 'totalCount')\n if (page !== undefined) lines.push(`page: ${formatScalar(page)}`)\n if (size !== undefined) lines.push(`size: ${formatScalar(size)}`)\n if (total !== undefined) lines.push(`total: ${formatScalar(total)}`)\n\n rows.forEach((row, index) => {\n const doc = asRecord(row)\n lines.push('', `post ${index + 1}:`)\n const fields: Array<[string, unknown]> = [\n ['id', first(doc, 'id')],\n ['title', first(doc, 'title')],\n ['slug', first(doc, 'slug')],\n ['state', publishState(doc)],\n ['category', relationLabel(first(doc, 'category'))],\n ['tags', first(doc, 'tags')],\n ['summary', first(doc, 'summary')],\n ['created_at', first(doc, 'created_at', 'createdAt')],\n ['modified_at', first(doc, 'modified_at', 'modifiedAt')],\n ['source_lang', first(doc, 'source_lang', 'sourceLang')],\n ['translated', first(doc, 'is_translated', 'isTranslated')],\n ]\n\n for (const [key, value] of fields) {\n if (value === undefined || value === null || value === '') continue\n lines.push(`${key}: ${formatScalar(value)}`)\n }\n })\n\n return lines.join('\\n')\n}\n\nexport function renderDocumentEnvelope(\n kind: DocumentKind,\n data: unknown,\n): string {\n const doc = asRecord(data)\n const root = kind === 'note' ? 'mxnote' : 'mxpost'\n const meta = collectEnvelopeMeta(kind, doc)\n const metaLines = meta.map(([key, value]) => renderEnvelopeMeta(key, value))\n const content = renderContent(doc)\n\n return `<${root}>\n <meta>\n${metaLines.join('\\n')}\n </meta>\n <content>\n${content.body}\n </content>\n</${root}>`\n}\n\nfunction collectReadableFields(\n kind: DocumentKind,\n doc: Record<string, unknown>,\n): Array<[string, unknown]> {\n const base: Array<[string, unknown]> = [\n ['id', first(doc, 'id')],\n ['title', first(doc, 'title')],\n ['slug', first(doc, 'slug')],\n ]\n\n if (kind === 'post') {\n base.push(\n ['state', publishState(doc)],\n ['category', relationLabel(first(doc, 'category'))],\n ['tags', first(doc, 'tags')],\n ['pin', first(doc, 'pin')],\n )\n } else if (kind === 'note') {\n base.push(\n ['nid', first(doc, 'nid')],\n ['state', publishState(doc)],\n ['topic', relationLabel(first(doc, 'topic'))],\n ['mood', first(doc, 'mood')],\n ['weather', first(doc, 'weather')],\n ['public_at', first(doc, 'public_at', 'publicAt')],\n ['bookmark', first(doc, 'bookmark')],\n )\n } else {\n base.push(\n ['subtitle', first(doc, 'subtitle')],\n ['order', first(doc, 'order')],\n )\n }\n\n base.push(\n ['created_at', first(doc, 'created_at', 'createdAt')],\n ['modified_at', first(doc, 'modified_at', 'modifiedAt')],\n ['source_lang', first(doc, 'source_lang', 'sourceLang')],\n ['translated', first(doc, 'is_translated', 'isTranslated')],\n )\n\n return base\n}\n\nfunction collectEnvelopeMeta(\n kind: DocumentKind,\n doc: Record<string, unknown>,\n): Array<[string, unknown]> {\n const meta: Array<[string, unknown]> = [\n ['title', first(doc, 'title')],\n ['slug', first(doc, 'slug')],\n ]\n\n if (kind === 'post') {\n meta.push(\n ['category', relationSlugOrLabel(first(doc, 'category'))],\n ['state', publishState(doc) === 'published' ? 'publish' : 'draft'],\n ['summary', first(doc, 'summary')],\n ['tags', first(doc, 'tags')],\n )\n } else if (kind === 'note') {\n meta.push(\n ['topic', relationSlugOrLabel(first(doc, 'topic'))],\n ['state', publishState(doc) === 'published' ? 'publish' : 'draft'],\n ['mood', first(doc, 'mood')],\n ['weather', first(doc, 'weather')],\n ['publicAt', first(doc, 'public_at', 'publicAt')],\n ['bookmark', first(doc, 'bookmark')],\n ['location', first(doc, 'location')],\n )\n } else {\n meta.push(\n ['subtitle', first(doc, 'subtitle')],\n ['order', first(doc, 'order')],\n )\n }\n\n meta.push(['format', contentFormat(doc)])\n return meta.filter(\n ([, value]) => value !== undefined && value !== null && value !== '',\n )\n}\n\nfunction renderContent(doc: Record<string, unknown>): {\n body: string\n format: 'litexml' | 'markdown' | 'text'\n} {\n const format = contentFormat(doc)\n const content = firstString(doc, 'content')\n const text = firstString(doc, 'text')\n\n if (format === 'lexical' && content) {\n try {\n return {\n body: serializeFromLexical(JSON.parse(content) as LexicalState),\n format: 'litexml',\n }\n } catch {\n return { body: text || content, format: text ? 'text' : 'markdown' }\n }\n }\n\n return {\n body: content || text || '',\n format: format === 'markdown' ? 'markdown' : 'text',\n }\n}\n\nfunction unwrapDocument(data: unknown): unknown {\n const obj = asRecord(data)\n const nested = obj.data\n if (nested && typeof nested === 'object' && !Array.isArray(nested))\n return nested\n return data\n}\n\nfunction asRecord(value: unknown): Record<string, unknown> {\n return value && typeof value === 'object' && !Array.isArray(value)\n ? (value as Record<string, unknown>)\n : {}\n}\n\nfunction first(record: Record<string, unknown>, ...keys: string[]): unknown {\n for (const key of keys) {\n if (record[key] !== undefined && record[key] !== null) return record[key]\n }\n return undefined\n}\n\nfunction firstString(\n record: Record<string, unknown>,\n ...keys: string[]\n): string {\n const value = first(record, ...keys)\n return typeof value === 'string' ? value : ''\n}\n\nfunction contentFormat(doc: Record<string, unknown>): string {\n const value = first(doc, 'content_format', 'contentFormat')\n return typeof value === 'string' ? value : 'markdown'\n}\n\nfunction publishState(doc: Record<string, unknown>): string | undefined {\n const value = first(doc, 'is_published', 'isPublished')\n if (typeof value === 'boolean') return value ? 'published' : 'draft'\n return undefined\n}\n\nfunction relationLabel(value: unknown): string | undefined {\n if (!value) return undefined\n if (typeof value === 'string') return value\n const obj = asRecord(value)\n return (\n firstString(obj, 'name') ||\n firstString(obj, 'slug') ||\n firstString(obj, 'id')\n )\n}\n\nfunction relationSlugOrLabel(value: unknown): string | undefined {\n if (!value) return undefined\n if (typeof value === 'string') return value\n const obj = asRecord(value)\n return (\n firstString(obj, 'slug') ||\n firstString(obj, 'name') ||\n firstString(obj, 'id')\n )\n}\n\nfunction formatScalar(value: unknown): string {\n if (Array.isArray(value)) return value.map(formatScalar).join(', ')\n if (value instanceof Date) return value.toISOString()\n if (typeof value === 'object' && value !== null) return JSON.stringify(value)\n return String(value)\n}\n\nfunction renderEnvelopeMeta(key: string, value: unknown): string {\n if (key === 'tags' && Array.isArray(value)) {\n const tags = value\n .map((item) => ` <tag>${escapeXml(formatScalar(item))}</tag>`)\n .join('\\n')\n return ` <tags>\\n${tags}\\n </tags>`\n }\n\n return ` <${key}>${escapeXml(formatScalar(value))}</${key}>`\n}\n\nfunction escapeXml(value: string): string {\n return value\n .replaceAll('&', '&')\n .replaceAll('<', '<')\n .replaceAll('>', '>')\n}\n"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { i as emitSuccess, r as emitInfo, s as MxsError } from "./output-
|
|
2
|
-
import { t as runEditorRoundTrip } from "./editor-
|
|
3
|
-
import { n as resolveContext, t as buildApiClient } from "./shared-
|
|
1
|
+
import { c as MxsErrorCode, i as emitSuccess, r as emitInfo, s as MxsError } from "./output-vzequvhd.mjs";
|
|
2
|
+
import { t as runEditorRoundTrip } from "./editor-BIw1ALTF.mjs";
|
|
3
|
+
import { n as resolveContext, t as buildApiClient } from "./shared-d0_6ZPn_.mjs";
|
|
4
4
|
//#region src/commands/config/edit.ts
|
|
5
5
|
async function run(flags, out) {
|
|
6
6
|
const client = buildApiClient(await resolveContext(flags, out), flags);
|
|
@@ -19,7 +19,7 @@ async function run(flags, out) {
|
|
|
19
19
|
parsed = JSON.parse(next);
|
|
20
20
|
} catch (err) {
|
|
21
21
|
throw new MxsError({
|
|
22
|
-
code:
|
|
22
|
+
code: MxsErrorCode.ValidationFailed,
|
|
23
23
|
message: `invalid JSON: ${err?.message ?? err}`
|
|
24
24
|
});
|
|
25
25
|
}
|
|
@@ -37,4 +37,4 @@ async function run(flags, out) {
|
|
|
37
37
|
//#endregion
|
|
38
38
|
export { run };
|
|
39
39
|
|
|
40
|
-
//# sourceMappingURL=edit-
|
|
40
|
+
//# sourceMappingURL=edit-BMjTbPQO.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"edit-BMjTbPQO.mjs","names":[],"sources":["../src/commands/config/edit.ts"],"sourcesContent":["import { runEditorRoundTrip } from '../../core/editor'\nimport { MxsError, MxsErrorCode } from '../../core/errors'\nimport { emitInfo, emitSuccess, type OutputOptions } from '../../core/output'\nimport {\n buildApiClient,\n type GlobalFlags,\n resolveContext,\n} from '../internal/shared'\n\nexport async function run(flags: GlobalFlags, out: OutputOptions) {\n const ctx = await resolveContext(flags, out)\n const client = buildApiClient(ctx, flags)\n const res = await client.request<Record<string, unknown>>('/options')\n const initial = JSON.stringify(res.data ?? {}, null, 2)\n const next = await runEditorRoundTrip({\n filename: 'mxs-config.json',\n initialContent: initial,\n })\n if (next.trim() === initial.trim()) {\n emitInfo('no changes', out)\n return\n }\n let parsed: Record<string, unknown>\n try {\n parsed = JSON.parse(next)\n } catch (err: any) {\n throw new MxsError({\n code: MxsErrorCode.ValidationFailed,\n message: `invalid JSON: ${err?.message ?? err}`,\n })\n }\n if (flags.dryRun) {\n emitSuccess(parsed, out)\n return\n }\n const results: Record<string, unknown> = {}\n for (const [key, value] of Object.entries(parsed)) {\n const r = await client.request(`/options/${key}`, {\n method: 'PATCH',\n body: value,\n })\n results[key] = r.data\n }\n emitSuccess(results, out)\n}\n"],"mappings":";;;;AASA,eAAsB,IAAI,OAAoB,KAAoB;CAEhE,MAAM,SAAS,eAAe,MADZ,eAAe,OAAO,GAAG,GACR,KAAK;CACxC,MAAM,MAAM,MAAM,OAAO,QAAiC,UAAU;CACpE,MAAM,UAAU,KAAK,UAAU,IAAI,QAAQ,CAAC,GAAG,MAAM,CAAC;CACtD,MAAM,OAAO,MAAM,mBAAmB;EACpC,UAAU;EACV,gBAAgB;CAClB,CAAC;CACD,IAAI,KAAK,KAAK,MAAM,QAAQ,KAAK,GAAG;EAClC,SAAS,cAAc,GAAG;EAC1B;CACF;CACA,IAAI;CACJ,IAAI;EACF,SAAS,KAAK,MAAM,IAAI;CAC1B,SAAS,KAAU;EACjB,MAAM,IAAI,SAAS;GACjB,MAAM,aAAa;GACnB,SAAS,iBAAiB,KAAK,WAAW;EAC5C,CAAC;CACH;CACA,IAAI,MAAM,QAAQ;EAChB,YAAY,QAAQ,GAAG;EACvB;CACF;CACA,MAAM,UAAmC,CAAC;CAC1C,KAAK,MAAM,CAAC,KAAK,UAAU,OAAO,QAAQ,MAAM,GAK9C,QAAQ,QAAO,MAJC,OAAO,QAAQ,YAAY,OAAO;EAChD,QAAQ;EACR,MAAM;CACR,CAAC,GACgB;CAEnB,YAAY,SAAS,GAAG;AAC1B"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { i as emitSuccess, r as emitInfo, s as MxsError } from "./output-
|
|
2
|
-
import { n as buildPagePayload, s as parseEnvelope } from "./payload-
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import { r as isSnowflakeId } from "./resolve-
|
|
6
|
-
import { n as resolveContext, t as buildApiClient } from "./shared-
|
|
7
|
-
import { n as applyPageEnvelopeMeta } from "./envelope-overlays-
|
|
1
|
+
import { c as MxsErrorCode, i as emitSuccess, r as emitInfo, s as MxsError } from "./output-vzequvhd.mjs";
|
|
2
|
+
import { n as buildPagePayload, s as parseEnvelope } from "./payload-CO4zbNr8.mjs";
|
|
3
|
+
import { i as serializeFromLexical } from "./litexml-codec-CfIxcPG0.mjs";
|
|
4
|
+
import { t as runEditorRoundTrip } from "./editor-BIw1ALTF.mjs";
|
|
5
|
+
import { r as isSnowflakeId } from "./resolve-CUsHGcb-.mjs";
|
|
6
|
+
import { n as resolveContext, t as buildApiClient } from "./shared-d0_6ZPn_.mjs";
|
|
7
|
+
import { n as applyPageEnvelopeMeta } from "./envelope-overlays-DXXygxdF.mjs";
|
|
8
8
|
//#region src/commands/page/edit.ts
|
|
9
9
|
async function run(slugOrId, opts, flags, out) {
|
|
10
10
|
const client = buildApiClient(await resolveContext(flags, out), flags);
|
|
@@ -51,7 +51,7 @@ async function resolveId(client, slugOrId) {
|
|
|
51
51
|
if (isSnowflakeId(slugOrId)) return slugOrId;
|
|
52
52
|
const res = await client.request(`/pages/slug/${slugOrId}`);
|
|
53
53
|
if (!res.data?.id) throw new MxsError({
|
|
54
|
-
code:
|
|
54
|
+
code: MxsErrorCode.ResourceNotFound,
|
|
55
55
|
message: `page not found: ${slugOrId}`
|
|
56
56
|
});
|
|
57
57
|
return res.data.id;
|
|
@@ -77,4 +77,4 @@ function esc(s) {
|
|
|
77
77
|
//#endregion
|
|
78
78
|
export { run };
|
|
79
79
|
|
|
80
|
-
//# sourceMappingURL=edit-
|
|
80
|
+
//# sourceMappingURL=edit-BnEmMmv6.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"edit-BnEmMmv6.mjs","names":[],"sources":["../src/commands/page/edit.ts"],"sourcesContent":["import type { ApiClient } from '../../core/api-client'\nimport { runEditorRoundTrip } from '../../core/editor'\nimport { parseEnvelope } from '../../core/envelope'\nimport { MxsError, MxsErrorCode } from '../../core/errors'\nimport { serializeFromLexical } from '../../core/litexml-codec'\nimport { emitInfo, emitSuccess, type OutputOptions } from '../../core/output'\nimport { buildPagePayload, type PageFlagInputs } from '../../core/payload'\nimport { isSnowflakeId } from '../../core/resolve'\nimport { applyPageEnvelopeMeta } from '../internal/envelope-overlays'\nimport {\n buildApiClient,\n type GlobalFlags,\n resolveContext,\n} from '../internal/shared'\n\nexport async function run(\n slugOrId: string,\n opts: PageFlagInputs,\n flags: GlobalFlags,\n out: OutputOptions,\n) {\n const ctx = await resolveContext(flags, out)\n const client = buildApiClient(ctx, flags)\n\n if (!opts.file && opts.content === undefined) {\n const xml = await materialize(client, slugOrId)\n const next = await runEditorRoundTrip({\n filename: `page-${slugOrId}.xml`,\n initialContent: xml,\n })\n if (next.trim() === xml.trim()) {\n emitInfo('no changes', out)\n return\n }\n const parsed = parseEnvelope(next, 'post')\n const built = await buildPagePayload({\n ...opts,\n content: parsed.contentXml,\n format: opts.format ?? 'lexical',\n })\n applyPageEnvelopeMeta(built.payload, parsed.meta)\n if (flags.dryRun) {\n emitSuccess(built.payload, out)\n return\n }\n const id = await resolveId(client, slugOrId)\n const res = await client.request(`/pages/${id}`, {\n method: 'PUT',\n body: built.payload,\n })\n emitSuccess(res.data, out)\n return\n }\n\n const built = await buildPagePayload(opts)\n if (flags.dryRun) {\n emitSuccess(built.payload, out)\n return\n }\n const id = await resolveId(client, slugOrId)\n const res = await client.request(`/pages/${id}`, {\n method: 'PUT',\n body: built.payload,\n })\n emitSuccess(res.data, out)\n}\n\nasync function resolveId(client: ApiClient, slugOrId: string): Promise<string> {\n if (isSnowflakeId(slugOrId)) return slugOrId\n const res = await client.request<{ id: string }>(`/pages/slug/${slugOrId}`)\n if (!res.data?.id)\n throw new MxsError({\n code: MxsErrorCode.ResourceNotFound,\n message: `page not found: ${slugOrId}`,\n })\n return res.data.id\n}\n\nasync function materialize(\n client: ApiClient,\n slugOrId: string,\n): Promise<string> {\n const path = isSnowflakeId(slugOrId)\n ? `/pages/${slugOrId}`\n : `/pages/slug/${slugOrId}`\n const res = await client.request<any>(path, { query: { prefer: 'lexical' } })\n const page = res.data\n const inner =\n page.contentFormat === 'lexical' && page.content\n ? serializeFromLexical(JSON.parse(page.content))\n : (page.content ?? '')\n return `<mxpost>\n <meta>\n <title>${esc(page.title ?? '')}</title>\n <slug>${esc(page.slug ?? '')}</slug>\n </meta>\n <content>\n${inner}\n </content>\n</mxpost>\n`\n}\n\nfunction esc(s: string): string {\n return s\n .replaceAll('&', '&')\n .replaceAll('<', '<')\n .replaceAll('>', '>')\n}\n"],"mappings":";;;;;;;;AAeA,eAAsB,IACpB,UACA,MACA,OACA,KACA;CAEA,MAAM,SAAS,eAAe,MADZ,eAAe,OAAO,GAAG,GACR,KAAK;CAExC,IAAI,CAAC,KAAK,QAAQ,KAAK,YAAY,KAAA,GAAW;EAC5C,MAAM,MAAM,MAAM,YAAY,QAAQ,QAAQ;EAC9C,MAAM,OAAO,MAAM,mBAAmB;GACpC,UAAU,QAAQ,SAAS;GAC3B,gBAAgB;EAClB,CAAC;EACD,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,GAAG;GAC9B,SAAS,cAAc,GAAG;GAC1B;EACF;EACA,MAAM,SAAS,cAAc,MAAM,MAAM;EACzC,MAAM,QAAQ,MAAM,iBAAiB;GACnC,GAAG;GACH,SAAS,OAAO;GAChB,QAAQ,KAAK,UAAU;EACzB,CAAC;EACD,sBAAsB,MAAM,SAAS,OAAO,IAAI;EAChD,IAAI,MAAM,QAAQ;GAChB,YAAY,MAAM,SAAS,GAAG;GAC9B;EACF;EACA,MAAM,KAAK,MAAM,UAAU,QAAQ,QAAQ;EAK3C,aAAY,MAJM,OAAO,QAAQ,UAAU,MAAM;GAC/C,QAAQ;GACR,MAAM,MAAM;EACd,CAAC,GACe,MAAM,GAAG;EACzB;CACF;CAEA,MAAM,QAAQ,MAAM,iBAAiB,IAAI;CACzC,IAAI,MAAM,QAAQ;EAChB,YAAY,MAAM,SAAS,GAAG;EAC9B;CACF;CACA,MAAM,KAAK,MAAM,UAAU,QAAQ,QAAQ;CAK3C,aAAY,MAJM,OAAO,QAAQ,UAAU,MAAM;EAC/C,QAAQ;EACR,MAAM,MAAM;CACd,CAAC,GACe,MAAM,GAAG;AAC3B;AAEA,eAAe,UAAU,QAAmB,UAAmC;CAC7E,IAAI,cAAc,QAAQ,GAAG,OAAO;CACpC,MAAM,MAAM,MAAM,OAAO,QAAwB,eAAe,UAAU;CAC1E,IAAI,CAAC,IAAI,MAAM,IACb,MAAM,IAAI,SAAS;EACjB,MAAM,aAAa;EACnB,SAAS,mBAAmB;CAC9B,CAAC;CACH,OAAO,IAAI,KAAK;AAClB;AAEA,eAAe,YACb,QACA,UACiB;CACjB,MAAM,OAAO,cAAc,QAAQ,IAC/B,UAAU,aACV,eAAe;CAEnB,MAAM,QAAO,MADK,OAAO,QAAa,MAAM,EAAE,OAAO,EAAE,QAAQ,UAAU,EAAE,CAAC,GAC3D;CACjB,MAAM,QACJ,KAAK,kBAAkB,aAAa,KAAK,UACrC,qBAAqB,KAAK,MAAM,KAAK,OAAO,CAAC,IAC5C,KAAK,WAAW;CACvB,OAAO;;aAEI,IAAI,KAAK,SAAS,EAAE,EAAE;YACvB,IAAI,KAAK,QAAQ,EAAE,EAAE;;;EAG/B,MAAM;;;;AAIR;AAEA,SAAS,IAAI,GAAmB;CAC9B,OAAO,EACJ,WAAW,KAAK,OAAO,EACvB,WAAW,KAAK,MAAM,EACtB,WAAW,KAAK,MAAM;AAC3B"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { i as emitSuccess, r as emitInfo } from "./output-
|
|
2
|
-
import { s as parseEnvelope, t as buildNotePayload } from "./payload-
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import { n as resolveContext, t as buildApiClient } from "./shared-
|
|
6
|
-
import { r as resolveTopicRefs, t as buildResolver } from "./resolve-helpers-
|
|
7
|
-
import { t as resolveNoteId } from "./resolve-
|
|
8
|
-
import { t as applyNoteEnvelopeMeta } from "./envelope-overlays-
|
|
1
|
+
import { i as emitSuccess, r as emitInfo } from "./output-vzequvhd.mjs";
|
|
2
|
+
import { s as parseEnvelope, t as buildNotePayload } from "./payload-CO4zbNr8.mjs";
|
|
3
|
+
import { i as serializeFromLexical } from "./litexml-codec-CfIxcPG0.mjs";
|
|
4
|
+
import { t as runEditorRoundTrip } from "./editor-BIw1ALTF.mjs";
|
|
5
|
+
import { n as resolveContext, t as buildApiClient } from "./shared-d0_6ZPn_.mjs";
|
|
6
|
+
import { r as resolveTopicRefs, t as buildResolver } from "./resolve-helpers-CoHYa2uk.mjs";
|
|
7
|
+
import { t as resolveNoteId } from "./resolve-BYg5Gees.mjs";
|
|
8
|
+
import { t as applyNoteEnvelopeMeta } from "./envelope-overlays-DXXygxdF.mjs";
|
|
9
9
|
//#region src/commands/note/edit.ts
|
|
10
10
|
async function run(slugOrId, opts, flags, out) {
|
|
11
11
|
const client = buildApiClient(await resolveContext(flags, out), flags);
|
|
@@ -76,4 +76,4 @@ function esc(s) {
|
|
|
76
76
|
//#endregion
|
|
77
77
|
export { run };
|
|
78
78
|
|
|
79
|
-
//# sourceMappingURL=edit-
|
|
79
|
+
//# sourceMappingURL=edit-C4vRSmRy.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"edit-
|
|
1
|
+
{"version":3,"file":"edit-C4vRSmRy.mjs","names":[],"sources":["../src/commands/note/edit.ts"],"sourcesContent":["import type { ApiClient } from '../../core/api-client'\nimport { runEditorRoundTrip } from '../../core/editor'\nimport { parseEnvelope } from '../../core/envelope'\nimport { serializeFromLexical } from '../../core/litexml-codec'\nimport { emitInfo, emitSuccess, type OutputOptions } from '../../core/output'\nimport { buildNotePayload, type NoteFlagInputs } from '../../core/payload'\nimport { applyNoteEnvelopeMeta } from '../internal/envelope-overlays'\nimport { buildResolver, resolveTopicRefs } from '../internal/resolve-helpers'\nimport {\n buildApiClient,\n type GlobalFlags,\n resolveContext,\n} from '../internal/shared'\nimport { resolveNoteId } from './resolve'\n\nexport async function run(\n slugOrId: string,\n opts: NoteFlagInputs,\n flags: GlobalFlags,\n out: OutputOptions,\n) {\n const ctx = await resolveContext(flags, out)\n const client = buildApiClient(ctx, flags)\n\n if (!opts.file && opts.content === undefined) {\n const xml = await materializeForEditor(client, slugOrId)\n const next = await runEditorRoundTrip({\n filename: `note-${slugOrId}.xml`,\n initialContent: xml,\n })\n if (next.trim() === xml.trim()) {\n emitInfo('no changes', out)\n return\n }\n const parsed = parseEnvelope(next, 'note')\n const built = await buildNotePayload({\n ...opts,\n content: parsed.contentXml,\n format: opts.format ?? 'lexical',\n })\n applyNoteEnvelopeMeta(built.payload, parsed.meta)\n if (flags.dryRun) {\n emitSuccess(built.payload, out)\n return\n }\n const resolver = buildResolver(client)\n await resolveTopicRefs(built.payload, resolver)\n const id = await resolveNoteId(client, slugOrId)\n const res = await client.request(`/notes/${id}`, {\n method: 'PUT',\n body: built.payload,\n })\n emitSuccess(res.data, out)\n return\n }\n\n const built = await buildNotePayload(opts)\n if (flags.dryRun) {\n emitSuccess(built.payload, out)\n return\n }\n const resolver = buildResolver(client)\n await resolveTopicRefs(built.payload, resolver)\n const id = await resolveNoteId(client, slugOrId)\n const res = await client.request(`/notes/${id}`, {\n method: 'PUT',\n body: built.payload,\n })\n emitSuccess(res.data, out)\n}\n\nasync function materializeForEditor(\n client: ApiClient,\n slugOrId: string,\n): Promise<string> {\n const id = await resolveNoteId(client, slugOrId)\n const res = await client.request<{\n id?: string\n title?: string\n slug?: string\n contentFormat?: string\n content?: string\n isPublished?: boolean\n mood?: string\n weather?: string\n }>(`/notes/${id}`, { query: { prefer: 'lexical' } })\n const note: any = res.data\n const inner =\n note.contentFormat === 'lexical' && note.content\n ? serializeFromLexical(JSON.parse(note.content))\n : (note.content ?? '')\n return `<mxnote>\n <meta>\n <title>${esc(note.title ?? '')}</title>\n ${note.slug ? `<slug>${esc(note.slug)}</slug>` : ''}\n <state>${note.isPublished ? 'publish' : 'draft'}</state>\n ${note.mood ? `<mood>${esc(note.mood)}</mood>` : ''}\n ${note.weather ? `<weather>${esc(note.weather)}</weather>` : ''}\n </meta>\n <content>\n${inner}\n </content>\n</mxnote>\n`\n}\n\nfunction esc(s: string): string {\n return s\n .replaceAll('&', '&')\n .replaceAll('<', '<')\n .replaceAll('>', '>')\n}\n"],"mappings":";;;;;;;;;AAeA,eAAsB,IACpB,UACA,MACA,OACA,KACA;CAEA,MAAM,SAAS,eAAe,MADZ,eAAe,OAAO,GAAG,GACR,KAAK;CAExC,IAAI,CAAC,KAAK,QAAQ,KAAK,YAAY,KAAA,GAAW;EAC5C,MAAM,MAAM,MAAM,qBAAqB,QAAQ,QAAQ;EACvD,MAAM,OAAO,MAAM,mBAAmB;GACpC,UAAU,QAAQ,SAAS;GAC3B,gBAAgB;EAClB,CAAC;EACD,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,GAAG;GAC9B,SAAS,cAAc,GAAG;GAC1B;EACF;EACA,MAAM,SAAS,cAAc,MAAM,MAAM;EACzC,MAAM,QAAQ,MAAM,iBAAiB;GACnC,GAAG;GACH,SAAS,OAAO;GAChB,QAAQ,KAAK,UAAU;EACzB,CAAC;EACD,sBAAsB,MAAM,SAAS,OAAO,IAAI;EAChD,IAAI,MAAM,QAAQ;GAChB,YAAY,MAAM,SAAS,GAAG;GAC9B;EACF;EACA,MAAM,WAAW,cAAc,MAAM;EACrC,MAAM,iBAAiB,MAAM,SAAS,QAAQ;EAC9C,MAAM,KAAK,MAAM,cAAc,QAAQ,QAAQ;EAK/C,aAAY,MAJM,OAAO,QAAQ,UAAU,MAAM;GAC/C,QAAQ;GACR,MAAM,MAAM;EACd,CAAC,GACe,MAAM,GAAG;EACzB;CACF;CAEA,MAAM,QAAQ,MAAM,iBAAiB,IAAI;CACzC,IAAI,MAAM,QAAQ;EAChB,YAAY,MAAM,SAAS,GAAG;EAC9B;CACF;CACA,MAAM,WAAW,cAAc,MAAM;CACrC,MAAM,iBAAiB,MAAM,SAAS,QAAQ;CAC9C,MAAM,KAAK,MAAM,cAAc,QAAQ,QAAQ;CAK/C,aAAY,MAJM,OAAO,QAAQ,UAAU,MAAM;EAC/C,QAAQ;EACR,MAAM,MAAM;CACd,CAAC,GACe,MAAM,GAAG;AAC3B;AAEA,eAAe,qBACb,QACA,UACiB;CACjB,MAAM,KAAK,MAAM,cAAc,QAAQ,QAAQ;CAW/C,MAAM,QAAY,MAVA,OAAO,QAStB,UAAU,MAAM,EAAE,OAAO,EAAE,QAAQ,UAAU,EAAE,CAAC,GAC7B;CACtB,MAAM,QACJ,KAAK,kBAAkB,aAAa,KAAK,UACrC,qBAAqB,KAAK,MAAM,KAAK,OAAO,CAAC,IAC5C,KAAK,WAAW;CACvB,OAAO;;aAEI,IAAI,KAAK,SAAS,EAAE,EAAE;MAC7B,KAAK,OAAO,SAAS,IAAI,KAAK,IAAI,EAAE,WAAW,GAAG;aAC3C,KAAK,cAAc,YAAY,QAAQ;MAC9C,KAAK,OAAO,SAAS,IAAI,KAAK,IAAI,EAAE,WAAW,GAAG;MAClD,KAAK,UAAU,YAAY,IAAI,KAAK,OAAO,EAAE,cAAc,GAAG;;;EAGlE,MAAM;;;;AAIR;AAEA,SAAS,IAAI,GAAmB;CAC9B,OAAO,EACJ,WAAW,KAAK,OAAO,EACvB,WAAW,KAAK,MAAM,EACtB,WAAW,KAAK,MAAM;AAC3B"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { i as emitSuccess, r as emitInfo } from "./output-
|
|
2
|
-
import { r as buildPostPayload, s as parseEnvelope } from "./payload-
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import { n as resolveContext, t as buildApiClient } from "./shared-
|
|
6
|
-
import { n as resolveCategoryRefs, t as buildResolver } from "./resolve-helpers-
|
|
7
|
-
import { n as resolvePostReadPath, t as resolvePostId } from "./resolve-
|
|
1
|
+
import { i as emitSuccess, r as emitInfo } from "./output-vzequvhd.mjs";
|
|
2
|
+
import { r as buildPostPayload, s as parseEnvelope } from "./payload-CO4zbNr8.mjs";
|
|
3
|
+
import { i as serializeFromLexical } from "./litexml-codec-CfIxcPG0.mjs";
|
|
4
|
+
import { t as runEditorRoundTrip } from "./editor-BIw1ALTF.mjs";
|
|
5
|
+
import { n as resolveContext, t as buildApiClient } from "./shared-d0_6ZPn_.mjs";
|
|
6
|
+
import { n as resolveCategoryRefs, t as buildResolver } from "./resolve-helpers-CoHYa2uk.mjs";
|
|
7
|
+
import { n as resolvePostReadPath, t as resolvePostId } from "./resolve-jdb1VqAG.mjs";
|
|
8
8
|
//#region src/commands/post/edit.ts
|
|
9
9
|
async function run(slugOrId, opts, flags, out) {
|
|
10
10
|
const client = buildApiClient(await resolveContext(flags, out), flags);
|
|
@@ -83,4 +83,4 @@ async function metaFromEnvelope(meta) {
|
|
|
83
83
|
//#endregion
|
|
84
84
|
export { run };
|
|
85
85
|
|
|
86
|
-
//# sourceMappingURL=edit-
|
|
86
|
+
//# sourceMappingURL=edit-CQsW5gnk.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"edit-
|
|
1
|
+
{"version":3,"file":"edit-CQsW5gnk.mjs","names":[],"sources":["../src/commands/post/edit.ts"],"sourcesContent":["import type { ApiClient } from '../../core/api-client'\nimport { runEditorRoundTrip } from '../../core/editor'\nimport { parseEnvelope } from '../../core/envelope'\nimport { serializeFromLexical } from '../../core/litexml-codec'\nimport { emitInfo, emitSuccess, type OutputOptions } from '../../core/output'\nimport { buildPostPayload, type PostFlagInputs } from '../../core/payload'\nimport { buildResolver, resolveCategoryRefs } from '../internal/resolve-helpers'\nimport { buildApiClient, type GlobalFlags, resolveContext } from '../internal/shared'\nimport { resolvePostId, resolvePostReadPath } from './resolve'\n\nexport async function run(\n slugOrId: string,\n opts: PostFlagInputs,\n flags: GlobalFlags,\n out: OutputOptions,\n) {\n const ctx = await resolveContext(flags, out)\n const client = buildApiClient(ctx, flags)\n\n if (!opts.file && opts.content === undefined) {\n const xml = await materializeForEditor(client, slugOrId)\n const next = await runEditorRoundTrip({\n filename: `post-${slugOrId}.xml`,\n initialContent: xml,\n })\n if (next.trim() === xml.trim()) {\n emitInfo('no changes', out)\n return\n }\n const parsed = parseEnvelope(next, 'post')\n const payloadInputs: PostFlagInputs = {\n ...opts,\n content: parsed.contentXml,\n format: opts.format ?? 'lexical',\n }\n const built = await buildPostPayload(payloadInputs)\n Object.assign(built.payload, await metaFromEnvelope(parsed.meta))\n if (flags.dryRun) {\n emitSuccess(built.payload, out)\n return\n }\n const resolver = buildResolver(client)\n await resolveCategoryRefs(built.payload, resolver)\n const res = await client.request(\n `/posts/${await resolvePostId(client, slugOrId)}`,\n { method: 'PUT', body: built.payload },\n )\n emitSuccess(res.data, out)\n return\n }\n\n const built = await buildPostPayload(opts)\n if (flags.dryRun) {\n emitSuccess(built.payload, out)\n return\n }\n const resolver = buildResolver(client)\n await resolveCategoryRefs(built.payload, resolver)\n const res = await client.request(\n `/posts/${await resolvePostId(client, slugOrId)}`,\n { method: 'PUT', body: built.payload },\n )\n emitSuccess(res.data, out)\n}\n\nasync function materializeForEditor(\n client: ApiClient,\n slugOrId: string,\n): Promise<string> {\n const path = await resolvePostReadPath(client, slugOrId)\n const res = await client.request<{\n id: string\n title?: string\n slug?: string\n contentFormat?: string\n content?: string\n summary?: string\n isPublished?: boolean\n tags?: string[]\n }>(path, { query: { prefer: 'lexical' } })\n const post = res.data\n const isLexical = post.contentFormat === 'lexical'\n const innerXml =\n isLexical && post.content\n ? serializeFromLexical(JSON.parse(post.content))\n : (post.content ?? '')\n const tagsXml = (post.tags ?? [])\n .map((t: string) => ` <tag>${escapeXml(t)}</tag>`)\n .join('\\n')\n return `<mxpost>\n <meta>\n <title>${escapeXml(post.title ?? '')}</title>\n <slug>${escapeXml(post.slug ?? '')}</slug>\n <state>${post.isPublished ? 'publish' : 'draft'}</state>\n ${post.summary ? `<summary>${escapeXml(post.summary)}</summary>` : ''}\n ${tagsXml ? `<tags>\\n${tagsXml}\\n </tags>` : ''}\n </meta>\n <content>\n${innerXml}\n </content>\n</mxpost>\n`\n}\n\nfunction escapeXml(s: string): string {\n return s\n .replaceAll('&', '&')\n .replaceAll('<', '<')\n .replaceAll('>', '>')\n}\n\nasync function metaFromEnvelope(\n meta: Record<string, unknown>,\n): Promise<Record<string, unknown>> {\n const overlay: Record<string, unknown> = {}\n if (typeof meta.title === 'string') overlay.title = meta.title\n if (typeof meta.slug === 'string') overlay.slug = meta.slug\n if (typeof meta.summary === 'string') overlay.summary = meta.summary\n if (meta.state === 'publish' || meta.state === 'draft')\n overlay.isPublished = meta.state === 'publish'\n if (Array.isArray(meta.tags)) overlay.tags = meta.tags\n return overlay\n}\n"],"mappings":";;;;;;;;AAUA,eAAsB,IACpB,UACA,MACA,OACA,KACA;CAEA,MAAM,SAAS,eAAe,MADZ,eAAe,OAAO,GAAG,GACR,KAAK;CAExC,IAAI,CAAC,KAAK,QAAQ,KAAK,YAAY,KAAA,GAAW;EAC5C,MAAM,MAAM,MAAM,qBAAqB,QAAQ,QAAQ;EACvD,MAAM,OAAO,MAAM,mBAAmB;GACpC,UAAU,QAAQ,SAAS;GAC3B,gBAAgB;EAClB,CAAC;EACD,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,GAAG;GAC9B,SAAS,cAAc,GAAG;GAC1B;EACF;EACA,MAAM,SAAS,cAAc,MAAM,MAAM;EAMzC,MAAM,QAAQ,MAAM,iBAAiB;GAJnC,GAAG;GACH,SAAS,OAAO;GAChB,QAAQ,KAAK,UAAU;EAEwB,CAAC;EAClD,OAAO,OAAO,MAAM,SAAS,MAAM,iBAAiB,OAAO,IAAI,CAAC;EAChE,IAAI,MAAM,QAAQ;GAChB,YAAY,MAAM,SAAS,GAAG;GAC9B;EACF;EACA,MAAM,WAAW,cAAc,MAAM;EACrC,MAAM,oBAAoB,MAAM,SAAS,QAAQ;EAKjD,aAAY,MAJM,OAAO,QACvB,UAAU,MAAM,cAAc,QAAQ,QAAQ,KAC9C;GAAE,QAAQ;GAAO,MAAM,MAAM;EAAQ,CACvC,GACgB,MAAM,GAAG;EACzB;CACF;CAEA,MAAM,QAAQ,MAAM,iBAAiB,IAAI;CACzC,IAAI,MAAM,QAAQ;EAChB,YAAY,MAAM,SAAS,GAAG;EAC9B;CACF;CACA,MAAM,WAAW,cAAc,MAAM;CACrC,MAAM,oBAAoB,MAAM,SAAS,QAAQ;CAKjD,aAAY,MAJM,OAAO,QACvB,UAAU,MAAM,cAAc,QAAQ,QAAQ,KAC9C;EAAE,QAAQ;EAAO,MAAM,MAAM;CAAQ,CACvC,GACgB,MAAM,GAAG;AAC3B;AAEA,eAAe,qBACb,QACA,UACiB;CACjB,MAAM,OAAO,MAAM,oBAAoB,QAAQ,QAAQ;CAWvD,MAAM,QAAO,MAVK,OAAO,QAStB,MAAM,EAAE,OAAO,EAAE,QAAQ,UAAU,EAAE,CAAC,GACxB;CAEjB,MAAM,WADY,KAAK,kBAAkB,aAE1B,KAAK,UACd,qBAAqB,KAAK,MAAM,KAAK,OAAO,CAAC,IAC5C,KAAK,WAAW;CACvB,MAAM,WAAW,KAAK,QAAQ,CAAC,GAC5B,KAAK,MAAc,YAAY,UAAU,CAAC,EAAE,OAAO,EACnD,KAAK,IAAI;CACZ,OAAO;;aAEI,UAAU,KAAK,SAAS,EAAE,EAAE;YAC7B,UAAU,KAAK,QAAQ,EAAE,EAAE;aAC1B,KAAK,cAAc,YAAY,QAAQ;MAC9C,KAAK,UAAU,YAAY,UAAU,KAAK,OAAO,EAAE,cAAc,GAAG;MACpE,UAAU,WAAW,QAAQ,iBAAiB,GAAG;;;EAGrD,SAAS;;;;AAIX;AAEA,SAAS,UAAU,GAAmB;CACpC,OAAO,EACJ,WAAW,KAAK,OAAO,EACvB,WAAW,KAAK,MAAM,EACtB,WAAW,KAAK,MAAM;AAC3B;AAEA,eAAe,iBACb,MACkC;CAClC,MAAM,UAAmC,CAAC;CAC1C,IAAI,OAAO,KAAK,UAAU,UAAU,QAAQ,QAAQ,KAAK;CACzD,IAAI,OAAO,KAAK,SAAS,UAAU,QAAQ,OAAO,KAAK;CACvD,IAAI,OAAO,KAAK,YAAY,UAAU,QAAQ,UAAU,KAAK;CAC7D,IAAI,KAAK,UAAU,aAAa,KAAK,UAAU,SAC7C,QAAQ,cAAc,KAAK,UAAU;CACvC,IAAI,MAAM,QAAQ,KAAK,IAAI,GAAG,QAAQ,OAAO,KAAK;CAClD,OAAO;AACT"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { s as MxsError } from "./output-
|
|
1
|
+
import { c as MxsErrorCode, s as MxsError } from "./output-vzequvhd.mjs";
|
|
2
2
|
import { spawn } from "node:child_process";
|
|
3
3
|
import path from "node:path";
|
|
4
4
|
import { promises } from "node:fs";
|
|
@@ -7,7 +7,7 @@ import os from "node:os";
|
|
|
7
7
|
async function runEditorRoundTrip(opts) {
|
|
8
8
|
const editor = opts.editor ?? process.env.EDITOR ?? process.env.VISUAL;
|
|
9
9
|
if (!editor) throw new MxsError({
|
|
10
|
-
code:
|
|
10
|
+
code: MxsErrorCode.Generic,
|
|
11
11
|
message: "$EDITOR not set",
|
|
12
12
|
hint: "export EDITOR=vim (or another editor) and try again"
|
|
13
13
|
});
|
|
@@ -30,7 +30,7 @@ function spawnInteractive(cmd, args) {
|
|
|
30
30
|
child.on("exit", (code) => {
|
|
31
31
|
if (code === 0) resolve();
|
|
32
32
|
else reject(new MxsError({
|
|
33
|
-
code:
|
|
33
|
+
code: MxsErrorCode.Generic,
|
|
34
34
|
message: `editor exited with code ${code}`
|
|
35
35
|
}));
|
|
36
36
|
});
|
|
@@ -39,4 +39,4 @@ function spawnInteractive(cmd, args) {
|
|
|
39
39
|
//#endregion
|
|
40
40
|
export { runEditorRoundTrip as t };
|
|
41
41
|
|
|
42
|
-
//# sourceMappingURL=editor-
|
|
42
|
+
//# sourceMappingURL=editor-BIw1ALTF.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"editor-BIw1ALTF.mjs","names":["fs"],"sources":["../src/core/editor.ts"],"sourcesContent":["import { spawn } from 'node:child_process'\nimport { promises as fs } from 'node:fs'\nimport os from 'node:os'\nimport path from 'node:path'\n\nimport { MxsError, MxsErrorCode } from './errors'\n\nexport interface EditorOptions {\n filename: string\n initialContent: string\n editor?: string\n}\n\nexport async function runEditorRoundTrip(opts: EditorOptions): Promise<string> {\n const editor = opts.editor ?? process.env.EDITOR ?? process.env.VISUAL\n if (!editor) {\n throw new MxsError({\n code: MxsErrorCode.Generic,\n message: '$EDITOR not set',\n hint: 'export EDITOR=vim (or another editor) and try again',\n })\n }\n const dir = await fs.mkdtemp(path.join(os.tmpdir(), 'mxs-'))\n const tmpPath = path.join(dir, opts.filename)\n await fs.writeFile(tmpPath, opts.initialContent, 'utf8')\n await spawnInteractive(editor, [tmpPath])\n const next = await fs.readFile(tmpPath, 'utf8')\n await fs.unlink(tmpPath).catch(() => undefined)\n await fs.rmdir(dir).catch(() => undefined)\n return next\n}\n\nfunction spawnInteractive(cmd: string, args: string[]): Promise<void> {\n return new Promise((resolve, reject) => {\n const child = spawn(cmd, args, { stdio: 'inherit', shell: true })\n child.on('error', reject)\n child.on('exit', (code) => {\n if (code === 0) resolve()\n else\n reject(\n new MxsError({\n code: MxsErrorCode.Generic,\n message: `editor exited with code ${code}`,\n }),\n )\n })\n })\n}\n"],"mappings":";;;;;;AAaA,eAAsB,mBAAmB,MAAsC;CAC7E,MAAM,SAAS,KAAK,UAAU,QAAQ,IAAI,UAAU,QAAQ,IAAI;CAChE,IAAI,CAAC,QACH,MAAM,IAAI,SAAS;EACjB,MAAM,aAAa;EACnB,SAAS;EACT,MAAM;CACR,CAAC;CAEH,MAAM,MAAM,MAAMA,SAAG,QAAQ,KAAK,KAAK,GAAG,OAAO,GAAG,MAAM,CAAC;CAC3D,MAAM,UAAU,KAAK,KAAK,KAAK,KAAK,QAAQ;CAC5C,MAAMA,SAAG,UAAU,SAAS,KAAK,gBAAgB,MAAM;CACvD,MAAM,iBAAiB,QAAQ,CAAC,OAAO,CAAC;CACxC,MAAM,OAAO,MAAMA,SAAG,SAAS,SAAS,MAAM;CAC9C,MAAMA,SAAG,OAAO,OAAO,EAAE,YAAY,KAAA,CAAS;CAC9C,MAAMA,SAAG,MAAM,GAAG,EAAE,YAAY,KAAA,CAAS;CACzC,OAAO;AACT;AAEA,SAAS,iBAAiB,KAAa,MAA+B;CACpE,OAAO,IAAI,SAAS,SAAS,WAAW;EACtC,MAAM,QAAQ,MAAM,KAAK,MAAM;GAAE,OAAO;GAAW,OAAO;EAAK,CAAC;EAChE,MAAM,GAAG,SAAS,MAAM;EACxB,MAAM,GAAG,SAAS,SAAS;GACzB,IAAI,SAAS,GAAG,QAAQ;QAEtB,OACE,IAAI,SAAS;IACX,MAAM,aAAa;IACnB,SAAS,2BAA2B;GACtC,CAAC,CACH;EACJ,CAAC;CACH,CAAC;AACH"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as coerceMeta } from "./payload-
|
|
1
|
+
import { a as coerceMeta } from "./payload-CO4zbNr8.mjs";
|
|
2
2
|
//#region src/commands/internal/envelope-overlays.ts
|
|
3
3
|
function applyNoteEnvelopeMeta(payload, rawMeta) {
|
|
4
4
|
const meta = coerceMeta(rawMeta);
|
|
@@ -23,4 +23,4 @@ function applyPageEnvelopeMeta(payload, rawMeta) {
|
|
|
23
23
|
//#endregion
|
|
24
24
|
export { applyPageEnvelopeMeta as n, applyNoteEnvelopeMeta as t };
|
|
25
25
|
|
|
26
|
-
//# sourceMappingURL=envelope-overlays-
|
|
26
|
+
//# sourceMappingURL=envelope-overlays-DXXygxdF.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"envelope-overlays-
|
|
1
|
+
{"version":3,"file":"envelope-overlays-DXXygxdF.mjs","names":[],"sources":["../src/commands/internal/envelope-overlays.ts"],"sourcesContent":["import { coerceMeta } from '../../core/envelope'\n\nexport function applyNoteEnvelopeMeta(\n payload: Record<string, unknown>,\n rawMeta: Record<string, unknown>,\n): void {\n const meta = coerceMeta(rawMeta)\n if (meta.title !== undefined) payload.title = meta.title\n if (meta.slug !== undefined) payload.slug = meta.slug\n if (meta.topic !== undefined) payload.__topicName = meta.topic\n if (meta.state !== undefined) payload.isPublished = meta.state === 'publish'\n if (meta.mood !== undefined) payload.mood = meta.mood\n if (meta.weather !== undefined) payload.weather = meta.weather\n if (meta.publicAt !== undefined) payload.publicAt = meta.publicAt\n if (meta.password !== undefined) payload.password = meta.password\n if (meta.bookmark !== undefined) payload.bookmark = meta.bookmark\n if (meta.location !== undefined) payload.location = meta.location\n}\n\nexport function applyPageEnvelopeMeta(\n payload: Record<string, unknown>,\n rawMeta: Record<string, unknown>,\n): void {\n const meta = coerceMeta(rawMeta)\n if (meta.title !== undefined) payload.title = meta.title\n if (meta.slug !== undefined) payload.slug = meta.slug\n if (meta.subtitle !== undefined) payload.subtitle = meta.subtitle\n if (meta.order !== undefined) payload.order = meta.order\n}\n"],"mappings":";;AAEA,SAAgB,sBACd,SACA,SACM;CACN,MAAM,OAAO,WAAW,OAAO;CAC/B,IAAI,KAAK,UAAU,KAAA,GAAW,QAAQ,QAAQ,KAAK;CACnD,IAAI,KAAK,SAAS,KAAA,GAAW,QAAQ,OAAO,KAAK;CACjD,IAAI,KAAK,UAAU,KAAA,GAAW,QAAQ,cAAc,KAAK;CACzD,IAAI,KAAK,UAAU,KAAA,GAAW,QAAQ,cAAc,KAAK,UAAU;CACnE,IAAI,KAAK,SAAS,KAAA,GAAW,QAAQ,OAAO,KAAK;CACjD,IAAI,KAAK,YAAY,KAAA,GAAW,QAAQ,UAAU,KAAK;CACvD,IAAI,KAAK,aAAa,KAAA,GAAW,QAAQ,WAAW,KAAK;CACzD,IAAI,KAAK,aAAa,KAAA,GAAW,QAAQ,WAAW,KAAK;CACzD,IAAI,KAAK,aAAa,KAAA,GAAW,QAAQ,WAAW,KAAK;CACzD,IAAI,KAAK,aAAa,KAAA,GAAW,QAAQ,WAAW,KAAK;AAC3D;AAEA,SAAgB,sBACd,SACA,SACM;CACN,MAAM,OAAO,WAAW,OAAO;CAC/B,IAAI,KAAK,UAAU,KAAA,GAAW,QAAQ,QAAQ,KAAK;CACnD,IAAI,KAAK,SAAS,KAAA,GAAW,QAAQ,OAAO,KAAK;CACjD,IAAI,KAAK,aAAa,KAAA,GAAW,QAAQ,WAAW,KAAK;CACzD,IAAI,KAAK,UAAU,KAAA,GAAW,QAAQ,QAAQ,KAAK;AACrD"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { i as emitSuccess } from "./output-
|
|
2
|
-
import { n as resolveContext, r as withLangQuery, t as buildApiClient } from "./shared-
|
|
1
|
+
import { i as emitSuccess } from "./output-vzequvhd.mjs";
|
|
2
|
+
import { n as resolveContext, r as withLangQuery, t as buildApiClient } from "./shared-d0_6ZPn_.mjs";
|
|
3
3
|
//#region src/commands/category/get.ts
|
|
4
4
|
async function run(slugOrId, flags, out) {
|
|
5
5
|
emitSuccess((await buildApiClient(await resolveContext(flags, out), flags).request(`/categories/${slugOrId}`, { query: withLangQuery(flags) })).data, out);
|
|
@@ -7,4 +7,4 @@ async function run(slugOrId, flags, out) {
|
|
|
7
7
|
//#endregion
|
|
8
8
|
export { run };
|
|
9
9
|
|
|
10
|
-
//# sourceMappingURL=get-
|
|
10
|
+
//# sourceMappingURL=get-B3Y5hAAO.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-
|
|
1
|
+
{"version":3,"file":"get-B3Y5hAAO.mjs","names":[],"sources":["../src/commands/category/get.ts"],"sourcesContent":["import { emitSuccess, type OutputOptions } from '../../core/output'\nimport {\n buildApiClient,\n type GlobalFlags,\n resolveContext,\n withLangQuery,\n} from '../internal/shared'\n\nexport async function run(\n slugOrId: string,\n flags: GlobalFlags,\n out: OutputOptions,\n) {\n const ctx = await resolveContext(flags, out)\n const client = buildApiClient(ctx, flags)\n const res = await client.request(`/categories/${slugOrId}`, {\n query: withLangQuery(flags),\n })\n emitSuccess(res.data, out)\n}\n"],"mappings":";;;AAQA,eAAsB,IACpB,UACA,OACA,KACA;CAMA,aAAY,MAJG,eAAe,MADZ,eAAe,OAAO,GAAG,GACR,KACZ,EAAE,QAAQ,eAAe,YAAY,EAC1D,OAAO,cAAc,KAAK,EAC5B,CAAC,GACe,MAAM,GAAG;AAC3B"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { t as emitDocument } from "./document-output-
|
|
2
|
-
import { n as resolveContext, r as withLangQuery, t as buildApiClient } from "./shared-
|
|
3
|
-
import { n as resolvePostReadPath } from "./resolve-
|
|
1
|
+
import { t as emitDocument } from "./document-output-BFJdwPV0.mjs";
|
|
2
|
+
import { n as resolveContext, r as withLangQuery, t as buildApiClient } from "./shared-d0_6ZPn_.mjs";
|
|
3
|
+
import { n as resolvePostReadPath } from "./resolve-jdb1VqAG.mjs";
|
|
4
4
|
//#region src/commands/post/get.ts
|
|
5
5
|
const KIND = "post";
|
|
6
6
|
async function run(slugOrId, flags, out) {
|
|
@@ -11,4 +11,4 @@ async function run(slugOrId, flags, out) {
|
|
|
11
11
|
//#endregion
|
|
12
12
|
export { run };
|
|
13
13
|
|
|
14
|
-
//# sourceMappingURL=get-
|
|
14
|
+
//# sourceMappingURL=get-C5fmd5Vf.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-
|
|
1
|
+
{"version":3,"file":"get-C5fmd5Vf.mjs","names":[],"sources":["../src/commands/post/get.ts"],"sourcesContent":["import { emitDocument, type DocumentKind } from '../../core/document-output'\nimport type { OutputOptions } from '../../core/output'\nimport {\n buildApiClient,\n type GlobalFlags,\n resolveContext,\n withLangQuery,\n} from '../internal/shared'\nimport { resolvePostReadPath } from './resolve'\n\nconst KIND: DocumentKind = 'post'\n\nexport async function run(\n slugOrId: string,\n flags: GlobalFlags,\n out: OutputOptions,\n) {\n const ctx = await resolveContext(flags, out)\n const client = buildApiClient(ctx, flags)\n const path = await resolvePostReadPath(client, slugOrId)\n const res = await client.request(path, {\n query: withLangQuery(flags, { prefer: 'lexical' }),\n })\n emitDocument(KIND, res.data, out)\n}\n"],"mappings":";;;;AAUA,MAAM,OAAqB;AAE3B,eAAsB,IACpB,UACA,OACA,KACA;CAEA,MAAM,SAAS,eAAe,MADZ,eAAe,OAAO,GAAG,GACR,KAAK;CACxC,MAAM,OAAO,MAAM,oBAAoB,QAAQ,QAAQ;CAIvD,aAAa,OAAM,MAHD,OAAO,QAAQ,MAAM,EACrC,OAAO,cAAc,OAAO,EAAE,QAAQ,UAAU,CAAC,EACnD,CAAC,GACsB,MAAM,GAAG;AAClC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { s as MxsError } from "./output-
|
|
2
|
-
import { t as emitDocument } from "./document-output-
|
|
3
|
-
import { r as isSnowflakeId } from "./resolve-
|
|
4
|
-
import { n as resolveContext, r as withLangQuery, t as buildApiClient } from "./shared-
|
|
1
|
+
import { c as MxsErrorCode, s as MxsError } from "./output-vzequvhd.mjs";
|
|
2
|
+
import { t as emitDocument } from "./document-output-BFJdwPV0.mjs";
|
|
3
|
+
import { r as isSnowflakeId } from "./resolve-CUsHGcb-.mjs";
|
|
4
|
+
import { n as resolveContext, r as withLangQuery, t as buildApiClient } from "./shared-d0_6ZPn_.mjs";
|
|
5
5
|
//#region src/commands/note/get.ts
|
|
6
6
|
const KIND = "note";
|
|
7
7
|
async function run(slugOrId, flags, out) {
|
|
@@ -18,11 +18,11 @@ async function run(slugOrId, flags, out) {
|
|
|
18
18
|
return;
|
|
19
19
|
}
|
|
20
20
|
throw new MxsError({
|
|
21
|
-
code:
|
|
21
|
+
code: MxsErrorCode.ValidationFailed,
|
|
22
22
|
message: `invalid note reference: ${slugOrId} (use snowflake id or numeric nid)`
|
|
23
23
|
});
|
|
24
24
|
}
|
|
25
25
|
//#endregion
|
|
26
26
|
export { run };
|
|
27
27
|
|
|
28
|
-
//# sourceMappingURL=get-
|
|
28
|
+
//# sourceMappingURL=get-Cdp2tmwz.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-Cdp2tmwz.mjs","names":[],"sources":["../src/commands/note/get.ts"],"sourcesContent":["import { type DocumentKind, emitDocument } from '../../core/document-output'\nimport { MxsError, MxsErrorCode } from '../../core/errors'\nimport type { OutputOptions } from '../../core/output'\nimport { isSnowflakeId } from '../../core/resolve'\nimport {\n buildApiClient,\n type GlobalFlags,\n resolveContext,\n withLangQuery,\n} from '../internal/shared'\n\nconst KIND: DocumentKind = 'note'\n\nexport async function run(\n slugOrId: string,\n flags: GlobalFlags,\n out: OutputOptions,\n) {\n const ctx = await resolveContext(flags, out)\n const client = buildApiClient(ctx, flags)\n if (isSnowflakeId(slugOrId)) {\n const res = await client.request(`/notes/${slugOrId}`, {\n query: withLangQuery(flags, { prefer: 'lexical' }),\n })\n emitDocument(KIND, res.data, out)\n return\n }\n if (/^\\d+$/.test(slugOrId)) {\n const res = await client.request(`/notes/nid/${slugOrId}`, {\n query: withLangQuery(flags, { single: '1', prefer: 'lexical' }),\n })\n emitDocument(KIND, res.data, out)\n return\n }\n throw new MxsError({\n code: MxsErrorCode.ValidationFailed,\n message: `invalid note reference: ${slugOrId} (use snowflake id or numeric nid)`,\n })\n}\n"],"mappings":";;;;;AAWA,MAAM,OAAqB;AAE3B,eAAsB,IACpB,UACA,OACA,KACA;CAEA,MAAM,SAAS,eAAe,MADZ,eAAe,OAAO,GAAG,GACR,KAAK;CACxC,IAAI,cAAc,QAAQ,GAAG;EAI3B,aAAa,OAAM,MAHD,OAAO,QAAQ,UAAU,YAAY,EACrD,OAAO,cAAc,OAAO,EAAE,QAAQ,UAAU,CAAC,EACnD,CAAC,GACsB,MAAM,GAAG;EAChC;CACF;CACA,IAAI,QAAQ,KAAK,QAAQ,GAAG;EAI1B,aAAa,OAAM,MAHD,OAAO,QAAQ,cAAc,YAAY,EACzD,OAAO,cAAc,OAAO;GAAE,QAAQ;GAAK,QAAQ;EAAU,CAAC,EAChE,CAAC,GACsB,MAAM,GAAG;EAChC;CACF;CACA,MAAM,IAAI,SAAS;EACjB,MAAM,aAAa;EACnB,SAAS,2BAA2B,SAAS;CAC/C,CAAC;AACH"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { i as emitSuccess } from "./output-
|
|
2
|
-
import { n as resolveContext, t as buildApiClient } from "./shared-
|
|
1
|
+
import { i as emitSuccess } from "./output-vzequvhd.mjs";
|
|
2
|
+
import { n as resolveContext, t as buildApiClient } from "./shared-d0_6ZPn_.mjs";
|
|
3
3
|
//#region src/commands/config/get.ts
|
|
4
4
|
async function run(key, flags, out) {
|
|
5
5
|
emitSuccess((await buildApiClient(await resolveContext(flags, out), flags).request(`/options/${key}`)).data, out);
|
|
@@ -7,4 +7,4 @@ async function run(key, flags, out) {
|
|
|
7
7
|
//#endregion
|
|
8
8
|
export { run };
|
|
9
9
|
|
|
10
|
-
//# sourceMappingURL=get-
|
|
10
|
+
//# sourceMappingURL=get-D18ChSKU.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-
|
|
1
|
+
{"version":3,"file":"get-D18ChSKU.mjs","names":[],"sources":["../src/commands/config/get.ts"],"sourcesContent":["import { emitSuccess, type OutputOptions } from '../../core/output'\nimport { buildApiClient, type GlobalFlags, resolveContext } from '../internal/shared'\n\nexport async function run(key: string, flags: GlobalFlags, out: OutputOptions) {\n const ctx = await resolveContext(flags, out)\n const client = buildApiClient(ctx, flags)\n const res = await client.request(`/options/${key}`)\n emitSuccess(res.data, out)\n}\n"],"mappings":";;;AAGA,eAAsB,IAAI,KAAa,OAAoB,KAAoB;CAI7E,aAAY,MAFG,eAAe,MADZ,eAAe,OAAO,GAAG,GACR,KACZ,EAAE,QAAQ,YAAY,KAAK,GAClC,MAAM,GAAG;AAC3B"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { i as emitSuccess } from "./output-
|
|
2
|
-
import { r as isSnowflakeId } from "./resolve-
|
|
3
|
-
import { n as resolveContext, r as withLangQuery, t as buildApiClient } from "./shared-
|
|
1
|
+
import { i as emitSuccess } from "./output-vzequvhd.mjs";
|
|
2
|
+
import { r as isSnowflakeId } from "./resolve-CUsHGcb-.mjs";
|
|
3
|
+
import { n as resolveContext, r as withLangQuery, t as buildApiClient } from "./shared-d0_6ZPn_.mjs";
|
|
4
4
|
//#region src/commands/topic/get.ts
|
|
5
5
|
async function run(slugOrId, flags, out) {
|
|
6
6
|
const client = buildApiClient(await resolveContext(flags, out), flags);
|
|
@@ -10,4 +10,4 @@ async function run(slugOrId, flags, out) {
|
|
|
10
10
|
//#endregion
|
|
11
11
|
export { run };
|
|
12
12
|
|
|
13
|
-
//# sourceMappingURL=get-
|
|
13
|
+
//# sourceMappingURL=get-NSHTGu4Y.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-
|
|
1
|
+
{"version":3,"file":"get-NSHTGu4Y.mjs","names":[],"sources":["../src/commands/topic/get.ts"],"sourcesContent":["import { emitSuccess, type OutputOptions } from '../../core/output'\nimport { isSnowflakeId } from '../../core/resolve'\nimport {\n buildApiClient,\n type GlobalFlags,\n resolveContext,\n withLangQuery,\n} from '../internal/shared'\n\nexport async function run(\n slugOrId: string,\n flags: GlobalFlags,\n out: OutputOptions,\n) {\n const ctx = await resolveContext(flags, out)\n const client = buildApiClient(ctx, flags)\n const path = isSnowflakeId(slugOrId)\n ? `/topics/${slugOrId}`\n : `/topics/slug/${slugOrId}`\n const res = await client.request(path, { query: withLangQuery(flags) })\n emitSuccess(res.data, out)\n}\n"],"mappings":";;;;AASA,eAAsB,IACpB,UACA,OACA,KACA;CAEA,MAAM,SAAS,eAAe,MADZ,eAAe,OAAO,GAAG,GACR,KAAK;CACxC,MAAM,OAAO,cAAc,QAAQ,IAC/B,WAAW,aACX,gBAAgB;CAEpB,aAAY,MADM,OAAO,QAAQ,MAAM,EAAE,OAAO,cAAc,KAAK,EAAE,CAAC,GACtD,MAAM,GAAG;AAC3B"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { t as emitDocument } from "./document-output-
|
|
2
|
-
import { r as isSnowflakeId } from "./resolve-
|
|
3
|
-
import { n as resolveContext, r as withLangQuery, t as buildApiClient } from "./shared-
|
|
1
|
+
import { t as emitDocument } from "./document-output-BFJdwPV0.mjs";
|
|
2
|
+
import { r as isSnowflakeId } from "./resolve-CUsHGcb-.mjs";
|
|
3
|
+
import { n as resolveContext, r as withLangQuery, t as buildApiClient } from "./shared-d0_6ZPn_.mjs";
|
|
4
4
|
//#region src/commands/page/get.ts
|
|
5
5
|
const KIND = "page";
|
|
6
6
|
async function run(slugOrId, flags, out) {
|
|
@@ -11,4 +11,4 @@ async function run(slugOrId, flags, out) {
|
|
|
11
11
|
//#endregion
|
|
12
12
|
export { run };
|
|
13
13
|
|
|
14
|
-
//# sourceMappingURL=get-
|
|
14
|
+
//# sourceMappingURL=get-XBPJr95m.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-
|
|
1
|
+
{"version":3,"file":"get-XBPJr95m.mjs","names":[],"sources":["../src/commands/page/get.ts"],"sourcesContent":["import { emitDocument, type DocumentKind } from '../../core/document-output'\nimport type { OutputOptions } from '../../core/output'\nimport { isSnowflakeId } from '../../core/resolve'\nimport {\n buildApiClient,\n type GlobalFlags,\n resolveContext,\n withLangQuery,\n} from '../internal/shared'\n\nconst KIND: DocumentKind = 'page'\n\nexport async function run(\n slugOrId: string,\n flags: GlobalFlags,\n out: OutputOptions,\n) {\n const ctx = await resolveContext(flags, out)\n const client = buildApiClient(ctx, flags)\n const path = isSnowflakeId(slugOrId)\n ? `/pages/${slugOrId}`\n : `/pages/slug/${slugOrId}`\n const res = await client.request(path, {\n query: withLangQuery(flags, { prefer: 'lexical' }),\n })\n emitDocument(KIND, res.data, out)\n}\n"],"mappings":";;;;AAUA,MAAM,OAAqB;AAE3B,eAAsB,IACpB,UACA,OACA,KACA;CAEA,MAAM,SAAS,eAAe,MADZ,eAAe,OAAO,GAAG,GACR,KAAK;CACxC,MAAM,OAAO,cAAc,QAAQ,IAC/B,UAAU,aACV,eAAe;CAInB,aAAa,OAAM,MAHD,OAAO,QAAQ,MAAM,EACrC,OAAO,cAAc,OAAO,EAAE,QAAQ,UAAU,CAAC,EACnD,CAAC,GACsB,MAAM,GAAG;AAClC"}
|
package/dist/index.d.mts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as emitSuccess, i as emitInfo, n as defaultOutputOptions, o as emitWarn, r as emitError, s as renderTable, t as OutputOptions } from "./output-
|
|
1
|
+
import { a as emitSuccess, i as emitInfo, n as defaultOutputOptions, o as emitWarn, r as emitError, s as renderTable, t as OutputOptions } from "./output-D2dDlyV2.mjs";
|
|
2
2
|
|
|
3
3
|
//#region src/core/config-dir.d.ts
|
|
4
4
|
declare function getConfigDir(): string;
|
|
@@ -49,8 +49,20 @@ declare function getConfigPath(): string;
|
|
|
49
49
|
declare function getCredentialsPath(): string;
|
|
50
50
|
declare function readConfig(): Promise<ConfigShape>;
|
|
51
51
|
declare function writeConfig(cfg: ConfigShape): Promise<void>;
|
|
52
|
+
/**
|
|
53
|
+
* @deprecated Read from profile credentials via `readProfileCredentials` in core/profile.ts.
|
|
54
|
+
* Kept for the legacy migration read path and api-client auto-refresh; remove after full profile migration.
|
|
55
|
+
*/
|
|
52
56
|
declare function readCredentials(): Promise<CredentialsShape | null>;
|
|
57
|
+
/**
|
|
58
|
+
* @deprecated Write to profile credentials via `writeProfileCredentials` in core/profile.ts.
|
|
59
|
+
* Kept for the legacy migration read path and api-client auto-refresh; remove after full profile migration.
|
|
60
|
+
*/
|
|
53
61
|
declare function writeCredentials(cred: CredentialsShape): Promise<void>;
|
|
62
|
+
/**
|
|
63
|
+
* @deprecated Use `deleteProfileCredentials` in core/profile.ts for profile-aware logout.
|
|
64
|
+
* Kept only for Task 2 migration's read path; remove after full profile migration.
|
|
65
|
+
*/
|
|
54
66
|
declare function deleteCredentials(): Promise<void>;
|
|
55
67
|
declare function enforceCredentialsMode(p?: string): Promise<boolean>;
|
|
56
68
|
declare function normalizeApiUrl(input: string): string;
|
|
@@ -112,7 +124,10 @@ interface ApiClientContext {
|
|
|
112
124
|
apiKey?: string;
|
|
113
125
|
autoRefresh?: boolean;
|
|
114
126
|
verbose?: boolean;
|
|
127
|
+
quiet?: boolean;
|
|
115
128
|
http?: AuthHttp;
|
|
129
|
+
/** When provided, enables the production banner and write gate. */
|
|
130
|
+
resolved?: ResolvedConfig;
|
|
116
131
|
}
|
|
117
132
|
interface RequestOptions {
|
|
118
133
|
method?: 'GET' | 'POST' | 'PATCH' | 'PUT' | 'DELETE';
|
|
@@ -151,14 +166,6 @@ declare function readContentSpec(spec: string | undefined, {
|
|
|
151
166
|
}): Promise<ContentSource | null>;
|
|
152
167
|
declare function readJsonSpec(spec: string | undefined): Promise<unknown>;
|
|
153
168
|
//#endregion
|
|
154
|
-
//#region src/core/editor.d.ts
|
|
155
|
-
interface EditorOptions {
|
|
156
|
-
filename: string;
|
|
157
|
-
initialContent: string;
|
|
158
|
-
editor?: string;
|
|
159
|
-
}
|
|
160
|
-
declare function runEditorRoundTrip(opts: EditorOptions): Promise<string>;
|
|
161
|
-
//#endregion
|
|
162
169
|
//#region src/core/document-output.d.ts
|
|
163
170
|
type DocumentKind = 'post' | 'note' | 'page';
|
|
164
171
|
declare function emitDocument(kind: DocumentKind, data: unknown, opts: OutputOptions): void;
|
|
@@ -167,6 +174,14 @@ declare function renderReadableDocument(kind: DocumentKind, data: unknown): stri
|
|
|
167
174
|
declare function renderPostList(data: unknown): string;
|
|
168
175
|
declare function renderDocumentEnvelope(kind: DocumentKind, data: unknown): string;
|
|
169
176
|
//#endregion
|
|
177
|
+
//#region src/core/editor.d.ts
|
|
178
|
+
interface EditorOptions {
|
|
179
|
+
filename: string;
|
|
180
|
+
initialContent: string;
|
|
181
|
+
editor?: string;
|
|
182
|
+
}
|
|
183
|
+
declare function runEditorRoundTrip(opts: EditorOptions): Promise<string>;
|
|
184
|
+
//#endregion
|
|
170
185
|
//#region src/core/envelope.d.ts
|
|
171
186
|
type EnvelopeKind = 'post' | 'note';
|
|
172
187
|
interface ParsedEnvelope {
|
|
@@ -203,7 +218,36 @@ interface EnvelopeMeta {
|
|
|
203
218
|
declare function coerceMeta(raw: Record<string, unknown>): EnvelopeMeta;
|
|
204
219
|
//#endregion
|
|
205
220
|
//#region src/core/errors.d.ts
|
|
206
|
-
|
|
221
|
+
declare const MxsErrorCode: {
|
|
222
|
+
readonly Generic: "generic";
|
|
223
|
+
readonly ArgvParse: "argv.parse";
|
|
224
|
+
readonly AuthMissing: "auth.missing";
|
|
225
|
+
readonly AuthExpired: "auth.expired";
|
|
226
|
+
readonly AuthDenied: "auth.denied";
|
|
227
|
+
readonly AuthProbe: "auth.probe";
|
|
228
|
+
readonly NetworkTimeout: "network.timeout";
|
|
229
|
+
readonly NetworkDns: "network.dns";
|
|
230
|
+
readonly NetworkRefused: "network.refused";
|
|
231
|
+
readonly ValidationFailed: "validation.failed";
|
|
232
|
+
readonly ValidationXml: "validation.xml";
|
|
233
|
+
readonly ServerError: "server.error";
|
|
234
|
+
readonly ResourceNotFound: "resource.not_found";
|
|
235
|
+
readonly ConfigMissingApiUrl: "config.missing.api_url";
|
|
236
|
+
readonly ConfigMissingToken: "config.missing.token";
|
|
237
|
+
readonly ConfigMigrationFailed: "config.migration.failed";
|
|
238
|
+
readonly ProfileNotFound: "profile.not_found";
|
|
239
|
+
readonly ProfileNoneActive: "profile.none_active";
|
|
240
|
+
readonly ProfileInvalidName: "profile.invalid_name";
|
|
241
|
+
readonly ProfileWriteRequiresExplicit: "profile.write_requires_explicit";
|
|
242
|
+
readonly UpdateDevEnvironment: "update.dev_environment";
|
|
243
|
+
readonly UpdateTransientInstall: "update.transient_install";
|
|
244
|
+
readonly UpdatePmUnknown: "update.pm_unknown";
|
|
245
|
+
readonly UpdateRegistryUnreachable: "update.registry_unreachable";
|
|
246
|
+
readonly UpdateNodeIncompatible: "update.node_incompatible";
|
|
247
|
+
readonly UpdateSpawnFailed: "update.spawn_failed";
|
|
248
|
+
readonly UpdatePermissionDenied: "update.permission_denied";
|
|
249
|
+
};
|
|
250
|
+
type MxsErrorCode = (typeof MxsErrorCode)[keyof typeof MxsErrorCode] | (string & {});
|
|
207
251
|
interface MxsErrorOptions {
|
|
208
252
|
code: MxsErrorCode;
|
|
209
253
|
message: string;
|
|
@@ -254,6 +298,8 @@ interface OnboardingOptions {
|
|
|
254
298
|
initialApiUrl?: string;
|
|
255
299
|
isTTY?: boolean;
|
|
256
300
|
prompt?: (question: string) => Promise<string>;
|
|
301
|
+
/** Override the target profile name (mirrors --profile flag). */
|
|
302
|
+
profile?: string;
|
|
257
303
|
}
|
|
258
304
|
declare function runOnboarding(opts?: OnboardingOptions): Promise<OnboardingResult>;
|
|
259
305
|
//#endregion
|
|
@@ -346,5 +392,5 @@ declare function matchItem(items: ReadonlyArray<ResolvableItem>, value: string):
|
|
|
346
392
|
declare function levenshtein(a: string, b: string): number;
|
|
347
393
|
declare function fuzzySuggest(items: ReadonlyArray<ResolvableItem>, value: string, maxDistance?: number): string[];
|
|
348
394
|
//#endregion
|
|
349
|
-
export { ApiClient, type ApiClientContext, type ApiResponse, type AuthHttp, type BuiltPayload, type ConfigShape, type ContentFormat, type ContentSource, type CredentialsShape, type DeviceCodeResponse, type DeviceTokenResponse, type DocumentKind, type EnvelopeKind, type EnvelopeMeta, type LexicalState, MxsError,
|
|
395
|
+
export { ApiClient, type ApiClientContext, type ApiResponse, type AuthHttp, type BuiltPayload, type ConfigShape, type ContentFormat, type ContentSource, type CredentialsShape, type DeviceCodeResponse, type DeviceTokenResponse, type DocumentKind, type EnvelopeKind, type EnvelopeMeta, type LexicalState, MxsError, MxsErrorCode, type MxsErrorOptions, NameResolver, type NoteFlagInputs, type OnboardingResult, type OutputOptions, type PageFlagInputs, type ParsedEnvelope, type PostFlagInputs, type ProbeResult, type RequestOptions, type ResolvableItem, type ResolvedConfig, type ResolverFetchers, SUPPORTED_API_VERSIONS, buildNotePayload, buildPagePayload, buildPostPayload, coerceMeta, createApiClient, defaultOutputOptions, deleteCredentials, deriveTextFromLexical, emitDocument, emitError, emitInfo, emitPostList, emitSuccess, emitWarn, emptyLexicalState, emptyPayload, enforceCredentialsMode, ensureFreshToken, exitCodeForError, flagToTag, fuzzySuggest, getConfigDir, getConfigPath, getCredentialsPath, isExpiringSoon, isSnowflakeId, levenshtein, loadCredentialsOrThrow, matchItem, normalizeApiUrl, parseEnvelope, parseToLexical, pollDeviceToken, probeAuthEndpoint, readConfig, readContentSpec, readCredentials, readJsonSpec, refreshAccessToken, renderDocumentEnvelope, renderPostList, renderReadableDocument, renderTable, requestDeviceCode, resolveConfig, runEditorRoundTrip, runOnboarding, serializeFromLexical, tagToFlag, toCredentials, writeConfig, writeCredentials };
|
|
350
396
|
//# sourceMappingURL=index.d.mts.map
|