@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
package/README.md CHANGED
@@ -77,7 +77,7 @@ The target project is resolved in this order:
77
77
 
78
78
  Commands are noun-first: `orizm <noun> <verb>`. The available nouns are `auth`,
79
79
  `link`, `org`, `project`, `schema`, `codegen`, `key`, `project-user`, `content`,
80
- `bucket`, and `webhook`.
80
+ `bucket`, `webhook`, and `agent`.
81
81
 
82
82
  Global flags available on every command:
83
83
 
@@ -87,6 +87,32 @@ Global flags available on every command:
87
87
 
88
88
  See the [Orizm CLI reference](https://docs.orizm.com/features/cli) for the full list.
89
89
 
90
+ ## AI coding agents (`orizm agent`)
91
+
92
+ `@orizm/cli` bundles a snapshot of the public docs at
93
+ `node_modules/@orizm/cli/dist/docs/`, always version-matched to the installed CLI.
94
+ `orizm agent init` points your AI coding agent at those bundled docs so it generates
95
+ Orizm code against the correct version instead of its (stale) training data.
96
+
97
+ ```sh
98
+ orizm agent init # set up AGENTS.md and CLAUDE.md
99
+ orizm agent init --dry-run # preview the changes without writing
100
+ ```
101
+
102
+ By default it manages both files: `AGENTS.md` holds the canonical reference (the open
103
+ standard many tools read) and `CLAUDE.md` imports it via `@AGENTS.md` so Claude Code
104
+ picks it up without duplicating content. It is idempotent — re-running only updates a
105
+ single managed block. Use `--target <file>` to write just one file. This command needs
106
+ no authentication or project context.
107
+
108
+ **Install `@orizm/cli` as a project devDependency** for this feature. The written
109
+ reference is a project-relative path (`./node_modules/@orizm/cli/dist/docs/`) that points
110
+ at the copy installed in your project, so it stays matched to your project's version. A
111
+ global-only install (`npm install -g`) is not resolved by that path; `orizm agent init`
112
+ warns when the reference can't be resolved.
113
+
114
+ See the [agent command reference](https://docs.orizm.com/features/cli/commands/agent).
115
+
90
116
  ## Schema definition (`@orizm/cli/config`)
91
117
 
92
118
  Write `orizm.config.ts` with `defineConfig`:
@@ -0,0 +1,14 @@
1
+ import { t as defineCommand } from "./cli/main.mjs";
2
+
3
+ //#region src/cli/commands/agent/index.ts
4
+ var agent_default = defineCommand({
5
+ meta: {
6
+ name: "agent",
7
+ description: "Set up AI coding agents to use the bundled Orizm docs"
8
+ },
9
+ subCommands: { init: () => import("./init-CPfpVlUN.mjs").then((m) => m.default) }
10
+ });
11
+
12
+ //#endregion
13
+ export { agent_default as default };
14
+ //# sourceMappingURL=agent-Bd30EhQC.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-Bd30EhQC.mjs","names":[],"sources":["../src/cli/commands/agent/index.ts"],"sourcesContent":["import { defineCommand } from \"../define-command.js\";\n\nexport default defineCommand({\n meta: {\n name: \"agent\",\n description: \"Set up AI coding agents to use the bundled Orizm docs\",\n },\n subCommands: {\n init: () => import(\"./init.js\").then((m) => m.default),\n },\n});\n"],"mappings":";;;AAEA,oBAAe,cAAc;CAC3B,MAAM;EACJ,MAAM;EACN,aAAa;CACf;CACA,aAAa,EACX,YAAY,OAAO,sBAAY,CAAC,MAAM,MAAM,EAAE,OAAO,EACvD;AACF,CAAC"}
@@ -0,0 +1,14 @@
1
+ const require_cli_main = require('./cli/main.cjs');
2
+
3
+ //#region src/cli/commands/agent/index.ts
4
+ var agent_default = require_cli_main.defineCommand({
5
+ meta: {
6
+ name: "agent",
7
+ description: "Set up AI coding agents to use the bundled Orizm docs"
8
+ },
9
+ subCommands: { init: () => Promise.resolve().then(() => require("./init-NaL2N3Go.cjs")).then((m) => m.default) }
10
+ });
11
+
12
+ //#endregion
13
+ exports.default = agent_default;
14
+ //# sourceMappingURL=agent-vC2-9rjt.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-vC2-9rjt.cjs","names":["defineCommand"],"sources":["../src/cli/commands/agent/index.ts"],"sourcesContent":["import { defineCommand } from \"../define-command.js\";\n\nexport default defineCommand({\n meta: {\n name: \"agent\",\n description: \"Set up AI coding agents to use the bundled Orizm docs\",\n },\n subCommands: {\n init: () => import(\"./init.js\").then((m) => m.default),\n },\n});\n"],"mappings":";;;AAEA,oBAAeA,+BAAc;CAC3B,MAAM;EACJ,MAAM;EACN,aAAa;CACf;CACA,aAAa,EACX,iDAAY,wBAAoB,MAAM,MAAM,EAAE,OAAO,EACvD;AACF,CAAC"}
@@ -0,0 +1,18 @@
1
+ const require_cli_main = require('./cli/main.cjs');
2
+
3
+ //#region src/cli/commands/auth/index.ts
4
+ var auth_default = require_cli_main.defineCommand({
5
+ meta: {
6
+ name: "auth",
7
+ description: "Manage authentication with Orizm"
8
+ },
9
+ subCommands: {
10
+ login: () => Promise.resolve().then(() => require("./login-M1IF2MdC.cjs")).then((m) => m.default),
11
+ logout: () => Promise.resolve().then(() => require("./logout-BCSfFgPz.cjs")).then((m) => m.default),
12
+ status: () => Promise.resolve().then(() => require("./status-CqPJTxeK.cjs")).then((m) => m.default)
13
+ }
14
+ });
15
+
16
+ //#endregion
17
+ exports.default = auth_default;
18
+ //# sourceMappingURL=auth-BnXPHgBU.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth-CNbONZuf.cjs","names":["defineCommand"],"sources":["../src/cli/commands/auth/index.ts"],"sourcesContent":["import { defineCommand } from \"../define-command.js\";\n\nexport default defineCommand({\n meta: {\n name: \"auth\",\n description: \"Manage authentication with Orizm\",\n },\n subCommands: {\n login: () => import(\"./login.js\").then((m) => m.default),\n logout: () => import(\"./logout.js\").then((m) => m.default),\n status: () => import(\"./status.js\").then((m) => m.default),\n },\n});\n"],"mappings":";;;AAEA,mBAAeA,+BAAc;CAC3B,MAAM;EACJ,MAAM;EACN,aAAa;CACf;CACA,aAAa;EACX,kDAAa,yBAAqB,MAAM,MAAM,EAAE,OAAO;EACvD,mDAAc,0BAAsB,MAAM,MAAM,EAAE,OAAO;EACzD,mDAAc,0BAAsB,MAAM,MAAM,EAAE,OAAO;CAC3D;AACF,CAAC"}
1
+ {"version":3,"file":"auth-BnXPHgBU.cjs","names":["defineCommand"],"sources":["../src/cli/commands/auth/index.ts"],"sourcesContent":["import { defineCommand } from \"../define-command.js\";\n\nexport default defineCommand({\n meta: {\n name: \"auth\",\n description: \"Manage authentication with Orizm\",\n },\n subCommands: {\n login: () => import(\"./login.js\").then((m) => m.default),\n logout: () => import(\"./logout.js\").then((m) => m.default),\n status: () => import(\"./status.js\").then((m) => m.default),\n },\n});\n"],"mappings":";;;AAEA,mBAAeA,+BAAc;CAC3B,MAAM;EACJ,MAAM;EACN,aAAa;CACf;CACA,aAAa;EACX,kDAAa,yBAAqB,MAAM,MAAM,EAAE,OAAO;EACvD,mDAAc,0BAAsB,MAAM,MAAM,EAAE,OAAO;EACzD,mDAAc,0BAAsB,MAAM,MAAM,EAAE,OAAO;CAC3D;AACF,CAAC"}
@@ -7,12 +7,12 @@ var auth_default = defineCommand({
7
7
  description: "Manage authentication with Orizm"
8
8
  },
9
9
  subCommands: {
10
- login: () => import("./login-FE_dbWMo.mjs").then((m) => m.default),
11
- logout: () => import("./logout-BDbWrGBm.mjs").then((m) => m.default),
12
- status: () => import("./status-fWqXzV0P.mjs").then((m) => m.default)
10
+ login: () => import("./login-Dq2L3bI7.mjs").then((m) => m.default),
11
+ logout: () => import("./logout-DFzQCQKe.mjs").then((m) => m.default),
12
+ status: () => import("./status-D7nOW3R3.mjs").then((m) => m.default)
13
13
  }
14
14
  });
15
15
 
16
16
  //#endregion
17
17
  export { auth_default as default };
18
- //# sourceMappingURL=auth-BGW072BP.mjs.map
18
+ //# sourceMappingURL=auth-DHVtM0sF.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth-BGW072BP.mjs","names":[],"sources":["../src/cli/commands/auth/index.ts"],"sourcesContent":["import { defineCommand } from \"../define-command.js\";\n\nexport default defineCommand({\n meta: {\n name: \"auth\",\n description: \"Manage authentication with Orizm\",\n },\n subCommands: {\n login: () => import(\"./login.js\").then((m) => m.default),\n logout: () => import(\"./logout.js\").then((m) => m.default),\n status: () => import(\"./status.js\").then((m) => m.default),\n },\n});\n"],"mappings":";;;AAEA,mBAAe,cAAc;CAC3B,MAAM;EACJ,MAAM;EACN,aAAa;CACf;CACA,aAAa;EACX,aAAa,OAAO,uBAAa,CAAC,MAAM,MAAM,EAAE,OAAO;EACvD,cAAc,OAAO,wBAAc,CAAC,MAAM,MAAM,EAAE,OAAO;EACzD,cAAc,OAAO,wBAAc,CAAC,MAAM,MAAM,EAAE,OAAO;CAC3D;AACF,CAAC"}
1
+ {"version":3,"file":"auth-DHVtM0sF.mjs","names":[],"sources":["../src/cli/commands/auth/index.ts"],"sourcesContent":["import { defineCommand } from \"../define-command.js\";\n\nexport default defineCommand({\n meta: {\n name: \"auth\",\n description: \"Manage authentication with Orizm\",\n },\n subCommands: {\n login: () => import(\"./login.js\").then((m) => m.default),\n logout: () => import(\"./logout.js\").then((m) => m.default),\n status: () => import(\"./status.js\").then((m) => m.default),\n },\n});\n"],"mappings":";;;AAEA,mBAAe,cAAc;CAC3B,MAAM;EACJ,MAAM;EACN,aAAa;CACf;CACA,aAAa;EACX,aAAa,OAAO,uBAAa,CAAC,MAAM,MAAM,EAAE,OAAO;EACvD,cAAc,OAAO,wBAAc,CAAC,MAAM,MAAM,EAAE,OAAO;EACzD,cAAc,OAAO,wBAAc,CAAC,MAAM,MAAM,EAAE,OAAO;CAC3D;AACF,CAAC"}
@@ -7,11 +7,11 @@ var bucket_default = require_cli_main.defineCommand({
7
7
  description: "Manage buckets and bucket objects"
8
8
  },
9
9
  subCommands: {
10
- list: () => Promise.resolve().then(() => require("./list-BwfpuhmJ.cjs")).then((m) => m.default),
11
- object: () => Promise.resolve().then(() => require("./object-DVqidsEc.cjs")).then((m) => m.default)
10
+ list: () => Promise.resolve().then(() => require("./list-Bo8IMFd0.cjs")).then((m) => m.default),
11
+ object: () => Promise.resolve().then(() => require("./object-CZDLoc9L.cjs")).then((m) => m.default)
12
12
  }
13
13
  });
14
14
 
15
15
  //#endregion
16
16
  exports.default = bucket_default;
17
- //# sourceMappingURL=bucket-mg5QQORh.cjs.map
17
+ //# sourceMappingURL=bucket-CFaYmimY.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"bucket-mg5QQORh.cjs","names":["defineCommand"],"sources":["../src/cli/commands/bucket/index.ts"],"sourcesContent":["import { defineCommand } from \"../define-command.js\";\n\nexport default defineCommand({\n meta: {\n name: \"bucket\",\n description: \"Manage buckets and bucket objects\",\n },\n subCommands: {\n list: () => import(\"./list.js\").then((m) => m.default),\n object: () => import(\"./object/index.js\").then((m) => m.default),\n },\n});\n"],"mappings":";;;AAEA,qBAAeA,+BAAc;CAC3B,MAAM;EACJ,MAAM;EACN,aAAa;CACf;CACA,aAAa;EACX,iDAAY,wBAAoB,MAAM,MAAM,EAAE,OAAO;EACrD,mDAAc,0BAA4B,MAAM,MAAM,EAAE,OAAO;CACjE;AACF,CAAC"}
1
+ {"version":3,"file":"bucket-CFaYmimY.cjs","names":["defineCommand"],"sources":["../src/cli/commands/bucket/index.ts"],"sourcesContent":["import { defineCommand } from \"../define-command.js\";\n\nexport default defineCommand({\n meta: {\n name: \"bucket\",\n description: \"Manage buckets and bucket objects\",\n },\n subCommands: {\n list: () => import(\"./list.js\").then((m) => m.default),\n object: () => import(\"./object/index.js\").then((m) => m.default),\n },\n});\n"],"mappings":";;;AAEA,qBAAeA,+BAAc;CAC3B,MAAM;EACJ,MAAM;EACN,aAAa;CACf;CACA,aAAa;EACX,iDAAY,wBAAoB,MAAM,MAAM,EAAE,OAAO;EACrD,mDAAc,0BAA4B,MAAM,MAAM,EAAE,OAAO;CACjE;AACF,CAAC"}
@@ -7,11 +7,11 @@ var bucket_default = defineCommand({
7
7
  description: "Manage buckets and bucket objects"
8
8
  },
9
9
  subCommands: {
10
- list: () => import("./list-rAn3uOA7.mjs").then((m) => m.default),
11
- object: () => import("./object-qdBdEghr.mjs").then((m) => m.default)
10
+ list: () => import("./list-Ccaec0cs.mjs").then((m) => m.default),
11
+ object: () => import("./object-CqMsEkh9.mjs").then((m) => m.default)
12
12
  }
13
13
  });
14
14
 
15
15
  //#endregion
16
16
  export { bucket_default as default };
17
- //# sourceMappingURL=bucket-DqW-WEYb.mjs.map
17
+ //# sourceMappingURL=bucket-D-lu1xgZ.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"bucket-DqW-WEYb.mjs","names":[],"sources":["../src/cli/commands/bucket/index.ts"],"sourcesContent":["import { defineCommand } from \"../define-command.js\";\n\nexport default defineCommand({\n meta: {\n name: \"bucket\",\n description: \"Manage buckets and bucket objects\",\n },\n subCommands: {\n list: () => import(\"./list.js\").then((m) => m.default),\n object: () => import(\"./object/index.js\").then((m) => m.default),\n },\n});\n"],"mappings":";;;AAEA,qBAAe,cAAc;CAC3B,MAAM;EACJ,MAAM;EACN,aAAa;CACf;CACA,aAAa;EACX,YAAY,OAAO,sBAAY,CAAC,MAAM,MAAM,EAAE,OAAO;EACrD,cAAc,OAAO,wBAAoB,CAAC,MAAM,MAAM,EAAE,OAAO;CACjE;AACF,CAAC"}
1
+ {"version":3,"file":"bucket-D-lu1xgZ.mjs","names":[],"sources":["../src/cli/commands/bucket/index.ts"],"sourcesContent":["import { defineCommand } from \"../define-command.js\";\n\nexport default defineCommand({\n meta: {\n name: \"bucket\",\n description: \"Manage buckets and bucket objects\",\n },\n subCommands: {\n list: () => import(\"./list.js\").then((m) => m.default),\n object: () => import(\"./object/index.js\").then((m) => m.default),\n },\n});\n"],"mappings":";;;AAEA,qBAAe,cAAc;CAC3B,MAAM;EACJ,MAAM;EACN,aAAa;CACf;CACA,aAAa;EACX,YAAY,OAAO,sBAAY,CAAC,MAAM,MAAM,EAAE,OAAO;EACrD,cAAc,OAAO,wBAAoB,CAAC,MAAM,MAAM,EAAE,OAAO;CACjE;AACF,CAAC"}
package/dist/cli/main.cjs CHANGED
@@ -35,7 +35,7 @@ let valibot = require("valibot");
35
35
  valibot = __toESM(valibot, 1);
36
36
 
37
37
  //#region package.json
38
- var version$1 = "3.1.0";
38
+ var version$1 = "3.2.0";
39
39
 
40
40
  //#endregion
41
41
  //#region src/cli/version.ts
@@ -202,17 +202,18 @@ const main = defineCommand({
202
202
  version
203
203
  },
204
204
  subCommands: {
205
- auth: () => Promise.resolve().then(() => require("../auth-CNbONZuf.cjs")).then((m) => m.default),
206
- link: () => Promise.resolve().then(() => require("../link-DYu1Vjlw.cjs")).then((m) => m.default),
207
- org: () => Promise.resolve().then(() => require("../org-C4cVovOM.cjs")).then((m) => m.default),
208
- project: () => Promise.resolve().then(() => require("../project-BX7zvWB1.cjs")).then((m) => m.default),
209
- codegen: () => Promise.resolve().then(() => require("../codegen-BF5b-u46.cjs")).then((m) => m.default),
210
- schema: () => Promise.resolve().then(() => require("../schema-B3iRqvYK.cjs")).then((m) => m.default),
211
- key: () => Promise.resolve().then(() => require("../key-DQr7qRL2.cjs")).then((m) => m.default),
212
- "project-user": () => Promise.resolve().then(() => require("../project-user-Dm0qR-sh.cjs")).then((m) => m.default),
213
- webhook: () => Promise.resolve().then(() => require("../webhook-CbL4QaR5.cjs")).then((m) => m.default),
214
- content: () => Promise.resolve().then(() => require("../content-DMjSwor1.cjs")).then((m) => m.default),
215
- bucket: () => Promise.resolve().then(() => require("../bucket-mg5QQORh.cjs")).then((m) => m.default)
205
+ auth: () => Promise.resolve().then(() => require("../auth-BnXPHgBU.cjs")).then((m) => m.default),
206
+ link: () => Promise.resolve().then(() => require("../link-Cz7MX02S.cjs")).then((m) => m.default),
207
+ org: () => Promise.resolve().then(() => require("../org-Drj3VqIm.cjs")).then((m) => m.default),
208
+ project: () => Promise.resolve().then(() => require("../project-Dm7nr5NV.cjs")).then((m) => m.default),
209
+ codegen: () => Promise.resolve().then(() => require("../codegen-kbbIwPbb.cjs")).then((m) => m.default),
210
+ schema: () => Promise.resolve().then(() => require("../schema-CNSTXsVa.cjs")).then((m) => m.default),
211
+ key: () => Promise.resolve().then(() => require("../key-tRYRqYNo.cjs")).then((m) => m.default),
212
+ "project-user": () => Promise.resolve().then(() => require("../project-user-wLFnHFwB.cjs")).then((m) => m.default),
213
+ webhook: () => Promise.resolve().then(() => require("../webhook-CQeuAqec.cjs")).then((m) => m.default),
214
+ content: () => Promise.resolve().then(() => require("../content-ClRuLcGq.cjs")).then((m) => m.default),
215
+ bucket: () => Promise.resolve().then(() => require("../bucket-CFaYmimY.cjs")).then((m) => m.default),
216
+ agent: () => Promise.resolve().then(() => require("../agent-vC2-9rjt.cjs")).then((m) => m.default)
216
217
  }
217
218
  });
218
219
 
@@ -227,5 +228,6 @@ exports.formatValibotIssues = formatValibotIssues;
227
228
  exports.getOutputState = getOutputState;
228
229
  exports.logger = logger;
229
230
  exports.notice = notice;
231
+ exports.version = version;
230
232
  exports.warn = warn;
231
233
  //# sourceMappingURL=main.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"main.cjs","names":["packageJson.version","colors","LogLevels","colors","v","Result"],"sources":["../../package.json","../../src/cli/version.ts","../../src/cli/ui/output.ts","../../src/cli/ui/error.ts","../../src/cli/commands/define-command.ts","../../src/cli/commands/index.ts","../../src/cli/main.ts"],"sourcesContent":["","import packageJson from \"../../package.json\" with { type: \"json\" };\n\nexport const version = packageJson.version;\n","import {\n createConsola,\n LogLevels,\n type ConsolaReporter,\n type LogObject,\n} from \"consola\";\nimport { colors } from \"consola/utils\";\n\n// stdout は機械可読な「結果」専用に空けておきたいので、ログ・進捗・プロンプトは\n// すべて stderr に出す。consola の組み込み reporter は info 系を stdout に流すため、\n// その分離を保証する目的で自前 reporter を持つ。\ntype OutputState = {\n json: boolean;\n color: boolean;\n};\n\nlet state: OutputState = { json: false, color: false };\n\nexport function getOutputState(): OutputState {\n return state;\n}\n\nconst levelColor: Record<string, (text: string) => string> = {\n fatal: colors.red,\n error: colors.red,\n warn: colors.yellow,\n info: colors.cyan,\n success: colors.green,\n start: colors.cyan,\n debug: colors.gray,\n trace: colors.gray,\n};\n\nfunction formatArg(arg: unknown): string {\n if (typeof arg === \"string\") return arg;\n if (arg instanceof Error) return arg.stack ?? arg.message;\n return JSON.stringify(arg);\n}\n\nconst stderrReporter: ConsolaReporter = {\n log(logObj: LogObject) {\n const message = logObj.args.map(formatArg).join(\" \");\n\n if (state.json) {\n process.stderr.write(\n JSON.stringify({ level: logObj.type, message }) + \"\\n\",\n );\n return;\n }\n\n const colorize = state.color\n ? (levelColor[logObj.type] ?? ((text: string) => text))\n : (text: string) => text;\n const prefix = logObj.type === \"log\" ? \"\" : `${colorize(logObj.type)} `;\n process.stderr.write(`${prefix}${message}\\n`);\n },\n};\n\nexport const logger = createConsola({\n level: LogLevels.warn,\n reporters: [stderrReporter],\n});\n\nfunction isEnvEnabled(value: string | undefined): boolean {\n return value != null && value !== \"\" && value !== \"0\" && value !== \"false\";\n}\n\n// citty の ParsedArgs はインデックスシグネチャを持ち各フラグの型が boolean に絞れないため、緩く受けて自前で判定する。\nexport function configureOutput(args: Record<string, unknown>): void {\n const debug = args.debug === true || isEnvEnabled(process.env.ORIZM_DEBUG);\n const noColorFlag = args[\"no-color\"] === true || args.noColor === true;\n const noColorEnv =\n process.env.NO_COLOR != null && process.env.NO_COLOR !== \"\";\n const color = !noColorFlag && !noColorEnv && process.stderr.isTTY === true;\n\n state = { json: args.json === true, color };\n logger.level = debug ? LogLevels.debug : LogLevels.warn;\n}\n\nexport function isDebugEnabled(): boolean {\n return logger.level >= LogLevels.debug;\n}\n\n// 進捗・案内など、log level に関わらず常に見せたい user-facing メッセージを stderr に出す。\n// debug ログとは性質が違うため logger.level の影響を受けない経路にする。\nexport function notice(message: string): void {\n if (state.json) {\n process.stderr.write(JSON.stringify({ level: \"info\", message }) + \"\\n\");\n return;\n }\n process.stderr.write(message + \"\\n\");\n}\n\n// notice の警告版。コマンド結果と縦に並んでも見分けが付くよう、メッセージ全体を警告色にする。\nexport function warn(message: string): void {\n if (state.json) {\n process.stderr.write(JSON.stringify({ level: \"warn\", message }) + \"\\n\");\n return;\n }\n process.stderr.write((state.color ? colors.yellow(message) : message) + \"\\n\");\n}\n","import * as v from \"valibot\";\nimport { colors } from \"consola/utils\";\nimport { logger, isDebugEnabled } from \"./output.js\";\n\nexport function reportUnexpectedError(error: unknown): void {\n if (isDebugEnabled()) {\n logger.error(\n error instanceof Error ? (error.stack ?? error.message) : String(error),\n );\n return;\n }\n const message =\n error instanceof Error ? error.message : \"An unexpected error occurred.\";\n logger.error(\n `Unexpected error: ${message}\\nRun again with --debug to see the full stack trace.`,\n );\n}\n\nexport function formatValibotIssues(\n issues: v.BaseIssue<unknown>[],\n color: boolean,\n): string {\n return issues\n .map((issue) => {\n const path = resolveIssuePath(issue);\n const message = color ? colors.red(issue.message) : issue.message;\n const location = color ? colors.yellow(path) : path;\n return ` ${message} (at ${location})`;\n })\n .join(\"\\n\");\n}\n\n// 数値インデックスのままでは配列のどの要素か分からないため、name 値(テーブル名・カラム名)に置き換える。\nfunction resolveIssuePath(issue: v.BaseIssue<unknown>): string {\n const dotPath = v.getDotPath(issue);\n const pathInfo = issue.path;\n if (dotPath == null || pathInfo == null) {\n return \"\";\n }\n\n const pathParts = dotPath.split(\".\");\n let pathInfoIndex = 0;\n\n for (let i = 0; i < pathParts.length; i++) {\n const part = pathParts[i];\n if (!/^\\d+$/.test(part)) {\n continue;\n }\n\n const index = parseInt(part, 10);\n for (let j = pathInfoIndex; j < pathInfo.length; j++) {\n const pathItem = pathInfo[j];\n if (pathItem.type === \"array\" && pathItem.key === index) {\n if (\n pathItem.value != null &&\n typeof pathItem.value === \"object\" &&\n \"name\" in pathItem.value\n ) {\n pathParts[i] = String(pathItem.value.name);\n pathInfoIndex = j + 1;\n break;\n }\n }\n }\n }\n\n return pathParts.join(\".\");\n}\n","import {\n defineCommand as cittyDefineCommand,\n type ArgsDef,\n type CommandContext,\n type CommandDef,\n} from \"citty\";\nimport { Result } from \"@praha/byethrow\";\nimport { configureOutput, getOutputState, logger } from \"../ui/output.js\";\nimport { reportUnexpectedError } from \"../ui/error.js\";\n\n// 各コマンドが自分の出すエラーを変換して返す表示用の失敗。コマンドの外(ここ)はドメインのエラー型を知らない。\nexport type CommandFailure = { message: string; exitCode?: number };\n\nexport type CommandOutput = {\n json: unknown;\n // --json 時に重い整形を実行させないため遅延評価にする。\n text: () => string;\n};\n\ntype CommandHandler<T extends ArgsDef> = (\n context: CommandContext<T>,\n) => Promise<Result.Result<CommandOutput | undefined, CommandFailure>>;\n\ntype OrizmCommandDef<T extends ArgsDef> = Omit<CommandDef<T>, \"run\"> & {\n run?: CommandHandler<T>;\n};\n\n// citty の defineCommand をラップし、run 実行前後の共通処理(出力設定・結果出力・Result.fail / throw の扱い)を集約する。\n// 各コマンドの run は副作用で stdout に書かず、結果を Result として返すだけにする。\nexport function defineCommand<T extends ArgsDef>(\n def: OrizmCommandDef<T>,\n): CommandDef<T> {\n const { run } = def;\n if (!run) {\n return cittyDefineCommand(def);\n }\n\n return cittyDefineCommand({\n ...def,\n run: async (context) => {\n configureOutput(context.args);\n try {\n const result = await run(context);\n if (Result.isFailure(result)) {\n logger.error(result.error.message);\n process.exitCode = result.error.exitCode ?? 1;\n return;\n }\n writeOutput(result.value);\n } catch (error) {\n reportUnexpectedError(error);\n process.exitCode = 1;\n }\n },\n });\n}\n\n// コマンド結果の stdout 出力はここに集約する。他所が stdout を汚すと --json のパイプが壊れるため。\nfunction writeOutput(output: CommandOutput | undefined): void {\n if (output == null) return;\n if (getOutputState().json) {\n process.stdout.write(JSON.stringify(output.json, null, 2) + \"\\n\");\n } else {\n const text = output.text();\n process.stdout.write(text.endsWith(\"\\n\") ? text : text + \"\\n\");\n }\n}\n","import { version } from \"../version.js\";\nimport { defineCommand } from \"./define-command.js\";\n\nexport const main = defineCommand({\n meta: {\n name: \"orizm\",\n description: \"Orizm CLI\",\n version,\n },\n subCommands: {\n auth: () => import(\"./auth/index.js\").then((m) => m.default),\n link: () => import(\"./link.js\").then((m) => m.default),\n org: () => import(\"./org/index.js\").then((m) => m.default),\n project: () => import(\"./project/index.js\").then((m) => m.default),\n codegen: () => import(\"./codegen/index.js\").then((m) => m.default),\n schema: () => import(\"./schema/index.js\").then((m) => m.default),\n key: () => import(\"./key/index.js\").then((m) => m.default),\n \"project-user\": () =>\n import(\"./project-user/index.js\").then((m) => m.default),\n webhook: () => import(\"./webhook/index.js\").then((m) => m.default),\n content: () => import(\"./content/index.js\").then((m) => m.default),\n bucket: () => import(\"./bucket/index.js\").then((m) => m.default),\n },\n});\n","#!/usr/bin/env node\n\nimport { runMain } from \"citty\";\nimport { main } from \"./commands/index.js\";\n\nvoid runMain(main);\n"],"mappings":"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"}
1
+ {"version":3,"file":"main.cjs","names":["packageJson.version","colors","LogLevels","colors","v","Result"],"sources":["../../package.json","../../src/cli/version.ts","../../src/cli/ui/output.ts","../../src/cli/ui/error.ts","../../src/cli/commands/define-command.ts","../../src/cli/commands/index.ts","../../src/cli/main.ts"],"sourcesContent":["","import packageJson from \"../../package.json\" with { type: \"json\" };\n\nexport const version = packageJson.version;\n","import {\n createConsola,\n LogLevels,\n type ConsolaReporter,\n type LogObject,\n} from \"consola\";\nimport { colors } from \"consola/utils\";\n\n// stdout は機械可読な「結果」専用に空けておきたいので、ログ・進捗・プロンプトは\n// すべて stderr に出す。consola の組み込み reporter は info 系を stdout に流すため、\n// その分離を保証する目的で自前 reporter を持つ。\ntype OutputState = {\n json: boolean;\n color: boolean;\n};\n\nlet state: OutputState = { json: false, color: false };\n\nexport function getOutputState(): OutputState {\n return state;\n}\n\nconst levelColor: Record<string, (text: string) => string> = {\n fatal: colors.red,\n error: colors.red,\n warn: colors.yellow,\n info: colors.cyan,\n success: colors.green,\n start: colors.cyan,\n debug: colors.gray,\n trace: colors.gray,\n};\n\nfunction formatArg(arg: unknown): string {\n if (typeof arg === \"string\") return arg;\n if (arg instanceof Error) return arg.stack ?? arg.message;\n return JSON.stringify(arg);\n}\n\nconst stderrReporter: ConsolaReporter = {\n log(logObj: LogObject) {\n const message = logObj.args.map(formatArg).join(\" \");\n\n if (state.json) {\n process.stderr.write(\n JSON.stringify({ level: logObj.type, message }) + \"\\n\",\n );\n return;\n }\n\n const colorize = state.color\n ? (levelColor[logObj.type] ?? ((text: string) => text))\n : (text: string) => text;\n const prefix = logObj.type === \"log\" ? \"\" : `${colorize(logObj.type)} `;\n process.stderr.write(`${prefix}${message}\\n`);\n },\n};\n\nexport const logger = createConsola({\n level: LogLevels.warn,\n reporters: [stderrReporter],\n});\n\nfunction isEnvEnabled(value: string | undefined): boolean {\n return value != null && value !== \"\" && value !== \"0\" && value !== \"false\";\n}\n\n// citty の ParsedArgs はインデックスシグネチャを持ち各フラグの型が boolean に絞れないため、緩く受けて自前で判定する。\nexport function configureOutput(args: Record<string, unknown>): void {\n const debug = args.debug === true || isEnvEnabled(process.env.ORIZM_DEBUG);\n const noColorFlag = args[\"no-color\"] === true || args.noColor === true;\n const noColorEnv =\n process.env.NO_COLOR != null && process.env.NO_COLOR !== \"\";\n const color = !noColorFlag && !noColorEnv && process.stderr.isTTY === true;\n\n state = { json: args.json === true, color };\n logger.level = debug ? LogLevels.debug : LogLevels.warn;\n}\n\nexport function isDebugEnabled(): boolean {\n return logger.level >= LogLevels.debug;\n}\n\n// 進捗・案内など、log level に関わらず常に見せたい user-facing メッセージを stderr に出す。\n// debug ログとは性質が違うため logger.level の影響を受けない経路にする。\nexport function notice(message: string): void {\n if (state.json) {\n process.stderr.write(JSON.stringify({ level: \"info\", message }) + \"\\n\");\n return;\n }\n process.stderr.write(message + \"\\n\");\n}\n\n// notice の警告版。コマンド結果と縦に並んでも見分けが付くよう、メッセージ全体を警告色にする。\nexport function warn(message: string): void {\n if (state.json) {\n process.stderr.write(JSON.stringify({ level: \"warn\", message }) + \"\\n\");\n return;\n }\n process.stderr.write((state.color ? colors.yellow(message) : message) + \"\\n\");\n}\n","import * as v from \"valibot\";\nimport { colors } from \"consola/utils\";\nimport { logger, isDebugEnabled } from \"./output.js\";\n\nexport function reportUnexpectedError(error: unknown): void {\n if (isDebugEnabled()) {\n logger.error(\n error instanceof Error ? (error.stack ?? error.message) : String(error),\n );\n return;\n }\n const message =\n error instanceof Error ? error.message : \"An unexpected error occurred.\";\n logger.error(\n `Unexpected error: ${message}\\nRun again with --debug to see the full stack trace.`,\n );\n}\n\nexport function formatValibotIssues(\n issues: v.BaseIssue<unknown>[],\n color: boolean,\n): string {\n return issues\n .map((issue) => {\n const path = resolveIssuePath(issue);\n const message = color ? colors.red(issue.message) : issue.message;\n const location = color ? colors.yellow(path) : path;\n return ` ${message} (at ${location})`;\n })\n .join(\"\\n\");\n}\n\n// 数値インデックスのままでは配列のどの要素か分からないため、name 値(テーブル名・カラム名)に置き換える。\nfunction resolveIssuePath(issue: v.BaseIssue<unknown>): string {\n const dotPath = v.getDotPath(issue);\n const pathInfo = issue.path;\n if (dotPath == null || pathInfo == null) {\n return \"\";\n }\n\n const pathParts = dotPath.split(\".\");\n let pathInfoIndex = 0;\n\n for (let i = 0; i < pathParts.length; i++) {\n const part = pathParts[i];\n if (!/^\\d+$/.test(part)) {\n continue;\n }\n\n const index = parseInt(part, 10);\n for (let j = pathInfoIndex; j < pathInfo.length; j++) {\n const pathItem = pathInfo[j];\n if (pathItem.type === \"array\" && pathItem.key === index) {\n if (\n pathItem.value != null &&\n typeof pathItem.value === \"object\" &&\n \"name\" in pathItem.value\n ) {\n pathParts[i] = String(pathItem.value.name);\n pathInfoIndex = j + 1;\n break;\n }\n }\n }\n }\n\n return pathParts.join(\".\");\n}\n","import {\n defineCommand as cittyDefineCommand,\n type ArgsDef,\n type CommandContext,\n type CommandDef,\n} from \"citty\";\nimport { Result } from \"@praha/byethrow\";\nimport { configureOutput, getOutputState, logger } from \"../ui/output.js\";\nimport { reportUnexpectedError } from \"../ui/error.js\";\n\n// 各コマンドが自分の出すエラーを変換して返す表示用の失敗。コマンドの外(ここ)はドメインのエラー型を知らない。\nexport type CommandFailure = { message: string; exitCode?: number };\n\nexport type CommandOutput = {\n json: unknown;\n // --json 時に重い整形を実行させないため遅延評価にする。\n text: () => string;\n};\n\ntype CommandHandler<T extends ArgsDef> = (\n context: CommandContext<T>,\n) => Promise<Result.Result<CommandOutput | undefined, CommandFailure>>;\n\ntype OrizmCommandDef<T extends ArgsDef> = Omit<CommandDef<T>, \"run\"> & {\n run?: CommandHandler<T>;\n};\n\n// citty の defineCommand をラップし、run 実行前後の共通処理(出力設定・結果出力・Result.fail / throw の扱い)を集約する。\n// 各コマンドの run は副作用で stdout に書かず、結果を Result として返すだけにする。\nexport function defineCommand<T extends ArgsDef>(\n def: OrizmCommandDef<T>,\n): CommandDef<T> {\n const { run } = def;\n if (!run) {\n return cittyDefineCommand(def);\n }\n\n return cittyDefineCommand({\n ...def,\n run: async (context) => {\n configureOutput(context.args);\n try {\n const result = await run(context);\n if (Result.isFailure(result)) {\n logger.error(result.error.message);\n process.exitCode = result.error.exitCode ?? 1;\n return;\n }\n writeOutput(result.value);\n } catch (error) {\n reportUnexpectedError(error);\n process.exitCode = 1;\n }\n },\n });\n}\n\n// コマンド結果の stdout 出力はここに集約する。他所が stdout を汚すと --json のパイプが壊れるため。\nfunction writeOutput(output: CommandOutput | undefined): void {\n if (output == null) return;\n if (getOutputState().json) {\n process.stdout.write(JSON.stringify(output.json, null, 2) + \"\\n\");\n } else {\n const text = output.text();\n process.stdout.write(text.endsWith(\"\\n\") ? text : text + \"\\n\");\n }\n}\n","import { version } from \"../version.js\";\nimport { defineCommand } from \"./define-command.js\";\n\nexport const main = defineCommand({\n meta: {\n name: \"orizm\",\n description: \"Orizm CLI\",\n version,\n },\n subCommands: {\n auth: () => import(\"./auth/index.js\").then((m) => m.default),\n link: () => import(\"./link.js\").then((m) => m.default),\n org: () => import(\"./org/index.js\").then((m) => m.default),\n project: () => import(\"./project/index.js\").then((m) => m.default),\n codegen: () => import(\"./codegen/index.js\").then((m) => m.default),\n schema: () => import(\"./schema/index.js\").then((m) => m.default),\n key: () => import(\"./key/index.js\").then((m) => m.default),\n \"project-user\": () =>\n import(\"./project-user/index.js\").then((m) => m.default),\n webhook: () => import(\"./webhook/index.js\").then((m) => m.default),\n content: () => import(\"./content/index.js\").then((m) => m.default),\n bucket: () => import(\"./bucket/index.js\").then((m) => m.default),\n agent: () => import(\"./agent/index.js\").then((m) => m.default),\n },\n});\n","#!/usr/bin/env node\n\nimport { runMain } from \"citty\";\nimport { main } from \"./commands/index.js\";\n\nvoid runMain(main);\n"],"mappings":"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"}
package/dist/cli/main.mjs CHANGED
@@ -6,7 +6,7 @@ import { colors } from "consola/utils";
6
6
  import * as v from "valibot";
7
7
 
8
8
  //#region package.json
9
- var version$1 = "3.1.0";
9
+ var version$1 = "3.2.0";
10
10
 
11
11
  //#endregion
12
12
  //#region src/cli/version.ts
@@ -173,17 +173,18 @@ const main = defineCommand$1({
173
173
  version
174
174
  },
175
175
  subCommands: {
176
- auth: () => import("../auth-BGW072BP.mjs").then((m) => m.default),
177
- link: () => import("../link-BluFyxEL.mjs").then((m) => m.default),
178
- org: () => import("../org-CPhTRTks.mjs").then((m) => m.default),
179
- project: () => import("../project-CaXD3QBs.mjs").then((m) => m.default),
180
- codegen: () => import("../codegen-DZOB4ttR.mjs").then((m) => m.default),
181
- schema: () => import("../schema-exG250MU.mjs").then((m) => m.default),
182
- key: () => import("../key-C71Ffll9.mjs").then((m) => m.default),
183
- "project-user": () => import("../project-user-Cp7i6orv.mjs").then((m) => m.default),
184
- webhook: () => import("../webhook-CpZ1-Ho5.mjs").then((m) => m.default),
185
- content: () => import("../content-BOb6NC8M.mjs").then((m) => m.default),
186
- bucket: () => import("../bucket-DqW-WEYb.mjs").then((m) => m.default)
176
+ auth: () => import("../auth-DHVtM0sF.mjs").then((m) => m.default),
177
+ link: () => import("../link-Bd55x5Zf.mjs").then((m) => m.default),
178
+ org: () => import("../org-Co-rjfr-.mjs").then((m) => m.default),
179
+ project: () => import("../project-C7qWFjMV.mjs").then((m) => m.default),
180
+ codegen: () => import("../codegen-BKE_IYoM.mjs").then((m) => m.default),
181
+ schema: () => import("../schema-BL6SlLtH.mjs").then((m) => m.default),
182
+ key: () => import("../key-CyVxu3Uk.mjs").then((m) => m.default),
183
+ "project-user": () => import("../project-user-D9h_QBc0.mjs").then((m) => m.default),
184
+ webhook: () => import("../webhook-BT3cHrq5.mjs").then((m) => m.default),
185
+ content: () => import("../content-DWnYo6ad.mjs").then((m) => m.default),
186
+ bucket: () => import("../bucket-D-lu1xgZ.mjs").then((m) => m.default),
187
+ agent: () => import("../agent-Bd30EhQC.mjs").then((m) => m.default)
187
188
  }
188
189
  });
189
190
 
@@ -192,5 +193,5 @@ const main = defineCommand$1({
192
193
  runMain(main);
193
194
 
194
195
  //#endregion
195
- export { notice as a, logger as i, formatValibotIssues as n, warn as o, getOutputState as r, defineCommand$1 as t };
196
+ export { notice as a, logger as i, formatValibotIssues as n, warn as o, getOutputState as r, version as s, defineCommand$1 as t };
196
197
  //# sourceMappingURL=main.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"main.mjs","names":["packageJson.version","defineCommand","cittyDefineCommand","defineCommand"],"sources":["../../package.json","../../src/cli/version.ts","../../src/cli/ui/output.ts","../../src/cli/ui/error.ts","../../src/cli/commands/define-command.ts","../../src/cli/commands/index.ts","../../src/cli/main.ts"],"sourcesContent":["","import packageJson from \"../../package.json\" with { type: \"json\" };\n\nexport const version = packageJson.version;\n","import {\n createConsola,\n LogLevels,\n type ConsolaReporter,\n type LogObject,\n} from \"consola\";\nimport { colors } from \"consola/utils\";\n\n// stdout は機械可読な「結果」専用に空けておきたいので、ログ・進捗・プロンプトは\n// すべて stderr に出す。consola の組み込み reporter は info 系を stdout に流すため、\n// その分離を保証する目的で自前 reporter を持つ。\ntype OutputState = {\n json: boolean;\n color: boolean;\n};\n\nlet state: OutputState = { json: false, color: false };\n\nexport function getOutputState(): OutputState {\n return state;\n}\n\nconst levelColor: Record<string, (text: string) => string> = {\n fatal: colors.red,\n error: colors.red,\n warn: colors.yellow,\n info: colors.cyan,\n success: colors.green,\n start: colors.cyan,\n debug: colors.gray,\n trace: colors.gray,\n};\n\nfunction formatArg(arg: unknown): string {\n if (typeof arg === \"string\") return arg;\n if (arg instanceof Error) return arg.stack ?? arg.message;\n return JSON.stringify(arg);\n}\n\nconst stderrReporter: ConsolaReporter = {\n log(logObj: LogObject) {\n const message = logObj.args.map(formatArg).join(\" \");\n\n if (state.json) {\n process.stderr.write(\n JSON.stringify({ level: logObj.type, message }) + \"\\n\",\n );\n return;\n }\n\n const colorize = state.color\n ? (levelColor[logObj.type] ?? ((text: string) => text))\n : (text: string) => text;\n const prefix = logObj.type === \"log\" ? \"\" : `${colorize(logObj.type)} `;\n process.stderr.write(`${prefix}${message}\\n`);\n },\n};\n\nexport const logger = createConsola({\n level: LogLevels.warn,\n reporters: [stderrReporter],\n});\n\nfunction isEnvEnabled(value: string | undefined): boolean {\n return value != null && value !== \"\" && value !== \"0\" && value !== \"false\";\n}\n\n// citty の ParsedArgs はインデックスシグネチャを持ち各フラグの型が boolean に絞れないため、緩く受けて自前で判定する。\nexport function configureOutput(args: Record<string, unknown>): void {\n const debug = args.debug === true || isEnvEnabled(process.env.ORIZM_DEBUG);\n const noColorFlag = args[\"no-color\"] === true || args.noColor === true;\n const noColorEnv =\n process.env.NO_COLOR != null && process.env.NO_COLOR !== \"\";\n const color = !noColorFlag && !noColorEnv && process.stderr.isTTY === true;\n\n state = { json: args.json === true, color };\n logger.level = debug ? LogLevels.debug : LogLevels.warn;\n}\n\nexport function isDebugEnabled(): boolean {\n return logger.level >= LogLevels.debug;\n}\n\n// 進捗・案内など、log level に関わらず常に見せたい user-facing メッセージを stderr に出す。\n// debug ログとは性質が違うため logger.level の影響を受けない経路にする。\nexport function notice(message: string): void {\n if (state.json) {\n process.stderr.write(JSON.stringify({ level: \"info\", message }) + \"\\n\");\n return;\n }\n process.stderr.write(message + \"\\n\");\n}\n\n// notice の警告版。コマンド結果と縦に並んでも見分けが付くよう、メッセージ全体を警告色にする。\nexport function warn(message: string): void {\n if (state.json) {\n process.stderr.write(JSON.stringify({ level: \"warn\", message }) + \"\\n\");\n return;\n }\n process.stderr.write((state.color ? colors.yellow(message) : message) + \"\\n\");\n}\n","import * as v from \"valibot\";\nimport { colors } from \"consola/utils\";\nimport { logger, isDebugEnabled } from \"./output.js\";\n\nexport function reportUnexpectedError(error: unknown): void {\n if (isDebugEnabled()) {\n logger.error(\n error instanceof Error ? (error.stack ?? error.message) : String(error),\n );\n return;\n }\n const message =\n error instanceof Error ? error.message : \"An unexpected error occurred.\";\n logger.error(\n `Unexpected error: ${message}\\nRun again with --debug to see the full stack trace.`,\n );\n}\n\nexport function formatValibotIssues(\n issues: v.BaseIssue<unknown>[],\n color: boolean,\n): string {\n return issues\n .map((issue) => {\n const path = resolveIssuePath(issue);\n const message = color ? colors.red(issue.message) : issue.message;\n const location = color ? colors.yellow(path) : path;\n return ` ${message} (at ${location})`;\n })\n .join(\"\\n\");\n}\n\n// 数値インデックスのままでは配列のどの要素か分からないため、name 値(テーブル名・カラム名)に置き換える。\nfunction resolveIssuePath(issue: v.BaseIssue<unknown>): string {\n const dotPath = v.getDotPath(issue);\n const pathInfo = issue.path;\n if (dotPath == null || pathInfo == null) {\n return \"\";\n }\n\n const pathParts = dotPath.split(\".\");\n let pathInfoIndex = 0;\n\n for (let i = 0; i < pathParts.length; i++) {\n const part = pathParts[i];\n if (!/^\\d+$/.test(part)) {\n continue;\n }\n\n const index = parseInt(part, 10);\n for (let j = pathInfoIndex; j < pathInfo.length; j++) {\n const pathItem = pathInfo[j];\n if (pathItem.type === \"array\" && pathItem.key === index) {\n if (\n pathItem.value != null &&\n typeof pathItem.value === \"object\" &&\n \"name\" in pathItem.value\n ) {\n pathParts[i] = String(pathItem.value.name);\n pathInfoIndex = j + 1;\n break;\n }\n }\n }\n }\n\n return pathParts.join(\".\");\n}\n","import {\n defineCommand as cittyDefineCommand,\n type ArgsDef,\n type CommandContext,\n type CommandDef,\n} from \"citty\";\nimport { Result } from \"@praha/byethrow\";\nimport { configureOutput, getOutputState, logger } from \"../ui/output.js\";\nimport { reportUnexpectedError } from \"../ui/error.js\";\n\n// 各コマンドが自分の出すエラーを変換して返す表示用の失敗。コマンドの外(ここ)はドメインのエラー型を知らない。\nexport type CommandFailure = { message: string; exitCode?: number };\n\nexport type CommandOutput = {\n json: unknown;\n // --json 時に重い整形を実行させないため遅延評価にする。\n text: () => string;\n};\n\ntype CommandHandler<T extends ArgsDef> = (\n context: CommandContext<T>,\n) => Promise<Result.Result<CommandOutput | undefined, CommandFailure>>;\n\ntype OrizmCommandDef<T extends ArgsDef> = Omit<CommandDef<T>, \"run\"> & {\n run?: CommandHandler<T>;\n};\n\n// citty の defineCommand をラップし、run 実行前後の共通処理(出力設定・結果出力・Result.fail / throw の扱い)を集約する。\n// 各コマンドの run は副作用で stdout に書かず、結果を Result として返すだけにする。\nexport function defineCommand<T extends ArgsDef>(\n def: OrizmCommandDef<T>,\n): CommandDef<T> {\n const { run } = def;\n if (!run) {\n return cittyDefineCommand(def);\n }\n\n return cittyDefineCommand({\n ...def,\n run: async (context) => {\n configureOutput(context.args);\n try {\n const result = await run(context);\n if (Result.isFailure(result)) {\n logger.error(result.error.message);\n process.exitCode = result.error.exitCode ?? 1;\n return;\n }\n writeOutput(result.value);\n } catch (error) {\n reportUnexpectedError(error);\n process.exitCode = 1;\n }\n },\n });\n}\n\n// コマンド結果の stdout 出力はここに集約する。他所が stdout を汚すと --json のパイプが壊れるため。\nfunction writeOutput(output: CommandOutput | undefined): void {\n if (output == null) return;\n if (getOutputState().json) {\n process.stdout.write(JSON.stringify(output.json, null, 2) + \"\\n\");\n } else {\n const text = output.text();\n process.stdout.write(text.endsWith(\"\\n\") ? text : text + \"\\n\");\n }\n}\n","import { version } from \"../version.js\";\nimport { defineCommand } from \"./define-command.js\";\n\nexport const main = defineCommand({\n meta: {\n name: \"orizm\",\n description: \"Orizm CLI\",\n version,\n },\n subCommands: {\n auth: () => import(\"./auth/index.js\").then((m) => m.default),\n link: () => import(\"./link.js\").then((m) => m.default),\n org: () => import(\"./org/index.js\").then((m) => m.default),\n project: () => import(\"./project/index.js\").then((m) => m.default),\n codegen: () => import(\"./codegen/index.js\").then((m) => m.default),\n schema: () => import(\"./schema/index.js\").then((m) => m.default),\n key: () => import(\"./key/index.js\").then((m) => m.default),\n \"project-user\": () =>\n import(\"./project-user/index.js\").then((m) => m.default),\n webhook: () => import(\"./webhook/index.js\").then((m) => m.default),\n content: () => import(\"./content/index.js\").then((m) => m.default),\n bucket: () => import(\"./bucket/index.js\").then((m) => m.default),\n },\n});\n","#!/usr/bin/env node\n\nimport { runMain } from \"citty\";\nimport { main } from \"./commands/index.js\";\n\nvoid runMain(main);\n"],"mappings":";;;;;;;;;;;;ACEA,MAAa,UAAUA;;;;ACcvB,IAAI,QAAqB;CAAE,MAAM;CAAO,OAAO;AAAM;AAErD,SAAgB,iBAA8B;CAC5C,OAAO;AACT;AAEA,MAAM,aAAuD;CAC3D,OAAO,OAAO;CACd,OAAO,OAAO;CACd,MAAM,OAAO;CACb,MAAM,OAAO;CACb,SAAS,OAAO;CAChB,OAAO,OAAO;CACd,OAAO,OAAO;CACd,OAAO,OAAO;AAChB;AAEA,SAAS,UAAU,KAAsB;CACvC,IAAI,OAAO,QAAQ,UAAU,OAAO;CACpC,IAAI,eAAe,OAAO,OAAO,IAAI,SAAS,IAAI;CAClD,OAAO,KAAK,UAAU,GAAG;AAC3B;AAEA,MAAM,iBAAkC,EACtC,IAAI,QAAmB;CACrB,MAAM,UAAU,OAAO,KAAK,IAAI,SAAS,CAAC,CAAC,KAAK,GAAG;CAEnD,IAAI,MAAM,MAAM;EACd,QAAQ,OAAO,MACb,KAAK,UAAU;GAAE,OAAO,OAAO;GAAM;EAAQ,CAAC,IAAI,IACpD;EACA;CACF;CAEA,MAAM,WAAW,MAAM,QAClB,WAAW,OAAO,WAAW,SAAiB,SAC9C,SAAiB;CACtB,MAAM,SAAS,OAAO,SAAS,QAAQ,KAAK,GAAG,SAAS,OAAO,IAAI,EAAE;CACrE,QAAQ,OAAO,MAAM,GAAG,SAAS,QAAQ,GAAG;AAC9C,EACF;AAEA,MAAa,SAAS,cAAc;CAClC,OAAO,UAAU;CACjB,WAAW,CAAC,cAAc;AAC5B,CAAC;AAED,SAAS,aAAa,OAAoC;CACxD,OAAO,SAAS,QAAQ,UAAU,MAAM,UAAU,OAAO,UAAU;AACrE;AAGA,SAAgB,gBAAgB,MAAqC;CACnE,MAAM,QAAQ,KAAK,UAAU,QAAQ,aAAa,QAAQ,IAAI,WAAW;CACzE,MAAM,cAAc,KAAK,gBAAgB,QAAQ,KAAK,YAAY;CAClE,MAAM,aACJ,QAAQ,IAAI,YAAY,QAAQ,QAAQ,IAAI,aAAa;CAC3D,MAAM,QAAQ,CAAC,eAAe,CAAC,cAAc,QAAQ,OAAO,UAAU;CAEtE,QAAQ;EAAE,MAAM,KAAK,SAAS;EAAM;CAAM;CAC1C,OAAO,QAAQ,QAAQ,UAAU,QAAQ,UAAU;AACrD;AAEA,SAAgB,iBAA0B;CACxC,OAAO,OAAO,SAAS,UAAU;AACnC;AAIA,SAAgB,OAAO,SAAuB;CAC5C,IAAI,MAAM,MAAM;EACd,QAAQ,OAAO,MAAM,KAAK,UAAU;GAAE,OAAO;GAAQ;EAAQ,CAAC,IAAI,IAAI;EACtE;CACF;CACA,QAAQ,OAAO,MAAM,UAAU,IAAI;AACrC;AAGA,SAAgB,KAAK,SAAuB;CAC1C,IAAI,MAAM,MAAM;EACd,QAAQ,OAAO,MAAM,KAAK,UAAU;GAAE,OAAO;GAAQ;EAAQ,CAAC,IAAI,IAAI;EACtE;CACF;CACA,QAAQ,OAAO,OAAO,MAAM,QAAQ,OAAO,OAAO,OAAO,IAAI,WAAW,IAAI;AAC9E;;;;AChGA,SAAgB,sBAAsB,OAAsB;CAC1D,IAAI,eAAe,GAAG;EACpB,OAAO,MACL,iBAAiB,QAAS,MAAM,SAAS,MAAM,UAAW,OAAO,KAAK,CACxE;EACA;CACF;CACA,MAAM,UACJ,iBAAiB,QAAQ,MAAM,UAAU;CAC3C,OAAO,MACL,qBAAqB,QAAQ,sDAC/B;AACF;AAEA,SAAgB,oBACd,QACA,OACQ;CACR,OAAO,OACJ,KAAK,UAAU;EACd,MAAM,OAAO,iBAAiB,KAAK;EAGnC,OAAO,KAFS,QAAQ,OAAO,IAAI,MAAM,OAAO,IAAI,MAAM,QAEtC,OADH,QAAQ,OAAO,OAAO,IAAI,IAAI,KACX;CACtC,CAAC,CAAC,CACD,KAAK,IAAI;AACd;AAGA,SAAS,iBAAiB,OAAqC;CAC7D,MAAM,UAAU,EAAE,WAAW,KAAK;CAClC,MAAM,WAAW,MAAM;CACvB,IAAI,WAAW,QAAQ,YAAY,MACjC,OAAO;CAGT,MAAM,YAAY,QAAQ,MAAM,GAAG;CACnC,IAAI,gBAAgB;CAEpB,KAAK,IAAI,IAAI,GAAG,IAAI,UAAU,QAAQ,KAAK;EACzC,MAAM,OAAO,UAAU;EACvB,IAAI,CAAC,QAAQ,KAAK,IAAI,GACpB;EAGF,MAAM,QAAQ,SAAS,MAAM,EAAE;EAC/B,KAAK,IAAI,IAAI,eAAe,IAAI,SAAS,QAAQ,KAAK;GACpD,MAAM,WAAW,SAAS;GAC1B,IAAI,SAAS,SAAS,WAAW,SAAS,QAAQ,OAChD;QACE,SAAS,SAAS,QAClB,OAAO,SAAS,UAAU,YAC1B,UAAU,SAAS,OACnB;KACA,UAAU,KAAK,OAAO,SAAS,MAAM,IAAI;KACzC,gBAAgB,IAAI;KACpB;IACF;;EAEJ;CACF;CAEA,OAAO,UAAU,KAAK,GAAG;AAC3B;;;;ACtCA,SAAgBC,gBACd,KACe;CACf,MAAM,EAAE,QAAQ;CAChB,IAAI,CAAC,KACH,OAAOC,cAAmB,GAAG;CAG/B,OAAOA,cAAmB;EACxB,GAAG;EACH,KAAK,OAAO,YAAY;GACtB,gBAAgB,QAAQ,IAAI;GAC5B,IAAI;IACF,MAAM,SAAS,MAAM,IAAI,OAAO;IAChC,IAAI,OAAO,UAAU,MAAM,GAAG;KAC5B,OAAO,MAAM,OAAO,MAAM,OAAO;KACjC,QAAQ,WAAW,OAAO,MAAM,YAAY;KAC5C;IACF;IACA,YAAY,OAAO,KAAK;GAC1B,SAAS,OAAO;IACd,sBAAsB,KAAK;IAC3B,QAAQ,WAAW;GACrB;EACF;CACF,CAAC;AACH;AAGA,SAAS,YAAY,QAAyC;CAC5D,IAAI,UAAU,MAAM;CACpB,IAAI,eAAe,CAAC,CAAC,MACnB,QAAQ,OAAO,MAAM,KAAK,UAAU,OAAO,MAAM,MAAM,CAAC,IAAI,IAAI;MAC3D;EACL,MAAM,OAAO,OAAO,KAAK;EACzB,QAAQ,OAAO,MAAM,KAAK,SAAS,IAAI,IAAI,OAAO,OAAO,IAAI;CAC/D;AACF;;;;AC/DA,MAAa,OAAOC,gBAAc;CAChC,MAAM;EACJ,MAAM;EACN,aAAa;EACb;CACF;CACA,aAAa;EACX,YAAY,OAAO,uBAAkB,CAAC,MAAM,MAAM,EAAE,OAAO;EAC3D,YAAY,OAAO,uBAAY,CAAC,MAAM,MAAM,EAAE,OAAO;EACrD,WAAW,OAAO,sBAAiB,CAAC,MAAM,MAAM,EAAE,OAAO;EACzD,eAAe,OAAO,0BAAqB,CAAC,MAAM,MAAM,EAAE,OAAO;EACjE,eAAe,OAAO,0BAAqB,CAAC,MAAM,MAAM,EAAE,OAAO;EACjE,cAAc,OAAO,yBAAoB,CAAC,MAAM,MAAM,EAAE,OAAO;EAC/D,WAAW,OAAO,sBAAiB,CAAC,MAAM,MAAM,EAAE,OAAO;EACzD,sBACE,OAAO,+BAA0B,CAAC,MAAM,MAAM,EAAE,OAAO;EACzD,eAAe,OAAO,0BAAqB,CAAC,MAAM,MAAM,EAAE,OAAO;EACjE,eAAe,OAAO,0BAAqB,CAAC,MAAM,MAAM,EAAE,OAAO;EACjE,cAAc,OAAO,yBAAoB,CAAC,MAAM,MAAM,EAAE,OAAO;CACjE;AACF,CAAC;;;;AClBI,QAAQ,IAAI"}
1
+ {"version":3,"file":"main.mjs","names":["packageJson.version","defineCommand","cittyDefineCommand","defineCommand"],"sources":["../../package.json","../../src/cli/version.ts","../../src/cli/ui/output.ts","../../src/cli/ui/error.ts","../../src/cli/commands/define-command.ts","../../src/cli/commands/index.ts","../../src/cli/main.ts"],"sourcesContent":["","import packageJson from \"../../package.json\" with { type: \"json\" };\n\nexport const version = packageJson.version;\n","import {\n createConsola,\n LogLevels,\n type ConsolaReporter,\n type LogObject,\n} from \"consola\";\nimport { colors } from \"consola/utils\";\n\n// stdout は機械可読な「結果」専用に空けておきたいので、ログ・進捗・プロンプトは\n// すべて stderr に出す。consola の組み込み reporter は info 系を stdout に流すため、\n// その分離を保証する目的で自前 reporter を持つ。\ntype OutputState = {\n json: boolean;\n color: boolean;\n};\n\nlet state: OutputState = { json: false, color: false };\n\nexport function getOutputState(): OutputState {\n return state;\n}\n\nconst levelColor: Record<string, (text: string) => string> = {\n fatal: colors.red,\n error: colors.red,\n warn: colors.yellow,\n info: colors.cyan,\n success: colors.green,\n start: colors.cyan,\n debug: colors.gray,\n trace: colors.gray,\n};\n\nfunction formatArg(arg: unknown): string {\n if (typeof arg === \"string\") return arg;\n if (arg instanceof Error) return arg.stack ?? arg.message;\n return JSON.stringify(arg);\n}\n\nconst stderrReporter: ConsolaReporter = {\n log(logObj: LogObject) {\n const message = logObj.args.map(formatArg).join(\" \");\n\n if (state.json) {\n process.stderr.write(\n JSON.stringify({ level: logObj.type, message }) + \"\\n\",\n );\n return;\n }\n\n const colorize = state.color\n ? (levelColor[logObj.type] ?? ((text: string) => text))\n : (text: string) => text;\n const prefix = logObj.type === \"log\" ? \"\" : `${colorize(logObj.type)} `;\n process.stderr.write(`${prefix}${message}\\n`);\n },\n};\n\nexport const logger = createConsola({\n level: LogLevels.warn,\n reporters: [stderrReporter],\n});\n\nfunction isEnvEnabled(value: string | undefined): boolean {\n return value != null && value !== \"\" && value !== \"0\" && value !== \"false\";\n}\n\n// citty の ParsedArgs はインデックスシグネチャを持ち各フラグの型が boolean に絞れないため、緩く受けて自前で判定する。\nexport function configureOutput(args: Record<string, unknown>): void {\n const debug = args.debug === true || isEnvEnabled(process.env.ORIZM_DEBUG);\n const noColorFlag = args[\"no-color\"] === true || args.noColor === true;\n const noColorEnv =\n process.env.NO_COLOR != null && process.env.NO_COLOR !== \"\";\n const color = !noColorFlag && !noColorEnv && process.stderr.isTTY === true;\n\n state = { json: args.json === true, color };\n logger.level = debug ? LogLevels.debug : LogLevels.warn;\n}\n\nexport function isDebugEnabled(): boolean {\n return logger.level >= LogLevels.debug;\n}\n\n// 進捗・案内など、log level に関わらず常に見せたい user-facing メッセージを stderr に出す。\n// debug ログとは性質が違うため logger.level の影響を受けない経路にする。\nexport function notice(message: string): void {\n if (state.json) {\n process.stderr.write(JSON.stringify({ level: \"info\", message }) + \"\\n\");\n return;\n }\n process.stderr.write(message + \"\\n\");\n}\n\n// notice の警告版。コマンド結果と縦に並んでも見分けが付くよう、メッセージ全体を警告色にする。\nexport function warn(message: string): void {\n if (state.json) {\n process.stderr.write(JSON.stringify({ level: \"warn\", message }) + \"\\n\");\n return;\n }\n process.stderr.write((state.color ? colors.yellow(message) : message) + \"\\n\");\n}\n","import * as v from \"valibot\";\nimport { colors } from \"consola/utils\";\nimport { logger, isDebugEnabled } from \"./output.js\";\n\nexport function reportUnexpectedError(error: unknown): void {\n if (isDebugEnabled()) {\n logger.error(\n error instanceof Error ? (error.stack ?? error.message) : String(error),\n );\n return;\n }\n const message =\n error instanceof Error ? error.message : \"An unexpected error occurred.\";\n logger.error(\n `Unexpected error: ${message}\\nRun again with --debug to see the full stack trace.`,\n );\n}\n\nexport function formatValibotIssues(\n issues: v.BaseIssue<unknown>[],\n color: boolean,\n): string {\n return issues\n .map((issue) => {\n const path = resolveIssuePath(issue);\n const message = color ? colors.red(issue.message) : issue.message;\n const location = color ? colors.yellow(path) : path;\n return ` ${message} (at ${location})`;\n })\n .join(\"\\n\");\n}\n\n// 数値インデックスのままでは配列のどの要素か分からないため、name 値(テーブル名・カラム名)に置き換える。\nfunction resolveIssuePath(issue: v.BaseIssue<unknown>): string {\n const dotPath = v.getDotPath(issue);\n const pathInfo = issue.path;\n if (dotPath == null || pathInfo == null) {\n return \"\";\n }\n\n const pathParts = dotPath.split(\".\");\n let pathInfoIndex = 0;\n\n for (let i = 0; i < pathParts.length; i++) {\n const part = pathParts[i];\n if (!/^\\d+$/.test(part)) {\n continue;\n }\n\n const index = parseInt(part, 10);\n for (let j = pathInfoIndex; j < pathInfo.length; j++) {\n const pathItem = pathInfo[j];\n if (pathItem.type === \"array\" && pathItem.key === index) {\n if (\n pathItem.value != null &&\n typeof pathItem.value === \"object\" &&\n \"name\" in pathItem.value\n ) {\n pathParts[i] = String(pathItem.value.name);\n pathInfoIndex = j + 1;\n break;\n }\n }\n }\n }\n\n return pathParts.join(\".\");\n}\n","import {\n defineCommand as cittyDefineCommand,\n type ArgsDef,\n type CommandContext,\n type CommandDef,\n} from \"citty\";\nimport { Result } from \"@praha/byethrow\";\nimport { configureOutput, getOutputState, logger } from \"../ui/output.js\";\nimport { reportUnexpectedError } from \"../ui/error.js\";\n\n// 各コマンドが自分の出すエラーを変換して返す表示用の失敗。コマンドの外(ここ)はドメインのエラー型を知らない。\nexport type CommandFailure = { message: string; exitCode?: number };\n\nexport type CommandOutput = {\n json: unknown;\n // --json 時に重い整形を実行させないため遅延評価にする。\n text: () => string;\n};\n\ntype CommandHandler<T extends ArgsDef> = (\n context: CommandContext<T>,\n) => Promise<Result.Result<CommandOutput | undefined, CommandFailure>>;\n\ntype OrizmCommandDef<T extends ArgsDef> = Omit<CommandDef<T>, \"run\"> & {\n run?: CommandHandler<T>;\n};\n\n// citty の defineCommand をラップし、run 実行前後の共通処理(出力設定・結果出力・Result.fail / throw の扱い)を集約する。\n// 各コマンドの run は副作用で stdout に書かず、結果を Result として返すだけにする。\nexport function defineCommand<T extends ArgsDef>(\n def: OrizmCommandDef<T>,\n): CommandDef<T> {\n const { run } = def;\n if (!run) {\n return cittyDefineCommand(def);\n }\n\n return cittyDefineCommand({\n ...def,\n run: async (context) => {\n configureOutput(context.args);\n try {\n const result = await run(context);\n if (Result.isFailure(result)) {\n logger.error(result.error.message);\n process.exitCode = result.error.exitCode ?? 1;\n return;\n }\n writeOutput(result.value);\n } catch (error) {\n reportUnexpectedError(error);\n process.exitCode = 1;\n }\n },\n });\n}\n\n// コマンド結果の stdout 出力はここに集約する。他所が stdout を汚すと --json のパイプが壊れるため。\nfunction writeOutput(output: CommandOutput | undefined): void {\n if (output == null) return;\n if (getOutputState().json) {\n process.stdout.write(JSON.stringify(output.json, null, 2) + \"\\n\");\n } else {\n const text = output.text();\n process.stdout.write(text.endsWith(\"\\n\") ? text : text + \"\\n\");\n }\n}\n","import { version } from \"../version.js\";\nimport { defineCommand } from \"./define-command.js\";\n\nexport const main = defineCommand({\n meta: {\n name: \"orizm\",\n description: \"Orizm CLI\",\n version,\n },\n subCommands: {\n auth: () => import(\"./auth/index.js\").then((m) => m.default),\n link: () => import(\"./link.js\").then((m) => m.default),\n org: () => import(\"./org/index.js\").then((m) => m.default),\n project: () => import(\"./project/index.js\").then((m) => m.default),\n codegen: () => import(\"./codegen/index.js\").then((m) => m.default),\n schema: () => import(\"./schema/index.js\").then((m) => m.default),\n key: () => import(\"./key/index.js\").then((m) => m.default),\n \"project-user\": () =>\n import(\"./project-user/index.js\").then((m) => m.default),\n webhook: () => import(\"./webhook/index.js\").then((m) => m.default),\n content: () => import(\"./content/index.js\").then((m) => m.default),\n bucket: () => import(\"./bucket/index.js\").then((m) => m.default),\n agent: () => import(\"./agent/index.js\").then((m) => m.default),\n },\n});\n","#!/usr/bin/env node\n\nimport { runMain } from \"citty\";\nimport { main } from \"./commands/index.js\";\n\nvoid runMain(main);\n"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  const require_cli_main = require('./cli/main.cjs');
2
2
  const require_shared = require('./shared-DHRPzzKl.cjs');
3
- const require_run_codegen = require('./run-codegen-Ceeosw5x.cjs');
3
+ const require_run_codegen = require('./run-codegen-mclysZuT.cjs');
4
4
 
5
5
  //#region src/cli/codegen/cms.ts
6
6
  function renderCmsModule(config) {
@@ -15,15 +15,15 @@ function renderCmsModule(config) {
15
15
  [
16
16
  require_run_codegen.AUTOGEN_HEADER,
17
17
  "",
18
- "import { FormValidationRules, StorageItemType } from \"@orizm/cms-sdk/common\";",
19
- "import { OrizmCMSClient } from \"@orizm/cms-sdk\";"
18
+ "import type { FormValidationRules, StorageItemType } from \"@orizm/cms-sdk/common\";",
19
+ "import type { OrizmCMSClient } from \"@orizm/cms-sdk\";"
20
20
  ].join("\n"),
21
21
  require_run_codegen.UTILITIES,
22
22
  [
23
23
  require_run_codegen.renderSection("Tables", allTables.map(renderTableTypes)),
24
24
  require_run_codegen.renderSection("Module types", modules.map(renderModuleTypes)),
25
25
  "// Descriptor types\n" + [...allTables.map(renderTableDescriptor), modules.map(require_run_codegen.renderModuleDescriptorBlock).join("\n")].join("\n\n"),
26
- require_run_codegen.renderWebhookTypesSection(allTables)
26
+ require_run_codegen.renderWebhookTypesSection(config.tables)
27
27
  ].filter(Boolean).join("\n\n\n"),
28
28
  renderCmsClient(config)
29
29
  ].join("\n\n\n"));
@@ -169,4 +169,4 @@ var cms_default = require_cli_main.defineCommand({
169
169
 
170
170
  //#endregion
171
171
  exports.default = cms_default;
172
- //# sourceMappingURL=cms-Cnx-lDGu.cjs.map
172
+ //# sourceMappingURL=cms-CId7jg5l.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cms-CId7jg5l.cjs","names":["formatTsWithPrettier","AUTOGEN_HEADER","UTILITIES","renderSection","renderModuleDescriptorBlock","renderWebhookTypesSection","toCodeTypeName","renderTypeBlock","renderColumnField","renderModuleRowTypeBlock","renderRefsFieldLines","renderUniqueFieldLines","contextArgs","configFileArg","defineCommand","runCodegen"],"sources":["../src/cli/codegen/cms.ts","../src/cli/commands/codegen/cms.ts"],"sourcesContent":["import { CommonOrizmConfig } from \"../types.js\";\nimport { formatTsWithPrettier } from \"./format.js\";\nimport {\n AUTOGEN_HEADER,\n UTILITIES,\n RenderColumn,\n RenderIndex,\n toCodeTypeName,\n renderColumnField,\n renderTypeBlock,\n renderRefsFieldLines,\n renderUniqueFieldLines,\n renderModuleRowTypeBlock,\n renderModuleDescriptorBlock,\n renderSection,\n renderWebhookTypesSection,\n} from \"./render.js\";\n\ntype RenderTable = {\n name: string;\n columns: RenderColumn[];\n isSubmissions?: boolean;\n enableForm?: boolean;\n enableDrafts?: boolean;\n indexes?: RenderIndex[];\n formOptions?: { submissionColumns?: RenderColumn[] };\n};\n\nexport function renderCmsModule(config: CommonOrizmConfig): Promise<string> {\n const submissionTables: RenderTable[] = config.tables\n .filter((t) => t.enableForm)\n .map((t) => ({\n name: t.name + \"__submission\",\n columns: t.formOptions?.submissionColumns ?? [],\n isSubmissions: true,\n }));\n const allTables: RenderTable[] = [...config.tables, ...submissionTables];\n const modules = config.tableModules;\n\n const imports = [\n AUTOGEN_HEADER,\n \"\",\n 'import type { FormValidationRules, StorageItemType } from \"@orizm/cms-sdk/common\";',\n 'import type { OrizmCMSClient } from \"@orizm/cms-sdk\";',\n ].join(\"\\n\");\n\n const types = [\n renderSection(\"Tables\", allTables.map(renderTableTypes)),\n renderSection(\"Module types\", modules.map(renderModuleTypes)),\n \"// Descriptor types\\n\" +\n [\n ...allTables.map(renderTableDescriptor),\n modules.map(renderModuleDescriptorBlock).join(\"\\n\"),\n ].join(\"\\n\\n\"),\n // Webhook の購読対象は base テーブルのみ\n renderWebhookTypesSection(config.tables),\n ]\n .filter(Boolean)\n .join(\"\\n\\n\\n\");\n\n const source = [imports, UTILITIES, types, renderCmsClient(config)].join(\n \"\\n\\n\\n\",\n );\n\n return formatTsWithPrettier(source);\n}\n\nfunction renderTableTypes(table: RenderTable): string {\n const cols = table.columns;\n const name = toCodeTypeName(table.name);\n\n const rowType = renderTypeBlock(name, [\n \"id: string;\",\n \"createdAt: string;\",\n \"updatedAt: string;\",\n ...(!table.isSubmissions\n ? [\n \"group: string | null;\",\n \"publishedAt: string | null;\",\n \"_draft: boolean | null;\",\n \"_published: boolean | null;\",\n \"scheduledPublishAt: string | null;\",\n \"scheduledUnpublishAt: string | null;\",\n ]\n : [\n \"_formId: string;\",\n \"_content: unknown;\",\n \"_formSchema: unknown;\",\n \"_attachments: StorageItemType[];\",\n ]),\n ...cols.map((col) => renderColumnField(col)),\n ...(table.enableForm ? [\"formSchema: FormValidationRules;\"] : []),\n ]);\n\n const createType = renderTypeBlock(`${name}CreateInput`, [\n ...(!table.isSubmissions\n ? [\n \"group?: string | null;\",\n \"publishedAt?: string | null;\",\n \"scheduledPublishAt?: string | null;\",\n \"scheduledUnpublishAt?: string | null;\",\n \"createdAt?: string;\",\n ]\n : []),\n ...cols.map((col) =>\n renderColumnField(col, {\n optional: !col.required,\n suffix: \"CreateInput\",\n }),\n ),\n ...(table.enableForm ? [\"formSchema: FormValidationRules;\"] : []),\n ]);\n\n const updateType = renderTypeBlock(`${name}UpdateInput`, [\n ...cols\n .filter((col) => !col.readOnly)\n .map((col) =>\n renderColumnField(col, { optional: true, suffix: \"UpdateInput\" }),\n ),\n ...(!table.isSubmissions\n ? [\n \"publishedAt?: string | null;\",\n \"scheduledPublishAt?: string | null;\",\n \"scheduledUnpublishAt?: string | null;\",\n \"createdAt?: string;\",\n ]\n : []),\n ...(table.enableForm ? [\"formSchema: FormValidationRules;\"] : []),\n ]);\n\n return [rowType, createType, updateType].join(\"\\n\\n\");\n}\n\nfunction renderModuleTypes(mod: {\n name: string;\n columns: RenderColumn[];\n}): string {\n const name = toCodeTypeName(mod.name);\n const cols = mod.columns;\n\n const rowType = renderModuleRowTypeBlock(mod);\n\n const createType = renderTypeBlock(`${name}CreateInput`, [\n ...cols.map((col) =>\n renderColumnField(col, {\n optional: !col.required,\n suffix: \"CreateInput\",\n }),\n ),\n ]);\n\n const updateType = renderTypeBlock(`${name}UpdateInput`, [\n \"id?: string;\",\n ...cols.map((col) =>\n renderColumnField(col, {\n optional: !col.required,\n suffix: \"UpdateInput\",\n }),\n ),\n ]);\n\n return [rowType, createType, updateType].join(\"\\n\\n\");\n}\n\nfunction renderTableDescriptor(table: RenderTable): string {\n const name = toCodeTypeName(table.name);\n return renderTypeBlock(`${name}__Descriptor`, [\n `row: ${name};`,\n `create: ${name}CreateInput;`,\n `update: ${name}UpdateInput;`,\n ...renderRefsFieldLines(table.columns),\n ...renderUniqueFieldLines(table),\n ...(table.enableDrafts ? [\"enableDrafts: true;\"] : []),\n ...(table.enableForm\n ? [`submissionDescriptor: ${name}_Submission__Descriptor;`]\n : [\"submissionDescriptor: never;\"]),\n ]);\n}\n\nfunction renderCmsClient(config: CommonOrizmConfig): string {\n const tableEntries = config.tables\n .map(\n (t) =>\n `${t.name}: this.client.getTableClient<${toCodeTypeName(t.name)}__Descriptor>(\"${t.name}\"),`,\n )\n .join(\"\\n\");\n\n const bucketEntries = config.buckets\n .map((b) => `${b.name}: this.client.getBucketClient(\"${b.name}\"),`)\n .join(\"\\n\");\n\n return `export class CMSClient {\n constructor(protected client: OrizmCMSClient) {\n this.tables = {\n ${tableEntries}\n };\n\n this.buckets = {\n ${bucketEntries}\n };\n\n this.userManagement = this.client.userManagement;\n\n this.userinfo = this.client.userinfo;\n\n this.auth = this.client.auth;\n }\n\n readonly tables;\n readonly buckets;\n readonly userManagement;\n readonly userinfo;\n readonly auth;\n}`;\n}\n","import type { ArgsDef } from \"citty\";\nimport { defineCommand } from \"../define-command.js\";\nimport { contextArgs, configFileArg, DEFAULT_CONFIG_FILE } from \"../shared.js\";\nimport { renderCmsModule } from \"../../codegen/cms.js\";\nimport { runCodegen } from \"./run-codegen.js\";\n\nconst cmsArgs = {\n ...contextArgs,\n \"config-file\": configFileArg,\n output: {\n type: \"string\",\n alias: \"o\",\n description: \"Output file (.ts) or directory\",\n default: \"./src/orizm\",\n },\n pull: {\n type: \"boolean\",\n description:\n \"Generate from the server's applied definition instead of the local config\",\n default: false,\n },\n} satisfies ArgsDef;\n\nexport default defineCommand({\n meta: {\n name: \"cms\",\n description: \"Generate CMS SDK types from a schema definition\",\n },\n args: cmsArgs,\n run: ({ args }) =>\n runCodegen({\n args,\n pull: args.pull === true,\n configFile: args[\"config-file\"] ?? DEFAULT_CONFIG_FILE,\n output: args.output,\n label: \"CMS\",\n render: renderCmsModule,\n }),\n});\n"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { 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 renderModuleDescriptorBlock, c as renderSection, d as renderWebhookTypesSection, f as toCodeTypeName, i as renderColumnField, l as renderTypeBlock, n as AUTOGEN_HEADER, o as renderModuleRowTypeBlock, p as formatTsWithPrettier, r as UTILITIES, s as renderRefsFieldLines, t as runCodegen, u as renderUniqueFieldLines } from "./run-codegen-DgaFaIQ1.mjs";
3
+ import { a as renderModuleDescriptorBlock, c as renderSection, d as renderWebhookTypesSection, f as toCodeTypeName, i as renderColumnField, l as renderTypeBlock, n as AUTOGEN_HEADER, o as renderModuleRowTypeBlock, p as formatTsWithPrettier, r as UTILITIES, s as renderRefsFieldLines, t as runCodegen, u as renderUniqueFieldLines } from "./run-codegen-DjnV60bE.mjs";
4
4
 
5
5
  //#region src/cli/codegen/cms.ts
6
6
  function renderCmsModule(config) {
@@ -15,15 +15,15 @@ function renderCmsModule(config) {
15
15
  [
16
16
  AUTOGEN_HEADER,
17
17
  "",
18
- "import { FormValidationRules, StorageItemType } from \"@orizm/cms-sdk/common\";",
19
- "import { OrizmCMSClient } from \"@orizm/cms-sdk\";"
18
+ "import type { FormValidationRules, StorageItemType } from \"@orizm/cms-sdk/common\";",
19
+ "import type { OrizmCMSClient } from \"@orizm/cms-sdk\";"
20
20
  ].join("\n"),
21
21
  UTILITIES,
22
22
  [
23
23
  renderSection("Tables", allTables.map(renderTableTypes)),
24
24
  renderSection("Module types", modules.map(renderModuleTypes)),
25
25
  "// Descriptor types\n" + [...allTables.map(renderTableDescriptor), modules.map(renderModuleDescriptorBlock).join("\n")].join("\n\n"),
26
- renderWebhookTypesSection(allTables)
26
+ renderWebhookTypesSection(config.tables)
27
27
  ].filter(Boolean).join("\n\n\n"),
28
28
  renderCmsClient(config)
29
29
  ].join("\n\n\n"));
@@ -169,4 +169,4 @@ var cms_default = defineCommand({
169
169
 
170
170
  //#endregion
171
171
  export { cms_default as default };
172
- //# sourceMappingURL=cms-BJnovGYT.mjs.map
172
+ //# sourceMappingURL=cms-DLOypcw8.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cms-DLOypcw8.mjs","names":[],"sources":["../src/cli/codegen/cms.ts","../src/cli/commands/codegen/cms.ts"],"sourcesContent":["import { CommonOrizmConfig } from \"../types.js\";\nimport { formatTsWithPrettier } from \"./format.js\";\nimport {\n AUTOGEN_HEADER,\n UTILITIES,\n RenderColumn,\n RenderIndex,\n toCodeTypeName,\n renderColumnField,\n renderTypeBlock,\n renderRefsFieldLines,\n renderUniqueFieldLines,\n renderModuleRowTypeBlock,\n renderModuleDescriptorBlock,\n renderSection,\n renderWebhookTypesSection,\n} from \"./render.js\";\n\ntype RenderTable = {\n name: string;\n columns: RenderColumn[];\n isSubmissions?: boolean;\n enableForm?: boolean;\n enableDrafts?: boolean;\n indexes?: RenderIndex[];\n formOptions?: { submissionColumns?: RenderColumn[] };\n};\n\nexport function renderCmsModule(config: CommonOrizmConfig): Promise<string> {\n const submissionTables: RenderTable[] = config.tables\n .filter((t) => t.enableForm)\n .map((t) => ({\n name: t.name + \"__submission\",\n columns: t.formOptions?.submissionColumns ?? [],\n isSubmissions: true,\n }));\n const allTables: RenderTable[] = [...config.tables, ...submissionTables];\n const modules = config.tableModules;\n\n const imports = [\n AUTOGEN_HEADER,\n \"\",\n 'import type { FormValidationRules, StorageItemType } from \"@orizm/cms-sdk/common\";',\n 'import type { OrizmCMSClient } from \"@orizm/cms-sdk\";',\n ].join(\"\\n\");\n\n const types = [\n renderSection(\"Tables\", allTables.map(renderTableTypes)),\n renderSection(\"Module types\", modules.map(renderModuleTypes)),\n \"// Descriptor types\\n\" +\n [\n ...allTables.map(renderTableDescriptor),\n modules.map(renderModuleDescriptorBlock).join(\"\\n\"),\n ].join(\"\\n\\n\"),\n // Webhook の購読対象は base テーブルのみ\n renderWebhookTypesSection(config.tables),\n ]\n .filter(Boolean)\n .join(\"\\n\\n\\n\");\n\n const source = [imports, UTILITIES, types, renderCmsClient(config)].join(\n \"\\n\\n\\n\",\n );\n\n return formatTsWithPrettier(source);\n}\n\nfunction renderTableTypes(table: RenderTable): string {\n const cols = table.columns;\n const name = toCodeTypeName(table.name);\n\n const rowType = renderTypeBlock(name, [\n \"id: string;\",\n \"createdAt: string;\",\n \"updatedAt: string;\",\n ...(!table.isSubmissions\n ? [\n \"group: string | null;\",\n \"publishedAt: string | null;\",\n \"_draft: boolean | null;\",\n \"_published: boolean | null;\",\n \"scheduledPublishAt: string | null;\",\n \"scheduledUnpublishAt: string | null;\",\n ]\n : [\n \"_formId: string;\",\n \"_content: unknown;\",\n \"_formSchema: unknown;\",\n \"_attachments: StorageItemType[];\",\n ]),\n ...cols.map((col) => renderColumnField(col)),\n ...(table.enableForm ? [\"formSchema: FormValidationRules;\"] : []),\n ]);\n\n const createType = renderTypeBlock(`${name}CreateInput`, [\n ...(!table.isSubmissions\n ? [\n \"group?: string | null;\",\n \"publishedAt?: string | null;\",\n \"scheduledPublishAt?: string | null;\",\n \"scheduledUnpublishAt?: string | null;\",\n \"createdAt?: string;\",\n ]\n : []),\n ...cols.map((col) =>\n renderColumnField(col, {\n optional: !col.required,\n suffix: \"CreateInput\",\n }),\n ),\n ...(table.enableForm ? [\"formSchema: FormValidationRules;\"] : []),\n ]);\n\n const updateType = renderTypeBlock(`${name}UpdateInput`, [\n ...cols\n .filter((col) => !col.readOnly)\n .map((col) =>\n renderColumnField(col, { optional: true, suffix: \"UpdateInput\" }),\n ),\n ...(!table.isSubmissions\n ? [\n \"publishedAt?: string | null;\",\n \"scheduledPublishAt?: string | null;\",\n \"scheduledUnpublishAt?: string | null;\",\n \"createdAt?: string;\",\n ]\n : []),\n ...(table.enableForm ? [\"formSchema: FormValidationRules;\"] : []),\n ]);\n\n return [rowType, createType, updateType].join(\"\\n\\n\");\n}\n\nfunction renderModuleTypes(mod: {\n name: string;\n columns: RenderColumn[];\n}): string {\n const name = toCodeTypeName(mod.name);\n const cols = mod.columns;\n\n const rowType = renderModuleRowTypeBlock(mod);\n\n const createType = renderTypeBlock(`${name}CreateInput`, [\n ...cols.map((col) =>\n renderColumnField(col, {\n optional: !col.required,\n suffix: \"CreateInput\",\n }),\n ),\n ]);\n\n const updateType = renderTypeBlock(`${name}UpdateInput`, [\n \"id?: string;\",\n ...cols.map((col) =>\n renderColumnField(col, {\n optional: !col.required,\n suffix: \"UpdateInput\",\n }),\n ),\n ]);\n\n return [rowType, createType, updateType].join(\"\\n\\n\");\n}\n\nfunction renderTableDescriptor(table: RenderTable): string {\n const name = toCodeTypeName(table.name);\n return renderTypeBlock(`${name}__Descriptor`, [\n `row: ${name};`,\n `create: ${name}CreateInput;`,\n `update: ${name}UpdateInput;`,\n ...renderRefsFieldLines(table.columns),\n ...renderUniqueFieldLines(table),\n ...(table.enableDrafts ? [\"enableDrafts: true;\"] : []),\n ...(table.enableForm\n ? [`submissionDescriptor: ${name}_Submission__Descriptor;`]\n : [\"submissionDescriptor: never;\"]),\n ]);\n}\n\nfunction renderCmsClient(config: CommonOrizmConfig): string {\n const tableEntries = config.tables\n .map(\n (t) =>\n `${t.name}: this.client.getTableClient<${toCodeTypeName(t.name)}__Descriptor>(\"${t.name}\"),`,\n )\n .join(\"\\n\");\n\n const bucketEntries = config.buckets\n .map((b) => `${b.name}: this.client.getBucketClient(\"${b.name}\"),`)\n .join(\"\\n\");\n\n return `export class CMSClient {\n constructor(protected client: OrizmCMSClient) {\n this.tables = {\n ${tableEntries}\n };\n\n this.buckets = {\n ${bucketEntries}\n };\n\n this.userManagement = this.client.userManagement;\n\n this.userinfo = this.client.userinfo;\n\n this.auth = this.client.auth;\n }\n\n readonly tables;\n readonly buckets;\n readonly userManagement;\n readonly userinfo;\n readonly auth;\n}`;\n}\n","import type { ArgsDef } from \"citty\";\nimport { defineCommand } from \"../define-command.js\";\nimport { contextArgs, configFileArg, DEFAULT_CONFIG_FILE } from \"../shared.js\";\nimport { renderCmsModule } from \"../../codegen/cms.js\";\nimport { runCodegen } from \"./run-codegen.js\";\n\nconst cmsArgs = {\n ...contextArgs,\n \"config-file\": configFileArg,\n output: {\n type: \"string\",\n alias: \"o\",\n description: \"Output file (.ts) or directory\",\n default: \"./src/orizm\",\n },\n pull: {\n type: \"boolean\",\n description:\n \"Generate from the server's applied definition instead of the local config\",\n default: false,\n },\n} satisfies ArgsDef;\n\nexport default defineCommand({\n meta: {\n name: \"cms\",\n description: \"Generate CMS SDK types from a schema definition\",\n },\n args: cmsArgs,\n run: ({ args }) =>\n runCodegen({\n args,\n pull: args.pull === true,\n configFile: args[\"config-file\"] ?? DEFAULT_CONFIG_FILE,\n output: args.output,\n label: \"CMS\",\n render: renderCmsModule,\n }),\n});\n"],"mappings":"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"}
@@ -7,11 +7,11 @@ var codegen_default = defineCommand({
7
7
  description: "Generate SDK type code from orizm.config.ts"
8
8
  },
9
9
  subCommands: {
10
- cms: () => import("./cms-BJnovGYT.mjs").then((m) => m.default),
11
- consumer: () => import("./consumer-pU2HyiyA.mjs").then((m) => m.default)
10
+ cms: () => import("./cms-DLOypcw8.mjs").then((m) => m.default),
11
+ consumer: () => import("./consumer-CqyZdG9v.mjs").then((m) => m.default)
12
12
  }
13
13
  });
14
14
 
15
15
  //#endregion
16
16
  export { codegen_default as default };
17
- //# sourceMappingURL=codegen-DZOB4ttR.mjs.map
17
+ //# sourceMappingURL=codegen-BKE_IYoM.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"codegen-DZOB4ttR.mjs","names":[],"sources":["../src/cli/commands/codegen/index.ts"],"sourcesContent":["import { defineCommand } from \"../define-command.js\";\n\nexport default defineCommand({\n meta: {\n name: \"codegen\",\n description: \"Generate SDK type code from orizm.config.ts\",\n },\n subCommands: {\n cms: () => import(\"./cms.js\").then((m) => m.default),\n consumer: () => import(\"./consumer.js\").then((m) => m.default),\n },\n});\n"],"mappings":";;;AAEA,sBAAe,cAAc;CAC3B,MAAM;EACJ,MAAM;EACN,aAAa;CACf;CACA,aAAa;EACX,WAAW,OAAO,qBAAW,CAAC,MAAM,MAAM,EAAE,OAAO;EACnD,gBAAgB,OAAO,0BAAgB,CAAC,MAAM,MAAM,EAAE,OAAO;CAC/D;AACF,CAAC"}
1
+ {"version":3,"file":"codegen-BKE_IYoM.mjs","names":[],"sources":["../src/cli/commands/codegen/index.ts"],"sourcesContent":["import { defineCommand } from \"../define-command.js\";\n\nexport default defineCommand({\n meta: {\n name: \"codegen\",\n description: \"Generate SDK type code from orizm.config.ts\",\n },\n subCommands: {\n cms: () => import(\"./cms.js\").then((m) => m.default),\n consumer: () => import(\"./consumer.js\").then((m) => m.default),\n },\n});\n"],"mappings":";;;AAEA,sBAAe,cAAc;CAC3B,MAAM;EACJ,MAAM;EACN,aAAa;CACf;CACA,aAAa;EACX,WAAW,OAAO,qBAAW,CAAC,MAAM,MAAM,EAAE,OAAO;EACnD,gBAAgB,OAAO,0BAAgB,CAAC,MAAM,MAAM,EAAE,OAAO;CAC/D;AACF,CAAC"}
@@ -7,11 +7,11 @@ var codegen_default = require_cli_main.defineCommand({
7
7
  description: "Generate SDK type code from orizm.config.ts"
8
8
  },
9
9
  subCommands: {
10
- cms: () => Promise.resolve().then(() => require("./cms-Cnx-lDGu.cjs")).then((m) => m.default),
11
- consumer: () => Promise.resolve().then(() => require("./consumer-OF6Z_eTP.cjs")).then((m) => m.default)
10
+ cms: () => Promise.resolve().then(() => require("./cms-CId7jg5l.cjs")).then((m) => m.default),
11
+ consumer: () => Promise.resolve().then(() => require("./consumer-OG6IEJun.cjs")).then((m) => m.default)
12
12
  }
13
13
  });
14
14
 
15
15
  //#endregion
16
16
  exports.default = codegen_default;
17
- //# sourceMappingURL=codegen-BF5b-u46.cjs.map
17
+ //# sourceMappingURL=codegen-kbbIwPbb.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"codegen-BF5b-u46.cjs","names":["defineCommand"],"sources":["../src/cli/commands/codegen/index.ts"],"sourcesContent":["import { defineCommand } from \"../define-command.js\";\n\nexport default defineCommand({\n meta: {\n name: \"codegen\",\n description: \"Generate SDK type code from orizm.config.ts\",\n },\n subCommands: {\n cms: () => import(\"./cms.js\").then((m) => m.default),\n consumer: () => import(\"./consumer.js\").then((m) => m.default),\n },\n});\n"],"mappings":";;;AAEA,sBAAeA,+BAAc;CAC3B,MAAM;EACJ,MAAM;EACN,aAAa;CACf;CACA,aAAa;EACX,gDAAW,uBAAmB,MAAM,MAAM,EAAE,OAAO;EACnD,qDAAgB,4BAAwB,MAAM,MAAM,EAAE,OAAO;CAC/D;AACF,CAAC"}
1
+ {"version":3,"file":"codegen-kbbIwPbb.cjs","names":["defineCommand"],"sources":["../src/cli/commands/codegen/index.ts"],"sourcesContent":["import { defineCommand } from \"../define-command.js\";\n\nexport default defineCommand({\n meta: {\n name: \"codegen\",\n description: \"Generate SDK type code from orizm.config.ts\",\n },\n subCommands: {\n cms: () => import(\"./cms.js\").then((m) => m.default),\n consumer: () => import(\"./consumer.js\").then((m) => m.default),\n },\n});\n"],"mappings":";;;AAEA,sBAAeA,+BAAc;CAC3B,MAAM;EACJ,MAAM;EACN,aAAa;CACf;CACA,aAAa;EACX,gDAAW,uBAAmB,MAAM,MAAM,EAAE,OAAO;EACnD,qDAAgB,4BAAwB,MAAM,MAAM,EAAE,OAAO;CAC/D;AACF,CAAC"}