@orizm/cli 2.2.7 → 3.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +111 -4
- package/dist/array-update-CMFUoQEe.mjs +41 -0
- package/dist/array-update-CMFUoQEe.mjs.map +1 -0
- package/dist/array-update-Dch4e9tI.cjs +58 -0
- package/dist/array-update-Dch4e9tI.cjs.map +1 -0
- package/dist/auth-BGW072BP.mjs +18 -0
- package/dist/auth-BGW072BP.mjs.map +1 -0
- package/dist/auth-CNbONZuf.cjs +18 -0
- package/dist/auth-CNbONZuf.cjs.map +1 -0
- package/dist/bucket-DqW-WEYb.mjs +17 -0
- package/dist/bucket-DqW-WEYb.mjs.map +1 -0
- package/dist/bucket-mg5QQORh.cjs +17 -0
- package/dist/bucket-mg5QQORh.cjs.map +1 -0
- package/dist/cli/main.cjs +231 -0
- package/dist/cli/main.cjs.map +1 -0
- package/dist/cli/main.d.cts +1 -0
- package/dist/cli/main.d.mts +1 -0
- package/dist/cli/main.mjs +196 -0
- package/dist/cli/main.mjs.map +1 -0
- package/dist/cms-BJnovGYT.mjs +172 -0
- package/dist/cms-BJnovGYT.mjs.map +1 -0
- package/dist/cms-Cnx-lDGu.cjs +172 -0
- package/dist/cms-Cnx-lDGu.cjs.map +1 -0
- package/dist/codegen-BF5b-u46.cjs +17 -0
- package/dist/codegen-BF5b-u46.cjs.map +1 -0
- package/dist/codegen-DZOB4ttR.mjs +17 -0
- package/dist/codegen-DZOB4ttR.mjs.map +1 -0
- package/dist/config/index.cjs +49 -96
- package/dist/config/index.cjs.map +1 -1
- package/dist/config/index.d.cts +1 -53
- package/dist/config/{index.d.ts → index.d.mts} +29 -28
- package/dist/config/index.d.mts.map +1 -0
- package/dist/config/index.mjs +59 -0
- package/dist/config/index.mjs.map +1 -0
- package/dist/config-loader-BEgS869e.mjs +65 -0
- package/dist/config-loader-BEgS869e.mjs.map +1 -0
- package/dist/config-loader-D8x32gEU.cjs +78 -0
- package/dist/config-loader-D8x32gEU.cjs.map +1 -0
- package/dist/confirm-delete-B9o73U7B.cjs +19 -0
- package/dist/confirm-delete-B9o73U7B.cjs.map +1 -0
- package/dist/confirm-delete-CsWkW69-.mjs +14 -0
- package/dist/confirm-delete-CsWkW69-.mjs.map +1 -0
- package/dist/consumer-C4WiGHWG.mjs +18 -0
- package/dist/consumer-C4WiGHWG.mjs.map +1 -0
- package/dist/consumer-OF6Z_eTP.cjs +95 -0
- package/dist/consumer-OF6Z_eTP.cjs.map +1 -0
- package/dist/consumer-l-8wUK8E.cjs +18 -0
- package/dist/consumer-l-8wUK8E.cjs.map +1 -0
- package/dist/consumer-pU2HyiyA.mjs +95 -0
- package/dist/consumer-pU2HyiyA.mjs.map +1 -0
- package/dist/content-BOb6NC8M.mjs +20 -0
- package/dist/content-BOb6NC8M.mjs.map +1 -0
- package/dist/content-DMjSwor1.cjs +20 -0
- package/dist/content-DMjSwor1.cjs.map +1 -0
- package/dist/create-B-PAOor6.mjs +66 -0
- package/dist/create-B-PAOor6.mjs.map +1 -0
- package/dist/create-B1ZBOqcV.mjs +58 -0
- package/dist/create-B1ZBOqcV.mjs.map +1 -0
- package/dist/create-BNYWcyuQ.cjs +66 -0
- package/dist/create-BNYWcyuQ.cjs.map +1 -0
- package/dist/create-Belwettw.mjs +54 -0
- package/dist/create-Belwettw.mjs.map +1 -0
- package/dist/create-BvERyMKa.cjs +81 -0
- package/dist/create-BvERyMKa.cjs.map +1 -0
- package/dist/create-CC814ixh.mjs +66 -0
- package/dist/create-CC814ixh.mjs.map +1 -0
- package/dist/create-CmOriwGo.cjs +58 -0
- package/dist/create-CmOriwGo.cjs.map +1 -0
- package/dist/create-DJY71sp9.cjs +54 -0
- package/dist/create-DJY71sp9.cjs.map +1 -0
- package/dist/create-Dups0gV2.mjs +81 -0
- package/dist/create-Dups0gV2.mjs.map +1 -0
- package/dist/create-Z-z3LXNW.cjs +66 -0
- package/dist/create-Z-z3LXNW.cjs.map +1 -0
- package/dist/delete-8yZ3j0vX.cjs +59 -0
- package/dist/delete-8yZ3j0vX.cjs.map +1 -0
- package/dist/delete-BOUObrDw.mjs +48 -0
- package/dist/delete-BOUObrDw.mjs.map +1 -0
- package/dist/delete-BSLIXrAh.mjs +59 -0
- package/dist/delete-BSLIXrAh.mjs.map +1 -0
- package/dist/delete-CCTiCYIL.cjs +51 -0
- package/dist/delete-CCTiCYIL.cjs.map +1 -0
- package/dist/delete-CIYY59v_.cjs +48 -0
- package/dist/delete-CIYY59v_.cjs.map +1 -0
- package/dist/delete-CSs5Czlo.mjs +59 -0
- package/dist/delete-CSs5Czlo.mjs.map +1 -0
- package/dist/delete-D4r1ve4v.cjs +56 -0
- package/dist/delete-D4r1ve4v.cjs.map +1 -0
- package/dist/delete-DVrafka1.cjs +56 -0
- package/dist/delete-DVrafka1.cjs.map +1 -0
- package/dist/delete-DhSU-Lx2.mjs +51 -0
- package/dist/delete-DhSU-Lx2.mjs.map +1 -0
- package/dist/delete-DozSxZQ7.cjs +59 -0
- package/dist/delete-DozSxZQ7.cjs.map +1 -0
- package/dist/delete-WpMIIvjj.cjs +56 -0
- package/dist/delete-WpMIIvjj.cjs.map +1 -0
- package/dist/delete-XWJRhBFs.mjs +56 -0
- package/dist/delete-XWJRhBFs.mjs.map +1 -0
- package/dist/delete-YYh_0khQ.mjs +56 -0
- package/dist/delete-YYh_0khQ.mjs.map +1 -0
- package/dist/delete-ZIifaG0i.mjs +56 -0
- package/dist/delete-ZIifaG0i.mjs.map +1 -0
- package/dist/detail-8CXNIhKw.cjs +16 -0
- package/dist/detail-8CXNIhKw.cjs.map +1 -0
- package/dist/detail-DN5jCQ4N.mjs +10 -0
- package/dist/detail-DN5jCQ4N.mjs.map +1 -0
- package/dist/download-oFGzg30E.mjs +68 -0
- package/dist/download-oFGzg30E.mjs.map +1 -0
- package/dist/download-ogGbb3FU.cjs +68 -0
- package/dist/download-ogGbb3FU.cjs.map +1 -0
- package/dist/erd-lKC5NB2l.cjs +124 -0
- package/dist/erd-lKC5NB2l.cjs.map +1 -0
- package/dist/erd-zDoF6I_y.mjs +123 -0
- package/dist/erd-zDoF6I_y.mjs.map +1 -0
- package/dist/get-BBOKSXkh.cjs +48 -0
- package/dist/get-BBOKSXkh.cjs.map +1 -0
- package/dist/get-BiPEF_m-.cjs +57 -0
- package/dist/get-BiPEF_m-.cjs.map +1 -0
- package/dist/get-C7dKoSIc.mjs +47 -0
- package/dist/get-C7dKoSIc.mjs.map +1 -0
- package/dist/get-CgEgETQa.mjs +52 -0
- package/dist/get-CgEgETQa.mjs.map +1 -0
- package/dist/get-DB80UNSR.mjs +47 -0
- package/dist/get-DB80UNSR.mjs.map +1 -0
- package/dist/get-DBxhbN1G.mjs +57 -0
- package/dist/get-DBxhbN1G.mjs.map +1 -0
- package/dist/get-DDB89cOs.mjs +48 -0
- package/dist/get-DDB89cOs.mjs.map +1 -0
- package/dist/get-DjRyK0hJ.cjs +47 -0
- package/dist/get-DjRyK0hJ.cjs.map +1 -0
- package/dist/get-IOU__2RP.cjs +52 -0
- package/dist/get-IOU__2RP.cjs.map +1 -0
- package/dist/get-KdWfYINc.cjs +47 -0
- package/dist/get-KdWfYINc.cjs.map +1 -0
- package/dist/get-RpxdnCKR.mjs +56 -0
- package/dist/get-RpxdnCKR.mjs.map +1 -0
- package/dist/get-jwXRlIBJ.cjs +57 -0
- package/dist/get-jwXRlIBJ.cjs.map +1 -0
- package/dist/group-roles-BIH7q8tf.mjs +36 -0
- package/dist/group-roles-BIH7q8tf.mjs.map +1 -0
- package/dist/group-roles-B_iAZog-.cjs +59 -0
- package/dist/group-roles-B_iAZog-.cjs.map +1 -0
- package/dist/invite-D66DSMvq.mjs +66 -0
- package/dist/invite-D66DSMvq.mjs.map +1 -0
- package/dist/invite-DPygtCoO.cjs +66 -0
- package/dist/invite-DPygtCoO.cjs.map +1 -0
- package/dist/key-C71Ffll9.mjs +17 -0
- package/dist/key-C71Ffll9.mjs.map +1 -0
- package/dist/key-DQr7qRL2.cjs +17 -0
- package/dist/key-DQr7qRL2.cjs.map +1 -0
- package/dist/link-BluFyxEL.mjs +42 -0
- package/dist/link-BluFyxEL.mjs.map +1 -0
- package/dist/link-DYu1Vjlw.cjs +42 -0
- package/dist/link-DYu1Vjlw.cjs.map +1 -0
- package/dist/list-57TUfNFd.mjs +48 -0
- package/dist/list-57TUfNFd.mjs.map +1 -0
- package/dist/list-B0N4-Q-5.mjs +81 -0
- package/dist/list-B0N4-Q-5.mjs.map +1 -0
- package/dist/list-BHvURTWd.cjs +40 -0
- package/dist/list-BHvURTWd.cjs.map +1 -0
- package/dist/list-BRh59EqI.cjs +35 -0
- package/dist/list-BRh59EqI.cjs.map +1 -0
- package/dist/list-Br6Cmi9S.cjs +95 -0
- package/dist/list-Br6Cmi9S.cjs.map +1 -0
- package/dist/list-BsYYq9wT.mjs +40 -0
- package/dist/list-BsYYq9wT.mjs.map +1 -0
- package/dist/list-BwfpuhmJ.cjs +37 -0
- package/dist/list-BwfpuhmJ.cjs.map +1 -0
- package/dist/list-BzLraBnA.cjs +82 -0
- package/dist/list-BzLraBnA.cjs.map +1 -0
- package/dist/list-CFwW0G9f.cjs +49 -0
- package/dist/list-CFwW0G9f.cjs.map +1 -0
- package/dist/list-CU42ERNY.cjs +81 -0
- package/dist/list-CU42ERNY.cjs.map +1 -0
- package/dist/list-CbvEh7eA.mjs +35 -0
- package/dist/list-CbvEh7eA.mjs.map +1 -0
- package/dist/list-D0-QrWmn.cjs +51 -0
- package/dist/list-D0-QrWmn.cjs.map +1 -0
- package/dist/list-D5PSDMWw.mjs +51 -0
- package/dist/list-D5PSDMWw.mjs.map +1 -0
- package/dist/list-DexBclfb.cjs +72 -0
- package/dist/list-DexBclfb.cjs.map +1 -0
- package/dist/list-DlJssPwy.cjs +48 -0
- package/dist/list-DlJssPwy.cjs.map +1 -0
- package/dist/list-DrZYlidZ.mjs +72 -0
- package/dist/list-DrZYlidZ.mjs.map +1 -0
- package/dist/list-ocfd7631.mjs +49 -0
- package/dist/list-ocfd7631.mjs.map +1 -0
- package/dist/list-rAn3uOA7.mjs +37 -0
- package/dist/list-rAn3uOA7.mjs.map +1 -0
- package/dist/list-sQk00GV5.mjs +95 -0
- package/dist/list-sQk00GV5.mjs.map +1 -0
- package/dist/list-vbMaOiza.mjs +82 -0
- package/dist/list-vbMaOiza.mjs.map +1 -0
- package/dist/login-2XcHd4wn.cjs +212 -0
- package/dist/login-2XcHd4wn.cjs.map +1 -0
- package/dist/login-FE_dbWMo.mjs +211 -0
- package/dist/login-FE_dbWMo.mjs.map +1 -0
- package/dist/logout-BDbWrGBm.mjs +35 -0
- package/dist/logout-BDbWrGBm.mjs.map +1 -0
- package/dist/logout-DC5TMJ5_.cjs +35 -0
- package/dist/logout-DC5TMJ5_.cjs.map +1 -0
- package/dist/management-BGYcZB4c.cjs +19 -0
- package/dist/management-BGYcZB4c.cjs.map +1 -0
- package/dist/management-DDACMgbU.mjs +19 -0
- package/dist/management-DDACMgbU.mjs.map +1 -0
- package/dist/mask-B1qD73jb.mjs +22 -0
- package/dist/mask-B1qD73jb.mjs.map +1 -0
- package/dist/mask-CqYLib9p.cjs +40 -0
- package/dist/mask-CqYLib9p.cjs.map +1 -0
- package/dist/oauth-client-CdD0evAV.cjs +170 -0
- package/dist/oauth-client-CdD0evAV.cjs.map +1 -0
- package/dist/oauth-client-QHuDa4fW.mjs +139 -0
- package/dist/oauth-client-QHuDa4fW.mjs.map +1 -0
- package/dist/object-DVqidsEc.cjs +20 -0
- package/dist/object-DVqidsEc.cjs.map +1 -0
- package/dist/object-qdBdEghr.mjs +20 -0
- package/dist/object-qdBdEghr.mjs.map +1 -0
- package/dist/org-C4cVovOM.cjs +14 -0
- package/dist/org-C4cVovOM.cjs.map +1 -0
- package/dist/org-CPhTRTks.mjs +14 -0
- package/dist/org-CPhTRTks.mjs.map +1 -0
- package/dist/org-context-Bewx2NEW.cjs +30 -0
- package/dist/org-context-Bewx2NEW.cjs.map +1 -0
- package/dist/org-context-D0dwWC2M.mjs +25 -0
- package/dist/org-context-D0dwWC2M.mjs.map +1 -0
- package/dist/parse-C8oHgQXx.cjs +229 -0
- package/dist/parse-C8oHgQXx.cjs.map +1 -0
- package/dist/parse-DA0k5AHa.mjs +150 -0
- package/dist/parse-DA0k5AHa.mjs.map +1 -0
- package/dist/project-BX7zvWB1.cjs +20 -0
- package/dist/project-BX7zvWB1.cjs.map +1 -0
- package/dist/project-CaXD3QBs.mjs +20 -0
- package/dist/project-CaXD3QBs.mjs.map +1 -0
- package/dist/project-name-CEoM-OL4.cjs +18 -0
- package/dist/project-name-CEoM-OL4.cjs.map +1 -0
- package/dist/project-name-DNMejnzZ.mjs +12 -0
- package/dist/project-name-DNMejnzZ.mjs.map +1 -0
- package/dist/project-user-Cp7i6orv.mjs +20 -0
- package/dist/project-user-Cp7i6orv.mjs.map +1 -0
- package/dist/project-user-Dm0qR-sh.cjs +20 -0
- package/dist/project-user-Dm0qR-sh.cjs.map +1 -0
- package/dist/push-0u6PDz4E.cjs +166 -0
- package/dist/push-0u6PDz4E.cjs.map +1 -0
- package/dist/push-D7co0keA.mjs +166 -0
- package/dist/push-D7co0keA.mjs.map +1 -0
- package/dist/run-codegen-Ceeosw5x.cjs +272 -0
- package/dist/run-codegen-Ceeosw5x.cjs.map +1 -0
- package/dist/run-codegen-DgaFaIQ1.mjs +190 -0
- package/dist/run-codegen-DgaFaIQ1.mjs.map +1 -0
- package/dist/run-with-context-CVhmzAFZ.mjs +876 -0
- package/dist/run-with-context-CVhmzAFZ.mjs.map +1 -0
- package/dist/run-with-context-DJNnEigg.cjs +943 -0
- package/dist/run-with-context-DJNnEigg.cjs.map +1 -0
- package/dist/schema-B3iRqvYK.cjs +20 -0
- package/dist/schema-B3iRqvYK.cjs.map +1 -0
- package/dist/schema-exG250MU.mjs +20 -0
- package/dist/schema-exG250MU.mjs.map +1 -0
- package/dist/shared-CZZimGxc.mjs +35 -0
- package/dist/shared-CZZimGxc.mjs.map +1 -0
- package/dist/shared-DHRPzzKl.cjs +59 -0
- package/dist/shared-DHRPzzKl.cjs.map +1 -0
- package/dist/status-Dq_NJE71.cjs +49 -0
- package/dist/status-Dq_NJE71.cjs.map +1 -0
- package/dist/status-fWqXzV0P.mjs +49 -0
- package/dist/status-fWqXzV0P.mjs.map +1 -0
- package/dist/table-C74eOSh8.cjs +27 -0
- package/dist/table-C74eOSh8.cjs.map +1 -0
- package/dist/table-MHEfbnWO.mjs +20 -0
- package/dist/table-MHEfbnWO.mjs.map +1 -0
- package/dist/table-event-C7gORNlb.mjs +72 -0
- package/dist/table-event-C7gORNlb.mjs.map +1 -0
- package/dist/table-event-DXkCK29f.cjs +101 -0
- package/dist/table-event-DXkCK29f.cjs.map +1 -0
- package/dist/token-store--9GYVL7N.cjs +139 -0
- package/dist/token-store--9GYVL7N.cjs.map +1 -0
- package/dist/token-store-reCGF86F.mjs +124 -0
- package/dist/token-store-reCGF86F.mjs.map +1 -0
- package/dist/update-B4lv4dAz.mjs +109 -0
- package/dist/update-B4lv4dAz.mjs.map +1 -0
- package/dist/update-BXhSosHG.cjs +171 -0
- package/dist/update-BXhSosHG.cjs.map +1 -0
- package/dist/update-CIH6sSVk.cjs +109 -0
- package/dist/update-CIH6sSVk.cjs.map +1 -0
- package/dist/update-CQ4n4Xuf.mjs +117 -0
- package/dist/update-CQ4n4Xuf.mjs.map +1 -0
- package/dist/update-CuPRoVw3.mjs +171 -0
- package/dist/update-CuPRoVw3.mjs.map +1 -0
- package/dist/update-Cx_2GkQj.cjs +61 -0
- package/dist/update-Cx_2GkQj.cjs.map +1 -0
- package/dist/update-DRnN1kiu.cjs +117 -0
- package/dist/update-DRnN1kiu.cjs.map +1 -0
- package/dist/update-Do9HHWzs.cjs +73 -0
- package/dist/update-Do9HHWzs.cjs.map +1 -0
- package/dist/update-mEmULIau.mjs +73 -0
- package/dist/update-mEmULIau.mjs.map +1 -0
- package/dist/update-rzij1b_o.mjs +61 -0
- package/dist/update-rzij1b_o.mjs.map +1 -0
- package/dist/upload-C43ZXxyb.cjs +95 -0
- package/dist/upload-C43ZXxyb.cjs.map +1 -0
- package/dist/upload-DGgJ1TQk.mjs +94 -0
- package/dist/upload-DGgJ1TQk.mjs.map +1 -0
- package/dist/validate-BpxZ8LTl.cjs +31 -0
- package/dist/validate-BpxZ8LTl.cjs.map +1 -0
- package/dist/validate-Ca0CRo16.mjs +31 -0
- package/dist/validate-Ca0CRo16.mjs.map +1 -0
- package/dist/webhook-CVFmch5W.cjs +20 -0
- package/dist/webhook-CVFmch5W.cjs.map +1 -0
- package/dist/webhook-Cy850dNs.mjs +20 -0
- package/dist/webhook-Cy850dNs.mjs.map +1 -0
- package/package.json +28 -17
- package/bin/index.js +0 -3
- package/dist/cli.cjs +0 -1978
- package/dist/cli.cjs.map +0 -1
- package/dist/cli.d.cts +0 -2
- package/dist/cli.d.ts +0 -2
- package/dist/cli.js +0 -1954
- package/dist/cli.js.map +0 -1
- package/dist/config/index.js +0 -81
- package/dist/config/index.js.map +0 -1
package/README.md
CHANGED
|
@@ -1,9 +1,116 @@
|
|
|
1
|
-
#
|
|
1
|
+
# @orizm/cli
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
The command-line interface for Orizm. It talks to the Developer API using either
|
|
4
|
+
an OAuth2 Bearer token or a Developer Key, covering everything from pushing schema
|
|
5
|
+
definitions and generating SDK types to managing projects, keys, users, content,
|
|
6
|
+
buckets, and webhooks. Commands follow a noun-first layout: `orizm <noun> <verb>`.
|
|
4
7
|
|
|
5
|
-
|
|
8
|
+
## Installation
|
|
6
9
|
|
|
7
|
-
|
|
10
|
+
```sh
|
|
11
|
+
npm install -g @orizm/cli
|
|
12
|
+
# or as a devDependency
|
|
13
|
+
npm install -D @orizm/cli
|
|
14
|
+
```
|
|
8
15
|
|
|
16
|
+
The bin name is `orizm`.
|
|
17
|
+
|
|
18
|
+
## Quick start
|
|
19
|
+
|
|
20
|
+
```sh
|
|
21
|
+
orizm auth login # Log in via OAuth2 (opens your browser)
|
|
22
|
+
orizm link # Pick an organization and project, writing .orizm/project.json
|
|
23
|
+
orizm schema push # Push orizm.config.ts to the server
|
|
24
|
+
orizm codegen cms # Generate CMS SDK types
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## Authentication
|
|
28
|
+
|
|
29
|
+
OAuth2 login (Authorization Code + PKCE) is the default. Tokens are stored in
|
|
30
|
+
`~/.config/orizm/auth.json` (`%APPDATA%/orizm/auth.json` on Windows).
|
|
31
|
+
|
|
32
|
+
```sh
|
|
33
|
+
orizm auth login
|
|
34
|
+
orizm auth status
|
|
35
|
+
orizm auth logout
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
For CI and automation, use API-key authentication. **Automatic `.env` loading has
|
|
39
|
+
been removed in v3.** Pass `ORIZM_API_KEY` explicitly as an environment variable.
|
|
40
|
+
|
|
41
|
+
```yaml
|
|
42
|
+
- run: orizm schema push --yes
|
|
43
|
+
env:
|
|
44
|
+
ORIZM_API_KEY: ${{ secrets.ORIZM_API_KEY }}
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
To keep using a `.env` file locally, wrap the command with `dotenv-cli` or `direnv`.
|
|
48
|
+
|
|
49
|
+
```sh
|
|
50
|
+
dotenv -e .env -- orizm schema push
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
When both an OAuth2 token and `ORIZM_API_KEY` are present, the OAuth2 token wins.
|
|
54
|
+
|
|
55
|
+
## Environment variables
|
|
56
|
+
|
|
57
|
+
| Variable | Purpose | Default |
|
|
58
|
+
| ------------------------ | -------------------------------------------------------------------------------------------------- | ------------------------ |
|
|
59
|
+
| `ORIZM_BASE_URL` | Developer API base URL (switch between local / staging / production) | `https://app.orizm.com` |
|
|
60
|
+
| `ORIZM_OAUTH_ISSUER_URL` | OAuth2 issuer URL. Set this only when the auth server runs on a different host/port (e.g. locally) | same as `ORIZM_BASE_URL` |
|
|
61
|
+
| `ORIZM_PROJECT` | Project context (lower priority than `--project` and `.orizm/project.json`) | (unset) |
|
|
62
|
+
| `ORIZM_API_KEY` | Developer Key auth, used as a fallback when no OAuth2 token is present | (unset) |
|
|
63
|
+
| `ORIZM_DEBUG` | Enables debug logging (same as `--debug`) | (unset) |
|
|
64
|
+
|
|
65
|
+
## Project context
|
|
66
|
+
|
|
67
|
+
The target project is resolved in this order:
|
|
68
|
+
|
|
69
|
+
1. `--project <name>` flag
|
|
70
|
+
2. `ORIZM_PROJECT` environment variable
|
|
71
|
+
3. `projectName` in `.orizm/project.json` (created by `orizm link`)
|
|
72
|
+
|
|
73
|
+
`orizm link` interactively selects an organization and project, writes
|
|
74
|
+
`.orizm/project.json`, and on first use offers to add `.orizm/` to `.gitignore`.
|
|
75
|
+
|
|
76
|
+
## Commands
|
|
77
|
+
|
|
78
|
+
Commands are noun-first: `orizm <noun> <verb>`. The available nouns are `auth`,
|
|
79
|
+
`link`, `org`, `project`, `schema`, `codegen`, `key`, `project-user`, `content`,
|
|
80
|
+
`bucket`, and `webhook`.
|
|
81
|
+
|
|
82
|
+
Global flags available on every command:
|
|
83
|
+
|
|
84
|
+
- `--json` — emit structured JSON
|
|
85
|
+
- `--debug` — write debug logs to stderr
|
|
86
|
+
- `--no-color` — disable colored output (also respects `NO_COLOR`)
|
|
87
|
+
|
|
88
|
+
See the [Orizm CLI reference](https://docs.orizm.com/features/cli) for the full list.
|
|
89
|
+
|
|
90
|
+
## Schema definition (`@orizm/cli/config`)
|
|
91
|
+
|
|
92
|
+
Write `orizm.config.ts` with `defineConfig`:
|
|
93
|
+
|
|
94
|
+
```ts
|
|
95
|
+
import { defineConfig } from "@orizm/cli/config";
|
|
96
|
+
|
|
97
|
+
export default defineConfig({
|
|
98
|
+
tables: {
|
|
99
|
+
/* ... */
|
|
100
|
+
},
|
|
101
|
+
});
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
## Migrating from v2
|
|
105
|
+
|
|
106
|
+
v3 contains breaking changes: the move to OAuth2 authentication, removal of
|
|
107
|
+
automatic `.env` loading, project context via `.orizm/project.json`, and renamed
|
|
108
|
+
commands. See the [v2 → v3 migration guide](https://docs.orizm.com/resources/cli-v2-to-v3-migration-guide).
|
|
109
|
+
|
|
110
|
+
## For developers
|
|
111
|
+
|
|
112
|
+
### Build the npm package
|
|
113
|
+
|
|
114
|
+
```sh
|
|
9
115
|
pnpm run build
|
|
116
|
+
```
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { Result } from "@praha/byethrow";
|
|
2
|
+
|
|
3
|
+
//#region src/cli/commands/array-update.ts
|
|
4
|
+
function resolveArrayUpdate(params) {
|
|
5
|
+
const hasEdit = params.add !== void 0 || params.remove !== void 0;
|
|
6
|
+
if (params.clear && params.replace !== void 0) return Result.fail({ message: `Cannot combine --${params.replaceFlag} with --${params.clearFlag}.` });
|
|
7
|
+
if ((params.clear || params.replace !== void 0) && hasEdit) return Result.fail({ message: `Cannot combine --${params.replaceFlag} / --${params.clearFlag} with ${params.editFlags}.` });
|
|
8
|
+
if (params.clear) return Result.succeed({
|
|
9
|
+
mode: "replace",
|
|
10
|
+
items: []
|
|
11
|
+
});
|
|
12
|
+
if (params.replace !== void 0) return Result.succeed({
|
|
13
|
+
mode: "replace",
|
|
14
|
+
items: params.replace
|
|
15
|
+
});
|
|
16
|
+
if (hasEdit) return Result.succeed({
|
|
17
|
+
mode: "edit",
|
|
18
|
+
add: params.add ?? [],
|
|
19
|
+
remove: params.remove ?? []
|
|
20
|
+
});
|
|
21
|
+
return Result.succeed(void 0);
|
|
22
|
+
}
|
|
23
|
+
function findDuplicateKey(items, keyOf) {
|
|
24
|
+
const seen = /* @__PURE__ */ new Set();
|
|
25
|
+
for (const item of items) {
|
|
26
|
+
const key = keyOf(item);
|
|
27
|
+
if (seen.has(key)) return key;
|
|
28
|
+
seen.add(key);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
function applyKeyedEdits(current, edits, keyOf) {
|
|
32
|
+
const replaced = current.filter((item) => !edits.remove.includes(keyOf(item))).map((item) => {
|
|
33
|
+
return edits.add.find((addition) => keyOf(addition) === keyOf(item)) ?? item;
|
|
34
|
+
});
|
|
35
|
+
const appended = edits.add.filter((addition) => !replaced.some((item) => keyOf(item) === keyOf(addition)));
|
|
36
|
+
return [...replaced, ...appended];
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
//#endregion
|
|
40
|
+
export { findDuplicateKey as n, resolveArrayUpdate as r, applyKeyedEdits as t };
|
|
41
|
+
//# sourceMappingURL=array-update-CMFUoQEe.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"array-update-CMFUoQEe.mjs","names":[],"sources":["../src/cli/commands/array-update.ts"],"sourcesContent":["import { Result } from \"@praha/byethrow\";\nimport type { CommandFailure } from \"./define-command.js\";\n\n// 「全置換 / 全削除」(replace) と「要素単位の編集」(edit) は同じフィールドに同時適用すると\n// 結果が曖昧になるため、フラグの組み合わせをここで 1 つの更新内容に正規化して弾く。\nexport type ArrayUpdate<TItem, TRemoval> =\n | { mode: \"replace\"; items: TItem[] }\n | { mode: \"edit\"; add: TItem[]; remove: TRemoval[] }\n | undefined;\n\nexport function resolveArrayUpdate<TItem, TRemoval>(params: {\n replaceFlag: string;\n clearFlag: string;\n editFlags: string;\n replace: TItem[] | undefined;\n add: TItem[] | undefined;\n remove: TRemoval[] | undefined;\n clear: boolean;\n}): Result.Result<ArrayUpdate<TItem, TRemoval>, CommandFailure> {\n const hasEdit = params.add !== undefined || params.remove !== undefined;\n if (params.clear && params.replace !== undefined) {\n return Result.fail({\n message: `Cannot combine --${params.replaceFlag} with --${params.clearFlag}.`,\n });\n }\n if ((params.clear || params.replace !== undefined) && hasEdit) {\n return Result.fail({\n message: `Cannot combine --${params.replaceFlag} / --${params.clearFlag} with ${params.editFlags}.`,\n });\n }\n if (params.clear) return Result.succeed({ mode: \"replace\", items: [] });\n if (params.replace !== undefined) {\n return Result.succeed({ mode: \"replace\", items: params.replace });\n }\n if (hasEdit) {\n return Result.succeed({\n mode: \"edit\",\n add: params.add ?? [],\n remove: params.remove ?? [],\n });\n }\n return Result.succeed(undefined);\n}\n\n// 1 回の実行内で同一キーが複数回指定されたら、最初に見つかった重複キーを返す。\n// 「後勝ち」で黙って畳むと矛盾した指定に気づけないため、呼び出し側でエラーにする用途。\nexport function findDuplicateKey<TItem>(\n items: TItem[],\n keyOf: (item: TItem) => string,\n): string | undefined {\n const seen = new Set<string>();\n for (const item of items) {\n const key = keyOf(item);\n if (seen.has(key)) return key;\n seen.add(key);\n }\n return undefined;\n}\n\n// キーが一意なコレクション (custom header の key、group role の group) の編集規則。\n// add は同一キーの重複を作らず値の置き換えにし、remove はキー指定で取り除く。\nexport function applyKeyedEdits<TItem>(\n current: TItem[],\n edits: { add: TItem[]; remove: string[] },\n keyOf: (item: TItem) => string,\n): TItem[] {\n const afterRemove = current.filter(\n (item) => !edits.remove.includes(keyOf(item)),\n );\n const replaced = afterRemove.map((item) => {\n const replacement = edits.add.find(\n (addition) => keyOf(addition) === keyOf(item),\n );\n return replacement ?? item;\n });\n const appended = edits.add.filter(\n (addition) => !replaced.some((item) => keyOf(item) === keyOf(addition)),\n );\n return [...replaced, ...appended];\n}\n"],"mappings":";;;AAUA,SAAgB,mBAAoC,QAQY;CAC9D,MAAM,UAAU,OAAO,QAAQ,UAAa,OAAO,WAAW;CAC9D,IAAI,OAAO,SAAS,OAAO,YAAY,QACrC,OAAO,OAAO,KAAK,EACjB,SAAS,oBAAoB,OAAO,YAAY,UAAU,OAAO,UAAU,GAC7E,CAAC;CAEH,KAAK,OAAO,SAAS,OAAO,YAAY,WAAc,SACpD,OAAO,OAAO,KAAK,EACjB,SAAS,oBAAoB,OAAO,YAAY,OAAO,OAAO,UAAU,QAAQ,OAAO,UAAU,GACnG,CAAC;CAEH,IAAI,OAAO,OAAO,OAAO,OAAO,QAAQ;EAAE,MAAM;EAAW,OAAO,CAAC;CAAE,CAAC;CACtE,IAAI,OAAO,YAAY,QACrB,OAAO,OAAO,QAAQ;EAAE,MAAM;EAAW,OAAO,OAAO;CAAQ,CAAC;CAElE,IAAI,SACF,OAAO,OAAO,QAAQ;EACpB,MAAM;EACN,KAAK,OAAO,OAAO,CAAC;EACpB,QAAQ,OAAO,UAAU,CAAC;CAC5B,CAAC;CAEH,OAAO,OAAO,QAAQ,MAAS;AACjC;AAIA,SAAgB,iBACd,OACA,OACoB;CACpB,MAAM,uBAAO,IAAI,IAAY;CAC7B,KAAK,MAAM,QAAQ,OAAO;EACxB,MAAM,MAAM,MAAM,IAAI;EACtB,IAAI,KAAK,IAAI,GAAG,GAAG,OAAO;EAC1B,KAAK,IAAI,GAAG;CACd;AAEF;AAIA,SAAgB,gBACd,SACA,OACA,OACS;CAIT,MAAM,WAHc,QAAQ,QACzB,SAAS,CAAC,MAAM,OAAO,SAAS,MAAM,IAAI,CAAC,CAEnB,CAAC,CAAC,KAAK,SAAS;EAIzC,OAHoB,MAAM,IAAI,MAC3B,aAAa,MAAM,QAAQ,MAAM,MAAM,IAAI,CAE7B,KAAK;CACxB,CAAC;CACD,MAAM,WAAW,MAAM,IAAI,QACxB,aAAa,CAAC,SAAS,MAAM,SAAS,MAAM,IAAI,MAAM,MAAM,QAAQ,CAAC,CACxE;CACA,OAAO,CAAC,GAAG,UAAU,GAAG,QAAQ;AAClC"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
let _praha_byethrow = require("@praha/byethrow");
|
|
2
|
+
|
|
3
|
+
//#region src/cli/commands/array-update.ts
|
|
4
|
+
function resolveArrayUpdate(params) {
|
|
5
|
+
const hasEdit = params.add !== void 0 || params.remove !== void 0;
|
|
6
|
+
if (params.clear && params.replace !== void 0) return _praha_byethrow.Result.fail({ message: `Cannot combine --${params.replaceFlag} with --${params.clearFlag}.` });
|
|
7
|
+
if ((params.clear || params.replace !== void 0) && hasEdit) return _praha_byethrow.Result.fail({ message: `Cannot combine --${params.replaceFlag} / --${params.clearFlag} with ${params.editFlags}.` });
|
|
8
|
+
if (params.clear) return _praha_byethrow.Result.succeed({
|
|
9
|
+
mode: "replace",
|
|
10
|
+
items: []
|
|
11
|
+
});
|
|
12
|
+
if (params.replace !== void 0) return _praha_byethrow.Result.succeed({
|
|
13
|
+
mode: "replace",
|
|
14
|
+
items: params.replace
|
|
15
|
+
});
|
|
16
|
+
if (hasEdit) return _praha_byethrow.Result.succeed({
|
|
17
|
+
mode: "edit",
|
|
18
|
+
add: params.add ?? [],
|
|
19
|
+
remove: params.remove ?? []
|
|
20
|
+
});
|
|
21
|
+
return _praha_byethrow.Result.succeed(void 0);
|
|
22
|
+
}
|
|
23
|
+
function findDuplicateKey(items, keyOf) {
|
|
24
|
+
const seen = /* @__PURE__ */ new Set();
|
|
25
|
+
for (const item of items) {
|
|
26
|
+
const key = keyOf(item);
|
|
27
|
+
if (seen.has(key)) return key;
|
|
28
|
+
seen.add(key);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
function applyKeyedEdits(current, edits, keyOf) {
|
|
32
|
+
const replaced = current.filter((item) => !edits.remove.includes(keyOf(item))).map((item) => {
|
|
33
|
+
return edits.add.find((addition) => keyOf(addition) === keyOf(item)) ?? item;
|
|
34
|
+
});
|
|
35
|
+
const appended = edits.add.filter((addition) => !replaced.some((item) => keyOf(item) === keyOf(addition)));
|
|
36
|
+
return [...replaced, ...appended];
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
//#endregion
|
|
40
|
+
Object.defineProperty(exports, 'applyKeyedEdits', {
|
|
41
|
+
enumerable: true,
|
|
42
|
+
get: function () {
|
|
43
|
+
return applyKeyedEdits;
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
Object.defineProperty(exports, 'findDuplicateKey', {
|
|
47
|
+
enumerable: true,
|
|
48
|
+
get: function () {
|
|
49
|
+
return findDuplicateKey;
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
Object.defineProperty(exports, 'resolveArrayUpdate', {
|
|
53
|
+
enumerable: true,
|
|
54
|
+
get: function () {
|
|
55
|
+
return resolveArrayUpdate;
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
//# sourceMappingURL=array-update-Dch4e9tI.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"array-update-Dch4e9tI.cjs","names":["Result"],"sources":["../src/cli/commands/array-update.ts"],"sourcesContent":["import { Result } from \"@praha/byethrow\";\nimport type { CommandFailure } from \"./define-command.js\";\n\n// 「全置換 / 全削除」(replace) と「要素単位の編集」(edit) は同じフィールドに同時適用すると\n// 結果が曖昧になるため、フラグの組み合わせをここで 1 つの更新内容に正規化して弾く。\nexport type ArrayUpdate<TItem, TRemoval> =\n | { mode: \"replace\"; items: TItem[] }\n | { mode: \"edit\"; add: TItem[]; remove: TRemoval[] }\n | undefined;\n\nexport function resolveArrayUpdate<TItem, TRemoval>(params: {\n replaceFlag: string;\n clearFlag: string;\n editFlags: string;\n replace: TItem[] | undefined;\n add: TItem[] | undefined;\n remove: TRemoval[] | undefined;\n clear: boolean;\n}): Result.Result<ArrayUpdate<TItem, TRemoval>, CommandFailure> {\n const hasEdit = params.add !== undefined || params.remove !== undefined;\n if (params.clear && params.replace !== undefined) {\n return Result.fail({\n message: `Cannot combine --${params.replaceFlag} with --${params.clearFlag}.`,\n });\n }\n if ((params.clear || params.replace !== undefined) && hasEdit) {\n return Result.fail({\n message: `Cannot combine --${params.replaceFlag} / --${params.clearFlag} with ${params.editFlags}.`,\n });\n }\n if (params.clear) return Result.succeed({ mode: \"replace\", items: [] });\n if (params.replace !== undefined) {\n return Result.succeed({ mode: \"replace\", items: params.replace });\n }\n if (hasEdit) {\n return Result.succeed({\n mode: \"edit\",\n add: params.add ?? [],\n remove: params.remove ?? [],\n });\n }\n return Result.succeed(undefined);\n}\n\n// 1 回の実行内で同一キーが複数回指定されたら、最初に見つかった重複キーを返す。\n// 「後勝ち」で黙って畳むと矛盾した指定に気づけないため、呼び出し側でエラーにする用途。\nexport function findDuplicateKey<TItem>(\n items: TItem[],\n keyOf: (item: TItem) => string,\n): string | undefined {\n const seen = new Set<string>();\n for (const item of items) {\n const key = keyOf(item);\n if (seen.has(key)) return key;\n seen.add(key);\n }\n return undefined;\n}\n\n// キーが一意なコレクション (custom header の key、group role の group) の編集規則。\n// add は同一キーの重複を作らず値の置き換えにし、remove はキー指定で取り除く。\nexport function applyKeyedEdits<TItem>(\n current: TItem[],\n edits: { add: TItem[]; remove: string[] },\n keyOf: (item: TItem) => string,\n): TItem[] {\n const afterRemove = current.filter(\n (item) => !edits.remove.includes(keyOf(item)),\n );\n const replaced = afterRemove.map((item) => {\n const replacement = edits.add.find(\n (addition) => keyOf(addition) === keyOf(item),\n );\n return replacement ?? item;\n });\n const appended = edits.add.filter(\n (addition) => !replaced.some((item) => keyOf(item) === keyOf(addition)),\n );\n return [...replaced, ...appended];\n}\n"],"mappings":";;;AAUA,SAAgB,mBAAoC,QAQY;CAC9D,MAAM,UAAU,OAAO,QAAQ,UAAa,OAAO,WAAW;CAC9D,IAAI,OAAO,SAAS,OAAO,YAAY,QACrC,OAAOA,uBAAO,KAAK,EACjB,SAAS,oBAAoB,OAAO,YAAY,UAAU,OAAO,UAAU,GAC7E,CAAC;CAEH,KAAK,OAAO,SAAS,OAAO,YAAY,WAAc,SACpD,OAAOA,uBAAO,KAAK,EACjB,SAAS,oBAAoB,OAAO,YAAY,OAAO,OAAO,UAAU,QAAQ,OAAO,UAAU,GACnG,CAAC;CAEH,IAAI,OAAO,OAAO,OAAOA,uBAAO,QAAQ;EAAE,MAAM;EAAW,OAAO,CAAC;CAAE,CAAC;CACtE,IAAI,OAAO,YAAY,QACrB,OAAOA,uBAAO,QAAQ;EAAE,MAAM;EAAW,OAAO,OAAO;CAAQ,CAAC;CAElE,IAAI,SACF,OAAOA,uBAAO,QAAQ;EACpB,MAAM;EACN,KAAK,OAAO,OAAO,CAAC;EACpB,QAAQ,OAAO,UAAU,CAAC;CAC5B,CAAC;CAEH,OAAOA,uBAAO,QAAQ,MAAS;AACjC;AAIA,SAAgB,iBACd,OACA,OACoB;CACpB,MAAM,uBAAO,IAAI,IAAY;CAC7B,KAAK,MAAM,QAAQ,OAAO;EACxB,MAAM,MAAM,MAAM,IAAI;EACtB,IAAI,KAAK,IAAI,GAAG,GAAG,OAAO;EAC1B,KAAK,IAAI,GAAG;CACd;AAEF;AAIA,SAAgB,gBACd,SACA,OACA,OACS;CAIT,MAAM,WAHc,QAAQ,QACzB,SAAS,CAAC,MAAM,OAAO,SAAS,MAAM,IAAI,CAAC,CAEnB,CAAC,CAAC,KAAK,SAAS;EAIzC,OAHoB,MAAM,IAAI,MAC3B,aAAa,MAAM,QAAQ,MAAM,MAAM,IAAI,CAE7B,KAAK;CACxB,CAAC;CACD,MAAM,WAAW,MAAM,IAAI,QACxB,aAAa,CAAC,SAAS,MAAM,SAAS,MAAM,IAAI,MAAM,MAAM,QAAQ,CAAC,CACxE;CACA,OAAO,CAAC,GAAG,UAAU,GAAG,QAAQ;AAClC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { t as defineCommand } from "./cli/main.mjs";
|
|
2
|
+
|
|
3
|
+
//#region src/cli/commands/auth/index.ts
|
|
4
|
+
var auth_default = defineCommand({
|
|
5
|
+
meta: {
|
|
6
|
+
name: "auth",
|
|
7
|
+
description: "Manage authentication with Orizm"
|
|
8
|
+
},
|
|
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)
|
|
13
|
+
}
|
|
14
|
+
});
|
|
15
|
+
|
|
16
|
+
//#endregion
|
|
17
|
+
export { auth_default as default };
|
|
18
|
+
//# sourceMappingURL=auth-BGW072BP.mjs.map
|
|
@@ -0,0 +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"}
|
|
@@ -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-2XcHd4wn.cjs")).then((m) => m.default),
|
|
11
|
+
logout: () => Promise.resolve().then(() => require("./logout-DC5TMJ5_.cjs")).then((m) => m.default),
|
|
12
|
+
status: () => Promise.resolve().then(() => require("./status-Dq_NJE71.cjs")).then((m) => m.default)
|
|
13
|
+
}
|
|
14
|
+
});
|
|
15
|
+
|
|
16
|
+
//#endregion
|
|
17
|
+
exports.default = auth_default;
|
|
18
|
+
//# sourceMappingURL=auth-CNbONZuf.cjs.map
|
|
@@ -0,0 +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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { t as defineCommand } from "./cli/main.mjs";
|
|
2
|
+
|
|
3
|
+
//#region src/cli/commands/bucket/index.ts
|
|
4
|
+
var bucket_default = defineCommand({
|
|
5
|
+
meta: {
|
|
6
|
+
name: "bucket",
|
|
7
|
+
description: "Manage buckets and bucket objects"
|
|
8
|
+
},
|
|
9
|
+
subCommands: {
|
|
10
|
+
list: () => import("./list-rAn3uOA7.mjs").then((m) => m.default),
|
|
11
|
+
object: () => import("./object-qdBdEghr.mjs").then((m) => m.default)
|
|
12
|
+
}
|
|
13
|
+
});
|
|
14
|
+
|
|
15
|
+
//#endregion
|
|
16
|
+
export { bucket_default as default };
|
|
17
|
+
//# sourceMappingURL=bucket-DqW-WEYb.mjs.map
|
|
@@ -0,0 +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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
const require_cli_main = require('./cli/main.cjs');
|
|
2
|
+
|
|
3
|
+
//#region src/cli/commands/bucket/index.ts
|
|
4
|
+
var bucket_default = require_cli_main.defineCommand({
|
|
5
|
+
meta: {
|
|
6
|
+
name: "bucket",
|
|
7
|
+
description: "Manage buckets and bucket objects"
|
|
8
|
+
},
|
|
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)
|
|
12
|
+
}
|
|
13
|
+
});
|
|
14
|
+
|
|
15
|
+
//#endregion
|
|
16
|
+
exports.default = bucket_default;
|
|
17
|
+
//# sourceMappingURL=bucket-mg5QQORh.cjs.map
|
|
@@ -0,0 +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"}
|
|
@@ -0,0 +1,231 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
3
|
+
//#region \0rolldown/runtime.js
|
|
4
|
+
var __create = Object.create;
|
|
5
|
+
var __defProp = Object.defineProperty;
|
|
6
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
7
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
8
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
9
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
|
|
13
|
+
key = keys[i];
|
|
14
|
+
if (!__hasOwnProp.call(to, key) && key !== except) {
|
|
15
|
+
__defProp(to, key, {
|
|
16
|
+
get: ((k) => from[k]).bind(null, key),
|
|
17
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
return to;
|
|
23
|
+
};
|
|
24
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
|
|
25
|
+
value: mod,
|
|
26
|
+
enumerable: true
|
|
27
|
+
}) : target, mod));
|
|
28
|
+
|
|
29
|
+
//#endregion
|
|
30
|
+
let citty = require("citty");
|
|
31
|
+
let _praha_byethrow = require("@praha/byethrow");
|
|
32
|
+
let consola = require("consola");
|
|
33
|
+
let consola_utils = require("consola/utils");
|
|
34
|
+
let valibot = require("valibot");
|
|
35
|
+
valibot = __toESM(valibot, 1);
|
|
36
|
+
|
|
37
|
+
//#region package.json
|
|
38
|
+
var version$1 = "3.0.1";
|
|
39
|
+
|
|
40
|
+
//#endregion
|
|
41
|
+
//#region src/cli/version.ts
|
|
42
|
+
const version = version$1;
|
|
43
|
+
|
|
44
|
+
//#endregion
|
|
45
|
+
//#region src/cli/ui/output.ts
|
|
46
|
+
let state = {
|
|
47
|
+
json: false,
|
|
48
|
+
color: false
|
|
49
|
+
};
|
|
50
|
+
function getOutputState() {
|
|
51
|
+
return state;
|
|
52
|
+
}
|
|
53
|
+
const levelColor = {
|
|
54
|
+
fatal: consola_utils.colors.red,
|
|
55
|
+
error: consola_utils.colors.red,
|
|
56
|
+
warn: consola_utils.colors.yellow,
|
|
57
|
+
info: consola_utils.colors.cyan,
|
|
58
|
+
success: consola_utils.colors.green,
|
|
59
|
+
start: consola_utils.colors.cyan,
|
|
60
|
+
debug: consola_utils.colors.gray,
|
|
61
|
+
trace: consola_utils.colors.gray
|
|
62
|
+
};
|
|
63
|
+
function formatArg(arg) {
|
|
64
|
+
if (typeof arg === "string") return arg;
|
|
65
|
+
if (arg instanceof Error) return arg.stack ?? arg.message;
|
|
66
|
+
return JSON.stringify(arg);
|
|
67
|
+
}
|
|
68
|
+
const stderrReporter = { log(logObj) {
|
|
69
|
+
const message = logObj.args.map(formatArg).join(" ");
|
|
70
|
+
if (state.json) {
|
|
71
|
+
process.stderr.write(JSON.stringify({
|
|
72
|
+
level: logObj.type,
|
|
73
|
+
message
|
|
74
|
+
}) + "\n");
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
const colorize = state.color ? levelColor[logObj.type] ?? ((text) => text) : (text) => text;
|
|
78
|
+
const prefix = logObj.type === "log" ? "" : `${colorize(logObj.type)} `;
|
|
79
|
+
process.stderr.write(`${prefix}${message}\n`);
|
|
80
|
+
} };
|
|
81
|
+
const logger = (0, consola.createConsola)({
|
|
82
|
+
level: consola.LogLevels.warn,
|
|
83
|
+
reporters: [stderrReporter]
|
|
84
|
+
});
|
|
85
|
+
function isEnvEnabled(value) {
|
|
86
|
+
return value != null && value !== "" && value !== "0" && value !== "false";
|
|
87
|
+
}
|
|
88
|
+
function configureOutput(args) {
|
|
89
|
+
const debug = args.debug === true || isEnvEnabled(process.env.ORIZM_DEBUG);
|
|
90
|
+
const noColorFlag = args["no-color"] === true || args.noColor === true;
|
|
91
|
+
const noColorEnv = process.env.NO_COLOR != null && process.env.NO_COLOR !== "";
|
|
92
|
+
const color = !noColorFlag && !noColorEnv && process.stderr.isTTY === true;
|
|
93
|
+
state = {
|
|
94
|
+
json: args.json === true,
|
|
95
|
+
color
|
|
96
|
+
};
|
|
97
|
+
logger.level = debug ? consola.LogLevels.debug : consola.LogLevels.warn;
|
|
98
|
+
}
|
|
99
|
+
function isDebugEnabled() {
|
|
100
|
+
return logger.level >= consola.LogLevels.debug;
|
|
101
|
+
}
|
|
102
|
+
function notice(message) {
|
|
103
|
+
if (state.json) {
|
|
104
|
+
process.stderr.write(JSON.stringify({
|
|
105
|
+
level: "info",
|
|
106
|
+
message
|
|
107
|
+
}) + "\n");
|
|
108
|
+
return;
|
|
109
|
+
}
|
|
110
|
+
process.stderr.write(message + "\n");
|
|
111
|
+
}
|
|
112
|
+
function warn(message) {
|
|
113
|
+
if (state.json) {
|
|
114
|
+
process.stderr.write(JSON.stringify({
|
|
115
|
+
level: "warn",
|
|
116
|
+
message
|
|
117
|
+
}) + "\n");
|
|
118
|
+
return;
|
|
119
|
+
}
|
|
120
|
+
process.stderr.write((state.color ? consola_utils.colors.yellow(message) : message) + "\n");
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
//#endregion
|
|
124
|
+
//#region src/cli/ui/error.ts
|
|
125
|
+
function reportUnexpectedError(error) {
|
|
126
|
+
if (isDebugEnabled()) {
|
|
127
|
+
logger.error(error instanceof Error ? error.stack ?? error.message : String(error));
|
|
128
|
+
return;
|
|
129
|
+
}
|
|
130
|
+
const message = error instanceof Error ? error.message : "An unexpected error occurred.";
|
|
131
|
+
logger.error(`Unexpected error: ${message}\nRun again with --debug to see the full stack trace.`);
|
|
132
|
+
}
|
|
133
|
+
function formatValibotIssues(issues, color) {
|
|
134
|
+
return issues.map((issue) => {
|
|
135
|
+
const path = resolveIssuePath(issue);
|
|
136
|
+
return ` ${color ? consola_utils.colors.red(issue.message) : issue.message} (at ${color ? consola_utils.colors.yellow(path) : path})`;
|
|
137
|
+
}).join("\n");
|
|
138
|
+
}
|
|
139
|
+
function resolveIssuePath(issue) {
|
|
140
|
+
const dotPath = valibot.getDotPath(issue);
|
|
141
|
+
const pathInfo = issue.path;
|
|
142
|
+
if (dotPath == null || pathInfo == null) return "";
|
|
143
|
+
const pathParts = dotPath.split(".");
|
|
144
|
+
let pathInfoIndex = 0;
|
|
145
|
+
for (let i = 0; i < pathParts.length; i++) {
|
|
146
|
+
const part = pathParts[i];
|
|
147
|
+
if (!/^\d+$/.test(part)) continue;
|
|
148
|
+
const index = parseInt(part, 10);
|
|
149
|
+
for (let j = pathInfoIndex; j < pathInfo.length; j++) {
|
|
150
|
+
const pathItem = pathInfo[j];
|
|
151
|
+
if (pathItem.type === "array" && pathItem.key === index) {
|
|
152
|
+
if (pathItem.value != null && typeof pathItem.value === "object" && "name" in pathItem.value) {
|
|
153
|
+
pathParts[i] = String(pathItem.value.name);
|
|
154
|
+
pathInfoIndex = j + 1;
|
|
155
|
+
break;
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
return pathParts.join(".");
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
//#endregion
|
|
164
|
+
//#region src/cli/commands/define-command.ts
|
|
165
|
+
function defineCommand(def) {
|
|
166
|
+
const { run } = def;
|
|
167
|
+
if (!run) return (0, citty.defineCommand)(def);
|
|
168
|
+
return (0, citty.defineCommand)({
|
|
169
|
+
...def,
|
|
170
|
+
run: async (context) => {
|
|
171
|
+
configureOutput(context.args);
|
|
172
|
+
try {
|
|
173
|
+
const result = await run(context);
|
|
174
|
+
if (_praha_byethrow.Result.isFailure(result)) {
|
|
175
|
+
logger.error(result.error.message);
|
|
176
|
+
process.exitCode = result.error.exitCode ?? 1;
|
|
177
|
+
return;
|
|
178
|
+
}
|
|
179
|
+
writeOutput(result.value);
|
|
180
|
+
} catch (error) {
|
|
181
|
+
reportUnexpectedError(error);
|
|
182
|
+
process.exitCode = 1;
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
});
|
|
186
|
+
}
|
|
187
|
+
function writeOutput(output) {
|
|
188
|
+
if (output == null) return;
|
|
189
|
+
if (getOutputState().json) process.stdout.write(JSON.stringify(output.json, null, 2) + "\n");
|
|
190
|
+
else {
|
|
191
|
+
const text = output.text();
|
|
192
|
+
process.stdout.write(text.endsWith("\n") ? text : text + "\n");
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
//#endregion
|
|
197
|
+
//#region src/cli/commands/index.ts
|
|
198
|
+
const main = defineCommand({
|
|
199
|
+
meta: {
|
|
200
|
+
name: "orizm",
|
|
201
|
+
description: "Orizm CLI",
|
|
202
|
+
version
|
|
203
|
+
},
|
|
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-CVFmch5W.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)
|
|
216
|
+
}
|
|
217
|
+
});
|
|
218
|
+
|
|
219
|
+
//#endregion
|
|
220
|
+
//#region src/cli/main.ts
|
|
221
|
+
(0, citty.runMain)(main);
|
|
222
|
+
|
|
223
|
+
//#endregion
|
|
224
|
+
exports.__toESM = __toESM;
|
|
225
|
+
exports.defineCommand = defineCommand;
|
|
226
|
+
exports.formatValibotIssues = formatValibotIssues;
|
|
227
|
+
exports.getOutputState = getOutputState;
|
|
228
|
+
exports.logger = logger;
|
|
229
|
+
exports.notice = notice;
|
|
230
|
+
exports.warn = warn;
|
|
231
|
+
//# sourceMappingURL=main.cjs.map
|
|
@@ -0,0 +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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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type * from './main.d.mts'
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {}
|