@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
|
@@ -1,79 +1,7 @@
|
|
|
1
|
-
import { s as MxsError } from "./output-
|
|
1
|
+
import { c as MxsErrorCode, s as MxsError } from "./output-vzequvhd.mjs";
|
|
2
|
+
import { a as getProfileCredentialsPath, g as getConfigDir, i as getProfileConfigPath, l as readProfileConfig, o as getProfileDir, r as getCurrentProfile, u as readProfileCredentials } from "./profile-CNe2uWJi.mjs";
|
|
2
3
|
import path from "node:path";
|
|
3
4
|
import { promises } from "node:fs";
|
|
4
|
-
import os from "node:os";
|
|
5
|
-
//#region src/core/config-dir.ts
|
|
6
|
-
function getConfigDir() {
|
|
7
|
-
const xdg = process.env.XDG_CONFIG_HOME;
|
|
8
|
-
const base = xdg && xdg.length > 0 ? xdg : path.join(os.homedir(), ".config");
|
|
9
|
-
return path.join(base, "mxs");
|
|
10
|
-
}
|
|
11
|
-
//#endregion
|
|
12
|
-
//#region src/core/profile.ts
|
|
13
|
-
function getProfilesDir() {
|
|
14
|
-
return path.join(getConfigDir(), "profiles");
|
|
15
|
-
}
|
|
16
|
-
function getCurrentPath() {
|
|
17
|
-
return path.join(getConfigDir(), "current");
|
|
18
|
-
}
|
|
19
|
-
function getProfileDir(name) {
|
|
20
|
-
return path.join(getProfilesDir(), name);
|
|
21
|
-
}
|
|
22
|
-
function getProfileConfigPath(name) {
|
|
23
|
-
return path.join(getProfileDir(name), "config.json");
|
|
24
|
-
}
|
|
25
|
-
function getProfileCredentialsPath(name) {
|
|
26
|
-
return path.join(getProfileDir(name), "credentials.json");
|
|
27
|
-
}
|
|
28
|
-
async function getCurrentProfile() {
|
|
29
|
-
const p = getCurrentPath();
|
|
30
|
-
try {
|
|
31
|
-
const name = (await promises.readFile(p, "utf8")).trim();
|
|
32
|
-
return name.length > 0 ? name : null;
|
|
33
|
-
} catch (err) {
|
|
34
|
-
if (err?.code === "ENOENT") return null;
|
|
35
|
-
throw err;
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
async function readJsonIfExists$1(p) {
|
|
39
|
-
try {
|
|
40
|
-
const raw = await promises.readFile(p, "utf8");
|
|
41
|
-
return JSON.parse(raw);
|
|
42
|
-
} catch (err) {
|
|
43
|
-
if (err?.code === "ENOENT") return null;
|
|
44
|
-
if (err instanceof SyntaxError) throw new MxsError({
|
|
45
|
-
code: "generic",
|
|
46
|
-
message: `failed to parse ${p}: ${err.message}`
|
|
47
|
-
});
|
|
48
|
-
throw err;
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
async function readProfileConfig(name) {
|
|
52
|
-
return await readJsonIfExists$1(getProfileConfigPath(name)) ?? {};
|
|
53
|
-
}
|
|
54
|
-
async function readProfileCredentials(name) {
|
|
55
|
-
const p = getProfileCredentialsPath(name);
|
|
56
|
-
const data = await readJsonIfExists$1(p);
|
|
57
|
-
if (data) await enforceProfileCredentialsMode(p);
|
|
58
|
-
return data;
|
|
59
|
-
}
|
|
60
|
-
async function enforceProfileCredentialsMode(p) {
|
|
61
|
-
let stats;
|
|
62
|
-
try {
|
|
63
|
-
stats = await promises.stat(p);
|
|
64
|
-
} catch (err) {
|
|
65
|
-
if (err?.code === "ENOENT") return false;
|
|
66
|
-
throw err;
|
|
67
|
-
}
|
|
68
|
-
const mode = stats.mode & 511;
|
|
69
|
-
if (mode !== 384) {
|
|
70
|
-
process.stderr.write(`mxs: credentials file ${p} had mode ${mode.toString(8)}; chmod 600\n`);
|
|
71
|
-
await promises.chmod(p, 384);
|
|
72
|
-
return true;
|
|
73
|
-
}
|
|
74
|
-
return false;
|
|
75
|
-
}
|
|
76
|
-
//#endregion
|
|
77
5
|
//#region src/core/config-store.ts
|
|
78
6
|
const DEFAULT_CLIENT_ID = "mxs-cli";
|
|
79
7
|
function getLegacyConfigPath() {
|
|
@@ -97,7 +25,7 @@ async function readJsonIfExists(p) {
|
|
|
97
25
|
} catch (err) {
|
|
98
26
|
if (err?.code === "ENOENT") return null;
|
|
99
27
|
if (err instanceof SyntaxError) throw new MxsError({
|
|
100
|
-
code:
|
|
28
|
+
code: MxsErrorCode.Generic,
|
|
101
29
|
message: `failed to parse ${p}: ${err.message}`
|
|
102
30
|
});
|
|
103
31
|
throw err;
|
|
@@ -114,12 +42,20 @@ async function writeConfig(cfg) {
|
|
|
114
42
|
await promises.chmod(getLegacyConfigPath(), 420);
|
|
115
43
|
} catch {}
|
|
116
44
|
}
|
|
45
|
+
/**
|
|
46
|
+
* @deprecated Read from profile credentials via `readProfileCredentials` in core/profile.ts.
|
|
47
|
+
* Kept for the legacy migration read path and api-client auto-refresh; remove after full profile migration.
|
|
48
|
+
*/
|
|
117
49
|
async function readCredentials() {
|
|
118
50
|
const p = getLegacyCredentialsPath();
|
|
119
51
|
const data = await readJsonIfExists(p);
|
|
120
52
|
if (data) await enforceCredentialsMode(p);
|
|
121
53
|
return data;
|
|
122
54
|
}
|
|
55
|
+
/**
|
|
56
|
+
* @deprecated Write to profile credentials via `writeProfileCredentials` in core/profile.ts.
|
|
57
|
+
* Kept for the legacy migration read path and api-client auto-refresh; remove after full profile migration.
|
|
58
|
+
*/
|
|
123
59
|
async function writeCredentials(cred) {
|
|
124
60
|
const dir = getConfigDir();
|
|
125
61
|
await promises.mkdir(dir, { recursive: true });
|
|
@@ -127,6 +63,10 @@ async function writeCredentials(cred) {
|
|
|
127
63
|
await promises.writeFile(p, JSON.stringify(cred, null, 2), { mode: 384 });
|
|
128
64
|
await promises.chmod(p, 384);
|
|
129
65
|
}
|
|
66
|
+
/**
|
|
67
|
+
* @deprecated Use `deleteProfileCredentials` in core/profile.ts for profile-aware logout.
|
|
68
|
+
* Kept only for Task 2 migration's read path; remove after full profile migration.
|
|
69
|
+
*/
|
|
130
70
|
async function deleteCredentials() {
|
|
131
71
|
const p = getLegacyCredentialsPath();
|
|
132
72
|
try {
|
|
@@ -154,7 +94,7 @@ async function enforceCredentialsMode(p = getLegacyCredentialsPath()) {
|
|
|
154
94
|
function normalizeApiUrl(input) {
|
|
155
95
|
let url = input.trim();
|
|
156
96
|
if (!url) throw new MxsError({
|
|
157
|
-
code:
|
|
97
|
+
code: MxsErrorCode.ConfigMissingApiUrl,
|
|
158
98
|
message: "API URL is empty"
|
|
159
99
|
});
|
|
160
100
|
if (!/^https?:\/\//i.test(url)) url = /^(?:localhost|127\.0\.0\.1|::1)(?::\d+)?$/i.test(url) ? `http://${url}` : `https://${url}`;
|
|
@@ -170,14 +110,14 @@ async function resolveConfig(overrides = {}) {
|
|
|
170
110
|
const profileName = overrides.profile?.trim() || envProfile || await getCurrentProfile() || null;
|
|
171
111
|
if (profileName && !urlOverridden) try {
|
|
172
112
|
if (!(await promises.stat(getProfileDir(profileName))).isDirectory()) throw new MxsError({
|
|
173
|
-
code:
|
|
113
|
+
code: MxsErrorCode.ProfileNotFound,
|
|
174
114
|
message: `profile '${profileName}' does not exist`,
|
|
175
115
|
hint: "run `mxs profile ls` to see configured profiles, or `mxs auth login --profile <name>` to create one"
|
|
176
116
|
});
|
|
177
117
|
} catch (err) {
|
|
178
118
|
if (err instanceof MxsError) throw err;
|
|
179
119
|
if (err?.code === "ENOENT") throw new MxsError({
|
|
180
|
-
code:
|
|
120
|
+
code: MxsErrorCode.ProfileNotFound,
|
|
181
121
|
message: `profile '${profileName}' does not exist`,
|
|
182
122
|
hint: "run `mxs profile ls` to see configured profiles, or `mxs auth login --profile <name>` to create one"
|
|
183
123
|
});
|
|
@@ -187,7 +127,7 @@ async function resolveConfig(overrides = {}) {
|
|
|
187
127
|
if (profileName) profileConfig = await readProfileConfig(profileName);
|
|
188
128
|
const rawApiUrl = overrides.apiUrl || envApiUrl || profileConfig.api_url;
|
|
189
129
|
if (!rawApiUrl) throw new MxsError({
|
|
190
|
-
code:
|
|
130
|
+
code: MxsErrorCode.ConfigMissingApiUrl,
|
|
191
131
|
message: "API URL is not configured",
|
|
192
132
|
hint: "set MXS_API_URL or pass --api-url <url>, or run `mxs auth login` in an interactive shell"
|
|
193
133
|
});
|
|
@@ -221,6 +161,6 @@ async function resolveConfig(overrides = {}) {
|
|
|
221
161
|
};
|
|
222
162
|
}
|
|
223
163
|
//#endregion
|
|
224
|
-
export {
|
|
164
|
+
export { getLegacyConfigPath as a, readConfig as c, writeConfig as d, writeCredentials as f, getCredentialsPath as i, readCredentials as l, enforceCredentialsMode as n, getLegacyCredentialsPath as o, getConfigPath as r, normalizeApiUrl as s, deleteCredentials as t, resolveConfig as u };
|
|
225
165
|
|
|
226
|
-
//# sourceMappingURL=config-store-
|
|
166
|
+
//# sourceMappingURL=config-store-B8_9iStL.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-store-B8_9iStL.mjs","names":["fs"],"sources":["../src/core/config-store.ts"],"sourcesContent":["import { promises as fs } from 'node:fs'\nimport path from 'node:path'\n\nimport { getConfigDir } from './config-dir'\nimport { MxsError, MxsErrorCode } from './errors'\nimport {\n getCurrentProfile,\n getProfileConfigPath,\n getProfileCredentialsPath,\n getProfileDir,\n readProfileConfig,\n readProfileCredentials,\n} from './profile'\n\nexport { getConfigDir }\n\nexport interface ConfigShape {\n api_url?: string\n api_base?: string\n auth_base?: string\n api_version?: number\n client_id?: string\n production?: boolean\n}\n\nexport interface CredentialsShape {\n access_token: string\n refresh_token?: string\n expires_at: number\n user?: {\n id?: string\n email?: string\n name?: string\n }\n}\n\nexport interface ResolvedConfig {\n apiUrl: string\n apiBase: string\n authBase: string\n apiVersion: number\n clientId: string\n token?: string\n apiKey?: string\n configPath: string\n credentialsPath: string\n profileName: string | null\n isProduction: boolean\n profileExplicit: boolean\n urlOverridden: boolean\n}\n\nexport interface StoreOverrides {\n apiUrl?: string\n token?: string\n apiKey?: string\n profile?: string\n}\n\nconst DEFAULT_CLIENT_ID = 'mxs-cli'\n\nexport function getLegacyConfigPath(): string {\n return path.join(getConfigDir(), 'config.json')\n}\n\nexport function getLegacyCredentialsPath(): string {\n return path.join(getConfigDir(), 'credentials.json')\n}\n\n/** @deprecated Use getLegacyConfigPath for migration logic only */\nexport function getConfigPath(): string {\n return getLegacyConfigPath()\n}\n\n/** @deprecated Use getLegacyCredentialsPath for migration logic only */\nexport function getCredentialsPath(): string {\n return getLegacyCredentialsPath()\n}\n\nasync function readJsonIfExists<T>(p: string): Promise<T | null> {\n try {\n const raw = await fs.readFile(p, 'utf8')\n return JSON.parse(raw) as T\n } catch (err: any) {\n if (err?.code === 'ENOENT') return null\n if (err instanceof SyntaxError) {\n throw new MxsError({\n code: MxsErrorCode.Generic,\n message: `failed to parse ${p}: ${err.message}`,\n })\n }\n throw err\n }\n}\n\nexport async function readConfig(): Promise<ConfigShape> {\n const data = await readJsonIfExists<ConfigShape>(getLegacyConfigPath())\n return data ?? {}\n}\n\nexport async function writeConfig(cfg: ConfigShape): Promise<void> {\n const dir = getConfigDir()\n await fs.mkdir(dir, { recursive: true })\n await fs.writeFile(getLegacyConfigPath(), JSON.stringify(cfg, null, 2), {\n mode: 0o644,\n })\n try {\n await fs.chmod(getLegacyConfigPath(), 0o644)\n } catch {}\n}\n\n/**\n * @deprecated Read from profile credentials via `readProfileCredentials` in core/profile.ts.\n * Kept for the legacy migration read path and api-client auto-refresh; remove after full profile migration.\n */\nexport async function readCredentials(): Promise<CredentialsShape | null> {\n const p = getLegacyCredentialsPath()\n const data = await readJsonIfExists<CredentialsShape>(p)\n if (data) {\n await enforceCredentialsMode(p)\n }\n return data\n}\n\n/**\n * @deprecated Write to profile credentials via `writeProfileCredentials` in core/profile.ts.\n * Kept for the legacy migration read path and api-client auto-refresh; remove after full profile migration.\n */\nexport async function writeCredentials(cred: CredentialsShape): Promise<void> {\n const dir = getConfigDir()\n await fs.mkdir(dir, { recursive: true })\n const p = getLegacyCredentialsPath()\n await fs.writeFile(p, JSON.stringify(cred, null, 2), { mode: 0o600 })\n await fs.chmod(p, 0o600)\n}\n\n/**\n * @deprecated Use `deleteProfileCredentials` in core/profile.ts for profile-aware logout.\n * Kept only for Task 2 migration's read path; remove after full profile migration.\n */\nexport async function deleteCredentials(): Promise<void> {\n const p = getLegacyCredentialsPath()\n try {\n await fs.unlink(p)\n } catch (err: any) {\n if (err?.code !== 'ENOENT') throw err\n }\n}\n\nexport async function enforceCredentialsMode(\n p = getLegacyCredentialsPath(),\n): Promise<boolean> {\n let stats\n try {\n stats = await fs.stat(p)\n } catch (err: any) {\n if (err?.code === 'ENOENT') return false\n throw err\n }\n const mode = stats.mode & 0o777\n if (mode !== 0o600) {\n process.stderr.write(\n `mxs: credentials file ${p} had mode ${mode.toString(8)}; chmod 600\\n`,\n )\n await fs.chmod(p, 0o600)\n return true\n }\n return false\n}\n\nexport function normalizeApiUrl(input: string): string {\n let url = input.trim()\n if (!url) {\n throw new MxsError({\n code: MxsErrorCode.ConfigMissingApiUrl,\n message: 'API URL is empty',\n })\n }\n if (!/^https?:\\/\\//i.test(url)) {\n const isLocal = /^(?:localhost|127\\.0\\.0\\.1|::1)(?::\\d+)?$/i.test(url)\n url = isLocal ? `http://${url}` : `https://${url}`\n }\n return url.replace(/\\/+$/, '')\n}\n\nexport async function resolveConfig(\n overrides: StoreOverrides = {},\n): Promise<ResolvedConfig> {\n const envApiUrl = process.env.MXS_API_URL?.trim()\n const envToken = process.env.MXS_TOKEN?.trim()\n const envApiKey = process.env.MXS_API_KEY?.trim()\n const envProfile = process.env.MXS_PROFILE?.trim()\n\n const urlOverridden = Boolean(overrides.apiUrl || envApiUrl)\n const profileExplicit = Boolean(overrides.profile || envProfile)\n\n const profileName: string | null =\n overrides.profile?.trim() ||\n envProfile ||\n (await getCurrentProfile()) ||\n null\n\n if (profileName && !urlOverridden) {\n try {\n const stat = await fs.stat(getProfileDir(profileName))\n if (!stat.isDirectory()) {\n throw new MxsError({\n code: MxsErrorCode.ProfileNotFound,\n message: `profile '${profileName}' does not exist`,\n hint: 'run `mxs profile ls` to see configured profiles, or `mxs auth login --profile <name>` to create one',\n })\n }\n } catch (err: any) {\n if (err instanceof MxsError) throw err\n if (err?.code === 'ENOENT') {\n throw new MxsError({\n code: MxsErrorCode.ProfileNotFound,\n message: `profile '${profileName}' does not exist`,\n hint: 'run `mxs profile ls` to see configured profiles, or `mxs auth login --profile <name>` to create one',\n })\n }\n throw err\n }\n }\n\n let profileConfig: ConfigShape = {}\n if (profileName) {\n profileConfig = await readProfileConfig(profileName)\n }\n\n const rawApiUrl = overrides.apiUrl || envApiUrl || profileConfig.api_url\n if (!rawApiUrl) {\n throw new MxsError({\n code: MxsErrorCode.ConfigMissingApiUrl,\n message: 'API URL is not configured',\n hint: 'set MXS_API_URL or pass --api-url <url>, or run `mxs auth login` in an interactive shell',\n })\n }\n const apiUrl = normalizeApiUrl(rawApiUrl)\n const apiVersion = profileConfig.api_version ?? 2\n const apiBase = urlOverridden\n ? `${apiUrl}/api/v${apiVersion}`\n : profileConfig.api_base || `${apiUrl}/api/v${apiVersion}`\n const authBase = urlOverridden\n ? `${apiBase}/auth`\n : profileConfig.auth_base || `${apiBase}/auth`\n\n let token: string | undefined\n if (urlOverridden) {\n token = overrides.token || envToken || undefined\n } else {\n let profileCreds: Awaited<ReturnType<typeof readProfileCredentials>> = null\n if (profileName) {\n profileCreds = await readProfileCredentials(profileName)\n }\n token = overrides.token || envToken || profileCreds?.access_token\n }\n\n const apiKey = overrides.apiKey || envApiKey\n\n const isProduction = urlOverridden\n ? false\n : profileName\n ? Boolean(profileConfig.production)\n : false\n\n return {\n apiUrl,\n apiBase,\n authBase,\n apiVersion,\n clientId: profileConfig.client_id || DEFAULT_CLIENT_ID,\n token,\n apiKey,\n configPath: profileName\n ? getProfileConfigPath(profileName)\n : getLegacyConfigPath(),\n credentialsPath: profileName\n ? getProfileCredentialsPath(profileName)\n : getLegacyCredentialsPath(),\n profileName,\n isProduction,\n profileExplicit,\n urlOverridden,\n }\n}\n"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { i as emitSuccess } from "./output-
|
|
2
|
-
import { t as buildNotePayload } from "./payload-
|
|
3
|
-
import { n as resolveContext, t as buildApiClient } from "./shared-
|
|
4
|
-
import { r as resolveTopicRefs, t as buildResolver } from "./resolve-helpers-
|
|
1
|
+
import { i as emitSuccess } from "./output-vzequvhd.mjs";
|
|
2
|
+
import { t as buildNotePayload } from "./payload-CO4zbNr8.mjs";
|
|
3
|
+
import { n as resolveContext, t as buildApiClient } from "./shared-d0_6ZPn_.mjs";
|
|
4
|
+
import { r as resolveTopicRefs, t as buildResolver } from "./resolve-helpers-CoHYa2uk.mjs";
|
|
5
5
|
//#region src/commands/note/create.ts
|
|
6
6
|
async function run(opts, flags, out) {
|
|
7
7
|
const built = await buildNotePayload(opts);
|
|
@@ -20,4 +20,4 @@ async function run(opts, flags, out) {
|
|
|
20
20
|
//#endregion
|
|
21
21
|
export { run };
|
|
22
22
|
|
|
23
|
-
//# sourceMappingURL=create-
|
|
23
|
+
//# sourceMappingURL=create-5wbU7IQh.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-
|
|
1
|
+
{"version":3,"file":"create-5wbU7IQh.mjs","names":[],"sources":["../src/commands/note/create.ts"],"sourcesContent":["import { emitSuccess, type OutputOptions } from '../../core/output'\nimport { buildNotePayload, type NoteFlagInputs } from '../../core/payload'\nimport { buildResolver, resolveTopicRefs } from '../internal/resolve-helpers'\nimport { buildApiClient, type GlobalFlags, resolveContext } from '../internal/shared'\n\nexport async function run(\n opts: NoteFlagInputs,\n flags: GlobalFlags,\n out: OutputOptions,\n) {\n const built = await buildNotePayload(opts)\n if (flags.dryRun) {\n emitSuccess(built.payload, out)\n return\n }\n const ctx = await resolveContext(flags, out)\n const client = buildApiClient(ctx, flags)\n const resolver = buildResolver(client)\n await resolveTopicRefs(built.payload, resolver)\n const res = await client.request('/notes', {\n method: 'POST',\n body: built.payload,\n })\n emitSuccess(res.data, out)\n}\n"],"mappings":";;;;;AAKA,eAAsB,IACpB,MACA,OACA,KACA;CACA,MAAM,QAAQ,MAAM,iBAAiB,IAAI;CACzC,IAAI,MAAM,QAAQ;EAChB,YAAY,MAAM,SAAS,GAAG;EAC9B;CACF;CAEA,MAAM,SAAS,eAAe,MADZ,eAAe,OAAO,GAAG,GACR,KAAK;CACxC,MAAM,WAAW,cAAc,MAAM;CACrC,MAAM,iBAAiB,MAAM,SAAS,QAAQ;CAK9C,aAAY,MAJM,OAAO,QAAQ,UAAU;EACzC,QAAQ;EACR,MAAM,MAAM;CACd,CAAC,GACe,MAAM,GAAG;AAC3B"}
|
|
@@ -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/category/create.ts
|
|
4
4
|
async function run(opts, flags, out) {
|
|
5
5
|
const body = {
|
|
@@ -20,4 +20,4 @@ async function run(opts, flags, out) {
|
|
|
20
20
|
//#endregion
|
|
21
21
|
export { run };
|
|
22
22
|
|
|
23
|
-
//# sourceMappingURL=create-
|
|
23
|
+
//# sourceMappingURL=create-Bs6K7AyQ.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-
|
|
1
|
+
{"version":3,"file":"create-Bs6K7AyQ.mjs","names":[],"sources":["../src/commands/category/create.ts"],"sourcesContent":["import { emitSuccess, type OutputOptions } from '../../core/output'\nimport { buildApiClient, type GlobalFlags, resolveContext } from '../internal/shared'\n\nexport interface CategoryCreateFlags {\n name: string\n slug: string\n type?: 'category' | 'tag'\n icon?: string\n}\n\nexport async function run(\n opts: CategoryCreateFlags,\n flags: GlobalFlags,\n out: OutputOptions,\n) {\n const body: Record<string, unknown> = {\n name: opts.name,\n slug: opts.slug,\n }\n if (opts.type) body.type = opts.type === 'tag' ? 1 : 0\n if (opts.icon) body.icon = opts.icon\n if (flags.dryRun) {\n emitSuccess(body, out)\n return\n }\n const ctx = await resolveContext(flags, out)\n const client = buildApiClient(ctx, flags)\n const res = await client.request('/categories', {\n method: 'POST',\n body,\n })\n emitSuccess(res.data, out)\n}\n"],"mappings":";;;AAUA,eAAsB,IACpB,MACA,OACA,KACA;CACA,MAAM,OAAgC;EACpC,MAAM,KAAK;EACX,MAAM,KAAK;CACb;CACA,IAAI,KAAK,MAAM,KAAK,OAAO,KAAK,SAAS,QAAQ,IAAI;CACrD,IAAI,KAAK,MAAM,KAAK,OAAO,KAAK;CAChC,IAAI,MAAM,QAAQ;EAChB,YAAY,MAAM,GAAG;EACrB;CACF;CAOA,aAAY,MALG,eAAe,MADZ,eAAe,OAAO,GAAG,GACR,KACZ,EAAE,QAAQ,eAAe;EAC9C,QAAQ;EACR;CACF,CAAC,GACe,MAAM,GAAG;AAC3B"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { i as emitSuccess, r as emitInfo } from "./output-
|
|
2
|
-
import { r as buildPostPayload } from "./payload-
|
|
3
|
-
import { n as resolveContext, t as buildApiClient } from "./shared-
|
|
4
|
-
import { n as resolveCategoryRefs, t as buildResolver } from "./resolve-helpers-
|
|
1
|
+
import { i as emitSuccess, r as emitInfo } from "./output-vzequvhd.mjs";
|
|
2
|
+
import { r as buildPostPayload } from "./payload-CO4zbNr8.mjs";
|
|
3
|
+
import { n as resolveContext, t as buildApiClient } from "./shared-d0_6ZPn_.mjs";
|
|
4
|
+
import { n as resolveCategoryRefs, t as buildResolver } from "./resolve-helpers-CoHYa2uk.mjs";
|
|
5
5
|
//#region src/commands/post/create.ts
|
|
6
6
|
async function run(opts, flags, out) {
|
|
7
7
|
const built = await buildPostPayload(opts);
|
|
@@ -21,4 +21,4 @@ async function run(opts, flags, out) {
|
|
|
21
21
|
//#endregion
|
|
22
22
|
export { run };
|
|
23
23
|
|
|
24
|
-
//# sourceMappingURL=create-
|
|
24
|
+
//# sourceMappingURL=create-DBReocgJ.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-
|
|
1
|
+
{"version":3,"file":"create-DBReocgJ.mjs","names":[],"sources":["../src/commands/post/create.ts"],"sourcesContent":["import { 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'\n\nexport async function run(\n opts: PostFlagInputs,\n flags: GlobalFlags,\n out: OutputOptions,\n) {\n const built = await buildPostPayload(opts)\n if (flags.dryRun) {\n emitInfo('dry-run — payload below', out)\n emitSuccess(built.payload, out)\n return\n }\n const ctx = await resolveContext(flags, out)\n const client = buildApiClient(ctx, flags)\n const resolver = buildResolver(client)\n await resolveCategoryRefs(built.payload, resolver)\n const res = await client.request('/posts', {\n method: 'POST',\n body: built.payload,\n })\n emitSuccess(res.data, out)\n}\n"],"mappings":";;;;;AAKA,eAAsB,IACpB,MACA,OACA,KACA;CACA,MAAM,QAAQ,MAAM,iBAAiB,IAAI;CACzC,IAAI,MAAM,QAAQ;EAChB,SAAS,2BAA2B,GAAG;EACvC,YAAY,MAAM,SAAS,GAAG;EAC9B;CACF;CAEA,MAAM,SAAS,eAAe,MADZ,eAAe,OAAO,GAAG,GACR,KAAK;CACxC,MAAM,WAAW,cAAc,MAAM;CACrC,MAAM,oBAAoB,MAAM,SAAS,QAAQ;CAKjD,aAAY,MAJM,OAAO,QAAQ,UAAU;EACzC,QAAQ;EACR,MAAM,MAAM;CACd,CAAC,GACe,MAAM,GAAG;AAC3B"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { i as emitSuccess } from "./output-
|
|
2
|
-
import { n as buildPagePayload } from "./payload-
|
|
3
|
-
import { n as resolveContext, t as buildApiClient } from "./shared-
|
|
1
|
+
import { i as emitSuccess } from "./output-vzequvhd.mjs";
|
|
2
|
+
import { n as buildPagePayload } from "./payload-CO4zbNr8.mjs";
|
|
3
|
+
import { n as resolveContext, t as buildApiClient } from "./shared-d0_6ZPn_.mjs";
|
|
4
4
|
//#region src/commands/page/create.ts
|
|
5
5
|
async function run(_id, opts, flags, out) {
|
|
6
6
|
const built = await buildPagePayload(opts);
|
|
@@ -16,4 +16,4 @@ async function run(_id, opts, flags, out) {
|
|
|
16
16
|
//#endregion
|
|
17
17
|
export { run };
|
|
18
18
|
|
|
19
|
-
//# sourceMappingURL=create-
|
|
19
|
+
//# sourceMappingURL=create-DGVaE0_S.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-
|
|
1
|
+
{"version":3,"file":"create-DGVaE0_S.mjs","names":[],"sources":["../src/commands/page/create.ts"],"sourcesContent":["import { emitSuccess, type OutputOptions } from '../../core/output'\nimport { buildPagePayload, type PageFlagInputs } from '../../core/payload'\nimport { buildApiClient, type GlobalFlags, resolveContext } from '../internal/shared'\n\nexport async function run(\n _id: unknown,\n opts: PageFlagInputs,\n flags: GlobalFlags,\n out: OutputOptions,\n) {\n const built = await buildPagePayload(opts)\n if (flags.dryRun) {\n emitSuccess(built.payload, out)\n return\n }\n const ctx = await resolveContext(flags, out)\n const client = buildApiClient(ctx, flags)\n const res = await client.request('/pages', {\n method: 'POST',\n body: built.payload,\n })\n emitSuccess(res.data, out)\n}\n"],"mappings":";;;;AAIA,eAAsB,IACpB,KACA,MACA,OACA,KACA;CACA,MAAM,QAAQ,MAAM,iBAAiB,IAAI;CACzC,IAAI,MAAM,QAAQ;EAChB,YAAY,MAAM,SAAS,GAAG;EAC9B;CACF;CAOA,aAAY,MALG,eAAe,MADZ,eAAe,OAAO,GAAG,GACR,KACZ,EAAE,QAAQ,UAAU;EACzC,QAAQ;EACR,MAAM,MAAM;CACd,CAAC,GACe,MAAM,GAAG;AAC3B"}
|
|
@@ -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/topic/create.ts
|
|
4
4
|
async function run(opts, flags, out) {
|
|
5
5
|
const body = {
|
|
@@ -20,4 +20,4 @@ async function run(opts, flags, out) {
|
|
|
20
20
|
//#endregion
|
|
21
21
|
export { run };
|
|
22
22
|
|
|
23
|
-
//# sourceMappingURL=create-
|
|
23
|
+
//# sourceMappingURL=create-lLFZuMsz.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-
|
|
1
|
+
{"version":3,"file":"create-lLFZuMsz.mjs","names":[],"sources":["../src/commands/topic/create.ts"],"sourcesContent":["import { emitSuccess, type OutputOptions } from '../../core/output'\nimport { buildApiClient, type GlobalFlags, resolveContext } from '../internal/shared'\n\nexport interface TopicCreateFlags {\n name: string\n slug: string\n description?: string\n icon?: string\n}\n\nexport async function run(\n opts: TopicCreateFlags,\n flags: GlobalFlags,\n out: OutputOptions,\n) {\n const body: Record<string, unknown> = {\n name: opts.name,\n slug: opts.slug,\n }\n if (opts.description) body.description = opts.description\n if (opts.icon) body.icon = opts.icon\n if (flags.dryRun) {\n emitSuccess(body, out)\n return\n }\n const ctx = await resolveContext(flags, out)\n const client = buildApiClient(ctx, flags)\n const res = await client.request('/topics', { method: 'POST', body })\n emitSuccess(res.data, out)\n}\n"],"mappings":";;;AAUA,eAAsB,IACpB,MACA,OACA,KACA;CACA,MAAM,OAAgC;EACpC,MAAM,KAAK;EACX,MAAM,KAAK;CACb;CACA,IAAI,KAAK,aAAa,KAAK,cAAc,KAAK;CAC9C,IAAI,KAAK,MAAM,KAAK,OAAO,KAAK;CAChC,IAAI,MAAM,QAAQ;EAChB,YAAY,MAAM,GAAG;EACrB;CACF;CAIA,aAAY,MAFG,eAAe,MADZ,eAAe,OAAO,GAAG,GACR,KACZ,EAAE,QAAQ,WAAW;EAAE,QAAQ;EAAQ;CAAK,CAAC,GACpD,MAAM,GAAG;AAC3B"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { i as emitSuccess, s as MxsError } from "./output-
|
|
2
|
-
import { n as resolveContext, t as buildApiClient } from "./shared-
|
|
3
|
-
import { t as resolvePostId } from "./resolve-
|
|
1
|
+
import { c as MxsErrorCode, i as emitSuccess, s as MxsError } from "./output-vzequvhd.mjs";
|
|
2
|
+
import { n as resolveContext, t as buildApiClient } from "./shared-d0_6ZPn_.mjs";
|
|
3
|
+
import { t as resolvePostId } from "./resolve-jdb1VqAG.mjs";
|
|
4
4
|
//#region src/commands/post/delete.ts
|
|
5
5
|
async function run(slugOrId, opts, flags, out) {
|
|
6
6
|
if (!opts.force && !flags.dryRun && !process.stdin.isTTY) throw new MxsError({
|
|
7
|
-
code:
|
|
7
|
+
code: MxsErrorCode.ValidationFailed,
|
|
8
8
|
message: "refusing to delete without --force in non-TTY context"
|
|
9
9
|
});
|
|
10
10
|
if (flags.dryRun) {
|
|
@@ -19,4 +19,4 @@ async function run(slugOrId, opts, flags, out) {
|
|
|
19
19
|
//#endregion
|
|
20
20
|
export { run };
|
|
21
21
|
|
|
22
|
-
//# sourceMappingURL=delete-
|
|
22
|
+
//# sourceMappingURL=delete-6tkhHQDp.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete-6tkhHQDp.mjs","names":[],"sources":["../src/commands/post/delete.ts"],"sourcesContent":["import { MxsError, MxsErrorCode } from '../../core/errors'\nimport { emitSuccess, type OutputOptions } from '../../core/output'\nimport {\n buildApiClient,\n type GlobalFlags,\n resolveContext,\n} from '../internal/shared'\nimport { resolvePostId } from './resolve'\n\nexport async function run(\n slugOrId: string,\n opts: { force?: boolean },\n flags: GlobalFlags,\n out: OutputOptions,\n) {\n if (!opts.force && !flags.dryRun && !process.stdin.isTTY) {\n throw new MxsError({\n code: MxsErrorCode.ValidationFailed,\n message: 'refusing to delete without --force in non-TTY context',\n })\n }\n if (flags.dryRun) {\n emitSuccess({ would_delete: slugOrId }, out)\n return\n }\n const ctx = await resolveContext(flags, out)\n const client = buildApiClient(ctx, flags)\n const id = await resolvePostId(client, slugOrId)\n await client.request(`/posts/${id}`, { method: 'DELETE' })\n emitSuccess({ deleted: id }, out)\n}\n"],"mappings":";;;;AASA,eAAsB,IACpB,UACA,MACA,OACA,KACA;CACA,IAAI,CAAC,KAAK,SAAS,CAAC,MAAM,UAAU,CAAC,QAAQ,MAAM,OACjD,MAAM,IAAI,SAAS;EACjB,MAAM,aAAa;EACnB,SAAS;CACX,CAAC;CAEH,IAAI,MAAM,QAAQ;EAChB,YAAY,EAAE,cAAc,SAAS,GAAG,GAAG;EAC3C;CACF;CAEA,MAAM,SAAS,eAAe,MADZ,eAAe,OAAO,GAAG,GACR,KAAK;CACxC,MAAM,KAAK,MAAM,cAAc,QAAQ,QAAQ;CAC/C,MAAM,OAAO,QAAQ,UAAU,MAAM,EAAE,QAAQ,SAAS,CAAC;CACzD,YAAY,EAAE,SAAS,GAAG,GAAG,GAAG;AAClC"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { i as emitSuccess, s as MxsError } from "./output-
|
|
2
|
-
import { r as isSnowflakeId } from "./resolve-
|
|
3
|
-
import { n as resolveContext, t as buildApiClient } from "./shared-
|
|
1
|
+
import { c as MxsErrorCode, i as emitSuccess, s as MxsError } from "./output-vzequvhd.mjs";
|
|
2
|
+
import { r as isSnowflakeId } from "./resolve-CUsHGcb-.mjs";
|
|
3
|
+
import { n as resolveContext, t as buildApiClient } from "./shared-d0_6ZPn_.mjs";
|
|
4
4
|
//#region src/commands/page/delete.ts
|
|
5
5
|
async function run(slugOrId, opts, flags, out) {
|
|
6
6
|
if (!opts.force && !flags.dryRun && !process.stdin.isTTY) throw new MxsError({
|
|
7
|
-
code:
|
|
7
|
+
code: MxsErrorCode.ValidationFailed,
|
|
8
8
|
message: "refusing to delete without --force in non-TTY context"
|
|
9
9
|
});
|
|
10
10
|
if (flags.dryRun) {
|
|
@@ -20,7 +20,7 @@ async function resolveId(client, slugOrId) {
|
|
|
20
20
|
if (isSnowflakeId(slugOrId)) return slugOrId;
|
|
21
21
|
const res = await client.request(`/pages/slug/${slugOrId}`);
|
|
22
22
|
if (!res.data?.id) throw new MxsError({
|
|
23
|
-
code:
|
|
23
|
+
code: MxsErrorCode.ResourceNotFound,
|
|
24
24
|
message: `page not found: ${slugOrId}`
|
|
25
25
|
});
|
|
26
26
|
return res.data.id;
|
|
@@ -28,4 +28,4 @@ async function resolveId(client, slugOrId) {
|
|
|
28
28
|
//#endregion
|
|
29
29
|
export { run };
|
|
30
30
|
|
|
31
|
-
//# sourceMappingURL=delete-
|
|
31
|
+
//# sourceMappingURL=delete-CRFxitDN.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete-CRFxitDN.mjs","names":[],"sources":["../src/commands/page/delete.ts"],"sourcesContent":["import type { ApiClient } from '../../core/api-client'\nimport { MxsError, MxsErrorCode } from '../../core/errors'\nimport { emitSuccess, type OutputOptions } from '../../core/output'\nimport { isSnowflakeId } from '../../core/resolve'\nimport {\n buildApiClient,\n type GlobalFlags,\n resolveContext,\n} from '../internal/shared'\n\nexport async function run(\n slugOrId: string,\n opts: { force?: boolean },\n flags: GlobalFlags,\n out: OutputOptions,\n) {\n if (!opts.force && !flags.dryRun && !process.stdin.isTTY) {\n throw new MxsError({\n code: MxsErrorCode.ValidationFailed,\n message: 'refusing to delete without --force in non-TTY context',\n })\n }\n if (flags.dryRun) {\n emitSuccess({ would_delete: slugOrId }, out)\n return\n }\n const ctx = await resolveContext(flags, out)\n const client = buildApiClient(ctx, flags)\n const id = await resolveId(client, slugOrId)\n await client.request(`/pages/${id}`, { method: 'DELETE' })\n emitSuccess({ deleted: id }, 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"],"mappings":";;;;AAUA,eAAsB,IACpB,UACA,MACA,OACA,KACA;CACA,IAAI,CAAC,KAAK,SAAS,CAAC,MAAM,UAAU,CAAC,QAAQ,MAAM,OACjD,MAAM,IAAI,SAAS;EACjB,MAAM,aAAa;EACnB,SAAS;CACX,CAAC;CAEH,IAAI,MAAM,QAAQ;EAChB,YAAY,EAAE,cAAc,SAAS,GAAG,GAAG;EAC3C;CACF;CAEA,MAAM,SAAS,eAAe,MADZ,eAAe,OAAO,GAAG,GACR,KAAK;CACxC,MAAM,KAAK,MAAM,UAAU,QAAQ,QAAQ;CAC3C,MAAM,OAAO,QAAQ,UAAU,MAAM,EAAE,QAAQ,SAAS,CAAC;CACzD,YAAY,EAAE,SAAS,GAAG,GAAG,GAAG;AAClC;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"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { i as emitSuccess, s as MxsError } from "./output-
|
|
2
|
-
import { n as resolveContext, t as buildApiClient } from "./shared-
|
|
3
|
-
import { t as resolveCategoryId } from "./resolve-
|
|
1
|
+
import { c as MxsErrorCode, i as emitSuccess, s as MxsError } from "./output-vzequvhd.mjs";
|
|
2
|
+
import { n as resolveContext, t as buildApiClient } from "./shared-d0_6ZPn_.mjs";
|
|
3
|
+
import { t as resolveCategoryId } from "./resolve-BlpMdnaM.mjs";
|
|
4
4
|
//#region src/commands/category/delete.ts
|
|
5
5
|
async function run(slugOrId, opts, flags, out) {
|
|
6
6
|
if (!opts.force && !flags.dryRun && !process.stdin.isTTY) throw new MxsError({
|
|
7
|
-
code:
|
|
7
|
+
code: MxsErrorCode.ValidationFailed,
|
|
8
8
|
message: "refusing to delete without --force in non-TTY context"
|
|
9
9
|
});
|
|
10
10
|
if (flags.dryRun) {
|
|
@@ -19,4 +19,4 @@ async function run(slugOrId, opts, flags, out) {
|
|
|
19
19
|
//#endregion
|
|
20
20
|
export { run };
|
|
21
21
|
|
|
22
|
-
//# sourceMappingURL=delete-
|
|
22
|
+
//# sourceMappingURL=delete-DU2Hvsy8.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete-DU2Hvsy8.mjs","names":[],"sources":["../src/commands/category/delete.ts"],"sourcesContent":["import { MxsError, MxsErrorCode } from '../../core/errors'\nimport { emitSuccess, type OutputOptions } from '../../core/output'\nimport {\n buildApiClient,\n type GlobalFlags,\n resolveContext,\n} from '../internal/shared'\nimport { resolveCategoryId } from './resolve'\n\nexport async function run(\n slugOrId: string,\n opts: { force?: boolean },\n flags: GlobalFlags,\n out: OutputOptions,\n) {\n if (!opts.force && !flags.dryRun && !process.stdin.isTTY) {\n throw new MxsError({\n code: MxsErrorCode.ValidationFailed,\n message: 'refusing to delete without --force in non-TTY context',\n })\n }\n if (flags.dryRun) {\n emitSuccess({ would_delete: slugOrId }, out)\n return\n }\n const ctx = await resolveContext(flags, out)\n const client = buildApiClient(ctx, flags)\n const id = await resolveCategoryId(client, slugOrId)\n await client.request(`/categories/${id}`, { method: 'DELETE' })\n emitSuccess({ deleted: id }, out)\n}\n"],"mappings":";;;;AASA,eAAsB,IACpB,UACA,MACA,OACA,KACA;CACA,IAAI,CAAC,KAAK,SAAS,CAAC,MAAM,UAAU,CAAC,QAAQ,MAAM,OACjD,MAAM,IAAI,SAAS;EACjB,MAAM,aAAa;EACnB,SAAS;CACX,CAAC;CAEH,IAAI,MAAM,QAAQ;EAChB,YAAY,EAAE,cAAc,SAAS,GAAG,GAAG;EAC3C;CACF;CAEA,MAAM,SAAS,eAAe,MADZ,eAAe,OAAO,GAAG,GACR,KAAK;CACxC,MAAM,KAAK,MAAM,kBAAkB,QAAQ,QAAQ;CACnD,MAAM,OAAO,QAAQ,eAAe,MAAM,EAAE,QAAQ,SAAS,CAAC;CAC9D,YAAY,EAAE,SAAS,GAAG,GAAG,GAAG;AAClC"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { i as emitSuccess, s as MxsError } from "./output-
|
|
2
|
-
import { r as isSnowflakeId } from "./resolve-
|
|
3
|
-
import { n as resolveContext, t as buildApiClient } from "./shared-
|
|
1
|
+
import { c as MxsErrorCode, i as emitSuccess, s as MxsError } from "./output-vzequvhd.mjs";
|
|
2
|
+
import { r as isSnowflakeId } from "./resolve-CUsHGcb-.mjs";
|
|
3
|
+
import { n as resolveContext, t as buildApiClient } from "./shared-d0_6ZPn_.mjs";
|
|
4
4
|
//#region src/commands/topic/delete.ts
|
|
5
5
|
async function run(slugOrId, opts, flags, out) {
|
|
6
6
|
if (!opts.force && !flags.dryRun && !process.stdin.isTTY) throw new MxsError({
|
|
7
|
-
code:
|
|
7
|
+
code: MxsErrorCode.ValidationFailed,
|
|
8
8
|
message: "refusing to delete without --force in non-TTY context"
|
|
9
9
|
});
|
|
10
10
|
if (flags.dryRun) {
|
|
@@ -20,7 +20,7 @@ async function resolveId(client, slugOrId) {
|
|
|
20
20
|
if (isSnowflakeId(slugOrId)) return slugOrId;
|
|
21
21
|
const res = await client.request(`/topics/slug/${slugOrId}`);
|
|
22
22
|
if (!res.data?.id) throw new MxsError({
|
|
23
|
-
code:
|
|
23
|
+
code: MxsErrorCode.ResourceNotFound,
|
|
24
24
|
message: `topic not found: ${slugOrId}`
|
|
25
25
|
});
|
|
26
26
|
return res.data.id;
|
|
@@ -28,4 +28,4 @@ async function resolveId(client, slugOrId) {
|
|
|
28
28
|
//#endregion
|
|
29
29
|
export { run };
|
|
30
30
|
|
|
31
|
-
//# sourceMappingURL=delete-
|
|
31
|
+
//# sourceMappingURL=delete-nJmHtvfq.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete-nJmHtvfq.mjs","names":[],"sources":["../src/commands/topic/delete.ts"],"sourcesContent":["import type { ApiClient } from '../../core/api-client'\nimport { MxsError, MxsErrorCode } from '../../core/errors'\nimport { emitSuccess, type OutputOptions } from '../../core/output'\nimport { isSnowflakeId } from '../../core/resolve'\nimport {\n buildApiClient,\n type GlobalFlags,\n resolveContext,\n} from '../internal/shared'\n\nexport async function run(\n slugOrId: string,\n opts: { force?: boolean },\n flags: GlobalFlags,\n out: OutputOptions,\n) {\n if (!opts.force && !flags.dryRun && !process.stdin.isTTY) {\n throw new MxsError({\n code: MxsErrorCode.ValidationFailed,\n message: 'refusing to delete without --force in non-TTY context',\n })\n }\n if (flags.dryRun) {\n emitSuccess({ would_delete: slugOrId }, out)\n return\n }\n const ctx = await resolveContext(flags, out)\n const client = buildApiClient(ctx, flags)\n const id = await resolveId(client, slugOrId)\n await client.request(`/topics/${id}`, { method: 'DELETE' })\n emitSuccess({ deleted: id }, 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 }>(`/topics/slug/${slugOrId}`)\n if (!res.data?.id)\n throw new MxsError({\n code: MxsErrorCode.ResourceNotFound,\n message: `topic not found: ${slugOrId}`,\n })\n return res.data.id\n}\n"],"mappings":";;;;AAUA,eAAsB,IACpB,UACA,MACA,OACA,KACA;CACA,IAAI,CAAC,KAAK,SAAS,CAAC,MAAM,UAAU,CAAC,QAAQ,MAAM,OACjD,MAAM,IAAI,SAAS;EACjB,MAAM,aAAa;EACnB,SAAS;CACX,CAAC;CAEH,IAAI,MAAM,QAAQ;EAChB,YAAY,EAAE,cAAc,SAAS,GAAG,GAAG;EAC3C;CACF;CAEA,MAAM,SAAS,eAAe,MADZ,eAAe,OAAO,GAAG,GACR,KAAK;CACxC,MAAM,KAAK,MAAM,UAAU,QAAQ,QAAQ;CAC3C,MAAM,OAAO,QAAQ,WAAW,MAAM,EAAE,QAAQ,SAAS,CAAC;CAC1D,YAAY,EAAE,SAAS,GAAG,GAAG,GAAG;AAClC;AAEA,eAAe,UAAU,QAAmB,UAAmC;CAC7E,IAAI,cAAc,QAAQ,GAAG,OAAO;CACpC,MAAM,MAAM,MAAM,OAAO,QAAyB,gBAAgB,UAAU;CAC5E,IAAI,CAAC,IAAI,MAAM,IACb,MAAM,IAAI,SAAS;EACjB,MAAM,aAAa;EACnB,SAAS,oBAAoB;CAC/B,CAAC;CACH,OAAO,IAAI,KAAK;AAClB"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { i as emitSuccess, s as MxsError } from "./output-
|
|
2
|
-
import { n as resolveContext, t as buildApiClient } from "./shared-
|
|
3
|
-
import { t as resolveNoteId } from "./resolve-
|
|
1
|
+
import { c as MxsErrorCode, i as emitSuccess, s as MxsError } from "./output-vzequvhd.mjs";
|
|
2
|
+
import { n as resolveContext, t as buildApiClient } from "./shared-d0_6ZPn_.mjs";
|
|
3
|
+
import { t as resolveNoteId } from "./resolve-BYg5Gees.mjs";
|
|
4
4
|
//#region src/commands/note/delete.ts
|
|
5
5
|
async function run(slugOrId, opts, flags, out) {
|
|
6
6
|
if (!opts.force && !flags.dryRun && !process.stdin.isTTY) throw new MxsError({
|
|
7
|
-
code:
|
|
7
|
+
code: MxsErrorCode.ValidationFailed,
|
|
8
8
|
message: "refusing to delete without --force in non-TTY context"
|
|
9
9
|
});
|
|
10
10
|
if (flags.dryRun) {
|
|
@@ -19,4 +19,4 @@ async function run(slugOrId, opts, flags, out) {
|
|
|
19
19
|
//#endregion
|
|
20
20
|
export { run };
|
|
21
21
|
|
|
22
|
-
//# sourceMappingURL=delete-
|
|
22
|
+
//# sourceMappingURL=delete-tJhXI8s4.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete-tJhXI8s4.mjs","names":[],"sources":["../src/commands/note/delete.ts"],"sourcesContent":["import { MxsError, MxsErrorCode } from '../../core/errors'\nimport { emitSuccess, type OutputOptions } from '../../core/output'\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: { force?: boolean },\n flags: GlobalFlags,\n out: OutputOptions,\n) {\n if (!opts.force && !flags.dryRun && !process.stdin.isTTY) {\n throw new MxsError({\n code: MxsErrorCode.ValidationFailed,\n message: 'refusing to delete without --force in non-TTY context',\n })\n }\n if (flags.dryRun) {\n emitSuccess({ would_delete: slugOrId }, out)\n return\n }\n const ctx = await resolveContext(flags, out)\n const client = buildApiClient(ctx, flags)\n const id = await resolveNoteId(client, slugOrId)\n await client.request(`/notes/${id}`, { method: 'DELETE' })\n emitSuccess({ deleted: id }, out)\n}\n"],"mappings":";;;;AASA,eAAsB,IACpB,UACA,MACA,OACA,KACA;CACA,IAAI,CAAC,KAAK,SAAS,CAAC,MAAM,UAAU,CAAC,QAAQ,MAAM,OACjD,MAAM,IAAI,SAAS;EACjB,MAAM,aAAa;EACnB,SAAS;CACX,CAAC;CAEH,IAAI,MAAM,QAAQ;EAChB,YAAY,EAAE,cAAc,SAAS,GAAG,GAAG;EAC3C;CACF;CAEA,MAAM,SAAS,eAAe,MADZ,eAAe,OAAO,GAAG,GACR,KAAK;CACxC,MAAM,KAAK,MAAM,cAAc,QAAQ,QAAQ;CAC/C,MAAM,OAAO,QAAQ,UAAU,MAAM,EAAE,QAAQ,SAAS,CAAC;CACzD,YAAY,EAAE,SAAS,GAAG,GAAG,GAAG;AAClC"}
|