@orizm/cli 3.1.0 → 3.3.0-beta.0
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 +27 -1
- package/dist/agent-Kf8iuW2I.mjs +14 -0
- package/dist/agent-Kf8iuW2I.mjs.map +1 -0
- package/dist/agent-UZZtdOZS.cjs +14 -0
- package/dist/agent-UZZtdOZS.cjs.map +1 -0
- package/dist/auth-BnXPHgBU.cjs +18 -0
- package/dist/{auth-CNbONZuf.cjs.map → auth-BnXPHgBU.cjs.map} +1 -1
- package/dist/{auth-BGW072BP.mjs → auth-DHVtM0sF.mjs} +4 -4
- package/dist/{auth-BGW072BP.mjs.map → auth-DHVtM0sF.mjs.map} +1 -1
- package/dist/{bucket-mg5QQORh.cjs → bucket-CFaYmimY.cjs} +3 -3
- package/dist/{bucket-mg5QQORh.cjs.map → bucket-CFaYmimY.cjs.map} +1 -1
- package/dist/{bucket-DqW-WEYb.mjs → bucket-D-lu1xgZ.mjs} +3 -3
- package/dist/{bucket-DqW-WEYb.mjs.map → bucket-D-lu1xgZ.mjs.map} +1 -1
- package/dist/cli/main.cjs +14 -12
- package/dist/cli/main.cjs.map +1 -1
- package/dist/cli/main.mjs +14 -13
- package/dist/cli/main.mjs.map +1 -1
- package/dist/{cms-BJnovGYT.mjs → cms-8XZhxwsM.mjs} +8 -5
- package/dist/cms-8XZhxwsM.mjs.map +1 -0
- package/dist/{cms-Cnx-lDGu.cjs → cms-C4zEtppZ.cjs} +8 -5
- package/dist/cms-C4zEtppZ.cjs.map +1 -0
- package/dist/{codegen-BF5b-u46.cjs → codegen-Cypg4O3L.cjs} +3 -3
- package/dist/{codegen-BF5b-u46.cjs.map → codegen-Cypg4O3L.cjs.map} +1 -1
- package/dist/{codegen-DZOB4ttR.mjs → codegen-Dnjv7zfm.mjs} +3 -3
- package/dist/{codegen-DZOB4ttR.mjs.map → codegen-Dnjv7zfm.mjs.map} +1 -1
- package/dist/config/index.cjs +4 -2
- package/dist/config/index.cjs.map +1 -1
- package/dist/config/index.d.mts +8 -1
- package/dist/config/index.d.mts.map +1 -1
- package/dist/config/index.mjs +4 -2
- package/dist/config/index.mjs.map +1 -1
- package/dist/{config-loader-D8x32gEU.cjs → config-loader-CZfANHBf.cjs} +2 -2
- package/dist/config-loader-CZfANHBf.cjs.map +1 -0
- package/dist/{config-loader-BEgS869e.mjs → config-loader-CtbZOGjc.mjs} +3 -3
- package/dist/config-loader-CtbZOGjc.mjs.map +1 -0
- package/dist/{confirm-delete-B9o73U7B.cjs → confirm-delete-BX8bJrXZ.cjs} +3 -3
- package/dist/{confirm-delete-B9o73U7B.cjs.map → confirm-delete-BX8bJrXZ.cjs.map} +1 -1
- package/dist/{confirm-delete-CsWkW69-.mjs → confirm-delete-CcKLYuCB.mjs} +2 -2
- package/dist/{confirm-delete-CsWkW69-.mjs.map → confirm-delete-CcKLYuCB.mjs.map} +1 -1
- package/dist/{consumer-C4WiGHWG.mjs → consumer-BAM3E_68.mjs} +4 -4
- package/dist/{consumer-C4WiGHWG.mjs.map → consumer-BAM3E_68.mjs.map} +1 -1
- package/dist/{consumer-OF6Z_eTP.cjs → consumer-BSgriLn0.cjs} +4 -4
- package/dist/consumer-BSgriLn0.cjs.map +1 -0
- package/dist/consumer-D-Y6KJ8a.cjs +18 -0
- package/dist/{consumer-l-8wUK8E.cjs.map → consumer-D-Y6KJ8a.cjs.map} +1 -1
- package/dist/{consumer-pU2HyiyA.mjs → consumer-s8LnLw4e.mjs} +4 -4
- package/dist/consumer-s8LnLw4e.mjs.map +1 -0
- package/dist/content-ClRuLcGq.cjs +20 -0
- package/dist/{content-DMjSwor1.cjs.map → content-ClRuLcGq.cjs.map} +1 -1
- package/dist/content-DWnYo6ad.mjs +20 -0
- package/dist/{content-BOb6NC8M.mjs.map → content-DWnYo6ad.mjs.map} +1 -1
- package/dist/{create-DJY71sp9.cjs → create-B3d4CDel.cjs} +2 -2
- package/dist/{create-DJY71sp9.cjs.map → create-B3d4CDel.cjs.map} +1 -1
- package/dist/{create-CC814ixh.mjs → create-BD6iS4n6.mjs} +2 -2
- package/dist/{create-CC814ixh.mjs.map → create-BD6iS4n6.mjs.map} +1 -1
- package/dist/{create-B-PAOor6.mjs → create-BGV3F44O.mjs} +3 -3
- package/dist/{create-B-PAOor6.mjs.map → create-BGV3F44O.mjs.map} +1 -1
- package/dist/{create-Z-z3LXNW.cjs → create-BYDbsUvw.cjs} +3 -3
- package/dist/{create-Z-z3LXNW.cjs.map → create-BYDbsUvw.cjs.map} +1 -1
- package/dist/{create-Belwettw.mjs → create-BtuS23L3.mjs} +2 -2
- package/dist/{create-Belwettw.mjs.map → create-BtuS23L3.mjs.map} +1 -1
- package/dist/{create-CCsn7yp5.cjs → create-CNDCTpi0.cjs} +3 -3
- package/dist/{create-CCsn7yp5.cjs.map → create-CNDCTpi0.cjs.map} +1 -1
- package/dist/{create-BNYWcyuQ.cjs → create-DzRMGpm_.cjs} +2 -2
- package/dist/{create-BNYWcyuQ.cjs.map → create-DzRMGpm_.cjs.map} +1 -1
- package/dist/{create-B1ZBOqcV.mjs → create-fweRd0UB.mjs} +2 -2
- package/dist/{create-B1ZBOqcV.mjs.map → create-fweRd0UB.mjs.map} +1 -1
- package/dist/{create-D5suBd3J.mjs → create-m5fNBqQE.mjs} +3 -3
- package/dist/{create-D5suBd3J.mjs.map → create-m5fNBqQE.mjs.map} +1 -1
- package/dist/{create-CmOriwGo.cjs → create-tWGEtI3t.cjs} +2 -2
- package/dist/{create-CmOriwGo.cjs.map → create-tWGEtI3t.cjs.map} +1 -1
- package/dist/{delete-DhSU-Lx2.mjs → delete-B8VlzzCj.mjs} +3 -3
- package/dist/{delete-DhSU-Lx2.mjs.map → delete-B8VlzzCj.mjs.map} +1 -1
- package/dist/{delete-DVrafka1.cjs → delete-B9j8c8ln.cjs} +3 -3
- package/dist/{delete-DVrafka1.cjs.map → delete-B9j8c8ln.cjs.map} +1 -1
- package/dist/{delete-ZIifaG0i.mjs → delete-BhJK-8vE.mjs} +3 -3
- package/dist/{delete-ZIifaG0i.mjs.map → delete-BhJK-8vE.mjs.map} +1 -1
- package/dist/{delete-YYh_0khQ.mjs → delete-Bi6UhAhS.mjs} +3 -3
- package/dist/{delete-YYh_0khQ.mjs.map → delete-Bi6UhAhS.mjs.map} +1 -1
- package/dist/{delete-CCTiCYIL.cjs → delete-C_oxZa_p.cjs} +3 -3
- package/dist/{delete-CCTiCYIL.cjs.map → delete-C_oxZa_p.cjs.map} +1 -1
- package/dist/{delete-CSs5Czlo.mjs → delete-Ci7cq3mU.mjs} +3 -3
- package/dist/{delete-CSs5Czlo.mjs.map → delete-Ci7cq3mU.mjs.map} +1 -1
- package/dist/{delete-XWJRhBFs.mjs → delete-CiWkGnog.mjs} +3 -3
- package/dist/{delete-XWJRhBFs.mjs.map → delete-CiWkGnog.mjs.map} +1 -1
- package/dist/{delete-DozSxZQ7.cjs → delete-Cmk80aqF.cjs} +3 -3
- package/dist/{delete-DozSxZQ7.cjs.map → delete-Cmk80aqF.cjs.map} +1 -1
- package/dist/{delete-8yZ3j0vX.cjs → delete-CvtvB2Cr.cjs} +3 -3
- package/dist/{delete-8yZ3j0vX.cjs.map → delete-CvtvB2Cr.cjs.map} +1 -1
- package/dist/{delete-CIYY59v_.cjs → delete-DG825UwK.cjs} +4 -3
- package/dist/{delete-CIYY59v_.cjs.map → delete-DG825UwK.cjs.map} +1 -1
- package/dist/{delete-WpMIIvjj.cjs → delete-DGrSMqOt.cjs} +3 -3
- package/dist/{delete-WpMIIvjj.cjs.map → delete-DGrSMqOt.cjs.map} +1 -1
- package/dist/{delete-BOUObrDw.mjs → delete-Datr3Kqq.mjs} +3 -2
- package/dist/{delete-BOUObrDw.mjs.map → delete-Datr3Kqq.mjs.map} +1 -1
- package/dist/{delete-D4r1ve4v.cjs → delete-TTF4pIKw.cjs} +3 -3
- package/dist/{delete-D4r1ve4v.cjs.map → delete-TTF4pIKw.cjs.map} +1 -1
- package/dist/{delete-BSLIXrAh.mjs → delete-X8iVsETw.mjs} +3 -3
- package/dist/{delete-BSLIXrAh.mjs.map → delete-X8iVsETw.mjs.map} +1 -1
- package/dist/docs/features/cli/authentication.md +93 -0
- package/dist/docs/features/cli/commands/agent.md +49 -0
- package/dist/docs/features/cli/commands/auth.md +36 -0
- package/dist/docs/features/cli/commands/bucket.md +120 -0
- package/dist/docs/features/cli/commands/codegen.md +51 -0
- package/dist/docs/features/cli/commands/content.md +117 -0
- package/dist/docs/features/cli/commands/key.md +155 -0
- package/dist/docs/features/cli/commands/link.md +21 -0
- package/dist/docs/features/cli/commands/org.md +18 -0
- package/dist/docs/features/cli/commands/project-user.md +108 -0
- package/dist/docs/features/cli/commands/project.md +106 -0
- package/dist/docs/features/cli/commands/schema.md +108 -0
- package/dist/docs/features/cli/commands/webhook.md +110 -0
- package/dist/docs/features/cli/commands.md +110 -0
- package/dist/docs/features/cli/configuration.md +70 -0
- package/dist/docs/features/cli/output.md +53 -0
- package/dist/docs/features/cli/project-linking.md +58 -0
- package/dist/docs/features/cli/quickstart.md +83 -0
- package/dist/docs/features/cli.md +56 -0
- package/dist/docs/features/cms-sdk/account.md +122 -0
- package/dist/docs/features/cms-sdk/auth.md +122 -0
- package/dist/docs/features/cms-sdk/bucket.md +113 -0
- package/dist/docs/features/cms-sdk/cli.md +104 -0
- package/dist/docs/features/cms-sdk/fetch-contents.md +608 -0
- package/dist/docs/features/cms-sdk/install.md +98 -0
- package/dist/docs/features/cms-sdk/management-user.md +244 -0
- package/dist/docs/features/cms-sdk/migrate-to-v2.md +152 -0
- package/dist/docs/features/cms-sdk/mutation-contents.md +190 -0
- package/dist/docs/features/console/audit-logs.md +55 -0
- package/dist/docs/features/console/bucket.md +70 -0
- package/dist/docs/features/console/create-project.md +103 -0
- package/dist/docs/features/console/generate-api-key.md +103 -0
- package/dist/docs/features/console/invite-project-users.md +70 -0
- package/dist/docs/features/console/management-tables.md +131 -0
- package/dist/docs/features/console/organization-member-management.md +78 -0
- package/dist/docs/features/console/schema-history.md +29 -0
- package/dist/docs/features/console.md +15 -0
- package/dist/docs/features/consumer-sdk/cli.md +60 -0
- package/dist/docs/features/consumer-sdk/fetch-contents.md +603 -0
- package/dist/docs/features/consumer-sdk/install.md +90 -0
- package/dist/docs/features/consumer-sdk/migrate-to-v2.md +43 -0
- package/dist/docs/features/design-editor/about.md +36 -0
- package/dist/docs/features/design-editor/getting-started.md +244 -0
- package/dist/docs/features/design-editor/install.md +17 -0
- package/dist/docs/features/design-editor/prop-editor.md +83 -0
- package/dist/docs/features/design-editor/schema.md +279 -0
- package/dist/docs/features/dictionary.md +265 -0
- package/dist/docs/features/draft.md +241 -0
- package/dist/docs/features/form/about.md +83 -0
- package/dist/docs/features/form/editor.md +410 -0
- package/dist/docs/features/form/submission.md +94 -0
- package/dist/docs/features/full-text-search.md +114 -0
- package/dist/docs/features/history.md +152 -0
- package/dist/docs/features/schema/about.md +215 -0
- package/dist/docs/features/schema/authority.md +456 -0
- package/dist/docs/features/schema/bucket.md +142 -0
- package/dist/docs/features/schema/database.md +419 -0
- package/dist/docs/features/schema/table-module.md +140 -0
- package/dist/docs/features/webhook/revalidate-nextjs.md +185 -0
- package/dist/docs/features/webhook.md +295 -0
- package/dist/docs/get-started/add-model-starter.md +124 -0
- package/dist/docs/get-started/get-started-with-starter.md +218 -0
- package/dist/docs/index.md +89 -0
- package/dist/docs/introduction.md +140 -0
- package/dist/docs/manifest.json +6 -0
- package/dist/docs/resources/cli-migration-guide.md +82 -0
- package/dist/docs/resources/cli-v2-to-v3-migration-guide.md +138 -0
- package/dist/docs/resources/deploy-to-vercel.md +62 -0
- package/dist/docs/resources/limits.md +24 -0
- package/dist/docs/resources/private-registry.md +23 -0
- package/dist/docs/resources/status.md +22 -0
- package/dist/docs/resources/user-model.md +38 -0
- package/dist/{download-ogGbb3FU.cjs → download-BkzmfQXD.cjs} +2 -2
- package/dist/{download-ogGbb3FU.cjs.map → download-BkzmfQXD.cjs.map} +1 -1
- package/dist/{download-oFGzg30E.mjs → download-Dx1oyrMg.mjs} +2 -2
- package/dist/{download-oFGzg30E.mjs.map → download-Dx1oyrMg.mjs.map} +1 -1
- package/dist/{erd-zDoF6I_y.mjs → erd-BihhEfZ_.mjs} +3 -3
- package/dist/{erd-zDoF6I_y.mjs.map → erd-BihhEfZ_.mjs.map} +1 -1
- package/dist/{erd-lKC5NB2l.cjs → erd-DmnB1v2c.cjs} +3 -3
- package/dist/{erd-lKC5NB2l.cjs.map → erd-DmnB1v2c.cjs.map} +1 -1
- package/dist/{get-CgEgETQa.mjs → get-1TtxSEoT.mjs} +2 -2
- package/dist/{get-CgEgETQa.mjs.map → get-1TtxSEoT.mjs.map} +1 -1
- package/dist/{get-DjRyK0hJ.cjs → get-B5S1GfjR.cjs} +2 -2
- package/dist/{get-DjRyK0hJ.cjs.map → get-B5S1GfjR.cjs.map} +1 -1
- package/dist/{get-DDB89cOs.mjs → get-BLDHE_Zl.mjs} +2 -2
- package/dist/{get-DDB89cOs.mjs.map → get-BLDHE_Zl.mjs.map} +1 -1
- package/dist/{get-KdWfYINc.cjs → get-C5OH05Ka.cjs} +2 -2
- package/dist/{get-KdWfYINc.cjs.map → get-C5OH05Ka.cjs.map} +1 -1
- package/dist/{get-DwtzBjGV.cjs → get-CKZPn669.cjs} +2 -2
- package/dist/{get-DwtzBjGV.cjs.map → get-CKZPn669.cjs.map} +1 -1
- package/dist/{get-IOU__2RP.cjs → get-CdDZkUXV.cjs} +2 -2
- package/dist/{get-IOU__2RP.cjs.map → get-CdDZkUXV.cjs.map} +1 -1
- package/dist/{get-DB80UNSR.mjs → get-Cw4Dw5NG.mjs} +2 -2
- package/dist/{get-DB80UNSR.mjs.map → get-Cw4Dw5NG.mjs.map} +1 -1
- package/dist/{get-C7dKoSIc.mjs → get-Dy3AD4il.mjs} +2 -2
- package/dist/{get-C7dKoSIc.mjs.map → get-Dy3AD4il.mjs.map} +1 -1
- package/dist/{get-BBOKSXkh.cjs → get-PVsUGHBR.cjs} +2 -2
- package/dist/{get-BBOKSXkh.cjs.map → get-PVsUGHBR.cjs.map} +1 -1
- package/dist/{get-B6vBaq_D.mjs → get-Vo3yr12d.mjs} +2 -2
- package/dist/{get-B6vBaq_D.mjs.map → get-Vo3yr12d.mjs.map} +1 -1
- package/dist/{get-jwXRlIBJ.cjs → get-jaN2o0XY.cjs} +2 -2
- package/dist/{get-jwXRlIBJ.cjs.map → get-jaN2o0XY.cjs.map} +1 -1
- package/dist/{get-DBxhbN1G.mjs → get-qOKYAc46.mjs} +2 -2
- package/dist/{get-DBxhbN1G.mjs.map → get-qOKYAc46.mjs.map} +1 -1
- package/dist/init-BpKpTQ0z.mjs +425 -0
- package/dist/init-BpKpTQ0z.mjs.map +1 -0
- package/dist/init-BrZCChEG.cjs +427 -0
- package/dist/init-BrZCChEG.cjs.map +1 -0
- package/dist/{invite-DPygtCoO.cjs → invite-Tw3SMV0Q.cjs} +2 -2
- package/dist/{invite-DPygtCoO.cjs.map → invite-Tw3SMV0Q.cjs.map} +1 -1
- package/dist/{invite-D66DSMvq.mjs → invite-vzajkU2u.mjs} +2 -2
- package/dist/{invite-D66DSMvq.mjs.map → invite-vzajkU2u.mjs.map} +1 -1
- package/dist/{key-C71Ffll9.mjs → key-CyVxu3Uk.mjs} +3 -3
- package/dist/{key-C71Ffll9.mjs.map → key-CyVxu3Uk.mjs.map} +1 -1
- package/dist/{key-DQr7qRL2.cjs → key-tRYRqYNo.cjs} +3 -3
- package/dist/{key-DQr7qRL2.cjs.map → key-tRYRqYNo.cjs.map} +1 -1
- package/dist/{link-BluFyxEL.mjs → link-Bd55x5Zf.mjs} +2 -2
- package/dist/{link-BluFyxEL.mjs.map → link-Bd55x5Zf.mjs.map} +1 -1
- package/dist/{link-DYu1Vjlw.cjs → link-Cz7MX02S.cjs} +2 -2
- package/dist/{link-DYu1Vjlw.cjs.map → link-Cz7MX02S.cjs.map} +1 -1
- package/dist/{list-D5PSDMWw.mjs → list-2otVufvs.mjs} +3 -3
- package/dist/{list-D5PSDMWw.mjs.map → list-2otVufvs.mjs.map} +1 -1
- package/dist/{list-sQk00GV5.mjs → list-BMnBuZMr.mjs} +2 -2
- package/dist/{list-sQk00GV5.mjs.map → list-BMnBuZMr.mjs.map} +1 -1
- package/dist/{list-BwfpuhmJ.cjs → list-Bo8IMFd0.cjs} +2 -2
- package/dist/{list-BwfpuhmJ.cjs.map → list-Bo8IMFd0.cjs.map} +1 -1
- package/dist/{list-B0N4-Q-5.mjs → list-BtgAAUKm.mjs} +2 -2
- package/dist/{list-B0N4-Q-5.mjs.map → list-BtgAAUKm.mjs.map} +1 -1
- package/dist/{list-vbMaOiza.mjs → list-C0lq-gBZ.mjs} +2 -2
- package/dist/{list-vbMaOiza.mjs.map → list-C0lq-gBZ.mjs.map} +1 -1
- package/dist/{list-BsYYq9wT.mjs → list-CGZ3iT6J.mjs} +2 -2
- package/dist/{list-BsYYq9wT.mjs.map → list-CGZ3iT6J.mjs.map} +1 -1
- package/dist/{list-CFwW0G9f.cjs → list-CMWXO4nB.cjs} +2 -2
- package/dist/{list-CFwW0G9f.cjs.map → list-CMWXO4nB.cjs.map} +1 -1
- package/dist/{list-rAn3uOA7.mjs → list-Ccaec0cs.mjs} +2 -2
- package/dist/{list-rAn3uOA7.mjs.map → list-Ccaec0cs.mjs.map} +1 -1
- package/dist/{list-CU42ERNY.cjs → list-Cp_mHwbN.cjs} +2 -2
- package/dist/{list-CU42ERNY.cjs.map → list-Cp_mHwbN.cjs.map} +1 -1
- package/dist/{list-D0-QrWmn.cjs → list-Cs7kbAAi.cjs} +3 -3
- package/dist/{list-D0-QrWmn.cjs.map → list-Cs7kbAAi.cjs.map} +1 -1
- package/dist/{list-DlJssPwy.cjs → list-D5IaYurn.cjs} +2 -2
- package/dist/{list-DlJssPwy.cjs.map → list-D5IaYurn.cjs.map} +1 -1
- package/dist/{list-CbvEh7eA.mjs → list-DcIBInNA.mjs} +2 -2
- package/dist/{list-CbvEh7eA.mjs.map → list-DcIBInNA.mjs.map} +1 -1
- package/dist/{list-BzLraBnA.cjs → list-Dd3veD9Z.cjs} +2 -2
- package/dist/{list-BzLraBnA.cjs.map → list-Dd3veD9Z.cjs.map} +1 -1
- package/dist/{list-DexBclfb.cjs → list-DdVKKaDN.cjs} +2 -2
- package/dist/{list-DexBclfb.cjs.map → list-DdVKKaDN.cjs.map} +1 -1
- package/dist/{list-Br6Cmi9S.cjs → list-E1sjTZLe.cjs} +2 -2
- package/dist/{list-Br6Cmi9S.cjs.map → list-E1sjTZLe.cjs.map} +1 -1
- package/dist/{list-BRh59EqI.cjs → list-KI-7REC_.cjs} +2 -2
- package/dist/{list-BRh59EqI.cjs.map → list-KI-7REC_.cjs.map} +1 -1
- package/dist/{list-ocfd7631.mjs → list-MWD4huKP.mjs} +2 -2
- package/dist/{list-ocfd7631.mjs.map → list-MWD4huKP.mjs.map} +1 -1
- package/dist/{list-57TUfNFd.mjs → list-Pf5aAoaN.mjs} +2 -2
- package/dist/{list-57TUfNFd.mjs.map → list-Pf5aAoaN.mjs.map} +1 -1
- package/dist/{list-BHvURTWd.cjs → list-fG4zo8zz.cjs} +2 -2
- package/dist/{list-BHvURTWd.cjs.map → list-fG4zo8zz.cjs.map} +1 -1
- package/dist/{list-DrZYlidZ.mjs → list-r2UPz1zW.mjs} +2 -2
- package/dist/{list-DrZYlidZ.mjs.map → list-r2UPz1zW.mjs.map} +1 -1
- package/dist/{login-FE_dbWMo.mjs → login-Dq2L3bI7.mjs} +2 -2
- package/dist/{login-FE_dbWMo.mjs.map → login-Dq2L3bI7.mjs.map} +1 -1
- package/dist/{login-2XcHd4wn.cjs → login-M1IF2MdC.cjs} +2 -2
- package/dist/{login-2XcHd4wn.cjs.map → login-M1IF2MdC.cjs.map} +1 -1
- package/dist/{logout-DC5TMJ5_.cjs → logout-BCSfFgPz.cjs} +2 -2
- package/dist/{logout-DC5TMJ5_.cjs.map → logout-BCSfFgPz.cjs.map} +1 -1
- package/dist/{logout-BDbWrGBm.mjs → logout-DFzQCQKe.mjs} +2 -2
- package/dist/{logout-BDbWrGBm.mjs.map → logout-DFzQCQKe.mjs.map} +1 -1
- package/dist/management-C1p-Hm2Z.cjs +19 -0
- package/dist/{management-BGYcZB4c.cjs.map → management-C1p-Hm2Z.cjs.map} +1 -1
- package/dist/{management-DDACMgbU.mjs → management-h4yE09a6.mjs} +5 -5
- package/dist/{management-DDACMgbU.mjs.map → management-h4yE09a6.mjs.map} +1 -1
- package/dist/object-CZDLoc9L.cjs +20 -0
- package/dist/{object-DVqidsEc.cjs.map → object-CZDLoc9L.cjs.map} +1 -1
- package/dist/object-CqMsEkh9.mjs +20 -0
- package/dist/{object-qdBdEghr.mjs.map → object-CqMsEkh9.mjs.map} +1 -1
- package/dist/{org-CPhTRTks.mjs → org-Co-rjfr-.mjs} +2 -2
- package/dist/{org-CPhTRTks.mjs.map → org-Co-rjfr-.mjs.map} +1 -1
- package/dist/{org-C4cVovOM.cjs → org-Drj3VqIm.cjs} +2 -2
- package/dist/{org-C4cVovOM.cjs.map → org-Drj3VqIm.cjs.map} +1 -1
- package/dist/{org-context-Bewx2NEW.cjs → org-context-DKFnPH_o.cjs} +2 -2
- package/dist/{org-context-Bewx2NEW.cjs.map → org-context-DKFnPH_o.cjs.map} +1 -1
- package/dist/{org-context-D0dwWC2M.mjs → org-context-Df5McOiK.mjs} +2 -2
- package/dist/{org-context-D0dwWC2M.mjs.map → org-context-Df5McOiK.mjs.map} +1 -1
- package/dist/project-C7qWFjMV.mjs +20 -0
- package/dist/{project-CaXD3QBs.mjs.map → project-C7qWFjMV.mjs.map} +1 -1
- package/dist/project-Dm7nr5NV.cjs +20 -0
- package/dist/{project-BX7zvWB1.cjs.map → project-Dm7nr5NV.cjs.map} +1 -1
- package/dist/project-user-D9h_QBc0.mjs +20 -0
- package/dist/{project-user-Cp7i6orv.mjs.map → project-user-D9h_QBc0.mjs.map} +1 -1
- package/dist/project-user-wLFnHFwB.cjs +20 -0
- package/dist/{project-user-Dm0qR-sh.cjs.map → project-user-wLFnHFwB.cjs.map} +1 -1
- package/dist/prompt-C-XNDSNE.cjs +42 -0
- package/dist/prompt-C-XNDSNE.cjs.map +1 -0
- package/dist/prompt-Dr2Rkxun.mjs +25 -0
- package/dist/prompt-Dr2Rkxun.mjs.map +1 -0
- package/dist/{push-0u6PDz4E.cjs → push-BggkrD0g.cjs} +31 -12
- package/dist/push-BggkrD0g.cjs.map +1 -0
- package/dist/{push-D7co0keA.mjs → push-xWnD9oov.mjs} +30 -11
- package/dist/push-xWnD9oov.mjs.map +1 -0
- package/dist/{run-codegen-Ceeosw5x.cjs → run-codegen-B-90rvjk.cjs} +4 -4
- package/dist/run-codegen-B-90rvjk.cjs.map +1 -0
- package/dist/{run-codegen-DgaFaIQ1.mjs → run-codegen-CrO08jJT.mjs} +4 -4
- package/dist/run-codegen-CrO08jJT.mjs.map +1 -0
- package/dist/{run-with-context-CVhmzAFZ.mjs → run-with-context-B4DyI8Wo.mjs} +6 -26
- package/dist/run-with-context-B4DyI8Wo.mjs.map +1 -0
- package/dist/{run-with-context-DJNnEigg.cjs → run-with-context-D8pSrqD_.cjs} +7 -39
- package/dist/run-with-context-D8pSrqD_.cjs.map +1 -0
- package/dist/schema-CUVTXrHk.cjs +20 -0
- package/dist/{schema-B3iRqvYK.cjs.map → schema-CUVTXrHk.cjs.map} +1 -1
- package/dist/schema-DlUWHV_t.mjs +20 -0
- package/dist/{schema-exG250MU.mjs.map → schema-DlUWHV_t.mjs.map} +1 -1
- package/dist/{status-Dq_NJE71.cjs → status-CqPJTxeK.cjs} +2 -2
- package/dist/{status-Dq_NJE71.cjs.map → status-CqPJTxeK.cjs.map} +1 -1
- package/dist/{status-fWqXzV0P.mjs → status-D7nOW3R3.mjs} +2 -2
- package/dist/{status-fWqXzV0P.mjs.map → status-D7nOW3R3.mjs.map} +1 -1
- package/dist/{token-store--9GYVL7N.cjs → token-store-BgWGhqq0.cjs} +3 -3
- package/dist/{token-store--9GYVL7N.cjs.map → token-store-BgWGhqq0.cjs.map} +1 -1
- package/dist/{token-store-reCGF86F.mjs → token-store-C2r7cFA-.mjs} +2 -2
- package/dist/{token-store-reCGF86F.mjs.map → token-store-C2r7cFA-.mjs.map} +1 -1
- package/dist/{update-B4lv4dAz.mjs → update-8-sHFvNB.mjs} +2 -2
- package/dist/{update-B4lv4dAz.mjs.map → update-8-sHFvNB.mjs.map} +1 -1
- package/dist/{update-Dyo4vuZs.mjs → update-B5hKKw0K.mjs} +3 -3
- package/dist/{update-Dyo4vuZs.mjs.map → update-B5hKKw0K.mjs.map} +1 -1
- package/dist/{update-Do9HHWzs.cjs → update-BVaqURWE.cjs} +2 -2
- package/dist/{update-Do9HHWzs.cjs.map → update-BVaqURWE.cjs.map} +1 -1
- package/dist/{update-DRnN1kiu.cjs → update-BlUwNhLA.cjs} +2 -2
- package/dist/{update-DRnN1kiu.cjs.map → update-BlUwNhLA.cjs.map} +1 -1
- package/dist/{update-Cx_2GkQj.cjs → update-BqhLwuP7.cjs} +2 -2
- package/dist/{update-Cx_2GkQj.cjs.map → update-BqhLwuP7.cjs.map} +1 -1
- package/dist/{update-mEmULIau.mjs → update-DaYjh5VN.mjs} +2 -2
- package/dist/{update-mEmULIau.mjs.map → update-DaYjh5VN.mjs.map} +1 -1
- package/dist/{update-CJgEmSWJ.cjs → update-DcTzR54Z.cjs} +3 -3
- package/dist/{update-CJgEmSWJ.cjs.map → update-DcTzR54Z.cjs.map} +1 -1
- package/dist/{update-CIH6sSVk.cjs → update-Dne7g_0s.cjs} +2 -2
- package/dist/{update-CIH6sSVk.cjs.map → update-Dne7g_0s.cjs.map} +1 -1
- package/dist/{update-CQ4n4Xuf.mjs → update-Dy1BOnTB.mjs} +2 -2
- package/dist/{update-CQ4n4Xuf.mjs.map → update-Dy1BOnTB.mjs.map} +1 -1
- package/dist/{update-rzij1b_o.mjs → update-slz_X0mG.mjs} +2 -2
- package/dist/{update-rzij1b_o.mjs.map → update-slz_X0mG.mjs.map} +1 -1
- package/dist/{upload-DGgJ1TQk.mjs → upload-CDtzV9Wx.mjs} +3 -3
- package/dist/{upload-DGgJ1TQk.mjs.map → upload-CDtzV9Wx.mjs.map} +1 -1
- package/dist/{upload-C43ZXxyb.cjs → upload-DIln1QDA.cjs} +3 -3
- package/dist/{upload-C43ZXxyb.cjs.map → upload-DIln1QDA.cjs.map} +1 -1
- package/dist/{validate-BpxZ8LTl.cjs → validate-BH8jqdqq.cjs} +2 -2
- package/dist/{validate-BpxZ8LTl.cjs.map → validate-BH8jqdqq.cjs.map} +1 -1
- package/dist/{validate-Ca0CRo16.mjs → validate-COS4bfr0.mjs} +2 -2
- package/dist/{validate-Ca0CRo16.mjs.map → validate-COS4bfr0.mjs.map} +1 -1
- package/dist/webhook-BT3cHrq5.mjs +20 -0
- package/dist/{webhook-CpZ1-Ho5.mjs.map → webhook-BT3cHrq5.mjs.map} +1 -1
- package/dist/webhook-CQeuAqec.cjs +20 -0
- package/dist/{webhook-CbL4QaR5.cjs.map → webhook-CQeuAqec.cjs.map} +1 -1
- package/package.json +10 -9
- package/dist/auth-CNbONZuf.cjs +0 -18
- package/dist/cms-BJnovGYT.mjs.map +0 -1
- package/dist/cms-Cnx-lDGu.cjs.map +0 -1
- package/dist/config-loader-BEgS869e.mjs.map +0 -1
- package/dist/config-loader-D8x32gEU.cjs.map +0 -1
- package/dist/consumer-OF6Z_eTP.cjs.map +0 -1
- package/dist/consumer-l-8wUK8E.cjs +0 -18
- package/dist/consumer-pU2HyiyA.mjs.map +0 -1
- package/dist/content-BOb6NC8M.mjs +0 -20
- package/dist/content-DMjSwor1.cjs +0 -20
- package/dist/management-BGYcZB4c.cjs +0 -19
- package/dist/object-DVqidsEc.cjs +0 -20
- package/dist/object-qdBdEghr.mjs +0 -20
- package/dist/project-BX7zvWB1.cjs +0 -20
- package/dist/project-CaXD3QBs.mjs +0 -20
- package/dist/project-user-Cp7i6orv.mjs +0 -20
- package/dist/project-user-Dm0qR-sh.cjs +0 -20
- package/dist/push-0u6PDz4E.cjs.map +0 -1
- package/dist/push-D7co0keA.mjs.map +0 -1
- package/dist/run-codegen-Ceeosw5x.cjs.map +0 -1
- package/dist/run-codegen-DgaFaIQ1.mjs.map +0 -1
- package/dist/run-with-context-CVhmzAFZ.mjs.map +0 -1
- package/dist/run-with-context-DJNnEigg.cjs.map +0 -1
- package/dist/schema-B3iRqvYK.cjs +0 -20
- package/dist/schema-exG250MU.mjs +0 -20
- package/dist/webhook-CbL4QaR5.cjs +0 -20
- package/dist/webhook-CpZ1-Ho5.mjs +0 -20
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { t as defineCommand } from "./cli/main.mjs";
|
|
2
|
+
|
|
3
|
+
//#region src/cli/commands/webhook/index.ts
|
|
4
|
+
var webhook_default = defineCommand({
|
|
5
|
+
meta: {
|
|
6
|
+
name: "webhook",
|
|
7
|
+
description: "Manage project webhooks"
|
|
8
|
+
},
|
|
9
|
+
subCommands: {
|
|
10
|
+
list: () => import("./list-CGZ3iT6J.mjs").then((m) => m.default),
|
|
11
|
+
get: () => import("./get-Vo3yr12d.mjs").then((m) => m.default),
|
|
12
|
+
create: () => import("./create-m5fNBqQE.mjs").then((m) => m.default),
|
|
13
|
+
update: () => import("./update-B5hKKw0K.mjs").then((m) => m.default),
|
|
14
|
+
delete: () => import("./delete-BhJK-8vE.mjs").then((m) => m.default)
|
|
15
|
+
}
|
|
16
|
+
});
|
|
17
|
+
|
|
18
|
+
//#endregion
|
|
19
|
+
export { webhook_default as default };
|
|
20
|
+
//# sourceMappingURL=webhook-BT3cHrq5.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webhook-
|
|
1
|
+
{"version":3,"file":"webhook-BT3cHrq5.mjs","names":[],"sources":["../src/cli/commands/webhook/index.ts"],"sourcesContent":["import { defineCommand } from \"../define-command.js\";\n\nexport default defineCommand({\n meta: {\n name: \"webhook\",\n description: \"Manage project webhooks\",\n },\n subCommands: {\n list: () => import(\"./list.js\").then((m) => m.default),\n get: () => import(\"./get.js\").then((m) => m.default),\n create: () => import(\"./create.js\").then((m) => m.default),\n update: () => import(\"./update.js\").then((m) => m.default),\n delete: () => import(\"./delete.js\").then((m) => m.default),\n },\n});\n"],"mappings":";;;AAEA,sBAAe,cAAc;CAC3B,MAAM;EACJ,MAAM;EACN,aAAa;CACf;CACA,aAAa;EACX,YAAY,OAAO,sBAAY,CAAC,MAAM,MAAM,EAAE,OAAO;EACrD,WAAW,OAAO,qBAAW,CAAC,MAAM,MAAM,EAAE,OAAO;EACnD,cAAc,OAAO,wBAAc,CAAC,MAAM,MAAM,EAAE,OAAO;EACzD,cAAc,OAAO,wBAAc,CAAC,MAAM,MAAM,EAAE,OAAO;EACzD,cAAc,OAAO,wBAAc,CAAC,MAAM,MAAM,EAAE,OAAO;CAC3D;AACF,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
const require_cli_main = require('./cli/main.cjs');
|
|
2
|
+
|
|
3
|
+
//#region src/cli/commands/webhook/index.ts
|
|
4
|
+
var webhook_default = require_cli_main.defineCommand({
|
|
5
|
+
meta: {
|
|
6
|
+
name: "webhook",
|
|
7
|
+
description: "Manage project webhooks"
|
|
8
|
+
},
|
|
9
|
+
subCommands: {
|
|
10
|
+
list: () => Promise.resolve().then(() => require("./list-fG4zo8zz.cjs")).then((m) => m.default),
|
|
11
|
+
get: () => Promise.resolve().then(() => require("./get-CKZPn669.cjs")).then((m) => m.default),
|
|
12
|
+
create: () => Promise.resolve().then(() => require("./create-CNDCTpi0.cjs")).then((m) => m.default),
|
|
13
|
+
update: () => Promise.resolve().then(() => require("./update-DcTzR54Z.cjs")).then((m) => m.default),
|
|
14
|
+
delete: () => Promise.resolve().then(() => require("./delete-B9j8c8ln.cjs")).then((m) => m.default)
|
|
15
|
+
}
|
|
16
|
+
});
|
|
17
|
+
|
|
18
|
+
//#endregion
|
|
19
|
+
exports.default = webhook_default;
|
|
20
|
+
//# sourceMappingURL=webhook-CQeuAqec.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webhook-
|
|
1
|
+
{"version":3,"file":"webhook-CQeuAqec.cjs","names":["defineCommand"],"sources":["../src/cli/commands/webhook/index.ts"],"sourcesContent":["import { defineCommand } from \"../define-command.js\";\n\nexport default defineCommand({\n meta: {\n name: \"webhook\",\n description: \"Manage project webhooks\",\n },\n subCommands: {\n list: () => import(\"./list.js\").then((m) => m.default),\n get: () => import(\"./get.js\").then((m) => m.default),\n create: () => import(\"./create.js\").then((m) => m.default),\n update: () => import(\"./update.js\").then((m) => m.default),\n delete: () => import(\"./delete.js\").then((m) => m.default),\n },\n});\n"],"mappings":";;;AAEA,sBAAeA,+BAAc;CAC3B,MAAM;EACJ,MAAM;EACN,aAAa;CACf;CACA,aAAa;EACX,iDAAY,wBAAoB,MAAM,MAAM,EAAE,OAAO;EACrD,gDAAW,uBAAmB,MAAM,MAAM,EAAE,OAAO;EACnD,mDAAc,0BAAsB,MAAM,MAAM,EAAE,OAAO;EACzD,mDAAc,0BAAsB,MAAM,MAAM,EAAE,OAAO;EACzD,mDAAc,0BAAsB,MAAM,MAAM,EAAE,OAAO;CAC3D;AACF,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@orizm/cli",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.3.0-beta.0",
|
|
4
4
|
"description": "Orizm CLI",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"repository": {
|
|
@@ -24,19 +24,19 @@
|
|
|
24
24
|
"dist"
|
|
25
25
|
],
|
|
26
26
|
"dependencies": {
|
|
27
|
-
"@hono/node-server": "2.
|
|
27
|
+
"@hono/node-server": "2.1.1",
|
|
28
28
|
"@praha/byethrow": "0.12.0",
|
|
29
29
|
"citty": "0.2.2",
|
|
30
30
|
"cli-table3": "0.6.5",
|
|
31
31
|
"consola": "3.4.2",
|
|
32
32
|
"esbuild": "0.28.2",
|
|
33
|
-
"hono": "4.13.
|
|
34
|
-
"jose": "6.2.
|
|
33
|
+
"hono": "4.13.7",
|
|
34
|
+
"jose": "6.2.12",
|
|
35
35
|
"mime-types": "3.0.2",
|
|
36
|
-
"open": "11.0.
|
|
36
|
+
"open": "11.0.2",
|
|
37
37
|
"prettier": "3.9.6",
|
|
38
38
|
"valibot": "1.4.2",
|
|
39
|
-
"@orizm/common": "2.
|
|
39
|
+
"@orizm/common": "2.6.0-beta.0"
|
|
40
40
|
},
|
|
41
41
|
"bin": {
|
|
42
42
|
"orizm": "dist/cli/main.mjs"
|
|
@@ -45,13 +45,14 @@
|
|
|
45
45
|
"@types/mime-types": "3.0.1",
|
|
46
46
|
"tsdown": "0.22.14",
|
|
47
47
|
"@orizm/eslint-config": "0.0.0",
|
|
48
|
-
"@orizm/
|
|
49
|
-
"@orizm/
|
|
48
|
+
"@orizm/package-configs": "0.0.0",
|
|
49
|
+
"@orizm/internal-shared": "0.0.10"
|
|
50
50
|
},
|
|
51
51
|
"license": "Apache-2.0",
|
|
52
52
|
"scripts": {
|
|
53
53
|
"dev": "tsdown --watch",
|
|
54
|
-
"build": "tsdown --clean",
|
|
54
|
+
"build": "tsdown --clean && node scripts/bundle-docs.ts",
|
|
55
|
+
"bundle:docs": "node scripts/bundle-docs.ts",
|
|
55
56
|
"lint": "eslint .",
|
|
56
57
|
"typecheck": "tsc --noEmit",
|
|
57
58
|
"typecheck:watch": "tsc --noEmit --watch",
|
package/dist/auth-CNbONZuf.cjs
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
const require_cli_main = require('./cli/main.cjs');
|
|
2
|
-
|
|
3
|
-
//#region src/cli/commands/auth/index.ts
|
|
4
|
-
var auth_default = require_cli_main.defineCommand({
|
|
5
|
-
meta: {
|
|
6
|
-
name: "auth",
|
|
7
|
-
description: "Manage authentication with Orizm"
|
|
8
|
-
},
|
|
9
|
-
subCommands: {
|
|
10
|
-
login: () => Promise.resolve().then(() => require("./login-2XcHd4wn.cjs")).then((m) => m.default),
|
|
11
|
-
logout: () => Promise.resolve().then(() => require("./logout-DC5TMJ5_.cjs")).then((m) => m.default),
|
|
12
|
-
status: () => Promise.resolve().then(() => require("./status-Dq_NJE71.cjs")).then((m) => m.default)
|
|
13
|
-
}
|
|
14
|
-
});
|
|
15
|
-
|
|
16
|
-
//#endregion
|
|
17
|
-
exports.default = auth_default;
|
|
18
|
-
//# sourceMappingURL=auth-CNbONZuf.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cms-BJnovGYT.mjs","names":[],"sources":["../src/cli/codegen/cms.ts","../src/cli/commands/codegen/cms.ts"],"sourcesContent":["import { CommonOrizmConfig } from \"../types.js\";\nimport { formatTsWithPrettier } from \"./format.js\";\nimport {\n AUTOGEN_HEADER,\n UTILITIES,\n RenderColumn,\n RenderIndex,\n toCodeTypeName,\n renderColumnField,\n renderTypeBlock,\n renderRefsFieldLines,\n renderUniqueFieldLines,\n renderModuleRowTypeBlock,\n renderModuleDescriptorBlock,\n renderSection,\n renderWebhookTypesSection,\n} from \"./render.js\";\n\ntype RenderTable = {\n name: string;\n columns: RenderColumn[];\n isSubmissions?: boolean;\n enableForm?: boolean;\n enableDrafts?: boolean;\n indexes?: RenderIndex[];\n formOptions?: { submissionColumns?: RenderColumn[] };\n};\n\nexport function renderCmsModule(config: CommonOrizmConfig): Promise<string> {\n const submissionTables: RenderTable[] = config.tables\n .filter((t) => t.enableForm)\n .map((t) => ({\n name: t.name + \"__submission\",\n columns: t.formOptions?.submissionColumns ?? [],\n isSubmissions: true,\n }));\n const allTables: RenderTable[] = [...config.tables, ...submissionTables];\n const modules = config.tableModules;\n\n const imports = [\n AUTOGEN_HEADER,\n \"\",\n 'import { FormValidationRules, StorageItemType } from \"@orizm/cms-sdk/common\";',\n 'import { OrizmCMSClient } from \"@orizm/cms-sdk\";',\n ].join(\"\\n\");\n\n const types = [\n renderSection(\"Tables\", allTables.map(renderTableTypes)),\n renderSection(\"Module types\", modules.map(renderModuleTypes)),\n \"// Descriptor types\\n\" +\n [\n ...allTables.map(renderTableDescriptor),\n modules.map(renderModuleDescriptorBlock).join(\"\\n\"),\n ].join(\"\\n\\n\"),\n renderWebhookTypesSection(allTables),\n ]\n .filter(Boolean)\n .join(\"\\n\\n\\n\");\n\n const source = [imports, UTILITIES, types, renderCmsClient(config)].join(\n \"\\n\\n\\n\",\n );\n\n return formatTsWithPrettier(source);\n}\n\nfunction renderTableTypes(table: RenderTable): string {\n const cols = table.columns;\n const name = toCodeTypeName(table.name);\n\n const rowType = renderTypeBlock(name, [\n \"id: string;\",\n \"createdAt: string;\",\n \"updatedAt: string;\",\n ...(!table.isSubmissions\n ? [\n \"group: string | null;\",\n \"publishedAt: string | null;\",\n \"_draft: boolean | null;\",\n \"_published: boolean | null;\",\n \"scheduledPublishAt: string | null;\",\n \"scheduledUnpublishAt: string | null;\",\n ]\n : [\n \"_formId: string;\",\n \"_content: unknown;\",\n \"_formSchema: unknown;\",\n \"_attachments: StorageItemType[];\",\n ]),\n ...cols.map((col) => renderColumnField(col)),\n ...(table.enableForm ? [\"formSchema: FormValidationRules;\"] : []),\n ]);\n\n const createType = renderTypeBlock(`${name}CreateInput`, [\n ...(!table.isSubmissions\n ? [\n \"group?: string | null;\",\n \"publishedAt?: string | null;\",\n \"scheduledPublishAt?: string | null;\",\n \"scheduledUnpublishAt?: string | null;\",\n \"createdAt?: string;\",\n ]\n : []),\n ...cols.map((col) =>\n renderColumnField(col, {\n optional: !col.required,\n suffix: \"CreateInput\",\n }),\n ),\n ...(table.enableForm ? [\"formSchema: FormValidationRules;\"] : []),\n ]);\n\n const updateType = renderTypeBlock(`${name}UpdateInput`, [\n ...cols\n .filter((col) => !col.readOnly)\n .map((col) =>\n renderColumnField(col, { optional: true, suffix: \"UpdateInput\" }),\n ),\n ...(!table.isSubmissions\n ? [\n \"publishedAt?: string | null;\",\n \"scheduledPublishAt?: string | null;\",\n \"scheduledUnpublishAt?: string | null;\",\n \"createdAt?: string;\",\n ]\n : []),\n ...(table.enableForm ? [\"formSchema: FormValidationRules;\"] : []),\n ]);\n\n return [rowType, createType, updateType].join(\"\\n\\n\");\n}\n\nfunction renderModuleTypes(mod: {\n name: string;\n columns: RenderColumn[];\n}): string {\n const name = toCodeTypeName(mod.name);\n const cols = mod.columns;\n\n const rowType = renderModuleRowTypeBlock(mod);\n\n const createType = renderTypeBlock(`${name}CreateInput`, [\n ...cols.map((col) =>\n renderColumnField(col, {\n optional: !col.required,\n suffix: \"CreateInput\",\n }),\n ),\n ]);\n\n const updateType = renderTypeBlock(`${name}UpdateInput`, [\n \"id?: string;\",\n ...cols.map((col) =>\n renderColumnField(col, {\n optional: !col.required,\n suffix: \"UpdateInput\",\n }),\n ),\n ]);\n\n return [rowType, createType, updateType].join(\"\\n\\n\");\n}\n\nfunction renderTableDescriptor(table: RenderTable): string {\n const name = toCodeTypeName(table.name);\n return renderTypeBlock(`${name}__Descriptor`, [\n `row: ${name};`,\n `create: ${name}CreateInput;`,\n `update: ${name}UpdateInput;`,\n ...renderRefsFieldLines(table.columns),\n ...renderUniqueFieldLines(table),\n ...(table.enableDrafts ? [\"enableDrafts: true;\"] : []),\n ...(table.enableForm\n ? [`submissionDescriptor: ${name}_Submission__Descriptor;`]\n : [\"submissionDescriptor: never;\"]),\n ]);\n}\n\nfunction renderCmsClient(config: CommonOrizmConfig): string {\n const tableEntries = config.tables\n .map(\n (t) =>\n `${t.name}: this.client.getTableClient<${toCodeTypeName(t.name)}__Descriptor>(\"${t.name}\"),`,\n )\n .join(\"\\n\");\n\n const bucketEntries = config.buckets\n .map((b) => `${b.name}: this.client.getBucketClient(\"${b.name}\"),`)\n .join(\"\\n\");\n\n return `export class CMSClient {\n constructor(protected client: OrizmCMSClient) {\n this.tables = {\n ${tableEntries}\n };\n\n this.buckets = {\n ${bucketEntries}\n };\n\n this.userManagement = this.client.userManagement;\n\n this.userinfo = this.client.userinfo;\n\n this.auth = this.client.auth;\n }\n\n readonly tables;\n readonly buckets;\n readonly userManagement;\n readonly userinfo;\n readonly auth;\n}`;\n}\n","import type { ArgsDef } from \"citty\";\nimport { defineCommand } from \"../define-command.js\";\nimport { contextArgs, configFileArg, DEFAULT_CONFIG_FILE } from \"../shared.js\";\nimport { renderCmsModule } from \"../../codegen/cms.js\";\nimport { runCodegen } from \"./run-codegen.js\";\n\nconst cmsArgs = {\n ...contextArgs,\n \"config-file\": configFileArg,\n output: {\n type: \"string\",\n alias: \"o\",\n description: \"Output file (.ts) or directory\",\n default: \"./src/orizm\",\n },\n pull: {\n type: \"boolean\",\n description:\n \"Generate from the server's applied definition instead of the local config\",\n default: false,\n },\n} satisfies ArgsDef;\n\nexport default defineCommand({\n meta: {\n name: \"cms\",\n description: \"Generate CMS SDK types from a schema definition\",\n },\n args: cmsArgs,\n run: ({ args }) =>\n runCodegen({\n args,\n pull: args.pull === true,\n configFile: args[\"config-file\"] ?? DEFAULT_CONFIG_FILE,\n output: args.output,\n label: \"CMS\",\n render: renderCmsModule,\n }),\n});\n"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cms-Cnx-lDGu.cjs","names":["formatTsWithPrettier","AUTOGEN_HEADER","UTILITIES","renderSection","renderModuleDescriptorBlock","renderWebhookTypesSection","toCodeTypeName","renderTypeBlock","renderColumnField","renderModuleRowTypeBlock","renderRefsFieldLines","renderUniqueFieldLines","contextArgs","configFileArg","defineCommand","runCodegen"],"sources":["../src/cli/codegen/cms.ts","../src/cli/commands/codegen/cms.ts"],"sourcesContent":["import { CommonOrizmConfig } from \"../types.js\";\nimport { formatTsWithPrettier } from \"./format.js\";\nimport {\n AUTOGEN_HEADER,\n UTILITIES,\n RenderColumn,\n RenderIndex,\n toCodeTypeName,\n renderColumnField,\n renderTypeBlock,\n renderRefsFieldLines,\n renderUniqueFieldLines,\n renderModuleRowTypeBlock,\n renderModuleDescriptorBlock,\n renderSection,\n renderWebhookTypesSection,\n} from \"./render.js\";\n\ntype RenderTable = {\n name: string;\n columns: RenderColumn[];\n isSubmissions?: boolean;\n enableForm?: boolean;\n enableDrafts?: boolean;\n indexes?: RenderIndex[];\n formOptions?: { submissionColumns?: RenderColumn[] };\n};\n\nexport function renderCmsModule(config: CommonOrizmConfig): Promise<string> {\n const submissionTables: RenderTable[] = config.tables\n .filter((t) => t.enableForm)\n .map((t) => ({\n name: t.name + \"__submission\",\n columns: t.formOptions?.submissionColumns ?? [],\n isSubmissions: true,\n }));\n const allTables: RenderTable[] = [...config.tables, ...submissionTables];\n const modules = config.tableModules;\n\n const imports = [\n AUTOGEN_HEADER,\n \"\",\n 'import { FormValidationRules, StorageItemType } from \"@orizm/cms-sdk/common\";',\n 'import { OrizmCMSClient } from \"@orizm/cms-sdk\";',\n ].join(\"\\n\");\n\n const types = [\n renderSection(\"Tables\", allTables.map(renderTableTypes)),\n renderSection(\"Module types\", modules.map(renderModuleTypes)),\n \"// Descriptor types\\n\" +\n [\n ...allTables.map(renderTableDescriptor),\n modules.map(renderModuleDescriptorBlock).join(\"\\n\"),\n ].join(\"\\n\\n\"),\n renderWebhookTypesSection(allTables),\n ]\n .filter(Boolean)\n .join(\"\\n\\n\\n\");\n\n const source = [imports, UTILITIES, types, renderCmsClient(config)].join(\n \"\\n\\n\\n\",\n );\n\n return formatTsWithPrettier(source);\n}\n\nfunction renderTableTypes(table: RenderTable): string {\n const cols = table.columns;\n const name = toCodeTypeName(table.name);\n\n const rowType = renderTypeBlock(name, [\n \"id: string;\",\n \"createdAt: string;\",\n \"updatedAt: string;\",\n ...(!table.isSubmissions\n ? [\n \"group: string | null;\",\n \"publishedAt: string | null;\",\n \"_draft: boolean | null;\",\n \"_published: boolean | null;\",\n \"scheduledPublishAt: string | null;\",\n \"scheduledUnpublishAt: string | null;\",\n ]\n : [\n \"_formId: string;\",\n \"_content: unknown;\",\n \"_formSchema: unknown;\",\n \"_attachments: StorageItemType[];\",\n ]),\n ...cols.map((col) => renderColumnField(col)),\n ...(table.enableForm ? [\"formSchema: FormValidationRules;\"] : []),\n ]);\n\n const createType = renderTypeBlock(`${name}CreateInput`, [\n ...(!table.isSubmissions\n ? [\n \"group?: string | null;\",\n \"publishedAt?: string | null;\",\n \"scheduledPublishAt?: string | null;\",\n \"scheduledUnpublishAt?: string | null;\",\n \"createdAt?: string;\",\n ]\n : []),\n ...cols.map((col) =>\n renderColumnField(col, {\n optional: !col.required,\n suffix: \"CreateInput\",\n }),\n ),\n ...(table.enableForm ? [\"formSchema: FormValidationRules;\"] : []),\n ]);\n\n const updateType = renderTypeBlock(`${name}UpdateInput`, [\n ...cols\n .filter((col) => !col.readOnly)\n .map((col) =>\n renderColumnField(col, { optional: true, suffix: \"UpdateInput\" }),\n ),\n ...(!table.isSubmissions\n ? [\n \"publishedAt?: string | null;\",\n \"scheduledPublishAt?: string | null;\",\n \"scheduledUnpublishAt?: string | null;\",\n \"createdAt?: string;\",\n ]\n : []),\n ...(table.enableForm ? [\"formSchema: FormValidationRules;\"] : []),\n ]);\n\n return [rowType, createType, updateType].join(\"\\n\\n\");\n}\n\nfunction renderModuleTypes(mod: {\n name: string;\n columns: RenderColumn[];\n}): string {\n const name = toCodeTypeName(mod.name);\n const cols = mod.columns;\n\n const rowType = renderModuleRowTypeBlock(mod);\n\n const createType = renderTypeBlock(`${name}CreateInput`, [\n ...cols.map((col) =>\n renderColumnField(col, {\n optional: !col.required,\n suffix: \"CreateInput\",\n }),\n ),\n ]);\n\n const updateType = renderTypeBlock(`${name}UpdateInput`, [\n \"id?: string;\",\n ...cols.map((col) =>\n renderColumnField(col, {\n optional: !col.required,\n suffix: \"UpdateInput\",\n }),\n ),\n ]);\n\n return [rowType, createType, updateType].join(\"\\n\\n\");\n}\n\nfunction renderTableDescriptor(table: RenderTable): string {\n const name = toCodeTypeName(table.name);\n return renderTypeBlock(`${name}__Descriptor`, [\n `row: ${name};`,\n `create: ${name}CreateInput;`,\n `update: ${name}UpdateInput;`,\n ...renderRefsFieldLines(table.columns),\n ...renderUniqueFieldLines(table),\n ...(table.enableDrafts ? [\"enableDrafts: true;\"] : []),\n ...(table.enableForm\n ? [`submissionDescriptor: ${name}_Submission__Descriptor;`]\n : [\"submissionDescriptor: never;\"]),\n ]);\n}\n\nfunction renderCmsClient(config: CommonOrizmConfig): string {\n const tableEntries = config.tables\n .map(\n (t) =>\n `${t.name}: this.client.getTableClient<${toCodeTypeName(t.name)}__Descriptor>(\"${t.name}\"),`,\n )\n .join(\"\\n\");\n\n const bucketEntries = config.buckets\n .map((b) => `${b.name}: this.client.getBucketClient(\"${b.name}\"),`)\n .join(\"\\n\");\n\n return `export class CMSClient {\n constructor(protected client: OrizmCMSClient) {\n this.tables = {\n ${tableEntries}\n };\n\n this.buckets = {\n ${bucketEntries}\n };\n\n this.userManagement = this.client.userManagement;\n\n this.userinfo = this.client.userinfo;\n\n this.auth = this.client.auth;\n }\n\n readonly tables;\n readonly buckets;\n readonly userManagement;\n readonly userinfo;\n readonly auth;\n}`;\n}\n","import type { ArgsDef } from \"citty\";\nimport { defineCommand } from \"../define-command.js\";\nimport { contextArgs, configFileArg, DEFAULT_CONFIG_FILE } from \"../shared.js\";\nimport { renderCmsModule } from \"../../codegen/cms.js\";\nimport { runCodegen } from \"./run-codegen.js\";\n\nconst cmsArgs = {\n ...contextArgs,\n \"config-file\": configFileArg,\n output: {\n type: \"string\",\n alias: \"o\",\n description: \"Output file (.ts) or directory\",\n default: \"./src/orizm\",\n },\n pull: {\n type: \"boolean\",\n description:\n \"Generate from the server's applied definition instead of the local config\",\n default: false,\n },\n} satisfies ArgsDef;\n\nexport default defineCommand({\n meta: {\n name: \"cms\",\n description: \"Generate CMS SDK types from a schema definition\",\n },\n args: cmsArgs,\n run: ({ args }) =>\n runCodegen({\n args,\n pull: args.pull === true,\n configFile: args[\"config-file\"] ?? DEFAULT_CONFIG_FILE,\n output: args.output,\n label: \"CMS\",\n render: renderCmsModule,\n }),\n});\n"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"config-loader-BEgS869e.mjs","names":[],"sources":["../src/cli/commands/config-errors.ts","../src/cli/config-loader.ts"],"sourcesContent":["import { Result } from \"@praha/byethrow\";\nimport { ConfigLoadError } from \"../config-loader.js\";\nimport { getOutputState } from \"../ui/output.js\";\nimport { formatValibotIssues } from \"../ui/error.js\";\nimport { CommandFailure } from \"./define-command.js\";\n\n// loadConfig を使う複数のコマンドが共有する変換。ConfigLoadError 以外は知らない。\nexport function configLoadFailure(\n error: ConfigLoadError,\n): Result.Result<never, CommandFailure> {\n switch (error.type) {\n case \"config_not_found\":\n return Result.fail({ message: `Config file not found: ${error.path}` });\n case \"config_build_failed\":\n return Result.fail({\n message: `Failed to build the config file.\\n${error.message}`,\n });\n case \"config_schema_violation\":\n return Result.fail({\n message: `Config validation failed (${error.issues.length} problem(s)).\\n${formatValibotIssues(\n error.issues,\n getOutputState().color,\n )}`,\n });\n default:\n return assertNever(error);\n }\n}\n\nfunction assertNever(value: never): never {\n throw new Error(`Unhandled config load error: ${JSON.stringify(value)}`);\n}\n","import { access } from \"node:fs/promises\";\nimport esbuild from \"esbuild\";\nimport * as v from \"valibot\";\nimport { Result } from \"@praha/byethrow\";\nimport { OrizmConfigDef } from \"@orizm/common/config-validator\";\nimport { CommonOrizmConfig } from \"./types.js\";\n\nexport type ConfigLoadError =\n | { type: \"config_not_found\"; path: string }\n | { type: \"config_build_failed\"; message: string }\n | { type: \"config_schema_violation\"; issues: v.BaseIssue<unknown>[] };\n\n// keepNames / sourcemap はユーザー config 内の throw を --debug で追えるように、\n// conditions / mainFields は @orizm/cli/config の ESM サブパス解決を固定するために付ける。\nasync function buildConfig(configFile: string): Promise<string> {\n const buildResult = await esbuild.build({\n entryPoints: [configFile],\n bundle: true,\n write: false,\n format: \"esm\",\n target: \"node22\",\n platform: \"node\",\n keepNames: true,\n sourcemap: \"inline\",\n conditions: [\"node\", \"import\"],\n mainFields: [\"module\", \"main\"],\n logLevel: \"silent\",\n loader: { \".json\": \"json\" },\n });\n\n return buildResult.outputFiles[0].text;\n}\n\nexport async function loadConfig(\n configFile: string,\n): Promise<Result.Result<CommonOrizmConfig, ConfigLoadError>> {\n const found = await access(configFile).then(\n () => true,\n () => false,\n );\n if (!found) {\n return Result.fail({ type: \"config_not_found\", path: configFile });\n }\n\n let bundled: string;\n try {\n bundled = await buildConfig(configFile);\n } catch (error) {\n const message = error instanceof Error ? error.message : String(error);\n return Result.fail({ type: \"config_build_failed\", message });\n }\n\n const moduleURL = `data:text/javascript,${encodeURIComponent(bundled)}`;\n // ユーザー config 内の実行時 throw は捕まえずに伝搬させ、ハンドラ層で --debug 時に stack を出す。\n const { default: raw } = await import(moduleURL);\n\n const parsed = v.safeParse(OrizmConfigDef, raw);\n if (!parsed.success) {\n return Result.fail({\n type: \"config_schema_violation\",\n issues: parsed.issues,\n });\n }\n\n return Result.succeed(parsed.output);\n}\n"],"mappings":";;;;;;;;AAOA,SAAgB,kBACd,OACsC;CACtC,QAAQ,MAAM,MAAd;EACE,KAAK,oBACH,OAAO,OAAO,KAAK,EAAE,SAAS,0BAA0B,MAAM,OAAO,CAAC;EACxE,KAAK,uBACH,OAAO,OAAO,KAAK,EACjB,SAAS,qCAAqC,MAAM,UACtD,CAAC;EACH,KAAK,2BACH,OAAO,OAAO,KAAK,EACjB,SAAS,6BAA6B,MAAM,OAAO,OAAO,iBAAiB,oBACzE,MAAM,QACN,eAAe,CAAC,CAAC,KACnB,IACF,CAAC;EACH,SACE,OAAO,YAAY,KAAK;CAC5B;AACF;AAEA,SAAS,YAAY,OAAqB;CACxC,MAAM,IAAI,MAAM,gCAAgC,KAAK,UAAU,KAAK,GAAG;AACzE;;;;ACjBA,eAAe,YAAY,YAAqC;CAgB9D,QAAO,MAfmB,QAAQ,MAAM;EACtC,aAAa,CAAC,UAAU;EACxB,QAAQ;EACR,OAAO;EACP,QAAQ;EACR,QAAQ;EACR,UAAU;EACV,WAAW;EACX,WAAW;EACX,YAAY,CAAC,QAAQ,QAAQ;EAC7B,YAAY,CAAC,UAAU,MAAM;EAC7B,UAAU;EACV,QAAQ,EAAE,SAAS,OAAO;CAC5B,CAAC,EAEiB,CAAC,YAAY,EAAE,CAAC;AACpC;AAEA,eAAsB,WACpB,YAC4D;CAK5D,IAAI,CAAC,MAJe,OAAO,UAAU,CAAC,CAAC,WAC/B,YACA,KACR,GAEE,OAAO,OAAO,KAAK;EAAE,MAAM;EAAoB,MAAM;CAAW,CAAC;CAGnE,IAAI;CACJ,IAAI;EACF,UAAU,MAAM,YAAY,UAAU;CACxC,SAAS,OAAO;EACd,MAAM,UAAU,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK;EACrE,OAAO,OAAO,KAAK;GAAE,MAAM;GAAuB;EAAQ,CAAC;CAC7D;CAIA,MAAM,EAAE,SAAS,QAAQ,MAAM,OAAO,wBAFI,mBAAmB,OAAO;CAIpE,MAAM,SAAS,EAAE,UAAU,gBAAgB,GAAG;CAC9C,IAAI,CAAC,OAAO,SACV,OAAO,OAAO,KAAK;EACjB,MAAM;EACN,QAAQ,OAAO;CACjB,CAAC;CAGH,OAAO,OAAO,QAAQ,OAAO,MAAM;AACrC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"config-loader-D8x32gEU.cjs","names":["Result","formatValibotIssues","getOutputState","Result","v","OrizmConfigDef"],"sources":["../src/cli/commands/config-errors.ts","../src/cli/config-loader.ts"],"sourcesContent":["import { Result } from \"@praha/byethrow\";\nimport { ConfigLoadError } from \"../config-loader.js\";\nimport { getOutputState } from \"../ui/output.js\";\nimport { formatValibotIssues } from \"../ui/error.js\";\nimport { CommandFailure } from \"./define-command.js\";\n\n// loadConfig を使う複数のコマンドが共有する変換。ConfigLoadError 以外は知らない。\nexport function configLoadFailure(\n error: ConfigLoadError,\n): Result.Result<never, CommandFailure> {\n switch (error.type) {\n case \"config_not_found\":\n return Result.fail({ message: `Config file not found: ${error.path}` });\n case \"config_build_failed\":\n return Result.fail({\n message: `Failed to build the config file.\\n${error.message}`,\n });\n case \"config_schema_violation\":\n return Result.fail({\n message: `Config validation failed (${error.issues.length} problem(s)).\\n${formatValibotIssues(\n error.issues,\n getOutputState().color,\n )}`,\n });\n default:\n return assertNever(error);\n }\n}\n\nfunction assertNever(value: never): never {\n throw new Error(`Unhandled config load error: ${JSON.stringify(value)}`);\n}\n","import { access } from \"node:fs/promises\";\nimport esbuild from \"esbuild\";\nimport * as v from \"valibot\";\nimport { Result } from \"@praha/byethrow\";\nimport { OrizmConfigDef } from \"@orizm/common/config-validator\";\nimport { CommonOrizmConfig } from \"./types.js\";\n\nexport type ConfigLoadError =\n | { type: \"config_not_found\"; path: string }\n | { type: \"config_build_failed\"; message: string }\n | { type: \"config_schema_violation\"; issues: v.BaseIssue<unknown>[] };\n\n// keepNames / sourcemap はユーザー config 内の throw を --debug で追えるように、\n// conditions / mainFields は @orizm/cli/config の ESM サブパス解決を固定するために付ける。\nasync function buildConfig(configFile: string): Promise<string> {\n const buildResult = await esbuild.build({\n entryPoints: [configFile],\n bundle: true,\n write: false,\n format: \"esm\",\n target: \"node22\",\n platform: \"node\",\n keepNames: true,\n sourcemap: \"inline\",\n conditions: [\"node\", \"import\"],\n mainFields: [\"module\", \"main\"],\n logLevel: \"silent\",\n loader: { \".json\": \"json\" },\n });\n\n return buildResult.outputFiles[0].text;\n}\n\nexport async function loadConfig(\n configFile: string,\n): Promise<Result.Result<CommonOrizmConfig, ConfigLoadError>> {\n const found = await access(configFile).then(\n () => true,\n () => false,\n );\n if (!found) {\n return Result.fail({ type: \"config_not_found\", path: configFile });\n }\n\n let bundled: string;\n try {\n bundled = await buildConfig(configFile);\n } catch (error) {\n const message = error instanceof Error ? error.message : String(error);\n return Result.fail({ type: \"config_build_failed\", message });\n }\n\n const moduleURL = `data:text/javascript,${encodeURIComponent(bundled)}`;\n // ユーザー config 内の実行時 throw は捕まえずに伝搬させ、ハンドラ層で --debug 時に stack を出す。\n const { default: raw } = await import(moduleURL);\n\n const parsed = v.safeParse(OrizmConfigDef, raw);\n if (!parsed.success) {\n return Result.fail({\n type: \"config_schema_violation\",\n issues: parsed.issues,\n });\n }\n\n return Result.succeed(parsed.output);\n}\n"],"mappings":";;;;;;;;;;AAOA,SAAgB,kBACd,OACsC;CACtC,QAAQ,MAAM,MAAd;EACE,KAAK,oBACH,OAAOA,uBAAO,KAAK,EAAE,SAAS,0BAA0B,MAAM,OAAO,CAAC;EACxE,KAAK,uBACH,OAAOA,uBAAO,KAAK,EACjB,SAAS,qCAAqC,MAAM,UACtD,CAAC;EACH,KAAK,2BACH,OAAOA,uBAAO,KAAK,EACjB,SAAS,6BAA6B,MAAM,OAAO,OAAO,iBAAiBC,qCACzE,MAAM,QACNC,gCAAe,CAAC,CAAC,KACnB,IACF,CAAC;EACH,SACE,OAAO,YAAY,KAAK;CAC5B;AACF;AAEA,SAAS,YAAY,OAAqB;CACxC,MAAM,IAAI,MAAM,gCAAgC,KAAK,UAAU,KAAK,GAAG;AACzE;;;;ACjBA,eAAe,YAAY,YAAqC;CAgB9D,QAAO,MAfmB,gBAAQ,MAAM;EACtC,aAAa,CAAC,UAAU;EACxB,QAAQ;EACR,OAAO;EACP,QAAQ;EACR,QAAQ;EACR,UAAU;EACV,WAAW;EACX,WAAW;EACX,YAAY,CAAC,QAAQ,QAAQ;EAC7B,YAAY,CAAC,UAAU,MAAM;EAC7B,UAAU;EACV,QAAQ,EAAE,SAAS,OAAO;CAC5B,CAAC,EAEiB,CAAC,YAAY,EAAE,CAAC;AACpC;AAEA,eAAsB,WACpB,YAC4D;CAK5D,IAAI,CAAC,mCAJsB,UAAU,CAAC,CAAC,WAC/B,YACA,KACR,GAEE,OAAOC,uBAAO,KAAK;EAAE,MAAM;EAAoB,MAAM;CAAW,CAAC;CAGnE,IAAI;CACJ,IAAI;EACF,UAAU,MAAM,YAAY,UAAU;CACxC,SAAS,OAAO;EACd,MAAM,UAAU,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK;EACrE,OAAOA,uBAAO,KAAK;GAAE,MAAM;GAAuB;EAAQ,CAAC;CAC7D;CAIA,MAAM,EAAE,SAAS,QAAQ,MAAM,OAAO,wBAFI,mBAAmB,OAAO;CAIpE,MAAM,SAASC,QAAE,UAAUC,+CAAgB,GAAG;CAC9C,IAAI,CAAC,OAAO,SACV,OAAOF,uBAAO,KAAK;EACjB,MAAM;EACN,QAAQ,OAAO;CACjB,CAAC;CAGH,OAAOA,uBAAO,QAAQ,OAAO,MAAM;AACrC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"consumer-OF6Z_eTP.cjs","names":["formatTsWithPrettier","AUTOGEN_HEADER","UTILITIES","renderSection","renderModuleRowTypeBlock","renderModuleDescriptorBlock","renderWebhookTypesSection","renderTypeBlock","toCodeTypeName","renderColumnField","renderRefsFieldLines","renderUniqueFieldLines","contextArgs","configFileArg","defineCommand","runCodegen"],"sources":["../src/cli/codegen/consumer.ts","../src/cli/commands/codegen/consumer.ts"],"sourcesContent":["import { CommonOrizmConfig } from \"../types.js\";\nimport { formatTsWithPrettier } from \"./format.js\";\nimport {\n AUTOGEN_HEADER,\n UTILITIES,\n RenderColumn,\n RenderIndex,\n toCodeTypeName,\n renderColumnField,\n renderTypeBlock,\n renderRefsFieldLines,\n renderUniqueFieldLines,\n renderModuleRowTypeBlock,\n renderModuleDescriptorBlock,\n renderSection,\n renderWebhookTypesSection,\n} from \"./render.js\";\n\ntype RenderTable = {\n name: string;\n columns: RenderColumn[];\n enableForm?: boolean;\n enableDrafts?: boolean;\n indexes?: RenderIndex[];\n};\n\nexport function renderConsumerModule(\n config: CommonOrizmConfig,\n): Promise<string> {\n const tables: RenderTable[] = config.tables;\n const modules = config.tableModules;\n\n const imports = [\n AUTOGEN_HEADER,\n \"\",\n 'import { FormValidationRules, StorageItemType } from \"@orizm/consumer-sdk/common\";',\n 'import { ConsumerClientOptions, OrizmConsumerClientBase } from \"@orizm/consumer-sdk\";',\n ].join(\"\\n\");\n\n const types = [\n renderSection(\"Tables\", tables.map(renderTableRowType)),\n modules.map(renderModuleRowTypeBlock).join(\"\\n\\n\"),\n renderSection(\"Descriptor types\", [\n ...tables.map(renderTableDescriptor),\n ...modules.map(renderModuleDescriptorBlock),\n ]),\n renderWebhookTypesSection(tables),\n ]\n .filter(Boolean)\n .join(\"\\n\\n\\n\");\n\n const source = [imports, UTILITIES, types, renderConsumerClient(config)].join(\n \"\\n\\n\\n\",\n );\n\n return formatTsWithPrettier(source);\n}\n\nfunction renderTableRowType(table: RenderTable): string {\n return renderTypeBlock(toCodeTypeName(table.name), [\n \"id: string;\",\n \"createdAt: string;\",\n \"updatedAt: string;\",\n \"group: string | null;\",\n \"publishedAt: string | null;\",\n \"_draft: boolean | null;\",\n \"_published: boolean | null;\",\n ...table.columns.map((col) => renderColumnField(col)),\n ...(table.enableForm ? [\"formSchema: FormValidationRules;\"] : []),\n ]);\n}\n\nfunction renderTableDescriptor(table: RenderTable): string {\n const name = toCodeTypeName(table.name);\n return renderTypeBlock(`${name}__Descriptor`, [\n `row: ${name};`,\n ...renderRefsFieldLines(table.columns),\n ...renderUniqueFieldLines(table),\n ...(table.enableDrafts ? [\"enableDrafts: true;\"] : []),\n ]);\n}\n\nfunction renderConsumerClient(config: CommonOrizmConfig): string {\n const tableEntries = config.tables\n .map(\n (t) =>\n `${t.name}: this.getTableClient<${toCodeTypeName(t.name)}__Descriptor>(\"${t.name}\"),`,\n )\n .join(\"\\n\");\n\n return `export class OrizmClient extends OrizmConsumerClientBase {\n constructor(options: ConsumerClientOptions) {\n super(options);\n }\n\n readonly tables = {\n ${tableEntries}\n };\n}`;\n}\n","import type { ArgsDef } from \"citty\";\nimport { defineCommand } from \"../define-command.js\";\nimport { contextArgs, configFileArg, DEFAULT_CONFIG_FILE } from \"../shared.js\";\nimport { renderConsumerModule } from \"../../codegen/consumer.js\";\nimport { runCodegen } from \"./run-codegen.js\";\n\nconst consumerArgs = {\n ...contextArgs,\n \"config-file\": configFileArg,\n output: {\n type: \"string\",\n alias: \"o\",\n description: \"Output file (.ts) or directory\",\n default: \"./src/orizm\",\n },\n pull: {\n type: \"boolean\",\n description:\n \"Generate from the server's applied definition instead of the local config\",\n default: false,\n },\n} satisfies ArgsDef;\n\nexport default defineCommand({\n meta: {\n name: \"consumer\",\n description: \"Generate Consumer SDK types from a schema definition\",\n },\n args: consumerArgs,\n run: ({ args }) =>\n runCodegen({\n args,\n pull: args.pull === true,\n configFile: args[\"config-file\"] ?? DEFAULT_CONFIG_FILE,\n output: args.output,\n label: \"Consumer\",\n render: renderConsumerModule,\n }),\n});\n"],"mappings":";;;;;AA0BA,SAAgB,qBACd,QACiB;CACjB,MAAM,SAAwB,OAAO;CACrC,MAAM,UAAU,OAAO;CAyBvB,OAAOA,yCAJQ;EAnBC;GACdC;GACA;GACA;GACA;EACF,CAAC,CAAC,KAAK,IAce;EAAGC;EAZX;GACZC,kCAAc,UAAU,OAAO,IAAI,kBAAkB,CAAC;GACtD,QAAQ,IAAIC,4CAAwB,CAAC,CAAC,KAAK,MAAM;GACjDD,kCAAc,oBAAoB,CAChC,GAAG,OAAO,IAAI,qBAAqB,GACnC,GAAG,QAAQ,IAAIE,+CAA2B,CAC5C,CAAC;GACDC,8CAA0B,MAAM;EAClC,CAAC,CACE,OAAO,OAAO,CAAC,CACf,KAAK,QAEgC;EAAG,qBAAqB,MAAM;CAAC,CAAC,CAAC,KACvE,QAG+B,CAAC;AACpC;AAEA,SAAS,mBAAmB,OAA4B;CACtD,OAAOC,oCAAgBC,mCAAe,MAAM,IAAI,GAAG;EACjD;EACA;EACA;EACA;EACA;EACA;EACA;EACA,GAAG,MAAM,QAAQ,KAAK,QAAQC,sCAAkB,GAAG,CAAC;EACpD,GAAI,MAAM,aAAa,CAAC,kCAAkC,IAAI,CAAC;CACjE,CAAC;AACH;AAEA,SAAS,sBAAsB,OAA4B;CACzD,MAAM,OAAOD,mCAAe,MAAM,IAAI;CACtC,OAAOD,oCAAgB,GAAG,KAAK,eAAe;EAC5C,QAAQ,KAAK;EACb,GAAGG,yCAAqB,MAAM,OAAO;EACrC,GAAGC,2CAAuB,KAAK;EAC/B,GAAI,MAAM,eAAe,CAAC,qBAAqB,IAAI,CAAC;CACtD,CAAC;AACH;AAEA,SAAS,qBAAqB,QAAmC;CAQ/D,OAAO;;;;;;MAPc,OAAO,OACzB,KACE,MACC,GAAG,EAAE,KAAK,wBAAwBH,mCAAe,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,IACrF,CAAC,CACA,KAAK,IAQO,EAAE;;;AAGnB;;;;AC7FA,MAAM,eAAe;CACnB,GAAGI;CACH,eAAeC;CACf,QAAQ;EACN,MAAM;EACN,OAAO;EACP,aAAa;EACb,SAAS;CACX;CACA,MAAM;EACJ,MAAM;EACN,aACE;EACF,SAAS;CACX;AACF;AAEA,uBAAeC,+BAAc;CAC3B,MAAM;EACJ,MAAM;EACN,aAAa;CACf;CACA,MAAM;CACN,MAAM,EAAE,WACNC,+BAAW;EACT;EACA,MAAM,KAAK,SAAS;EACpB,YAAY,KAAK;EACjB,QAAQ,KAAK;EACb,OAAO;EACP,QAAQ;CACV,CAAC;AACL,CAAC"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
const require_cli_main = require('./cli/main.cjs');
|
|
2
|
-
|
|
3
|
-
//#region src/cli/commands/key/consumer/index.ts
|
|
4
|
-
var consumer_default = require_cli_main.defineCommand({
|
|
5
|
-
meta: {
|
|
6
|
-
name: "consumer",
|
|
7
|
-
description: "Manage consumer keys (public read-only access)"
|
|
8
|
-
},
|
|
9
|
-
subCommands: {
|
|
10
|
-
list: () => Promise.resolve().then(() => require("./list-DlJssPwy.cjs")).then((m) => m.default),
|
|
11
|
-
create: () => Promise.resolve().then(() => require("./create-BNYWcyuQ.cjs")).then((m) => m.default),
|
|
12
|
-
delete: () => Promise.resolve().then(() => require("./delete-D4r1ve4v.cjs")).then((m) => m.default)
|
|
13
|
-
}
|
|
14
|
-
});
|
|
15
|
-
|
|
16
|
-
//#endregion
|
|
17
|
-
exports.default = consumer_default;
|
|
18
|
-
//# sourceMappingURL=consumer-l-8wUK8E.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"consumer-pU2HyiyA.mjs","names":[],"sources":["../src/cli/codegen/consumer.ts","../src/cli/commands/codegen/consumer.ts"],"sourcesContent":["import { CommonOrizmConfig } from \"../types.js\";\nimport { formatTsWithPrettier } from \"./format.js\";\nimport {\n AUTOGEN_HEADER,\n UTILITIES,\n RenderColumn,\n RenderIndex,\n toCodeTypeName,\n renderColumnField,\n renderTypeBlock,\n renderRefsFieldLines,\n renderUniqueFieldLines,\n renderModuleRowTypeBlock,\n renderModuleDescriptorBlock,\n renderSection,\n renderWebhookTypesSection,\n} from \"./render.js\";\n\ntype RenderTable = {\n name: string;\n columns: RenderColumn[];\n enableForm?: boolean;\n enableDrafts?: boolean;\n indexes?: RenderIndex[];\n};\n\nexport function renderConsumerModule(\n config: CommonOrizmConfig,\n): Promise<string> {\n const tables: RenderTable[] = config.tables;\n const modules = config.tableModules;\n\n const imports = [\n AUTOGEN_HEADER,\n \"\",\n 'import { FormValidationRules, StorageItemType } from \"@orizm/consumer-sdk/common\";',\n 'import { ConsumerClientOptions, OrizmConsumerClientBase } from \"@orizm/consumer-sdk\";',\n ].join(\"\\n\");\n\n const types = [\n renderSection(\"Tables\", tables.map(renderTableRowType)),\n modules.map(renderModuleRowTypeBlock).join(\"\\n\\n\"),\n renderSection(\"Descriptor types\", [\n ...tables.map(renderTableDescriptor),\n ...modules.map(renderModuleDescriptorBlock),\n ]),\n renderWebhookTypesSection(tables),\n ]\n .filter(Boolean)\n .join(\"\\n\\n\\n\");\n\n const source = [imports, UTILITIES, types, renderConsumerClient(config)].join(\n \"\\n\\n\\n\",\n );\n\n return formatTsWithPrettier(source);\n}\n\nfunction renderTableRowType(table: RenderTable): string {\n return renderTypeBlock(toCodeTypeName(table.name), [\n \"id: string;\",\n \"createdAt: string;\",\n \"updatedAt: string;\",\n \"group: string | null;\",\n \"publishedAt: string | null;\",\n \"_draft: boolean | null;\",\n \"_published: boolean | null;\",\n ...table.columns.map((col) => renderColumnField(col)),\n ...(table.enableForm ? [\"formSchema: FormValidationRules;\"] : []),\n ]);\n}\n\nfunction renderTableDescriptor(table: RenderTable): string {\n const name = toCodeTypeName(table.name);\n return renderTypeBlock(`${name}__Descriptor`, [\n `row: ${name};`,\n ...renderRefsFieldLines(table.columns),\n ...renderUniqueFieldLines(table),\n ...(table.enableDrafts ? [\"enableDrafts: true;\"] : []),\n ]);\n}\n\nfunction renderConsumerClient(config: CommonOrizmConfig): string {\n const tableEntries = config.tables\n .map(\n (t) =>\n `${t.name}: this.getTableClient<${toCodeTypeName(t.name)}__Descriptor>(\"${t.name}\"),`,\n )\n .join(\"\\n\");\n\n return `export class OrizmClient extends OrizmConsumerClientBase {\n constructor(options: ConsumerClientOptions) {\n super(options);\n }\n\n readonly tables = {\n ${tableEntries}\n };\n}`;\n}\n","import type { ArgsDef } from \"citty\";\nimport { defineCommand } from \"../define-command.js\";\nimport { contextArgs, configFileArg, DEFAULT_CONFIG_FILE } from \"../shared.js\";\nimport { renderConsumerModule } from \"../../codegen/consumer.js\";\nimport { runCodegen } from \"./run-codegen.js\";\n\nconst consumerArgs = {\n ...contextArgs,\n \"config-file\": configFileArg,\n output: {\n type: \"string\",\n alias: \"o\",\n description: \"Output file (.ts) or directory\",\n default: \"./src/orizm\",\n },\n pull: {\n type: \"boolean\",\n description:\n \"Generate from the server's applied definition instead of the local config\",\n default: false,\n },\n} satisfies ArgsDef;\n\nexport default defineCommand({\n meta: {\n name: \"consumer\",\n description: \"Generate Consumer SDK types from a schema definition\",\n },\n args: consumerArgs,\n run: ({ args }) =>\n runCodegen({\n args,\n pull: args.pull === true,\n configFile: args[\"config-file\"] ?? DEFAULT_CONFIG_FILE,\n output: args.output,\n label: \"Consumer\",\n render: renderConsumerModule,\n }),\n});\n"],"mappings":";;;;;AA0BA,SAAgB,qBACd,QACiB;CACjB,MAAM,SAAwB,OAAO;CACrC,MAAM,UAAU,OAAO;CAyBvB,OAAO,qBAJQ;EAnBC;GACd;GACA;GACA;GACA;EACF,CAAC,CAAC,KAAK,IAce;EAAG;EAZX;GACZ,cAAc,UAAU,OAAO,IAAI,kBAAkB,CAAC;GACtD,QAAQ,IAAI,wBAAwB,CAAC,CAAC,KAAK,MAAM;GACjD,cAAc,oBAAoB,CAChC,GAAG,OAAO,IAAI,qBAAqB,GACnC,GAAG,QAAQ,IAAI,2BAA2B,CAC5C,CAAC;GACD,0BAA0B,MAAM;EAClC,CAAC,CACE,OAAO,OAAO,CAAC,CACf,KAAK,QAEgC;EAAG,qBAAqB,MAAM;CAAC,CAAC,CAAC,KACvE,QAG+B,CAAC;AACpC;AAEA,SAAS,mBAAmB,OAA4B;CACtD,OAAO,gBAAgB,eAAe,MAAM,IAAI,GAAG;EACjD;EACA;EACA;EACA;EACA;EACA;EACA;EACA,GAAG,MAAM,QAAQ,KAAK,QAAQ,kBAAkB,GAAG,CAAC;EACpD,GAAI,MAAM,aAAa,CAAC,kCAAkC,IAAI,CAAC;CACjE,CAAC;AACH;AAEA,SAAS,sBAAsB,OAA4B;CACzD,MAAM,OAAO,eAAe,MAAM,IAAI;CACtC,OAAO,gBAAgB,GAAG,KAAK,eAAe;EAC5C,QAAQ,KAAK;EACb,GAAG,qBAAqB,MAAM,OAAO;EACrC,GAAG,uBAAuB,KAAK;EAC/B,GAAI,MAAM,eAAe,CAAC,qBAAqB,IAAI,CAAC;CACtD,CAAC;AACH;AAEA,SAAS,qBAAqB,QAAmC;CAQ/D,OAAO;;;;;;MAPc,OAAO,OACzB,KACE,MACC,GAAG,EAAE,KAAK,wBAAwB,eAAe,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,IACrF,CAAC,CACA,KAAK,IAQO,EAAE;;;AAGnB;;;;AC7FA,MAAM,eAAe;CACnB,GAAG;CACH,eAAe;CACf,QAAQ;EACN,MAAM;EACN,OAAO;EACP,aAAa;EACb,SAAS;CACX;CACA,MAAM;EACJ,MAAM;EACN,aACE;EACF,SAAS;CACX;AACF;AAEA,uBAAe,cAAc;CAC3B,MAAM;EACJ,MAAM;EACN,aAAa;CACf;CACA,MAAM;CACN,MAAM,EAAE,WACN,WAAW;EACT;EACA,MAAM,KAAK,SAAS;EACpB,YAAY,KAAK;EACjB,QAAQ,KAAK;EACb,OAAO;EACP,QAAQ;CACV,CAAC;AACL,CAAC"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { t as defineCommand } from "./cli/main.mjs";
|
|
2
|
-
|
|
3
|
-
//#region src/cli/commands/content/index.ts
|
|
4
|
-
var content_default = defineCommand({
|
|
5
|
-
meta: {
|
|
6
|
-
name: "content",
|
|
7
|
-
description: "Manage table contents"
|
|
8
|
-
},
|
|
9
|
-
subCommands: {
|
|
10
|
-
list: () => import("./list-B0N4-Q-5.mjs").then((m) => m.default),
|
|
11
|
-
get: () => import("./get-DB80UNSR.mjs").then((m) => m.default),
|
|
12
|
-
create: () => import("./create-Belwettw.mjs").then((m) => m.default),
|
|
13
|
-
update: () => import("./update-rzij1b_o.mjs").then((m) => m.default),
|
|
14
|
-
delete: () => import("./delete-CSs5Czlo.mjs").then((m) => m.default)
|
|
15
|
-
}
|
|
16
|
-
});
|
|
17
|
-
|
|
18
|
-
//#endregion
|
|
19
|
-
export { content_default as default };
|
|
20
|
-
//# sourceMappingURL=content-BOb6NC8M.mjs.map
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
const require_cli_main = require('./cli/main.cjs');
|
|
2
|
-
|
|
3
|
-
//#region src/cli/commands/content/index.ts
|
|
4
|
-
var content_default = require_cli_main.defineCommand({
|
|
5
|
-
meta: {
|
|
6
|
-
name: "content",
|
|
7
|
-
description: "Manage table contents"
|
|
8
|
-
},
|
|
9
|
-
subCommands: {
|
|
10
|
-
list: () => Promise.resolve().then(() => require("./list-CU42ERNY.cjs")).then((m) => m.default),
|
|
11
|
-
get: () => Promise.resolve().then(() => require("./get-KdWfYINc.cjs")).then((m) => m.default),
|
|
12
|
-
create: () => Promise.resolve().then(() => require("./create-DJY71sp9.cjs")).then((m) => m.default),
|
|
13
|
-
update: () => Promise.resolve().then(() => require("./update-Cx_2GkQj.cjs")).then((m) => m.default),
|
|
14
|
-
delete: () => Promise.resolve().then(() => require("./delete-8yZ3j0vX.cjs")).then((m) => m.default)
|
|
15
|
-
}
|
|
16
|
-
});
|
|
17
|
-
|
|
18
|
-
//#endregion
|
|
19
|
-
exports.default = content_default;
|
|
20
|
-
//# sourceMappingURL=content-DMjSwor1.cjs.map
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
const require_cli_main = require('./cli/main.cjs');
|
|
2
|
-
|
|
3
|
-
//#region src/cli/commands/key/management/index.ts
|
|
4
|
-
var management_default = require_cli_main.defineCommand({
|
|
5
|
-
meta: {
|
|
6
|
-
name: "management",
|
|
7
|
-
description: "Manage management keys (content CRUD with RBAC)"
|
|
8
|
-
},
|
|
9
|
-
subCommands: {
|
|
10
|
-
list: () => Promise.resolve().then(() => require("./list-CFwW0G9f.cjs")).then((m) => m.default),
|
|
11
|
-
create: () => Promise.resolve().then(() => require("./create-CmOriwGo.cjs")).then((m) => m.default),
|
|
12
|
-
update: () => Promise.resolve().then(() => require("./update-DRnN1kiu.cjs")).then((m) => m.default),
|
|
13
|
-
delete: () => Promise.resolve().then(() => require("./delete-WpMIIvjj.cjs")).then((m) => m.default)
|
|
14
|
-
}
|
|
15
|
-
});
|
|
16
|
-
|
|
17
|
-
//#endregion
|
|
18
|
-
exports.default = management_default;
|
|
19
|
-
//# sourceMappingURL=management-BGYcZB4c.cjs.map
|
package/dist/object-DVqidsEc.cjs
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
const require_cli_main = require('./cli/main.cjs');
|
|
2
|
-
|
|
3
|
-
//#region src/cli/commands/bucket/object/index.ts
|
|
4
|
-
var object_default = require_cli_main.defineCommand({
|
|
5
|
-
meta: {
|
|
6
|
-
name: "object",
|
|
7
|
-
description: "Manage objects in a bucket"
|
|
8
|
-
},
|
|
9
|
-
subCommands: {
|
|
10
|
-
list: () => Promise.resolve().then(() => require("./list-BzLraBnA.cjs")).then((m) => m.default),
|
|
11
|
-
get: () => Promise.resolve().then(() => require("./get-jwXRlIBJ.cjs")).then((m) => m.default),
|
|
12
|
-
upload: () => Promise.resolve().then(() => require("./upload-C43ZXxyb.cjs")).then((m) => m.default),
|
|
13
|
-
download: () => Promise.resolve().then(() => require("./download-ogGbb3FU.cjs")).then((m) => m.default),
|
|
14
|
-
delete: () => Promise.resolve().then(() => require("./delete-DozSxZQ7.cjs")).then((m) => m.default)
|
|
15
|
-
}
|
|
16
|
-
});
|
|
17
|
-
|
|
18
|
-
//#endregion
|
|
19
|
-
exports.default = object_default;
|
|
20
|
-
//# sourceMappingURL=object-DVqidsEc.cjs.map
|
package/dist/object-qdBdEghr.mjs
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { t as defineCommand } from "./cli/main.mjs";
|
|
2
|
-
|
|
3
|
-
//#region src/cli/commands/bucket/object/index.ts
|
|
4
|
-
var object_default = defineCommand({
|
|
5
|
-
meta: {
|
|
6
|
-
name: "object",
|
|
7
|
-
description: "Manage objects in a bucket"
|
|
8
|
-
},
|
|
9
|
-
subCommands: {
|
|
10
|
-
list: () => import("./list-vbMaOiza.mjs").then((m) => m.default),
|
|
11
|
-
get: () => import("./get-DBxhbN1G.mjs").then((m) => m.default),
|
|
12
|
-
upload: () => import("./upload-DGgJ1TQk.mjs").then((m) => m.default),
|
|
13
|
-
download: () => import("./download-oFGzg30E.mjs").then((m) => m.default),
|
|
14
|
-
delete: () => import("./delete-BSLIXrAh.mjs").then((m) => m.default)
|
|
15
|
-
}
|
|
16
|
-
});
|
|
17
|
-
|
|
18
|
-
//#endregion
|
|
19
|
-
export { object_default as default };
|
|
20
|
-
//# sourceMappingURL=object-qdBdEghr.mjs.map
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
const require_cli_main = require('./cli/main.cjs');
|
|
2
|
-
|
|
3
|
-
//#region src/cli/commands/project/index.ts
|
|
4
|
-
var project_default = require_cli_main.defineCommand({
|
|
5
|
-
meta: {
|
|
6
|
-
name: "project",
|
|
7
|
-
description: "Manage projects"
|
|
8
|
-
},
|
|
9
|
-
subCommands: {
|
|
10
|
-
list: () => Promise.resolve().then(() => require("./list-D0-QrWmn.cjs")).then((m) => m.default),
|
|
11
|
-
get: () => Promise.resolve().then(() => require("./get-BBOKSXkh.cjs")).then((m) => m.default),
|
|
12
|
-
create: () => Promise.resolve().then(() => require("./create-Z-z3LXNW.cjs")).then((m) => m.default),
|
|
13
|
-
update: () => Promise.resolve().then(() => require("./update-Do9HHWzs.cjs")).then((m) => m.default),
|
|
14
|
-
delete: () => Promise.resolve().then(() => require("./delete-CIYY59v_.cjs")).then((m) => m.default)
|
|
15
|
-
}
|
|
16
|
-
});
|
|
17
|
-
|
|
18
|
-
//#endregion
|
|
19
|
-
exports.default = project_default;
|
|
20
|
-
//# sourceMappingURL=project-BX7zvWB1.cjs.map
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { t as defineCommand } from "./cli/main.mjs";
|
|
2
|
-
|
|
3
|
-
//#region src/cli/commands/project/index.ts
|
|
4
|
-
var project_default = defineCommand({
|
|
5
|
-
meta: {
|
|
6
|
-
name: "project",
|
|
7
|
-
description: "Manage projects"
|
|
8
|
-
},
|
|
9
|
-
subCommands: {
|
|
10
|
-
list: () => import("./list-D5PSDMWw.mjs").then((m) => m.default),
|
|
11
|
-
get: () => import("./get-DDB89cOs.mjs").then((m) => m.default),
|
|
12
|
-
create: () => import("./create-B-PAOor6.mjs").then((m) => m.default),
|
|
13
|
-
update: () => import("./update-mEmULIau.mjs").then((m) => m.default),
|
|
14
|
-
delete: () => import("./delete-BOUObrDw.mjs").then((m) => m.default)
|
|
15
|
-
}
|
|
16
|
-
});
|
|
17
|
-
|
|
18
|
-
//#endregion
|
|
19
|
-
export { project_default as default };
|
|
20
|
-
//# sourceMappingURL=project-CaXD3QBs.mjs.map
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { t as defineCommand } from "./cli/main.mjs";
|
|
2
|
-
|
|
3
|
-
//#region src/cli/commands/project-user/index.ts
|
|
4
|
-
var project_user_default = defineCommand({
|
|
5
|
-
meta: {
|
|
6
|
-
name: "project-user",
|
|
7
|
-
description: "Manage project users (RBAC)"
|
|
8
|
-
},
|
|
9
|
-
subCommands: {
|
|
10
|
-
list: () => import("./list-DrZYlidZ.mjs").then((m) => m.default),
|
|
11
|
-
get: () => import("./get-C7dKoSIc.mjs").then((m) => m.default),
|
|
12
|
-
invite: () => import("./invite-D66DSMvq.mjs").then((m) => m.default),
|
|
13
|
-
update: () => import("./update-B4lv4dAz.mjs").then((m) => m.default),
|
|
14
|
-
delete: () => import("./delete-DhSU-Lx2.mjs").then((m) => m.default)
|
|
15
|
-
}
|
|
16
|
-
});
|
|
17
|
-
|
|
18
|
-
//#endregion
|
|
19
|
-
export { project_user_default as default };
|
|
20
|
-
//# sourceMappingURL=project-user-Cp7i6orv.mjs.map
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
const require_cli_main = require('./cli/main.cjs');
|
|
2
|
-
|
|
3
|
-
//#region src/cli/commands/project-user/index.ts
|
|
4
|
-
var project_user_default = require_cli_main.defineCommand({
|
|
5
|
-
meta: {
|
|
6
|
-
name: "project-user",
|
|
7
|
-
description: "Manage project users (RBAC)"
|
|
8
|
-
},
|
|
9
|
-
subCommands: {
|
|
10
|
-
list: () => Promise.resolve().then(() => require("./list-DexBclfb.cjs")).then((m) => m.default),
|
|
11
|
-
get: () => Promise.resolve().then(() => require("./get-DjRyK0hJ.cjs")).then((m) => m.default),
|
|
12
|
-
invite: () => Promise.resolve().then(() => require("./invite-DPygtCoO.cjs")).then((m) => m.default),
|
|
13
|
-
update: () => Promise.resolve().then(() => require("./update-CIH6sSVk.cjs")).then((m) => m.default),
|
|
14
|
-
delete: () => Promise.resolve().then(() => require("./delete-CCTiCYIL.cjs")).then((m) => m.default)
|
|
15
|
-
}
|
|
16
|
-
});
|
|
17
|
-
|
|
18
|
-
//#endregion
|
|
19
|
-
exports.default = project_user_default;
|
|
20
|
-
//# sourceMappingURL=project-user-Dm0qR-sh.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"push-0u6PDz4E.cjs","names":["renderTable","loadConfig","Result","configLoadFailure","toResult","apiErrorFailure","getOutputState","confirm","contextArgs","configFileArg","defineCommand","runWithContext"],"sources":["../src/cli/schema/change-events.ts","../src/cli/commands/schema/push.ts"],"sourcesContent":["import type { components } from \"@orizm/internal-shared/api-clients/dev-v2\";\nimport { renderTable, type RowColor, type TableRow } from \"../ui/table.js\";\n\ntype ChangeEvents = components[\"schemas\"][\"OrizmConfigChangeEvents\"];\ntype TableChangeEvent = ChangeEvents[\"tableChangeEvents\"][number];\ntype BucketChangeEvent = ChangeEvents[\"bucketChangeEvents\"][number];\ntype AuthorityChangeEvent = ChangeEvents[\"authorityChangeEvents\"][number];\n\nexport function hasChanges(events: ChangeEvents): boolean {\n return (\n events.tableChangeEvents.length > 0 ||\n events.bucketChangeEvents.length > 0 ||\n events.authorityChangeEvents.length > 0\n );\n}\n\nexport function renderChangeEvents(\n events: ChangeEvents,\n color: boolean,\n): string {\n const sections = [\n ...renderTableSections(events.tableChangeEvents, color),\n ...renderBucketSection(events.bucketChangeEvents, color),\n ...renderAuthoritySection(events.authorityChangeEvents, color),\n ];\n return sections.join(\"\\n\\n\");\n}\n\nfunction renderTableSections(\n tableChangeEvents: TableChangeEvent[],\n color: boolean,\n): string[] {\n // 1 テーブルにつき 1 ブロックを出すため、対象テーブル名でまとめる。\n const eventsByTable = new Map<string, TableChangeEvent[]>();\n for (const event of tableChangeEvents) {\n const grouped = eventsByTable.get(event.tableDef.name) ?? [];\n grouped.push(event);\n eventsByTable.set(event.tableDef.name, grouped);\n }\n\n return [...eventsByTable.entries()].map(([tableName, events]) => {\n const rows = events.map(tableEventRow);\n return `⚫︎Table: ${tableName}\\n${renderTable(\n [\"Type\", \"Name\", \"Event\", \"Detail\"],\n rows,\n color,\n )}`;\n });\n}\n\nfunction renderBucketSection(\n bucketChangeEvents: BucketChangeEvent[],\n color: boolean,\n): string[] {\n if (bucketChangeEvents.length === 0) return [];\n const rows = bucketChangeEvents.map(bucketEventRow);\n return [\n `⚫︎Buckets\\n${renderTable(\n [\"Type\", \"Name\", \"Event\", \"Detail\"],\n rows,\n color,\n )}`,\n ];\n}\n\nfunction renderAuthoritySection(\n authorityChangeEvents: AuthorityChangeEvent[],\n color: boolean,\n): string[] {\n if (authorityChangeEvents.length === 0) return [];\n const rows = authorityChangeEvents.map(\n (event): TableRow => ({\n cells: [\"authority\", event.event, JSON.stringify(event.authorityDef)],\n color: \"green\",\n }),\n );\n return [\n `⚫︎Authorities\\n${renderTable([\"Type\", \"Event\", \"Detail\"], rows, color)}`,\n ];\n}\n\n// create / update / enable は安全な変更なので緑、delete / disable はデータを失う危険な操作なので赤。\nfunction tableEventRow(event: TableChangeEvent): TableRow {\n switch (event.event) {\n case \"table:create\":\n case \"table:update\":\n return row(\"table\", event.tableDef.name, event.event, \"\", \"green\");\n case \"table:delete\":\n return row(\"table\", event.tableDef.name, event.event, \"\", \"red\");\n case \"column:create\":\n case \"column:update\":\n return row(\n \"column\",\n event.columnDef.name,\n event.event,\n JSON.stringify(event.columnDef),\n \"green\",\n );\n case \"column:delete\":\n return row(\n \"column\",\n event.columnDef.name,\n event.event,\n JSON.stringify(event.columnDef),\n \"red\",\n );\n case \"index:create\":\n case \"index:update\":\n return row(\n \"index\",\n event.indexDef.columns.join(\", \"),\n event.event,\n JSON.stringify(event.indexDef),\n \"green\",\n );\n case \"index:delete\":\n return row(\n \"index\",\n event.indexDef.columns.join(\", \"),\n event.event,\n JSON.stringify(event.indexDef),\n \"red\",\n );\n case \"module:create\":\n case \"module:update\":\n return row(\n \"module\",\n event.columnDef.name,\n event.event,\n JSON.stringify(event.columnDef),\n \"green\",\n );\n case \"module:delete\":\n return row(\n \"module\",\n event.columnDef.name,\n event.event,\n JSON.stringify(event.columnDef),\n \"red\",\n );\n case \"search:enable\":\n case \"search:update\":\n case \"history:enable\":\n case \"draft:enable\":\n case \"formSubmissions:create\":\n case \"formSubmissions:update\":\n return row(\"table\", event.tableDef.name, event.event, \"\", \"green\");\n case \"search:disable\":\n case \"history:disable\":\n case \"draft:disable\":\n case \"formSubmissions:delete\":\n return row(\"table\", event.tableDef.name, event.event, \"\", \"red\");\n }\n}\n\nfunction bucketEventRow(event: BucketChangeEvent): TableRow {\n const color: RowColor = event.event === \"bucket:delete\" ? \"red\" : \"green\";\n return row(\n \"bucket\",\n event.bucketDef.name,\n event.event,\n JSON.stringify(event.bucketDef),\n color,\n );\n}\n\nfunction row(\n type: string,\n name: string,\n event: string,\n detail: string,\n color: RowColor,\n): TableRow {\n return { cells: [type, name, event, detail], color };\n}\n","import type { ArgsDef } from \"citty\";\nimport { Result } from \"@praha/byethrow\";\nimport {\n defineCommand,\n type CommandFailure,\n type CommandOutput,\n} from \"../define-command.js\";\nimport { contextArgs, configFileArg, DEFAULT_CONFIG_FILE } from \"../shared.js\";\nimport { runWithContext, type CommandContext } from \"../run-with-context.js\";\nimport { configLoadFailure } from \"../config-errors.js\";\nimport { apiErrorFailure } from \"../api-errors.js\";\nimport { loadConfig } from \"../../config-loader.js\";\nimport { toResult } from \"../../api/errors.js\";\nimport { getOutputState, notice } from \"../../ui/output.js\";\nimport { confirm } from \"../../ui/prompt.js\";\nimport { hasChanges, renderChangeEvents } from \"../../schema/change-events.js\";\n\nexport type PushOptions = {\n configFile: string;\n dryRun: boolean;\n yes: boolean;\n};\n\nexport async function pushHandler(\n ctx: CommandContext,\n options: PushOptions,\n): Promise<Result.Result<CommandOutput | undefined, CommandFailure>> {\n const loaded = await loadConfig(options.configFile);\n if (Result.isFailure(loaded)) return configLoadFailure(loaded.error);\n\n const dryRun = await ctx.client.POST(\n \"/projects/{projectName}/definitions/dry-run\",\n {\n params: { path: { projectName: ctx.projectName } },\n body: { definition: loaded.value },\n },\n );\n const events = toResult(dryRun);\n if (Result.isFailure(events)) return apiErrorFailure(events.error);\n\n if (!hasChanges(events.value)) {\n return Result.succeed({\n json: events.value,\n text: () => \"No changes to apply.\",\n });\n }\n\n if (options.dryRun) {\n return Result.succeed({\n json: events.value,\n text: () => renderChangeEvents(events.value, getOutputState().color),\n });\n }\n\n notice(renderChangeEvents(events.value, getOutputState().color));\n\n if (!options.yes) {\n if (process.stdin.isTTY !== true) {\n return Result.fail({\n message:\n \"Refusing to apply without confirmation in a non-interactive shell. Re-run with --yes.\",\n });\n }\n const approved = await confirm(\"Apply these changes?\");\n if (!approved) {\n return Result.succeed({\n json: { applied: false },\n text: () => \"Canceled.\",\n });\n }\n }\n\n const applyResponse = await ctx.client.POST(\n \"/projects/{projectName}/definitions\",\n {\n params: { path: { projectName: ctx.projectName } },\n body: { definition: loaded.value },\n },\n );\n const applied = toResult(applyResponse);\n if (Result.isFailure(applied)) return apiErrorFailure(applied.error);\n\n return Result.succeed({\n json: applied.value,\n text: () => \"Schema applied.\",\n });\n}\n\nconst pushArgs = {\n ...contextArgs,\n \"config-file\": configFileArg,\n \"dry-run\": {\n type: \"boolean\",\n description: \"Show change events without applying them\",\n default: false,\n },\n yes: {\n type: \"boolean\",\n description: \"Apply without the confirmation prompt\",\n default: false,\n },\n} satisfies ArgsDef;\n\nexport default defineCommand({\n meta: {\n name: \"push\",\n description: \"Build orizm.config.ts and apply the schema to the project\",\n },\n args: pushArgs,\n run: ({ args }) =>\n runWithContext(args, (ctx) =>\n pushHandler(ctx, {\n configFile: args[\"config-file\"] ?? DEFAULT_CONFIG_FILE,\n dryRun: args[\"dry-run\"] === true,\n yes: args.yes === true,\n }),\n ),\n});\n"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"push-D7co0keA.mjs","names":[],"sources":["../src/cli/schema/change-events.ts","../src/cli/commands/schema/push.ts"],"sourcesContent":["import type { components } from \"@orizm/internal-shared/api-clients/dev-v2\";\nimport { renderTable, type RowColor, type TableRow } from \"../ui/table.js\";\n\ntype ChangeEvents = components[\"schemas\"][\"OrizmConfigChangeEvents\"];\ntype TableChangeEvent = ChangeEvents[\"tableChangeEvents\"][number];\ntype BucketChangeEvent = ChangeEvents[\"bucketChangeEvents\"][number];\ntype AuthorityChangeEvent = ChangeEvents[\"authorityChangeEvents\"][number];\n\nexport function hasChanges(events: ChangeEvents): boolean {\n return (\n events.tableChangeEvents.length > 0 ||\n events.bucketChangeEvents.length > 0 ||\n events.authorityChangeEvents.length > 0\n );\n}\n\nexport function renderChangeEvents(\n events: ChangeEvents,\n color: boolean,\n): string {\n const sections = [\n ...renderTableSections(events.tableChangeEvents, color),\n ...renderBucketSection(events.bucketChangeEvents, color),\n ...renderAuthoritySection(events.authorityChangeEvents, color),\n ];\n return sections.join(\"\\n\\n\");\n}\n\nfunction renderTableSections(\n tableChangeEvents: TableChangeEvent[],\n color: boolean,\n): string[] {\n // 1 テーブルにつき 1 ブロックを出すため、対象テーブル名でまとめる。\n const eventsByTable = new Map<string, TableChangeEvent[]>();\n for (const event of tableChangeEvents) {\n const grouped = eventsByTable.get(event.tableDef.name) ?? [];\n grouped.push(event);\n eventsByTable.set(event.tableDef.name, grouped);\n }\n\n return [...eventsByTable.entries()].map(([tableName, events]) => {\n const rows = events.map(tableEventRow);\n return `⚫︎Table: ${tableName}\\n${renderTable(\n [\"Type\", \"Name\", \"Event\", \"Detail\"],\n rows,\n color,\n )}`;\n });\n}\n\nfunction renderBucketSection(\n bucketChangeEvents: BucketChangeEvent[],\n color: boolean,\n): string[] {\n if (bucketChangeEvents.length === 0) return [];\n const rows = bucketChangeEvents.map(bucketEventRow);\n return [\n `⚫︎Buckets\\n${renderTable(\n [\"Type\", \"Name\", \"Event\", \"Detail\"],\n rows,\n color,\n )}`,\n ];\n}\n\nfunction renderAuthoritySection(\n authorityChangeEvents: AuthorityChangeEvent[],\n color: boolean,\n): string[] {\n if (authorityChangeEvents.length === 0) return [];\n const rows = authorityChangeEvents.map(\n (event): TableRow => ({\n cells: [\"authority\", event.event, JSON.stringify(event.authorityDef)],\n color: \"green\",\n }),\n );\n return [\n `⚫︎Authorities\\n${renderTable([\"Type\", \"Event\", \"Detail\"], rows, color)}`,\n ];\n}\n\n// create / update / enable は安全な変更なので緑、delete / disable はデータを失う危険な操作なので赤。\nfunction tableEventRow(event: TableChangeEvent): TableRow {\n switch (event.event) {\n case \"table:create\":\n case \"table:update\":\n return row(\"table\", event.tableDef.name, event.event, \"\", \"green\");\n case \"table:delete\":\n return row(\"table\", event.tableDef.name, event.event, \"\", \"red\");\n case \"column:create\":\n case \"column:update\":\n return row(\n \"column\",\n event.columnDef.name,\n event.event,\n JSON.stringify(event.columnDef),\n \"green\",\n );\n case \"column:delete\":\n return row(\n \"column\",\n event.columnDef.name,\n event.event,\n JSON.stringify(event.columnDef),\n \"red\",\n );\n case \"index:create\":\n case \"index:update\":\n return row(\n \"index\",\n event.indexDef.columns.join(\", \"),\n event.event,\n JSON.stringify(event.indexDef),\n \"green\",\n );\n case \"index:delete\":\n return row(\n \"index\",\n event.indexDef.columns.join(\", \"),\n event.event,\n JSON.stringify(event.indexDef),\n \"red\",\n );\n case \"module:create\":\n case \"module:update\":\n return row(\n \"module\",\n event.columnDef.name,\n event.event,\n JSON.stringify(event.columnDef),\n \"green\",\n );\n case \"module:delete\":\n return row(\n \"module\",\n event.columnDef.name,\n event.event,\n JSON.stringify(event.columnDef),\n \"red\",\n );\n case \"search:enable\":\n case \"search:update\":\n case \"history:enable\":\n case \"draft:enable\":\n case \"formSubmissions:create\":\n case \"formSubmissions:update\":\n return row(\"table\", event.tableDef.name, event.event, \"\", \"green\");\n case \"search:disable\":\n case \"history:disable\":\n case \"draft:disable\":\n case \"formSubmissions:delete\":\n return row(\"table\", event.tableDef.name, event.event, \"\", \"red\");\n }\n}\n\nfunction bucketEventRow(event: BucketChangeEvent): TableRow {\n const color: RowColor = event.event === \"bucket:delete\" ? \"red\" : \"green\";\n return row(\n \"bucket\",\n event.bucketDef.name,\n event.event,\n JSON.stringify(event.bucketDef),\n color,\n );\n}\n\nfunction row(\n type: string,\n name: string,\n event: string,\n detail: string,\n color: RowColor,\n): TableRow {\n return { cells: [type, name, event, detail], color };\n}\n","import type { ArgsDef } from \"citty\";\nimport { Result } from \"@praha/byethrow\";\nimport {\n defineCommand,\n type CommandFailure,\n type CommandOutput,\n} from \"../define-command.js\";\nimport { contextArgs, configFileArg, DEFAULT_CONFIG_FILE } from \"../shared.js\";\nimport { runWithContext, type CommandContext } from \"../run-with-context.js\";\nimport { configLoadFailure } from \"../config-errors.js\";\nimport { apiErrorFailure } from \"../api-errors.js\";\nimport { loadConfig } from \"../../config-loader.js\";\nimport { toResult } from \"../../api/errors.js\";\nimport { getOutputState, notice } from \"../../ui/output.js\";\nimport { confirm } from \"../../ui/prompt.js\";\nimport { hasChanges, renderChangeEvents } from \"../../schema/change-events.js\";\n\nexport type PushOptions = {\n configFile: string;\n dryRun: boolean;\n yes: boolean;\n};\n\nexport async function pushHandler(\n ctx: CommandContext,\n options: PushOptions,\n): Promise<Result.Result<CommandOutput | undefined, CommandFailure>> {\n const loaded = await loadConfig(options.configFile);\n if (Result.isFailure(loaded)) return configLoadFailure(loaded.error);\n\n const dryRun = await ctx.client.POST(\n \"/projects/{projectName}/definitions/dry-run\",\n {\n params: { path: { projectName: ctx.projectName } },\n body: { definition: loaded.value },\n },\n );\n const events = toResult(dryRun);\n if (Result.isFailure(events)) return apiErrorFailure(events.error);\n\n if (!hasChanges(events.value)) {\n return Result.succeed({\n json: events.value,\n text: () => \"No changes to apply.\",\n });\n }\n\n if (options.dryRun) {\n return Result.succeed({\n json: events.value,\n text: () => renderChangeEvents(events.value, getOutputState().color),\n });\n }\n\n notice(renderChangeEvents(events.value, getOutputState().color));\n\n if (!options.yes) {\n if (process.stdin.isTTY !== true) {\n return Result.fail({\n message:\n \"Refusing to apply without confirmation in a non-interactive shell. Re-run with --yes.\",\n });\n }\n const approved = await confirm(\"Apply these changes?\");\n if (!approved) {\n return Result.succeed({\n json: { applied: false },\n text: () => \"Canceled.\",\n });\n }\n }\n\n const applyResponse = await ctx.client.POST(\n \"/projects/{projectName}/definitions\",\n {\n params: { path: { projectName: ctx.projectName } },\n body: { definition: loaded.value },\n },\n );\n const applied = toResult(applyResponse);\n if (Result.isFailure(applied)) return apiErrorFailure(applied.error);\n\n return Result.succeed({\n json: applied.value,\n text: () => \"Schema applied.\",\n });\n}\n\nconst pushArgs = {\n ...contextArgs,\n \"config-file\": configFileArg,\n \"dry-run\": {\n type: \"boolean\",\n description: \"Show change events without applying them\",\n default: false,\n },\n yes: {\n type: \"boolean\",\n description: \"Apply without the confirmation prompt\",\n default: false,\n },\n} satisfies ArgsDef;\n\nexport default defineCommand({\n meta: {\n name: \"push\",\n description: \"Build orizm.config.ts and apply the schema to the project\",\n },\n args: pushArgs,\n run: ({ args }) =>\n runWithContext(args, (ctx) =>\n pushHandler(ctx, {\n configFile: args[\"config-file\"] ?? DEFAULT_CONFIG_FILE,\n dryRun: args[\"dry-run\"] === true,\n yes: args.yes === true,\n }),\n ),\n});\n"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"run-codegen-Ceeosw5x.cjs","names":["prettier","prettierPluginEstree","prettierPluginTypeScript","path","toResult","Result","v","OrizmConfigDef","runWithContext","Result","loadConfig","configLoadFailure","formatValibotIssues","getOutputState","apiErrorFailure"],"sources":["../src/cli/codegen/format.ts","../src/cli/codegen/render.ts","../src/cli/codegen/write.ts","../src/cli/codegen/pull.ts","../src/cli/commands/codegen/run-codegen.ts"],"sourcesContent":["import * as prettier from \"prettier/standalone\";\nimport prettierPluginEstree from \"prettier/plugins/estree.js\";\nimport prettierPluginTypeScript from \"prettier/plugins/typescript.js\";\n\nexport function formatTsWithPrettier(code: string): Promise<string> {\n return prettier.format(code, {\n parser: \"typescript\",\n plugins: [prettierPluginEstree, prettierPluginTypeScript],\n });\n}\n","export type RenderColumn = {\n name: string;\n type: string;\n required?: boolean;\n readOnly?: boolean;\n moduleName?: string;\n tableName?: string;\n includeName?: string;\n};\n\nexport type RenderIndex = {\n columns: string[];\n unique?: boolean;\n nullsNotDistinct?: boolean;\n};\n\nexport const AUTOGEN_HEADER =\n \"// This file was automatically generated and should not be edited.\";\n\nexport const UTILITIES = `// Utilities\ntype _ModuleRef<T> = T & _ModuleDescriptor;\ntype _ModuleDescriptor = {\n isModule: true;\n};\ntype _ArrayModuleRef<T> = T & _ArrayModuleDescriptor;\ntype _ArrayModuleDescriptor = {\n isModuleArray: true;\n};`;\n\nexport function toCodeTypeName(str: string): string {\n const capitalized = str.charAt(0).toUpperCase() + str.slice(1);\n return capitalized.replace(/_([a-z])/g, (g) => g[1].toUpperCase());\n}\n\nexport function typeName(column: RenderColumn, moduleSuffix = \"\"): string {\n switch (column.type) {\n case \"reference\":\n return \"string\";\n case \"module\":\n return toCodeTypeName(column.moduleName ?? \"\") + moduleSuffix;\n case \"module-array\":\n return toCodeTypeName(column.moduleName ?? \"\") + moduleSuffix + \"[]\";\n case \"json\":\n return \"unknown\";\n case \"storage\":\n return \"StorageItemType\";\n default:\n return column.type;\n }\n}\n\nexport function nullableSuffix(column: RenderColumn): string {\n return !column.required && column.type !== \"module-array\" ? \" | null\" : \"\";\n}\n\nexport function filterRefColumns(columns: RenderColumn[]): RenderColumn[] {\n return columns.filter(\n (c) =>\n (c.type === \"reference\" &&\n c.tableName !== undefined &&\n c.includeName !== undefined &&\n c.includeName !== \"\") ||\n (c.type === \"module\" && c.moduleName !== undefined) ||\n (c.type === \"module-array\" && c.moduleName !== undefined),\n );\n}\n\nexport function getIncludeName(column: RenderColumn): string {\n return column.type === \"reference\"\n ? column.includeName || column.name\n : column.name;\n}\n\nexport function getIncludeType(column: RenderColumn): string {\n if (column.type === \"reference\" && column.tableName) {\n return toCodeTypeName(column.tableName) + \"__Descriptor\";\n }\n if (column.type === \"module\" && column.moduleName) {\n return `_ModuleRef<${toCodeTypeName(column.moduleName)}__Descriptor>`;\n }\n if (column.type === \"module-array\" && column.moduleName) {\n return `_ArrayModuleRef<${toCodeTypeName(column.moduleName)}__Descriptor>`;\n }\n return \"\";\n}\n\nexport function renderColumnField(\n col: RenderColumn,\n options?: { optional?: boolean; suffix?: string },\n): string {\n const optional = options?.optional === true ? \"?\" : \"\";\n const suffix = options?.suffix ?? \"\";\n return `${col.name}${optional}: ${typeName(col, suffix)}${nullableSuffix(col)};`;\n}\n\nexport function renderTypeBlock(name: string, fields: string[]): string {\n return `export type ${name} = {\\n${fields.join(\"\\n\")}\\n};`;\n}\n\nexport function renderRefsFieldLines(columns: RenderColumn[]): string[] {\n const refCols = filterRefColumns(columns);\n if (refCols.length === 0) return [\"refs: object;\"];\n return [\n \"refs: {\",\n ...refCols.map((c) => `${getIncludeName(c)}: ${getIncludeType(c)};`),\n \"}\",\n ];\n}\n\nexport function renderUniqueFieldLines(table: {\n columns: RenderColumn[];\n indexes?: RenderIndex[];\n}): string[] {\n const uniqueIndexes = (table.indexes ?? []).filter((i) => i.unique);\n if (uniqueIndexes.length === 0) return [\"unique: [];\"];\n const entries = uniqueIndexes.map((index) => {\n const cols = index.columns.map((colName) => {\n const col = table.columns.find((c) => c.name === colName);\n if (!col) throw new Error(`column ${colName} not found`);\n const nullable = !col.required && index.nullsNotDistinct ? \" | null\" : \"\";\n return `${col.name}:${typeName(col)}${nullable},`;\n });\n return `{ ${cols.join(\"\")} },`;\n });\n return [\"unique: [\", ...entries, \"]\"];\n}\n\nexport function renderModuleRowTypeBlock(mod: {\n name: string;\n columns: RenderColumn[];\n}): string {\n return renderTypeBlock(toCodeTypeName(mod.name), [\n \"id: string;\",\n ...mod.columns.map((col) => renderColumnField(col)),\n ]);\n}\n\nexport function renderModuleDescriptorBlock(mod: {\n name: string;\n columns: RenderColumn[];\n}): string {\n const name = toCodeTypeName(mod.name);\n return renderTypeBlock(`${name}__Descriptor`, [\n `row: ${name};`,\n ...renderRefsFieldLines(mod.columns),\n \"unique: [];\",\n ]);\n}\n\nexport function renderSection(title: string, blocks: string[]): string {\n if (blocks.length === 0) return \"\";\n return `// ${title}\\n${blocks.join(\"\\n\\n\")}`;\n}\n\nexport function renderWebhookTypesSection(tables: { name: string }[]): string {\n const lines: string[] = [\n \"// Webhook types\",\n 'export type WebhookEvent = \"content.create\" | \"content.update\" | \"content.delete\";',\n \"\",\n \"type WebhookPayloadBase = {\",\n \" event: WebhookEvent;\",\n \" timestamp: string;\",\n \" project: string;\",\n \"};\",\n \"\",\n ];\n if (tables.length > 0) {\n const unionMembers = tables\n .map((t) => {\n const name = toCodeTypeName(t.name);\n return `| {\\n table: \"${t.name}\";\\n content: ${name};\\n old?: ${name};\\n}`;\n })\n .join(\"\\n\");\n lines.push(\n `export type WebhookPayload = WebhookPayloadBase & (\\n${unionMembers}\\n);`,\n );\n } else {\n lines.push(\"export type WebhookPayload = WebhookPayloadBase;\");\n }\n return lines.join(\"\\n\");\n}\n","import { mkdir, writeFile } from \"node:fs/promises\";\nimport path from \"node:path\";\n\nexport function resolveOutputFile(output: string): string {\n return output.endsWith(\".ts\") ? output : path.join(output, \"index.ts\");\n}\n\nexport async function writeGeneratedFile(\n output: string,\n content: string,\n): Promise<string> {\n const target = resolveOutputFile(output);\n await mkdir(path.dirname(target), { recursive: true });\n await writeFile(target, content, \"utf-8\");\n return target;\n}\n","import * as v from \"valibot\";\nimport { Result } from \"@praha/byethrow\";\nimport { OrizmConfigDef } from \"@orizm/common/config-validator\";\nimport { toResult, type ApiError } from \"../api/errors.js\";\nimport type { CommandContext } from \"../commands/run-with-context.js\";\nimport { CommonOrizmConfig } from \"../types.js\";\n\nexport type PullError =\n | ApiError\n | { type: \"definition_schema_violation\"; issues: v.BaseIssue<unknown>[] };\n\n// サーバーの applied definition を取得し、ローカル config と同じ valibot 検証を通して\n// codegen 入力(CommonOrizmConfig)に揃える。raw(JSON) を正本にすることで型キャストを避ける。\nexport async function pullCurrentDefinition(\n ctx: CommandContext,\n): Promise<Result.Result<CommonOrizmConfig, PullError>> {\n const definition = toResult(\n await ctx.client.GET(\"/projects/{projectName}/definitions/current\", {\n params: { path: { projectName: ctx.projectName } },\n }),\n );\n if (Result.isFailure(definition)) return definition;\n\n const parsed = v.safeParse(\n OrizmConfigDef,\n safeJsonParse(definition.value.raw),\n );\n if (!parsed.success) {\n return Result.fail({\n type: \"definition_schema_violation\",\n issues: parsed.issues,\n });\n }\n return Result.succeed(parsed.output);\n}\n\nfunction safeJsonParse(raw: string): unknown {\n try {\n return JSON.parse(raw);\n } catch {\n return undefined;\n }\n}\n","import { Result } from \"@praha/byethrow\";\nimport { type CommandFailure, type CommandOutput } from \"../define-command.js\";\nimport { configLoadFailure } from \"../config-errors.js\";\nimport { apiErrorFailure } from \"../api-errors.js\";\nimport { runWithContext } from \"../run-with-context.js\";\nimport { loadConfig } from \"../../config-loader.js\";\nimport { writeGeneratedFile } from \"../../codegen/write.js\";\nimport { pullCurrentDefinition, type PullError } from \"../../codegen/pull.js\";\nimport { getOutputState } from \"../../ui/output.js\";\nimport { formatValibotIssues } from \"../../ui/error.js\";\nimport type { CommonOrizmConfig } from \"../../types.js\";\n\ntype CodegenParams = {\n args: Record<string, unknown>;\n pull: boolean;\n configFile: string;\n output: string;\n label: string;\n render: (config: CommonOrizmConfig) => Promise<string>;\n};\n\n// cms / consumer 共通の codegen 実行。source がローカル config(既定)かサーバー applied\n// definition(--pull)かだけが違い、生成・書き出しは同じ。\nexport async function runCodegen(\n params: CodegenParams,\n): Promise<Result.Result<CommandOutput | undefined, CommandFailure>> {\n if (params.pull) {\n return runWithContext(params.args, async (ctx) => {\n const pulled = await pullCurrentDefinition(ctx);\n if (Result.isFailure(pulled)) return pullFailure(pulled.error);\n return generate(pulled.value, params);\n });\n }\n\n const loaded = await loadConfig(params.configFile);\n if (Result.isFailure(loaded)) return configLoadFailure(loaded.error);\n return generate(loaded.value, params);\n}\n\nasync function generate(\n config: CommonOrizmConfig,\n params: CodegenParams,\n): Promise<Result.Result<CommandOutput, CommandFailure>> {\n const content = await params.render(config);\n const target = await writeGeneratedFile(params.output, content);\n return Result.succeed({\n json: { output: target },\n text: () => `Generated ${params.label} types to ${target}`,\n });\n}\n\nfunction pullFailure(error: PullError): Result.Result<never, CommandFailure> {\n if (error.type === \"definition_schema_violation\") {\n return Result.fail({\n message: `The applied definition is invalid (${error.issues.length} problem(s)).\\n${formatValibotIssues(\n error.issues,\n getOutputState().color,\n )}`,\n });\n }\n return apiErrorFailure(error);\n}\n"],"mappings":"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"}
|