@orizm/cli 3.1.0 → 3.2.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.
Files changed (357) hide show
  1. package/README.md +27 -1
  2. package/dist/agent-Bd30EhQC.mjs +14 -0
  3. package/dist/agent-Bd30EhQC.mjs.map +1 -0
  4. package/dist/agent-vC2-9rjt.cjs +14 -0
  5. package/dist/agent-vC2-9rjt.cjs.map +1 -0
  6. package/dist/auth-BnXPHgBU.cjs +18 -0
  7. package/dist/{auth-CNbONZuf.cjs.map → auth-BnXPHgBU.cjs.map} +1 -1
  8. package/dist/{auth-BGW072BP.mjs → auth-DHVtM0sF.mjs} +4 -4
  9. package/dist/{auth-BGW072BP.mjs.map → auth-DHVtM0sF.mjs.map} +1 -1
  10. package/dist/{bucket-mg5QQORh.cjs → bucket-CFaYmimY.cjs} +3 -3
  11. package/dist/{bucket-mg5QQORh.cjs.map → bucket-CFaYmimY.cjs.map} +1 -1
  12. package/dist/{bucket-DqW-WEYb.mjs → bucket-D-lu1xgZ.mjs} +3 -3
  13. package/dist/{bucket-DqW-WEYb.mjs.map → bucket-D-lu1xgZ.mjs.map} +1 -1
  14. package/dist/cli/main.cjs +14 -12
  15. package/dist/cli/main.cjs.map +1 -1
  16. package/dist/cli/main.mjs +14 -13
  17. package/dist/cli/main.mjs.map +1 -1
  18. package/dist/{cms-Cnx-lDGu.cjs → cms-CId7jg5l.cjs} +5 -5
  19. package/dist/cms-CId7jg5l.cjs.map +1 -0
  20. package/dist/{cms-BJnovGYT.mjs → cms-DLOypcw8.mjs} +5 -5
  21. package/dist/cms-DLOypcw8.mjs.map +1 -0
  22. package/dist/{codegen-DZOB4ttR.mjs → codegen-BKE_IYoM.mjs} +3 -3
  23. package/dist/{codegen-DZOB4ttR.mjs.map → codegen-BKE_IYoM.mjs.map} +1 -1
  24. package/dist/{codegen-BF5b-u46.cjs → codegen-kbbIwPbb.cjs} +3 -3
  25. package/dist/{codegen-BF5b-u46.cjs.map → codegen-kbbIwPbb.cjs.map} +1 -1
  26. package/dist/{confirm-delete-B9o73U7B.cjs → confirm-delete-BX8bJrXZ.cjs} +3 -3
  27. package/dist/{confirm-delete-B9o73U7B.cjs.map → confirm-delete-BX8bJrXZ.cjs.map} +1 -1
  28. package/dist/{confirm-delete-CsWkW69-.mjs → confirm-delete-CcKLYuCB.mjs} +2 -2
  29. package/dist/{confirm-delete-CsWkW69-.mjs.map → confirm-delete-CcKLYuCB.mjs.map} +1 -1
  30. package/dist/{consumer-C4WiGHWG.mjs → consumer-BAM3E_68.mjs} +4 -4
  31. package/dist/{consumer-C4WiGHWG.mjs.map → consumer-BAM3E_68.mjs.map} +1 -1
  32. package/dist/{consumer-pU2HyiyA.mjs → consumer-CqyZdG9v.mjs} +4 -4
  33. package/dist/consumer-CqyZdG9v.mjs.map +1 -0
  34. package/dist/consumer-D-Y6KJ8a.cjs +18 -0
  35. package/dist/{consumer-l-8wUK8E.cjs.map → consumer-D-Y6KJ8a.cjs.map} +1 -1
  36. package/dist/{consumer-OF6Z_eTP.cjs → consumer-OG6IEJun.cjs} +4 -4
  37. package/dist/consumer-OG6IEJun.cjs.map +1 -0
  38. package/dist/content-ClRuLcGq.cjs +20 -0
  39. package/dist/{content-DMjSwor1.cjs.map → content-ClRuLcGq.cjs.map} +1 -1
  40. package/dist/content-DWnYo6ad.mjs +20 -0
  41. package/dist/{content-BOb6NC8M.mjs.map → content-DWnYo6ad.mjs.map} +1 -1
  42. package/dist/{create-DJY71sp9.cjs → create-B3d4CDel.cjs} +2 -2
  43. package/dist/{create-DJY71sp9.cjs.map → create-B3d4CDel.cjs.map} +1 -1
  44. package/dist/{create-CC814ixh.mjs → create-BD6iS4n6.mjs} +2 -2
  45. package/dist/{create-CC814ixh.mjs.map → create-BD6iS4n6.mjs.map} +1 -1
  46. package/dist/{create-B-PAOor6.mjs → create-BGV3F44O.mjs} +3 -3
  47. package/dist/{create-B-PAOor6.mjs.map → create-BGV3F44O.mjs.map} +1 -1
  48. package/dist/{create-Z-z3LXNW.cjs → create-BYDbsUvw.cjs} +3 -3
  49. package/dist/{create-Z-z3LXNW.cjs.map → create-BYDbsUvw.cjs.map} +1 -1
  50. package/dist/{create-Belwettw.mjs → create-BtuS23L3.mjs} +2 -2
  51. package/dist/{create-Belwettw.mjs.map → create-BtuS23L3.mjs.map} +1 -1
  52. package/dist/{create-CCsn7yp5.cjs → create-CNDCTpi0.cjs} +3 -3
  53. package/dist/{create-CCsn7yp5.cjs.map → create-CNDCTpi0.cjs.map} +1 -1
  54. package/dist/{create-BNYWcyuQ.cjs → create-DzRMGpm_.cjs} +2 -2
  55. package/dist/{create-BNYWcyuQ.cjs.map → create-DzRMGpm_.cjs.map} +1 -1
  56. package/dist/{create-B1ZBOqcV.mjs → create-fweRd0UB.mjs} +2 -2
  57. package/dist/{create-B1ZBOqcV.mjs.map → create-fweRd0UB.mjs.map} +1 -1
  58. package/dist/{create-D5suBd3J.mjs → create-m5fNBqQE.mjs} +3 -3
  59. package/dist/{create-D5suBd3J.mjs.map → create-m5fNBqQE.mjs.map} +1 -1
  60. package/dist/{create-CmOriwGo.cjs → create-tWGEtI3t.cjs} +2 -2
  61. package/dist/{create-CmOriwGo.cjs.map → create-tWGEtI3t.cjs.map} +1 -1
  62. package/dist/{delete-DhSU-Lx2.mjs → delete-B8VlzzCj.mjs} +3 -3
  63. package/dist/{delete-DhSU-Lx2.mjs.map → delete-B8VlzzCj.mjs.map} +1 -1
  64. package/dist/{delete-DVrafka1.cjs → delete-B9j8c8ln.cjs} +3 -3
  65. package/dist/{delete-DVrafka1.cjs.map → delete-B9j8c8ln.cjs.map} +1 -1
  66. package/dist/{delete-ZIifaG0i.mjs → delete-BhJK-8vE.mjs} +3 -3
  67. package/dist/{delete-ZIifaG0i.mjs.map → delete-BhJK-8vE.mjs.map} +1 -1
  68. package/dist/{delete-YYh_0khQ.mjs → delete-Bi6UhAhS.mjs} +3 -3
  69. package/dist/{delete-YYh_0khQ.mjs.map → delete-Bi6UhAhS.mjs.map} +1 -1
  70. package/dist/{delete-CCTiCYIL.cjs → delete-C_oxZa_p.cjs} +3 -3
  71. package/dist/{delete-CCTiCYIL.cjs.map → delete-C_oxZa_p.cjs.map} +1 -1
  72. package/dist/{delete-CSs5Czlo.mjs → delete-Ci7cq3mU.mjs} +3 -3
  73. package/dist/{delete-CSs5Czlo.mjs.map → delete-Ci7cq3mU.mjs.map} +1 -1
  74. package/dist/{delete-XWJRhBFs.mjs → delete-CiWkGnog.mjs} +3 -3
  75. package/dist/{delete-XWJRhBFs.mjs.map → delete-CiWkGnog.mjs.map} +1 -1
  76. package/dist/{delete-DozSxZQ7.cjs → delete-Cmk80aqF.cjs} +3 -3
  77. package/dist/{delete-DozSxZQ7.cjs.map → delete-Cmk80aqF.cjs.map} +1 -1
  78. package/dist/{delete-8yZ3j0vX.cjs → delete-CvtvB2Cr.cjs} +3 -3
  79. package/dist/{delete-8yZ3j0vX.cjs.map → delete-CvtvB2Cr.cjs.map} +1 -1
  80. package/dist/{delete-CIYY59v_.cjs → delete-DG825UwK.cjs} +4 -3
  81. package/dist/{delete-CIYY59v_.cjs.map → delete-DG825UwK.cjs.map} +1 -1
  82. package/dist/{delete-WpMIIvjj.cjs → delete-DGrSMqOt.cjs} +3 -3
  83. package/dist/{delete-WpMIIvjj.cjs.map → delete-DGrSMqOt.cjs.map} +1 -1
  84. package/dist/{delete-BOUObrDw.mjs → delete-Datr3Kqq.mjs} +3 -2
  85. package/dist/{delete-BOUObrDw.mjs.map → delete-Datr3Kqq.mjs.map} +1 -1
  86. package/dist/{delete-D4r1ve4v.cjs → delete-TTF4pIKw.cjs} +3 -3
  87. package/dist/{delete-D4r1ve4v.cjs.map → delete-TTF4pIKw.cjs.map} +1 -1
  88. package/dist/{delete-BSLIXrAh.mjs → delete-X8iVsETw.mjs} +3 -3
  89. package/dist/{delete-BSLIXrAh.mjs.map → delete-X8iVsETw.mjs.map} +1 -1
  90. package/dist/docs/features/cli/authentication.md +93 -0
  91. package/dist/docs/features/cli/commands/agent.md +49 -0
  92. package/dist/docs/features/cli/commands/auth.md +36 -0
  93. package/dist/docs/features/cli/commands/bucket.md +120 -0
  94. package/dist/docs/features/cli/commands/codegen.md +51 -0
  95. package/dist/docs/features/cli/commands/content.md +117 -0
  96. package/dist/docs/features/cli/commands/key.md +155 -0
  97. package/dist/docs/features/cli/commands/link.md +21 -0
  98. package/dist/docs/features/cli/commands/org.md +18 -0
  99. package/dist/docs/features/cli/commands/project-user.md +108 -0
  100. package/dist/docs/features/cli/commands/project.md +106 -0
  101. package/dist/docs/features/cli/commands/schema.md +107 -0
  102. package/dist/docs/features/cli/commands/webhook.md +110 -0
  103. package/dist/docs/features/cli/commands.md +110 -0
  104. package/dist/docs/features/cli/configuration.md +70 -0
  105. package/dist/docs/features/cli/output.md +53 -0
  106. package/dist/docs/features/cli/project-linking.md +58 -0
  107. package/dist/docs/features/cli/quickstart.md +83 -0
  108. package/dist/docs/features/cli.md +56 -0
  109. package/dist/docs/features/cms-sdk/account.md +122 -0
  110. package/dist/docs/features/cms-sdk/auth.md +122 -0
  111. package/dist/docs/features/cms-sdk/bucket.md +113 -0
  112. package/dist/docs/features/cms-sdk/cli.md +104 -0
  113. package/dist/docs/features/cms-sdk/fetch-contents.md +608 -0
  114. package/dist/docs/features/cms-sdk/install.md +98 -0
  115. package/dist/docs/features/cms-sdk/management-user.md +244 -0
  116. package/dist/docs/features/cms-sdk/migrate-to-v2.md +152 -0
  117. package/dist/docs/features/cms-sdk/mutation-contents.md +190 -0
  118. package/dist/docs/features/console/audit-logs.md +52 -0
  119. package/dist/docs/features/console/bucket.md +70 -0
  120. package/dist/docs/features/console/create-project.md +103 -0
  121. package/dist/docs/features/console/generate-api-key.md +103 -0
  122. package/dist/docs/features/console/invite-project-users.md +70 -0
  123. package/dist/docs/features/console/management-tables.md +131 -0
  124. package/dist/docs/features/console/organization-member-management.md +78 -0
  125. package/dist/docs/features/console/schema-history.md +29 -0
  126. package/dist/docs/features/console.md +15 -0
  127. package/dist/docs/features/consumer-sdk/cli.md +60 -0
  128. package/dist/docs/features/consumer-sdk/fetch-contents.md +603 -0
  129. package/dist/docs/features/consumer-sdk/install.md +90 -0
  130. package/dist/docs/features/consumer-sdk/migrate-to-v2.md +43 -0
  131. package/dist/docs/features/design-editor/about.md +36 -0
  132. package/dist/docs/features/design-editor/getting-started.md +244 -0
  133. package/dist/docs/features/design-editor/install.md +17 -0
  134. package/dist/docs/features/design-editor/prop-editor.md +83 -0
  135. package/dist/docs/features/design-editor/schema.md +279 -0
  136. package/dist/docs/features/draft.md +241 -0
  137. package/dist/docs/features/form/about.md +83 -0
  138. package/dist/docs/features/form/editor.md +410 -0
  139. package/dist/docs/features/form/submission.md +94 -0
  140. package/dist/docs/features/full-text-search.md +64 -0
  141. package/dist/docs/features/history.md +152 -0
  142. package/dist/docs/features/schema/about.md +215 -0
  143. package/dist/docs/features/schema/authority.md +456 -0
  144. package/dist/docs/features/schema/bucket.md +142 -0
  145. package/dist/docs/features/schema/database.md +419 -0
  146. package/dist/docs/features/schema/table-module.md +140 -0
  147. package/dist/docs/features/webhook/revalidate-nextjs.md +185 -0
  148. package/dist/docs/features/webhook.md +295 -0
  149. package/dist/docs/get-started/add-model-starter.md +124 -0
  150. package/dist/docs/get-started/get-started-with-starter.md +218 -0
  151. package/dist/docs/index.md +88 -0
  152. package/dist/docs/introduction.md +140 -0
  153. package/dist/docs/manifest.json +6 -0
  154. package/dist/docs/resources/cli-migration-guide.md +82 -0
  155. package/dist/docs/resources/cli-v2-to-v3-migration-guide.md +138 -0
  156. package/dist/docs/resources/deploy-to-vercel.md +62 -0
  157. package/dist/docs/resources/limits.md +24 -0
  158. package/dist/docs/resources/private-registry.md +23 -0
  159. package/dist/docs/resources/status.md +22 -0
  160. package/dist/docs/resources/user-model.md +38 -0
  161. package/dist/{download-ogGbb3FU.cjs → download-BkzmfQXD.cjs} +2 -2
  162. package/dist/{download-ogGbb3FU.cjs.map → download-BkzmfQXD.cjs.map} +1 -1
  163. package/dist/{download-oFGzg30E.mjs → download-Dx1oyrMg.mjs} +2 -2
  164. package/dist/{download-oFGzg30E.mjs.map → download-Dx1oyrMg.mjs.map} +1 -1
  165. package/dist/{erd-zDoF6I_y.mjs → erd-BNv5Th6z.mjs} +2 -2
  166. package/dist/{erd-zDoF6I_y.mjs.map → erd-BNv5Th6z.mjs.map} +1 -1
  167. package/dist/{erd-lKC5NB2l.cjs → erd-ByuVMQ5n.cjs} +2 -2
  168. package/dist/{erd-lKC5NB2l.cjs.map → erd-ByuVMQ5n.cjs.map} +1 -1
  169. package/dist/{get-CgEgETQa.mjs → get-1TtxSEoT.mjs} +2 -2
  170. package/dist/{get-CgEgETQa.mjs.map → get-1TtxSEoT.mjs.map} +1 -1
  171. package/dist/{get-DjRyK0hJ.cjs → get-B5S1GfjR.cjs} +2 -2
  172. package/dist/{get-DjRyK0hJ.cjs.map → get-B5S1GfjR.cjs.map} +1 -1
  173. package/dist/{get-DDB89cOs.mjs → get-BLDHE_Zl.mjs} +2 -2
  174. package/dist/{get-DDB89cOs.mjs.map → get-BLDHE_Zl.mjs.map} +1 -1
  175. package/dist/{get-KdWfYINc.cjs → get-C5OH05Ka.cjs} +2 -2
  176. package/dist/{get-KdWfYINc.cjs.map → get-C5OH05Ka.cjs.map} +1 -1
  177. package/dist/{get-DwtzBjGV.cjs → get-CKZPn669.cjs} +2 -2
  178. package/dist/{get-DwtzBjGV.cjs.map → get-CKZPn669.cjs.map} +1 -1
  179. package/dist/{get-IOU__2RP.cjs → get-CdDZkUXV.cjs} +2 -2
  180. package/dist/{get-IOU__2RP.cjs.map → get-CdDZkUXV.cjs.map} +1 -1
  181. package/dist/{get-DB80UNSR.mjs → get-Cw4Dw5NG.mjs} +2 -2
  182. package/dist/{get-DB80UNSR.mjs.map → get-Cw4Dw5NG.mjs.map} +1 -1
  183. package/dist/{get-C7dKoSIc.mjs → get-Dy3AD4il.mjs} +2 -2
  184. package/dist/{get-C7dKoSIc.mjs.map → get-Dy3AD4il.mjs.map} +1 -1
  185. package/dist/{get-BBOKSXkh.cjs → get-PVsUGHBR.cjs} +2 -2
  186. package/dist/{get-BBOKSXkh.cjs.map → get-PVsUGHBR.cjs.map} +1 -1
  187. package/dist/{get-B6vBaq_D.mjs → get-Vo3yr12d.mjs} +2 -2
  188. package/dist/{get-B6vBaq_D.mjs.map → get-Vo3yr12d.mjs.map} +1 -1
  189. package/dist/{get-jwXRlIBJ.cjs → get-jaN2o0XY.cjs} +2 -2
  190. package/dist/{get-jwXRlIBJ.cjs.map → get-jaN2o0XY.cjs.map} +1 -1
  191. package/dist/{get-DBxhbN1G.mjs → get-qOKYAc46.mjs} +2 -2
  192. package/dist/{get-DBxhbN1G.mjs.map → get-qOKYAc46.mjs.map} +1 -1
  193. package/dist/init-CPfpVlUN.mjs +372 -0
  194. package/dist/init-CPfpVlUN.mjs.map +1 -0
  195. package/dist/init-NaL2N3Go.cjs +374 -0
  196. package/dist/init-NaL2N3Go.cjs.map +1 -0
  197. package/dist/{invite-DPygtCoO.cjs → invite-Tw3SMV0Q.cjs} +2 -2
  198. package/dist/{invite-DPygtCoO.cjs.map → invite-Tw3SMV0Q.cjs.map} +1 -1
  199. package/dist/{invite-D66DSMvq.mjs → invite-vzajkU2u.mjs} +2 -2
  200. package/dist/{invite-D66DSMvq.mjs.map → invite-vzajkU2u.mjs.map} +1 -1
  201. package/dist/{key-C71Ffll9.mjs → key-CyVxu3Uk.mjs} +3 -3
  202. package/dist/{key-C71Ffll9.mjs.map → key-CyVxu3Uk.mjs.map} +1 -1
  203. package/dist/{key-DQr7qRL2.cjs → key-tRYRqYNo.cjs} +3 -3
  204. package/dist/{key-DQr7qRL2.cjs.map → key-tRYRqYNo.cjs.map} +1 -1
  205. package/dist/{link-BluFyxEL.mjs → link-Bd55x5Zf.mjs} +2 -2
  206. package/dist/{link-BluFyxEL.mjs.map → link-Bd55x5Zf.mjs.map} +1 -1
  207. package/dist/{link-DYu1Vjlw.cjs → link-Cz7MX02S.cjs} +2 -2
  208. package/dist/{link-DYu1Vjlw.cjs.map → link-Cz7MX02S.cjs.map} +1 -1
  209. package/dist/{list-D5PSDMWw.mjs → list-2otVufvs.mjs} +3 -3
  210. package/dist/{list-D5PSDMWw.mjs.map → list-2otVufvs.mjs.map} +1 -1
  211. package/dist/{list-sQk00GV5.mjs → list-BMnBuZMr.mjs} +2 -2
  212. package/dist/{list-sQk00GV5.mjs.map → list-BMnBuZMr.mjs.map} +1 -1
  213. package/dist/{list-BwfpuhmJ.cjs → list-Bo8IMFd0.cjs} +2 -2
  214. package/dist/{list-BwfpuhmJ.cjs.map → list-Bo8IMFd0.cjs.map} +1 -1
  215. package/dist/{list-B0N4-Q-5.mjs → list-BtgAAUKm.mjs} +2 -2
  216. package/dist/{list-B0N4-Q-5.mjs.map → list-BtgAAUKm.mjs.map} +1 -1
  217. package/dist/{list-vbMaOiza.mjs → list-C0lq-gBZ.mjs} +2 -2
  218. package/dist/{list-vbMaOiza.mjs.map → list-C0lq-gBZ.mjs.map} +1 -1
  219. package/dist/{list-BsYYq9wT.mjs → list-CGZ3iT6J.mjs} +2 -2
  220. package/dist/{list-BsYYq9wT.mjs.map → list-CGZ3iT6J.mjs.map} +1 -1
  221. package/dist/{list-CFwW0G9f.cjs → list-CMWXO4nB.cjs} +2 -2
  222. package/dist/{list-CFwW0G9f.cjs.map → list-CMWXO4nB.cjs.map} +1 -1
  223. package/dist/{list-rAn3uOA7.mjs → list-Ccaec0cs.mjs} +2 -2
  224. package/dist/{list-rAn3uOA7.mjs.map → list-Ccaec0cs.mjs.map} +1 -1
  225. package/dist/{list-CU42ERNY.cjs → list-Cp_mHwbN.cjs} +2 -2
  226. package/dist/{list-CU42ERNY.cjs.map → list-Cp_mHwbN.cjs.map} +1 -1
  227. package/dist/{list-D0-QrWmn.cjs → list-Cs7kbAAi.cjs} +3 -3
  228. package/dist/{list-D0-QrWmn.cjs.map → list-Cs7kbAAi.cjs.map} +1 -1
  229. package/dist/{list-DlJssPwy.cjs → list-D5IaYurn.cjs} +2 -2
  230. package/dist/{list-DlJssPwy.cjs.map → list-D5IaYurn.cjs.map} +1 -1
  231. package/dist/{list-CbvEh7eA.mjs → list-DcIBInNA.mjs} +2 -2
  232. package/dist/{list-CbvEh7eA.mjs.map → list-DcIBInNA.mjs.map} +1 -1
  233. package/dist/{list-BzLraBnA.cjs → list-Dd3veD9Z.cjs} +2 -2
  234. package/dist/{list-BzLraBnA.cjs.map → list-Dd3veD9Z.cjs.map} +1 -1
  235. package/dist/{list-DexBclfb.cjs → list-DdVKKaDN.cjs} +2 -2
  236. package/dist/{list-DexBclfb.cjs.map → list-DdVKKaDN.cjs.map} +1 -1
  237. package/dist/{list-Br6Cmi9S.cjs → list-E1sjTZLe.cjs} +2 -2
  238. package/dist/{list-Br6Cmi9S.cjs.map → list-E1sjTZLe.cjs.map} +1 -1
  239. package/dist/{list-BRh59EqI.cjs → list-KI-7REC_.cjs} +2 -2
  240. package/dist/{list-BRh59EqI.cjs.map → list-KI-7REC_.cjs.map} +1 -1
  241. package/dist/{list-ocfd7631.mjs → list-MWD4huKP.mjs} +2 -2
  242. package/dist/{list-ocfd7631.mjs.map → list-MWD4huKP.mjs.map} +1 -1
  243. package/dist/{list-57TUfNFd.mjs → list-Pf5aAoaN.mjs} +2 -2
  244. package/dist/{list-57TUfNFd.mjs.map → list-Pf5aAoaN.mjs.map} +1 -1
  245. package/dist/{list-BHvURTWd.cjs → list-fG4zo8zz.cjs} +2 -2
  246. package/dist/{list-BHvURTWd.cjs.map → list-fG4zo8zz.cjs.map} +1 -1
  247. package/dist/{list-DrZYlidZ.mjs → list-r2UPz1zW.mjs} +2 -2
  248. package/dist/{list-DrZYlidZ.mjs.map → list-r2UPz1zW.mjs.map} +1 -1
  249. package/dist/{login-FE_dbWMo.mjs → login-Dq2L3bI7.mjs} +2 -2
  250. package/dist/{login-FE_dbWMo.mjs.map → login-Dq2L3bI7.mjs.map} +1 -1
  251. package/dist/{login-2XcHd4wn.cjs → login-M1IF2MdC.cjs} +2 -2
  252. package/dist/{login-2XcHd4wn.cjs.map → login-M1IF2MdC.cjs.map} +1 -1
  253. package/dist/{logout-DC5TMJ5_.cjs → logout-BCSfFgPz.cjs} +2 -2
  254. package/dist/{logout-DC5TMJ5_.cjs.map → logout-BCSfFgPz.cjs.map} +1 -1
  255. package/dist/{logout-BDbWrGBm.mjs → logout-DFzQCQKe.mjs} +2 -2
  256. package/dist/{logout-BDbWrGBm.mjs.map → logout-DFzQCQKe.mjs.map} +1 -1
  257. package/dist/management-C1p-Hm2Z.cjs +19 -0
  258. package/dist/{management-BGYcZB4c.cjs.map → management-C1p-Hm2Z.cjs.map} +1 -1
  259. package/dist/{management-DDACMgbU.mjs → management-h4yE09a6.mjs} +5 -5
  260. package/dist/{management-DDACMgbU.mjs.map → management-h4yE09a6.mjs.map} +1 -1
  261. package/dist/object-CZDLoc9L.cjs +20 -0
  262. package/dist/{object-DVqidsEc.cjs.map → object-CZDLoc9L.cjs.map} +1 -1
  263. package/dist/object-CqMsEkh9.mjs +20 -0
  264. package/dist/{object-qdBdEghr.mjs.map → object-CqMsEkh9.mjs.map} +1 -1
  265. package/dist/{org-CPhTRTks.mjs → org-Co-rjfr-.mjs} +2 -2
  266. package/dist/{org-CPhTRTks.mjs.map → org-Co-rjfr-.mjs.map} +1 -1
  267. package/dist/{org-C4cVovOM.cjs → org-Drj3VqIm.cjs} +2 -2
  268. package/dist/{org-C4cVovOM.cjs.map → org-Drj3VqIm.cjs.map} +1 -1
  269. package/dist/{org-context-Bewx2NEW.cjs → org-context-DKFnPH_o.cjs} +2 -2
  270. package/dist/{org-context-Bewx2NEW.cjs.map → org-context-DKFnPH_o.cjs.map} +1 -1
  271. package/dist/{org-context-D0dwWC2M.mjs → org-context-Df5McOiK.mjs} +2 -2
  272. package/dist/{org-context-D0dwWC2M.mjs.map → org-context-Df5McOiK.mjs.map} +1 -1
  273. package/dist/project-C7qWFjMV.mjs +20 -0
  274. package/dist/{project-CaXD3QBs.mjs.map → project-C7qWFjMV.mjs.map} +1 -1
  275. package/dist/project-Dm7nr5NV.cjs +20 -0
  276. package/dist/{project-BX7zvWB1.cjs.map → project-Dm7nr5NV.cjs.map} +1 -1
  277. package/dist/project-user-D9h_QBc0.mjs +20 -0
  278. package/dist/{project-user-Cp7i6orv.mjs.map → project-user-D9h_QBc0.mjs.map} +1 -1
  279. package/dist/project-user-wLFnHFwB.cjs +20 -0
  280. package/dist/{project-user-Dm0qR-sh.cjs.map → project-user-wLFnHFwB.cjs.map} +1 -1
  281. package/dist/prompt-C-XNDSNE.cjs +42 -0
  282. package/dist/prompt-C-XNDSNE.cjs.map +1 -0
  283. package/dist/prompt-Dr2Rkxun.mjs +25 -0
  284. package/dist/prompt-Dr2Rkxun.mjs.map +1 -0
  285. package/dist/{push-D7co0keA.mjs → push-54rmb0T0.mjs} +3 -2
  286. package/dist/{push-D7co0keA.mjs.map → push-54rmb0T0.mjs.map} +1 -1
  287. package/dist/{push-0u6PDz4E.cjs → push-9fPpd4U8.cjs} +4 -3
  288. package/dist/{push-0u6PDz4E.cjs.map → push-9fPpd4U8.cjs.map} +1 -1
  289. package/dist/{run-codegen-DgaFaIQ1.mjs → run-codegen-DjnV60bE.mjs} +3 -3
  290. package/dist/{run-codegen-DgaFaIQ1.mjs.map → run-codegen-DjnV60bE.mjs.map} +1 -1
  291. package/dist/{run-codegen-Ceeosw5x.cjs → run-codegen-mclysZuT.cjs} +3 -3
  292. package/dist/{run-codegen-Ceeosw5x.cjs.map → run-codegen-mclysZuT.cjs.map} +1 -1
  293. package/dist/{run-with-context-CVhmzAFZ.mjs → run-with-context-B4DyI8Wo.mjs} +6 -26
  294. package/dist/run-with-context-B4DyI8Wo.mjs.map +1 -0
  295. package/dist/{run-with-context-DJNnEigg.cjs → run-with-context-D8pSrqD_.cjs} +7 -39
  296. package/dist/run-with-context-D8pSrqD_.cjs.map +1 -0
  297. package/dist/{schema-exG250MU.mjs → schema-BL6SlLtH.mjs} +5 -5
  298. package/dist/{schema-exG250MU.mjs.map → schema-BL6SlLtH.mjs.map} +1 -1
  299. package/dist/schema-CNSTXsVa.cjs +20 -0
  300. package/dist/{schema-B3iRqvYK.cjs.map → schema-CNSTXsVa.cjs.map} +1 -1
  301. package/dist/{status-Dq_NJE71.cjs → status-CqPJTxeK.cjs} +2 -2
  302. package/dist/{status-Dq_NJE71.cjs.map → status-CqPJTxeK.cjs.map} +1 -1
  303. package/dist/{status-fWqXzV0P.mjs → status-D7nOW3R3.mjs} +2 -2
  304. package/dist/{status-fWqXzV0P.mjs.map → status-D7nOW3R3.mjs.map} +1 -1
  305. package/dist/{token-store--9GYVL7N.cjs → token-store-BgWGhqq0.cjs} +3 -3
  306. package/dist/{token-store--9GYVL7N.cjs.map → token-store-BgWGhqq0.cjs.map} +1 -1
  307. package/dist/{token-store-reCGF86F.mjs → token-store-C2r7cFA-.mjs} +2 -2
  308. package/dist/{token-store-reCGF86F.mjs.map → token-store-C2r7cFA-.mjs.map} +1 -1
  309. package/dist/{update-B4lv4dAz.mjs → update-8-sHFvNB.mjs} +2 -2
  310. package/dist/{update-B4lv4dAz.mjs.map → update-8-sHFvNB.mjs.map} +1 -1
  311. package/dist/{update-Dyo4vuZs.mjs → update-B5hKKw0K.mjs} +3 -3
  312. package/dist/{update-Dyo4vuZs.mjs.map → update-B5hKKw0K.mjs.map} +1 -1
  313. package/dist/{update-Do9HHWzs.cjs → update-BVaqURWE.cjs} +2 -2
  314. package/dist/{update-Do9HHWzs.cjs.map → update-BVaqURWE.cjs.map} +1 -1
  315. package/dist/{update-DRnN1kiu.cjs → update-BlUwNhLA.cjs} +2 -2
  316. package/dist/{update-DRnN1kiu.cjs.map → update-BlUwNhLA.cjs.map} +1 -1
  317. package/dist/{update-Cx_2GkQj.cjs → update-BqhLwuP7.cjs} +2 -2
  318. package/dist/{update-Cx_2GkQj.cjs.map → update-BqhLwuP7.cjs.map} +1 -1
  319. package/dist/{update-mEmULIau.mjs → update-DaYjh5VN.mjs} +2 -2
  320. package/dist/{update-mEmULIau.mjs.map → update-DaYjh5VN.mjs.map} +1 -1
  321. package/dist/{update-CJgEmSWJ.cjs → update-DcTzR54Z.cjs} +3 -3
  322. package/dist/{update-CJgEmSWJ.cjs.map → update-DcTzR54Z.cjs.map} +1 -1
  323. package/dist/{update-CIH6sSVk.cjs → update-Dne7g_0s.cjs} +2 -2
  324. package/dist/{update-CIH6sSVk.cjs.map → update-Dne7g_0s.cjs.map} +1 -1
  325. package/dist/{update-CQ4n4Xuf.mjs → update-Dy1BOnTB.mjs} +2 -2
  326. package/dist/{update-CQ4n4Xuf.mjs.map → update-Dy1BOnTB.mjs.map} +1 -1
  327. package/dist/{update-rzij1b_o.mjs → update-slz_X0mG.mjs} +2 -2
  328. package/dist/{update-rzij1b_o.mjs.map → update-slz_X0mG.mjs.map} +1 -1
  329. package/dist/{upload-DGgJ1TQk.mjs → upload-CDtzV9Wx.mjs} +3 -3
  330. package/dist/{upload-DGgJ1TQk.mjs.map → upload-CDtzV9Wx.mjs.map} +1 -1
  331. package/dist/{upload-C43ZXxyb.cjs → upload-DIln1QDA.cjs} +3 -3
  332. package/dist/{upload-C43ZXxyb.cjs.map → upload-DIln1QDA.cjs.map} +1 -1
  333. package/dist/webhook-BT3cHrq5.mjs +20 -0
  334. package/dist/{webhook-CpZ1-Ho5.mjs.map → webhook-BT3cHrq5.mjs.map} +1 -1
  335. package/dist/webhook-CQeuAqec.cjs +20 -0
  336. package/dist/{webhook-CbL4QaR5.cjs.map → webhook-CQeuAqec.cjs.map} +1 -1
  337. package/package.json +6 -5
  338. package/dist/auth-CNbONZuf.cjs +0 -18
  339. package/dist/cms-BJnovGYT.mjs.map +0 -1
  340. package/dist/cms-Cnx-lDGu.cjs.map +0 -1
  341. package/dist/consumer-OF6Z_eTP.cjs.map +0 -1
  342. package/dist/consumer-l-8wUK8E.cjs +0 -18
  343. package/dist/consumer-pU2HyiyA.mjs.map +0 -1
  344. package/dist/content-BOb6NC8M.mjs +0 -20
  345. package/dist/content-DMjSwor1.cjs +0 -20
  346. package/dist/management-BGYcZB4c.cjs +0 -19
  347. package/dist/object-DVqidsEc.cjs +0 -20
  348. package/dist/object-qdBdEghr.mjs +0 -20
  349. package/dist/project-BX7zvWB1.cjs +0 -20
  350. package/dist/project-CaXD3QBs.mjs +0 -20
  351. package/dist/project-user-Cp7i6orv.mjs +0 -20
  352. package/dist/project-user-Dm0qR-sh.cjs +0 -20
  353. package/dist/run-with-context-CVhmzAFZ.mjs.map +0 -1
  354. package/dist/run-with-context-DJNnEigg.cjs.map +0 -1
  355. package/dist/schema-B3iRqvYK.cjs +0 -20
  356. package/dist/webhook-CbL4QaR5.cjs +0 -20
  357. package/dist/webhook-CpZ1-Ho5.mjs +0 -20
@@ -1,4 +1,4 @@
1
- import { a as apiErrorFailure, d as resolveOrganizationName, l as resolveOrganizationId } from "./run-with-context-CVhmzAFZ.mjs";
1
+ import { a as apiErrorFailure, l as resolveOrganizationName, s as resolveOrganizationId } from "./run-with-context-B4DyI8Wo.mjs";
2
2
  import { Result } from "@praha/byethrow";
3
3
 
4
4
  //#region src/cli/commands/org-context.ts
@@ -22,4 +22,4 @@ async function resolveOrganizationIdFromArgs(params) {
22
22
 
23
23
  //#endregion
24
24
  export { resolveOrganizationIdFromArgs as t };
25
- //# sourceMappingURL=org-context-D0dwWC2M.mjs.map
25
+ //# sourceMappingURL=org-context-Df5McOiK.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"org-context-D0dwWC2M.mjs","names":[],"sources":["../src/cli/commands/org-context.ts"],"sourcesContent":["import { Result } from \"@praha/byethrow\";\nimport type { DeveloperApiClient } from \"../api/client.js\";\nimport {\n resolveOrganizationId,\n type OrganizationId,\n} from \"../api/organizations.js\";\nimport { resolveOrganizationName } from \"../context/project.js\";\nimport { apiErrorFailure } from \"./api-errors.js\";\nimport type { CommandFailure } from \"./define-command.js\";\n\n// project list / create が --organization or .orizm/project.json から org id を解決する共通経路。\n// 解決失敗を user-facing メッセージへ畳む。\nexport async function resolveOrganizationIdFromArgs(params: {\n client: DeveloperApiClient;\n flag?: string;\n cwd?: string;\n}): Promise<Result.Result<OrganizationId, CommandFailure>> {\n const name = await resolveOrganizationName({\n flag: params.flag,\n cwd: params.cwd,\n });\n if (Result.isFailure(name)) {\n switch (name.error.type) {\n case \"project_json_invalid\":\n return Result.fail({\n message: `Invalid project file: ${name.error.path}`,\n });\n case \"no_project_context\":\n case \"no_organization_context\":\n return Result.fail({\n message:\n \"No organization selected. Run `orizm link` or pass --organization <name>.\",\n });\n }\n }\n\n const id = await resolveOrganizationId(params.client, name.value);\n if (Result.isFailure(id)) {\n if (id.error.type === \"organization_not_found\") {\n return Result.fail({\n message: `Organization not found: ${id.error.name}`,\n });\n }\n return apiErrorFailure(id.error);\n }\n return Result.succeed(id.value);\n}\n"],"mappings":";;;;AAYA,eAAsB,8BAA8B,QAIO;CACzD,MAAM,OAAO,MAAM,wBAAwB;EACzC,MAAM,OAAO;EACb,KAAK,OAAO;CACd,CAAC;CACD,IAAI,OAAO,UAAU,IAAI,GACvB,QAAQ,KAAK,MAAM,MAAnB;EACE,KAAK,wBACH,OAAO,OAAO,KAAK,EACjB,SAAS,yBAAyB,KAAK,MAAM,OAC/C,CAAC;EACH,KAAK;EACL,KAAK,2BACH,OAAO,OAAO,KAAK,EACjB,SACE,4EACJ,CAAC;CACL;CAGF,MAAM,KAAK,MAAM,sBAAsB,OAAO,QAAQ,KAAK,KAAK;CAChE,IAAI,OAAO,UAAU,EAAE,GAAG;EACxB,IAAI,GAAG,MAAM,SAAS,0BACpB,OAAO,OAAO,KAAK,EACjB,SAAS,2BAA2B,GAAG,MAAM,OAC/C,CAAC;EAEH,OAAO,gBAAgB,GAAG,KAAK;CACjC;CACA,OAAO,OAAO,QAAQ,GAAG,KAAK;AAChC"}
1
+ {"version":3,"file":"org-context-Df5McOiK.mjs","names":[],"sources":["../src/cli/commands/org-context.ts"],"sourcesContent":["import { Result } from \"@praha/byethrow\";\nimport type { DeveloperApiClient } from \"../api/client.js\";\nimport {\n resolveOrganizationId,\n type OrganizationId,\n} from \"../api/organizations.js\";\nimport { resolveOrganizationName } from \"../context/project.js\";\nimport { apiErrorFailure } from \"./api-errors.js\";\nimport type { CommandFailure } from \"./define-command.js\";\n\n// project list / create が --organization or .orizm/project.json から org id を解決する共通経路。\n// 解決失敗を user-facing メッセージへ畳む。\nexport async function resolveOrganizationIdFromArgs(params: {\n client: DeveloperApiClient;\n flag?: string;\n cwd?: string;\n}): Promise<Result.Result<OrganizationId, CommandFailure>> {\n const name = await resolveOrganizationName({\n flag: params.flag,\n cwd: params.cwd,\n });\n if (Result.isFailure(name)) {\n switch (name.error.type) {\n case \"project_json_invalid\":\n return Result.fail({\n message: `Invalid project file: ${name.error.path}`,\n });\n case \"no_project_context\":\n case \"no_organization_context\":\n return Result.fail({\n message:\n \"No organization selected. Run `orizm link` or pass --organization <name>.\",\n });\n }\n }\n\n const id = await resolveOrganizationId(params.client, name.value);\n if (Result.isFailure(id)) {\n if (id.error.type === \"organization_not_found\") {\n return Result.fail({\n message: `Organization not found: ${id.error.name}`,\n });\n }\n return apiErrorFailure(id.error);\n }\n return Result.succeed(id.value);\n}\n"],"mappings":";;;;AAYA,eAAsB,8BAA8B,QAIO;CACzD,MAAM,OAAO,MAAM,wBAAwB;EACzC,MAAM,OAAO;EACb,KAAK,OAAO;CACd,CAAC;CACD,IAAI,OAAO,UAAU,IAAI,GACvB,QAAQ,KAAK,MAAM,MAAnB;EACE,KAAK,wBACH,OAAO,OAAO,KAAK,EACjB,SAAS,yBAAyB,KAAK,MAAM,OAC/C,CAAC;EACH,KAAK;EACL,KAAK,2BACH,OAAO,OAAO,KAAK,EACjB,SACE,4EACJ,CAAC;CACL;CAGF,MAAM,KAAK,MAAM,sBAAsB,OAAO,QAAQ,KAAK,KAAK;CAChE,IAAI,OAAO,UAAU,EAAE,GAAG;EACxB,IAAI,GAAG,MAAM,SAAS,0BACpB,OAAO,OAAO,KAAK,EACjB,SAAS,2BAA2B,GAAG,MAAM,OAC/C,CAAC;EAEH,OAAO,gBAAgB,GAAG,KAAK;CACjC;CACA,OAAO,OAAO,QAAQ,GAAG,KAAK;AAChC"}
@@ -0,0 +1,20 @@
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-2otVufvs.mjs").then((m) => m.default),
11
+ get: () => import("./get-BLDHE_Zl.mjs").then((m) => m.default),
12
+ create: () => import("./create-BGV3F44O.mjs").then((m) => m.default),
13
+ update: () => import("./update-DaYjh5VN.mjs").then((m) => m.default),
14
+ delete: () => import("./delete-Datr3Kqq.mjs").then((m) => m.default)
15
+ }
16
+ });
17
+
18
+ //#endregion
19
+ export { project_default as default };
20
+ //# sourceMappingURL=project-C7qWFjMV.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"project-CaXD3QBs.mjs","names":[],"sources":["../src/cli/commands/project/index.ts"],"sourcesContent":["import { defineCommand } from \"../define-command.js\";\n\nexport default defineCommand({\n meta: {\n name: \"project\",\n description: \"Manage projects\",\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"}
1
+ {"version":3,"file":"project-C7qWFjMV.mjs","names":[],"sources":["../src/cli/commands/project/index.ts"],"sourcesContent":["import { defineCommand } from \"../define-command.js\";\n\nexport default defineCommand({\n meta: {\n name: \"project\",\n description: \"Manage projects\",\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/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-Cs7kbAAi.cjs")).then((m) => m.default),
11
+ get: () => Promise.resolve().then(() => require("./get-PVsUGHBR.cjs")).then((m) => m.default),
12
+ create: () => Promise.resolve().then(() => require("./create-BYDbsUvw.cjs")).then((m) => m.default),
13
+ update: () => Promise.resolve().then(() => require("./update-BVaqURWE.cjs")).then((m) => m.default),
14
+ delete: () => Promise.resolve().then(() => require("./delete-DG825UwK.cjs")).then((m) => m.default)
15
+ }
16
+ });
17
+
18
+ //#endregion
19
+ exports.default = project_default;
20
+ //# sourceMappingURL=project-Dm7nr5NV.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"project-BX7zvWB1.cjs","names":["defineCommand"],"sources":["../src/cli/commands/project/index.ts"],"sourcesContent":["import { defineCommand } from \"../define-command.js\";\n\nexport default defineCommand({\n meta: {\n name: \"project\",\n description: \"Manage projects\",\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"}
1
+ {"version":3,"file":"project-Dm7nr5NV.cjs","names":["defineCommand"],"sources":["../src/cli/commands/project/index.ts"],"sourcesContent":["import { defineCommand } from \"../define-command.js\";\n\nexport default defineCommand({\n meta: {\n name: \"project\",\n description: \"Manage projects\",\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"}
@@ -0,0 +1,20 @@
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-r2UPz1zW.mjs").then((m) => m.default),
11
+ get: () => import("./get-Dy3AD4il.mjs").then((m) => m.default),
12
+ invite: () => import("./invite-vzajkU2u.mjs").then((m) => m.default),
13
+ update: () => import("./update-8-sHFvNB.mjs").then((m) => m.default),
14
+ delete: () => import("./delete-B8VlzzCj.mjs").then((m) => m.default)
15
+ }
16
+ });
17
+
18
+ //#endregion
19
+ export { project_user_default as default };
20
+ //# sourceMappingURL=project-user-D9h_QBc0.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"project-user-Cp7i6orv.mjs","names":[],"sources":["../src/cli/commands/project-user/index.ts"],"sourcesContent":["import { defineCommand } from \"../define-command.js\";\n\nexport default defineCommand({\n meta: {\n name: \"project-user\",\n description: \"Manage project users (RBAC)\",\n },\n subCommands: {\n list: () => import(\"./list.js\").then((m) => m.default),\n get: () => import(\"./get.js\").then((m) => m.default),\n invite: () => import(\"./invite.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,2BAAe,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"}
1
+ {"version":3,"file":"project-user-D9h_QBc0.mjs","names":[],"sources":["../src/cli/commands/project-user/index.ts"],"sourcesContent":["import { defineCommand } from \"../define-command.js\";\n\nexport default defineCommand({\n meta: {\n name: \"project-user\",\n description: \"Manage project users (RBAC)\",\n },\n subCommands: {\n list: () => import(\"./list.js\").then((m) => m.default),\n get: () => import(\"./get.js\").then((m) => m.default),\n invite: () => import(\"./invite.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,2BAAe,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/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-DdVKKaDN.cjs")).then((m) => m.default),
11
+ get: () => Promise.resolve().then(() => require("./get-B5S1GfjR.cjs")).then((m) => m.default),
12
+ invite: () => Promise.resolve().then(() => require("./invite-Tw3SMV0Q.cjs")).then((m) => m.default),
13
+ update: () => Promise.resolve().then(() => require("./update-Dne7g_0s.cjs")).then((m) => m.default),
14
+ delete: () => Promise.resolve().then(() => require("./delete-C_oxZa_p.cjs")).then((m) => m.default)
15
+ }
16
+ });
17
+
18
+ //#endregion
19
+ exports.default = project_user_default;
20
+ //# sourceMappingURL=project-user-wLFnHFwB.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"project-user-Dm0qR-sh.cjs","names":["defineCommand"],"sources":["../src/cli/commands/project-user/index.ts"],"sourcesContent":["import { defineCommand } from \"../define-command.js\";\n\nexport default defineCommand({\n meta: {\n name: \"project-user\",\n description: \"Manage project users (RBAC)\",\n },\n subCommands: {\n list: () => import(\"./list.js\").then((m) => m.default),\n get: () => import(\"./get.js\").then((m) => m.default),\n invite: () => import(\"./invite.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,2BAAeA,+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"}
1
+ {"version":3,"file":"project-user-wLFnHFwB.cjs","names":["defineCommand"],"sources":["../src/cli/commands/project-user/index.ts"],"sourcesContent":["import { defineCommand } from \"../define-command.js\";\n\nexport default defineCommand({\n meta: {\n name: \"project-user\",\n description: \"Manage project users (RBAC)\",\n },\n subCommands: {\n list: () => import(\"./list.js\").then((m) => m.default),\n get: () => import(\"./get.js\").then((m) => m.default),\n invite: () => import(\"./invite.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,2BAAeA,+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"}
@@ -0,0 +1,42 @@
1
+ const require_cli_main = require('./cli/main.cjs');
2
+
3
+ //#region src/cli/ui/prompt.ts
4
+ async function confirm(message, initial = false) {
5
+ return await require_cli_main.logger.prompt(message, {
6
+ type: "confirm",
7
+ initial
8
+ }) === true;
9
+ }
10
+ async function promptText(message) {
11
+ const answer = await require_cli_main.logger.prompt(message, { type: "text" });
12
+ return typeof answer === "string" ? answer : void 0;
13
+ }
14
+ async function select(message, options) {
15
+ const answer = await require_cli_main.logger.prompt(message, {
16
+ type: "select",
17
+ options,
18
+ cancel: "null"
19
+ });
20
+ return typeof answer === "string" ? answer : void 0;
21
+ }
22
+
23
+ //#endregion
24
+ Object.defineProperty(exports, 'confirm', {
25
+ enumerable: true,
26
+ get: function () {
27
+ return confirm;
28
+ }
29
+ });
30
+ Object.defineProperty(exports, 'promptText', {
31
+ enumerable: true,
32
+ get: function () {
33
+ return promptText;
34
+ }
35
+ });
36
+ Object.defineProperty(exports, 'select', {
37
+ enumerable: true,
38
+ get: function () {
39
+ return select;
40
+ }
41
+ });
42
+ //# sourceMappingURL=prompt-C-XNDSNE.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt-C-XNDSNE.cjs","names":["logger"],"sources":["../src/cli/ui/prompt.ts"],"sourcesContent":["import { logger } from \"./output.js\";\n\n// プロンプトは stderr に出す。stdout は機械可読な結果専用に空けておき、パイプ連結を壊さないため。\nexport async function confirm(\n message: string,\n initial = false,\n): Promise<boolean> {\n const answer = await logger.prompt(message, { type: \"confirm\", initial });\n return answer === true;\n}\n\nexport async function promptText(message: string): Promise<string | undefined> {\n const answer = await logger.prompt(message, { type: \"text\" });\n return typeof answer === \"string\" ? answer : undefined;\n}\n\n// 選択肢の value は文字列のみ(consola の SelectOption 制約)。呼び出し側で name 等の一意キーを value に載せる。\nexport async function select(\n message: string,\n options: { label: string; value: string }[],\n): Promise<string | undefined> {\n const answer = await logger.prompt(message, {\n type: \"select\",\n options,\n cancel: \"null\",\n });\n return typeof answer === \"string\" ? answer : undefined;\n}\n"],"mappings":";;;AAGA,eAAsB,QACpB,SACA,UAAU,OACQ;CAElB,OAAO,MADcA,wBAAO,OAAO,SAAS;EAAE,MAAM;EAAW;CAAQ,CAAC,MACtD;AACpB;AAEA,eAAsB,WAAW,SAA8C;CAC7E,MAAM,SAAS,MAAMA,wBAAO,OAAO,SAAS,EAAE,MAAM,OAAO,CAAC;CAC5D,OAAO,OAAO,WAAW,WAAW,SAAS;AAC/C;AAGA,eAAsB,OACpB,SACA,SAC6B;CAC7B,MAAM,SAAS,MAAMA,wBAAO,OAAO,SAAS;EAC1C,MAAM;EACN;EACA,QAAQ;CACV,CAAC;CACD,OAAO,OAAO,WAAW,WAAW,SAAS;AAC/C"}
@@ -0,0 +1,25 @@
1
+ import { i as logger } from "./cli/main.mjs";
2
+
3
+ //#region src/cli/ui/prompt.ts
4
+ async function confirm(message, initial = false) {
5
+ return await logger.prompt(message, {
6
+ type: "confirm",
7
+ initial
8
+ }) === true;
9
+ }
10
+ async function promptText(message) {
11
+ const answer = await logger.prompt(message, { type: "text" });
12
+ return typeof answer === "string" ? answer : void 0;
13
+ }
14
+ async function select(message, options) {
15
+ const answer = await logger.prompt(message, {
16
+ type: "select",
17
+ options,
18
+ cancel: "null"
19
+ });
20
+ return typeof answer === "string" ? answer : void 0;
21
+ }
22
+
23
+ //#endregion
24
+ export { promptText as n, select as r, confirm as t };
25
+ //# sourceMappingURL=prompt-Dr2Rkxun.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt-Dr2Rkxun.mjs","names":[],"sources":["../src/cli/ui/prompt.ts"],"sourcesContent":["import { logger } from \"./output.js\";\n\n// プロンプトは stderr に出す。stdout は機械可読な結果専用に空けておき、パイプ連結を壊さないため。\nexport async function confirm(\n message: string,\n initial = false,\n): Promise<boolean> {\n const answer = await logger.prompt(message, { type: \"confirm\", initial });\n return answer === true;\n}\n\nexport async function promptText(message: string): Promise<string | undefined> {\n const answer = await logger.prompt(message, { type: \"text\" });\n return typeof answer === \"string\" ? answer : undefined;\n}\n\n// 選択肢の value は文字列のみ(consola の SelectOption 制約)。呼び出し側で name 等の一意キーを value に載せる。\nexport async function select(\n message: string,\n options: { label: string; value: string }[],\n): Promise<string | undefined> {\n const answer = await logger.prompt(message, {\n type: \"select\",\n options,\n cancel: \"null\",\n });\n return typeof answer === \"string\" ? answer : undefined;\n}\n"],"mappings":";;;AAGA,eAAsB,QACpB,SACA,UAAU,OACQ;CAElB,OAAO,MADc,OAAO,OAAO,SAAS;EAAE,MAAM;EAAW;CAAQ,CAAC,MACtD;AACpB;AAEA,eAAsB,WAAW,SAA8C;CAC7E,MAAM,SAAS,MAAM,OAAO,OAAO,SAAS,EAAE,MAAM,OAAO,CAAC;CAC5D,OAAO,OAAO,WAAW,WAAW,SAAS;AAC/C;AAGA,eAAsB,OACpB,SACA,SAC6B;CAC7B,MAAM,SAAS,MAAM,OAAO,OAAO,SAAS;EAC1C,MAAM;EACN;EACA,QAAQ;CACV,CAAC;CACD,OAAO,OAAO,WAAW,WAAW,SAAS;AAC/C"}
@@ -1,6 +1,7 @@
1
1
  import { a as notice, r as getOutputState, t as defineCommand } from "./cli/main.mjs";
2
2
  import { n as configFileArg, r as contextArgs, t as DEFAULT_CONFIG_FILE } from "./shared-CZZimGxc.mjs";
3
- import { a as apiErrorFailure, n as runWithContext, o as confirm, u as toResult } from "./run-with-context-CVhmzAFZ.mjs";
3
+ import { t as confirm } from "./prompt-Dr2Rkxun.mjs";
4
+ import { a as apiErrorFailure, c as toResult, n as runWithContext } from "./run-with-context-B4DyI8Wo.mjs";
4
5
  import { t as renderTable } from "./table-MHEfbnWO.mjs";
5
6
  import { n as configLoadFailure, t as loadConfig } from "./config-loader-BEgS869e.mjs";
6
7
  import { Result } from "@praha/byethrow";
@@ -163,4 +164,4 @@ var push_default = defineCommand({
163
164
 
164
165
  //#endregion
165
166
  export { push_default as default };
166
- //# sourceMappingURL=push-D7co0keA.mjs.map
167
+ //# sourceMappingURL=push-54rmb0T0.mjs.map
@@ -1 +1 @@
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
+ {"version":3,"file":"push-54rmb0T0.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,6 +1,7 @@
1
1
  const require_cli_main = require('./cli/main.cjs');
2
2
  const require_shared = require('./shared-DHRPzzKl.cjs');
3
- const require_run_with_context = require('./run-with-context-DJNnEigg.cjs');
3
+ const require_prompt = require('./prompt-C-XNDSNE.cjs');
4
+ const require_run_with_context = require('./run-with-context-D8pSrqD_.cjs');
4
5
  const require_table = require('./table-C74eOSh8.cjs');
5
6
  const require_config_loader = require('./config-loader-D8x32gEU.cjs');
6
7
  let _praha_byethrow = require("@praha/byethrow");
@@ -119,7 +120,7 @@ async function pushHandler(ctx, options) {
119
120
  require_cli_main.notice(renderChangeEvents(events.value, require_cli_main.getOutputState().color));
120
121
  if (!options.yes) {
121
122
  if (process.stdin.isTTY !== true) return _praha_byethrow.Result.fail({ message: "Refusing to apply without confirmation in a non-interactive shell. Re-run with --yes." });
122
- if (!await require_run_with_context.confirm("Apply these changes?")) return _praha_byethrow.Result.succeed({
123
+ if (!await require_prompt.confirm("Apply these changes?")) return _praha_byethrow.Result.succeed({
123
124
  json: { applied: false },
124
125
  text: () => "Canceled."
125
126
  });
@@ -163,4 +164,4 @@ var push_default = require_cli_main.defineCommand({
163
164
 
164
165
  //#endregion
165
166
  exports.default = push_default;
166
- //# sourceMappingURL=push-0u6PDz4E.cjs.map
167
+ //# sourceMappingURL=push-9fPpd4U8.cjs.map
@@ -1 +1 @@
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
+ {"version":3,"file":"push-9fPpd4U8.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,10 +1,10 @@
1
1
  import { n as formatValibotIssues, r as getOutputState } from "./cli/main.mjs";
2
- import { a as apiErrorFailure, n as runWithContext, u as toResult } from "./run-with-context-CVhmzAFZ.mjs";
2
+ import { a as apiErrorFailure, c as toResult, n as runWithContext } from "./run-with-context-B4DyI8Wo.mjs";
3
3
  import { n as configLoadFailure, t as loadConfig } from "./config-loader-BEgS869e.mjs";
4
4
  import { Result } from "@praha/byethrow";
5
5
  import * as v from "valibot";
6
- import { mkdir, writeFile } from "node:fs/promises";
7
6
  import path from "node:path";
7
+ import { mkdir, writeFile } from "node:fs/promises";
8
8
  import * as prettier from "prettier/standalone";
9
9
  import prettierPluginEstree from "prettier/plugins/estree.js";
10
10
  import prettierPluginTypeScript from "prettier/plugins/typescript.js";
@@ -187,4 +187,4 @@ function pullFailure(error) {
187
187
 
188
188
  //#endregion
189
189
  export { renderModuleDescriptorBlock as a, renderSection as c, renderWebhookTypesSection as d, toCodeTypeName as f, renderColumnField as i, renderTypeBlock as l, AUTOGEN_HEADER as n, renderModuleRowTypeBlock as o, formatTsWithPrettier as p, UTILITIES as r, renderRefsFieldLines as s, runCodegen as t, renderUniqueFieldLines as u };
190
- //# sourceMappingURL=run-codegen-DgaFaIQ1.mjs.map
190
+ //# sourceMappingURL=run-codegen-DjnV60bE.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"run-codegen-DgaFaIQ1.mjs","names":[],"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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"}
1
+ {"version":3,"file":"run-codegen-DjnV60bE.mjs","names":[],"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":";;;;;;;;;;;;;AAIA,SAAgB,qBAAqB,MAA+B;CAClE,OAAO,SAAS,OAAO,MAAM;EAC3B,QAAQ;EACR,SAAS,CAAC,sBAAsB,wBAAwB;CAC1D,CAAC;AACH;;;;ACOA,MAAa,iBACX;AAEF,MAAa,YAAY;;;;;;;;;AAUzB,SAAgB,eAAe,KAAqB;CAElD,QADoB,IAAI,OAAO,CAAC,CAAC,CAAC,YAAY,IAAI,IAAI,MAAM,CAAC,EAC3C,CAAC,QAAQ,cAAc,MAAM,EAAE,EAAE,CAAC,YAAY,CAAC;AACnE;AAEA,SAAgB,SAAS,QAAsB,eAAe,IAAY;CACxE,QAAQ,OAAO,MAAf;EACE,KAAK,aACH,OAAO;EACT,KAAK,UACH,OAAO,eAAe,OAAO,cAAc,EAAE,IAAI;EACnD,KAAK,gBACH,OAAO,eAAe,OAAO,cAAc,EAAE,IAAI,eAAe;EAClE,KAAK,QACH,OAAO;EACT,KAAK,WACH,OAAO;EACT,SACE,OAAO,OAAO;CAClB;AACF;AAEA,SAAgB,eAAe,QAA8B;CAC3D,OAAO,CAAC,OAAO,YAAY,OAAO,SAAS,iBAAiB,YAAY;AAC1E;AAEA,SAAgB,iBAAiB,SAAyC;CACxE,OAAO,QAAQ,QACZ,MACE,EAAE,SAAS,eACV,EAAE,cAAc,UAChB,EAAE,gBAAgB,UAClB,EAAE,gBAAgB,MACnB,EAAE,SAAS,YAAY,EAAE,eAAe,UACxC,EAAE,SAAS,kBAAkB,EAAE,eAAe,MACnD;AACF;AAEA,SAAgB,eAAe,QAA8B;CAC3D,OAAO,OAAO,SAAS,cACnB,OAAO,eAAe,OAAO,OAC7B,OAAO;AACb;AAEA,SAAgB,eAAe,QAA8B;CAC3D,IAAI,OAAO,SAAS,eAAe,OAAO,WACxC,OAAO,eAAe,OAAO,SAAS,IAAI;CAE5C,IAAI,OAAO,SAAS,YAAY,OAAO,YACrC,OAAO,cAAc,eAAe,OAAO,UAAU,EAAE;CAEzD,IAAI,OAAO,SAAS,kBAAkB,OAAO,YAC3C,OAAO,mBAAmB,eAAe,OAAO,UAAU,EAAE;CAE9D,OAAO;AACT;AAEA,SAAgB,kBACd,KACA,SACQ;CACR,MAAM,WAAW,SAAS,aAAa,OAAO,MAAM;CACpD,MAAM,SAAS,SAAS,UAAU;CAClC,OAAO,GAAG,IAAI,OAAO,SAAS,IAAI,SAAS,KAAK,MAAM,IAAI,eAAe,GAAG,EAAE;AAChF;AAEA,SAAgB,gBAAgB,MAAc,QAA0B;CACtE,OAAO,eAAe,KAAK,QAAQ,OAAO,KAAK,IAAI,EAAE;AACvD;AAEA,SAAgB,qBAAqB,SAAmC;CACtE,MAAM,UAAU,iBAAiB,OAAO;CACxC,IAAI,QAAQ,WAAW,GAAG,OAAO,CAAC,eAAe;CACjD,OAAO;EACL;EACA,GAAG,QAAQ,KAAK,MAAM,GAAG,eAAe,CAAC,EAAE,IAAI,eAAe,CAAC,EAAE,EAAE;EACnE;CACF;AACF;AAEA,SAAgB,uBAAuB,OAG1B;CACX,MAAM,iBAAiB,MAAM,WAAW,CAAC,EAAC,CAAE,QAAQ,MAAM,EAAE,MAAM;CAClE,IAAI,cAAc,WAAW,GAAG,OAAO,CAAC,aAAa;CAUrD,OAAO;EAAC;EAAa,GATL,cAAc,KAAK,UAAU;GAO3C,OAAO,KANM,MAAM,QAAQ,KAAK,YAAY;IAC1C,MAAM,MAAM,MAAM,QAAQ,MAAM,MAAM,EAAE,SAAS,OAAO;IACxD,IAAI,CAAC,KAAK,MAAM,IAAI,MAAM,UAAU,QAAQ,WAAW;IACvD,MAAM,WAAW,CAAC,IAAI,YAAY,MAAM,mBAAmB,YAAY;IACvE,OAAO,GAAG,IAAI,KAAK,GAAG,SAAS,GAAG,IAAI,SAAS;GACjD,CACe,CAAC,CAAC,KAAK,EAAE,EAAE;EAC5B,CAC8B;EAAG;CAAG;AACtC;AAEA,SAAgB,yBAAyB,KAG9B;CACT,OAAO,gBAAgB,eAAe,IAAI,IAAI,GAAG,CAC/C,eACA,GAAG,IAAI,QAAQ,KAAK,QAAQ,kBAAkB,GAAG,CAAC,CACpD,CAAC;AACH;AAEA,SAAgB,4BAA4B,KAGjC;CACT,MAAM,OAAO,eAAe,IAAI,IAAI;CACpC,OAAO,gBAAgB,GAAG,KAAK,eAAe;EAC5C,QAAQ,KAAK;EACb,GAAG,qBAAqB,IAAI,OAAO;EACnC;CACF,CAAC;AACH;AAEA,SAAgB,cAAc,OAAe,QAA0B;CACrE,IAAI,OAAO,WAAW,GAAG,OAAO;CAChC,OAAO,MAAM,MAAM,IAAI,OAAO,KAAK,MAAM;AAC3C;AAEA,SAAgB,0BAA0B,QAAoC;CAC5E,MAAM,QAAkB;EACtB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF;CACA,IAAI,OAAO,SAAS,GAAG;EACrB,MAAM,eAAe,OAClB,KAAK,MAAM;GACV,MAAM,OAAO,eAAe,EAAE,IAAI;GAClC,OAAO,kBAAkB,EAAE,KAAK,iBAAiB,KAAK,aAAa,KAAK;EAC1E,CAAC,CAAC,CACD,KAAK,IAAI;EACZ,MAAM,KACJ,wDAAwD,aAAa,KACvE;CACF,OACE,MAAM,KAAK,kDAAkD;CAE/D,OAAO,MAAM,KAAK,IAAI;AACxB;;;;ACjLA,SAAgB,kBAAkB,QAAwB;CACxD,OAAO,OAAO,SAAS,KAAK,IAAI,SAAS,KAAK,KAAK,QAAQ,UAAU;AACvE;AAEA,eAAsB,mBACpB,QACA,SACiB;CACjB,MAAM,SAAS,kBAAkB,MAAM;CACvC,MAAM,MAAM,KAAK,QAAQ,MAAM,GAAG,EAAE,WAAW,KAAK,CAAC;CACrD,MAAM,UAAU,QAAQ,SAAS,OAAO;CACxC,OAAO;AACT;;;;ACFA,eAAsB,sBACpB,KACsD;CACtD,MAAM,aAAa,SACjB,MAAM,IAAI,OAAO,IAAI,+CAA+C,EAClE,QAAQ,EAAE,MAAM,EAAE,aAAa,IAAI,YAAY,EAAE,EACnD,CAAC,CACH;CACA,IAAI,OAAO,UAAU,UAAU,GAAG,OAAO;CAEzC,MAAM,SAAS,EAAE,UACf,gBACA,cAAc,WAAW,MAAM,GAAG,CACpC;CACA,IAAI,CAAC,OAAO,SACV,OAAO,OAAO,KAAK;EACjB,MAAM;EACN,QAAQ,OAAO;CACjB,CAAC;CAEH,OAAO,OAAO,QAAQ,OAAO,MAAM;AACrC;AAEA,SAAS,cAAc,KAAsB;CAC3C,IAAI;EACF,OAAO,KAAK,MAAM,GAAG;CACvB,QAAQ;EACN;CACF;AACF;;;;ACnBA,eAAsB,WACpB,QACmE;CACnE,IAAI,OAAO,MACT,OAAO,eAAe,OAAO,MAAM,OAAO,QAAQ;EAChD,MAAM,SAAS,MAAM,sBAAsB,GAAG;EAC9C,IAAI,OAAO,UAAU,MAAM,GAAG,OAAO,YAAY,OAAO,KAAK;EAC7D,OAAO,SAAS,OAAO,OAAO,MAAM;CACtC,CAAC;CAGH,MAAM,SAAS,MAAM,WAAW,OAAO,UAAU;CACjD,IAAI,OAAO,UAAU,MAAM,GAAG,OAAO,kBAAkB,OAAO,KAAK;CACnE,OAAO,SAAS,OAAO,OAAO,MAAM;AACtC;AAEA,eAAe,SACb,QACA,QACuD;CACvD,MAAM,UAAU,MAAM,OAAO,OAAO,MAAM;CAC1C,MAAM,SAAS,MAAM,mBAAmB,OAAO,QAAQ,OAAO;CAC9D,OAAO,OAAO,QAAQ;EACpB,MAAM,EAAE,QAAQ,OAAO;EACvB,YAAY,aAAa,OAAO,MAAM,YAAY;CACpD,CAAC;AACH;AAEA,SAAS,YAAY,OAAwD;CAC3E,IAAI,MAAM,SAAS,+BACjB,OAAO,OAAO,KAAK,EACjB,SAAS,sCAAsC,MAAM,OAAO,OAAO,iBAAiB,oBAClF,MAAM,QACN,eAAe,CAAC,CAAC,KACnB,IACF,CAAC;CAEH,OAAO,gBAAgB,KAAK;AAC9B"}
@@ -1,12 +1,12 @@
1
1
  const require_cli_main = require('./cli/main.cjs');
2
- const require_run_with_context = require('./run-with-context-DJNnEigg.cjs');
2
+ const require_run_with_context = require('./run-with-context-D8pSrqD_.cjs');
3
3
  const require_config_loader = require('./config-loader-D8x32gEU.cjs');
4
4
  let _praha_byethrow = require("@praha/byethrow");
5
5
  let valibot = require("valibot");
6
6
  valibot = require_cli_main.__toESM(valibot, 1);
7
- let node_fs_promises = require("node:fs/promises");
8
7
  let node_path = require("node:path");
9
8
  node_path = require_cli_main.__toESM(node_path, 1);
9
+ let node_fs_promises = require("node:fs/promises");
10
10
  let prettier_standalone = require("prettier/standalone");
11
11
  prettier_standalone = require_cli_main.__toESM(prettier_standalone, 1);
12
12
  let prettier_plugins_estree_js = require("prettier/plugins/estree.js");
@@ -269,4 +269,4 @@ Object.defineProperty(exports, 'toCodeTypeName', {
269
269
  return toCodeTypeName;
270
270
  }
271
271
  });
272
- //# sourceMappingURL=run-codegen-Ceeosw5x.cjs.map
272
+ //# sourceMappingURL=run-codegen-mclysZuT.cjs.map