@xano/cli 0.0.71-beta.0 → 0.0.71-beta.2

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.
@@ -93,20 +93,14 @@
93
93
  "index.js"
94
94
  ]
95
95
  },
96
- "branch:delete": {
96
+ "branch:create": {
97
97
  "aliases": [],
98
- "args": {
99
- "branch_label": {
100
- "description": "Branch label to delete (cannot delete \"v1\" or the live branch)",
101
- "name": "branch_label",
102
- "required": true
103
- }
104
- },
105
- "description": "Delete a branch (cannot delete \"v1\" or the live branch)",
98
+ "args": {},
99
+ "description": "Create a new branch by cloning from an existing branch",
106
100
  "examples": [
107
- "$ xano branch delete feature-old\nAre you sure you want to delete branch 'feature-old'? This action cannot be undone. (y/N) y\nDeleted branch: feature-old\n",
108
- "$ xano branch delete dev --force\nDeleted branch: dev\n",
109
- "$ xano branch delete staging -f -o json\n{\n \"deleted\": true,\n \"branch_label\": \"staging\"\n}\n"
101
+ "$ xano branch create --label dev\nCreated branch: dev\n Cloned from: v1\n",
102
+ "$ xano branch create -l feature-auth -s dev -d \"Authentication feature\"\nCreated branch: feature-auth\n Cloned from: dev\n Description: Authentication feature\n",
103
+ "$ xano branch create --label staging --color \"#ebc346\" --output json\n{\n \"created_at\": \"2024-02-11T10:00:00Z\",\n \"label\": \"staging\",\n \"backup\": false,\n \"live\": false\n}\n"
110
104
  ],
111
105
  "flags": {
112
106
  "profile": {
@@ -128,13 +122,32 @@
128
122
  "allowNo": false,
129
123
  "type": "boolean"
130
124
  },
131
- "force": {
132
- "char": "f",
133
- "description": "Skip confirmation prompt",
134
- "name": "force",
125
+ "color": {
126
+ "char": "c",
127
+ "description": "Color hex code for the branch (e.g., \"#ebc346\")",
128
+ "name": "color",
135
129
  "required": false,
136
- "allowNo": false,
137
- "type": "boolean"
130
+ "hasDynamicHelp": false,
131
+ "multiple": false,
132
+ "type": "option"
133
+ },
134
+ "description": {
135
+ "char": "d",
136
+ "description": "Description for the new branch",
137
+ "name": "description",
138
+ "required": false,
139
+ "hasDynamicHelp": false,
140
+ "multiple": false,
141
+ "type": "option"
142
+ },
143
+ "label": {
144
+ "char": "l",
145
+ "description": "Label for the new branch",
146
+ "name": "label",
147
+ "required": true,
148
+ "hasDynamicHelp": false,
149
+ "multiple": false,
150
+ "type": "option"
138
151
  },
139
152
  "output": {
140
153
  "char": "o",
@@ -150,6 +163,16 @@
150
163
  ],
151
164
  "type": "option"
152
165
  },
166
+ "source": {
167
+ "char": "s",
168
+ "description": "Source branch to clone from (defaults to \"v1\")",
169
+ "name": "source",
170
+ "required": false,
171
+ "default": "v1",
172
+ "hasDynamicHelp": false,
173
+ "multiple": false,
174
+ "type": "option"
175
+ },
153
176
  "workspace": {
154
177
  "char": "w",
155
178
  "description": "Workspace ID (uses profile workspace if not provided)",
@@ -162,7 +185,7 @@
162
185
  },
163
186
  "hasDynamicHelp": false,
164
187
  "hiddenAliases": [],
165
- "id": "branch:delete",
188
+ "id": "branch:create",
166
189
  "pluginAlias": "@xano/cli",
167
190
  "pluginName": "@xano/cli",
168
191
  "pluginType": "core",
@@ -173,18 +196,24 @@
173
196
  "dist",
174
197
  "commands",
175
198
  "branch",
176
- "delete",
199
+ "create",
177
200
  "index.js"
178
201
  ]
179
202
  },
180
- "branch:create": {
203
+ "branch:delete": {
181
204
  "aliases": [],
182
- "args": {},
183
- "description": "Create a new branch by cloning from an existing branch",
205
+ "args": {
206
+ "branch_label": {
207
+ "description": "Branch label to delete (cannot delete \"v1\" or the live branch)",
208
+ "name": "branch_label",
209
+ "required": true
210
+ }
211
+ },
212
+ "description": "Delete a branch (cannot delete \"v1\" or the live branch)",
184
213
  "examples": [
185
- "$ xano branch create --label dev\nCreated branch: dev\n Cloned from: v1\n",
186
- "$ xano branch create -l feature-auth -s dev -d \"Authentication feature\"\nCreated branch: feature-auth\n Cloned from: dev\n Description: Authentication feature\n",
187
- "$ xano branch create --label staging --color \"#ebc346\" --output json\n{\n \"created_at\": \"2024-02-11T10:00:00Z\",\n \"label\": \"staging\",\n \"backup\": false,\n \"live\": false\n}\n"
214
+ "$ xano branch delete feature-old\nAre you sure you want to delete branch 'feature-old'? This action cannot be undone. (y/N) y\nDeleted branch: feature-old\n",
215
+ "$ xano branch delete dev --force\nDeleted branch: dev\n",
216
+ "$ xano branch delete staging -f -o json\n{\n \"deleted\": true,\n \"branch_label\": \"staging\"\n}\n"
188
217
  ],
189
218
  "flags": {
190
219
  "profile": {
@@ -206,32 +235,13 @@
206
235
  "allowNo": false,
207
236
  "type": "boolean"
208
237
  },
209
- "color": {
210
- "char": "c",
211
- "description": "Color hex code for the branch (e.g., \"#ebc346\")",
212
- "name": "color",
213
- "required": false,
214
- "hasDynamicHelp": false,
215
- "multiple": false,
216
- "type": "option"
217
- },
218
- "description": {
219
- "char": "d",
220
- "description": "Description for the new branch",
221
- "name": "description",
238
+ "force": {
239
+ "char": "f",
240
+ "description": "Skip confirmation prompt",
241
+ "name": "force",
222
242
  "required": false,
223
- "hasDynamicHelp": false,
224
- "multiple": false,
225
- "type": "option"
226
- },
227
- "label": {
228
- "char": "l",
229
- "description": "Label for the new branch",
230
- "name": "label",
231
- "required": true,
232
- "hasDynamicHelp": false,
233
- "multiple": false,
234
- "type": "option"
243
+ "allowNo": false,
244
+ "type": "boolean"
235
245
  },
236
246
  "output": {
237
247
  "char": "o",
@@ -247,16 +257,6 @@
247
257
  ],
248
258
  "type": "option"
249
259
  },
250
- "source": {
251
- "char": "s",
252
- "description": "Source branch to clone from (defaults to \"v1\")",
253
- "name": "source",
254
- "required": false,
255
- "default": "v1",
256
- "hasDynamicHelp": false,
257
- "multiple": false,
258
- "type": "option"
259
- },
260
260
  "workspace": {
261
261
  "char": "w",
262
262
  "description": "Workspace ID (uses profile workspace if not provided)",
@@ -269,7 +269,7 @@
269
269
  },
270
270
  "hasDynamicHelp": false,
271
271
  "hiddenAliases": [],
272
- "id": "branch:create",
272
+ "id": "branch:delete",
273
273
  "pluginAlias": "@xano/cli",
274
274
  "pluginName": "@xano/cli",
275
275
  "pluginType": "core",
@@ -280,7 +280,7 @@
280
280
  "dist",
281
281
  "commands",
282
282
  "branch",
283
- "create",
283
+ "delete",
284
284
  "index.js"
285
285
  ]
286
286
  },
@@ -644,25 +644,23 @@
644
644
  "index.js"
645
645
  ]
646
646
  },
647
- "function:edit": {
647
+ "function:get": {
648
648
  "aliases": [],
649
649
  "args": {
650
650
  "function_id": {
651
- "description": "Function ID to edit",
651
+ "description": "Function ID",
652
652
  "name": "function_id",
653
653
  "required": false
654
654
  }
655
655
  },
656
- "description": "Edit a function in a workspace",
656
+ "description": "Get a specific function from a workspace",
657
657
  "examples": [
658
- "$ xano function:edit 163\n# Fetches the function code and opens it in $EDITOR for editing\nFunction updated successfully!\nID: 163\nName: my_function\n",
659
- "$ xano function:edit\n# Prompts for function, fetches the code and opens it in $EDITOR for editing\nSelect a function to edit:\n ❯ my_function (ID: 163) - Sample function\n another-func (ID: 164)\n",
660
- "$ xano function:edit 163 -f function.xs\nFunction updated successfully!\nID: 163\nName: my_function\n",
661
- "$ xano function:edit 163 -w 40 -f function.xs\nFunction updated successfully!\nID: 163\nName: my_function\n",
662
- "$ xano function:edit -f function.xs\nSelect a function to edit:\n ❯ my_function (ID: 163) - Sample function\n another-func (ID: 164)\n",
663
- "$ xano function:edit 163 -f function.xs --edit\n# Opens function.xs in $EDITOR, then updates function with edited content\nFunction updated successfully!\nID: 163\nName: my_function\n",
664
- "$ cat function.xs | xano function:edit 163 --stdin\nFunction updated successfully!\nID: 163\nName: my_function\n",
665
- "$ xano function:edit 163 -f function.xs -o json\n{\n \"id\": 163,\n \"name\": \"my_function\",\n ...\n}\n"
658
+ "$ xano function:get 145 -w 40\nFunction: yo (ID: 145)\nCreated: 2025-10-10 10:30:00\nDescription: Sample function\n",
659
+ "$ xano function:get 145 --profile production\nFunction: yo (ID: 145)\nCreated: 2025-10-10 10:30:00\n",
660
+ "$ xano function:get\nSelect a function:\n ❯ yo (ID: 145) - Sample function\n another-func (ID: 146)\n",
661
+ "$ xano function:get 145 -w 40 --output json\n{\n \"id\": 145,\n \"name\": \"yo\",\n \"description\": \"Sample function\"\n}\n",
662
+ "$ xano function:get 145 -p staging -o json --include_draft\n{\n \"id\": 145,\n \"name\": \"yo\"\n}\n",
663
+ "$ xano function:get 145 -p staging -o xs\nfunction yo {\n input {\n }\n stack {\n }\n response = null\n}\n"
666
664
  ],
667
665
  "flags": {
668
666
  "profile": {
@@ -684,25 +682,19 @@
684
682
  "allowNo": false,
685
683
  "type": "boolean"
686
684
  },
687
- "edit": {
688
- "char": "e",
689
- "description": "Open file in editor before updating function (requires --file)",
690
- "name": "edit",
685
+ "include_draft": {
686
+ "description": "Include draft version",
687
+ "name": "include_draft",
691
688
  "required": false,
692
689
  "allowNo": false,
693
690
  "type": "boolean"
694
691
  },
695
- "file": {
696
- "char": "f",
697
- "description": "Path to file containing XanoScript code",
698
- "exclusive": [
699
- "stdin"
700
- ],
701
- "name": "file",
692
+ "include_xanoscript": {
693
+ "description": "Include XanoScript in response",
694
+ "name": "include_xanoscript",
702
695
  "required": false,
703
- "hasDynamicHelp": false,
704
- "multiple": false,
705
- "type": "option"
696
+ "allowNo": false,
697
+ "type": "boolean"
706
698
  },
707
699
  "output": {
708
700
  "char": "o",
@@ -714,28 +706,11 @@
714
706
  "multiple": false,
715
707
  "options": [
716
708
  "summary",
717
- "json"
709
+ "json",
710
+ "xs"
718
711
  ],
719
712
  "type": "option"
720
713
  },
721
- "publish": {
722
- "description": "Publish the function after editing",
723
- "name": "publish",
724
- "required": false,
725
- "allowNo": false,
726
- "type": "boolean"
727
- },
728
- "stdin": {
729
- "char": "s",
730
- "description": "Read XanoScript code from stdin",
731
- "exclusive": [
732
- "file"
733
- ],
734
- "name": "stdin",
735
- "required": false,
736
- "allowNo": false,
737
- "type": "boolean"
738
- },
739
714
  "workspace": {
740
715
  "char": "w",
741
716
  "description": "Workspace ID (optional if set in profile)",
@@ -748,7 +723,7 @@
748
723
  },
749
724
  "hasDynamicHelp": false,
750
725
  "hiddenAliases": [],
751
- "id": "function:edit",
726
+ "id": "function:get",
752
727
  "pluginAlias": "@xano/cli",
753
728
  "pluginName": "@xano/cli",
754
729
  "pluginType": "core",
@@ -759,7 +734,7 @@
759
734
  "dist",
760
735
  "commands",
761
736
  "function",
762
- "edit",
737
+ "get",
763
738
  "index.js"
764
739
  ]
765
740
  },
@@ -888,23 +863,13 @@
888
863
  "index.js"
889
864
  ]
890
865
  },
891
- "function:get": {
866
+ "platform:list": {
892
867
  "aliases": [],
893
- "args": {
894
- "function_id": {
895
- "description": "Function ID",
896
- "name": "function_id",
897
- "required": false
898
- }
899
- },
900
- "description": "Get a specific function from a workspace",
868
+ "args": {},
869
+ "description": "List all platforms",
901
870
  "examples": [
902
- "$ xano function:get 145 -w 40\nFunction: yo (ID: 145)\nCreated: 2025-10-10 10:30:00\nDescription: Sample function\n",
903
- "$ xano function:get 145 --profile production\nFunction: yo (ID: 145)\nCreated: 2025-10-10 10:30:00\n",
904
- "$ xano function:get\nSelect a function:\n ❯ yo (ID: 145) - Sample function\n another-func (ID: 146)\n",
905
- "$ xano function:get 145 -w 40 --output json\n{\n \"id\": 145,\n \"name\": \"yo\",\n \"description\": \"Sample function\"\n}\n",
906
- "$ xano function:get 145 -p staging -o json --include_draft\n{\n \"id\": 145,\n \"name\": \"yo\"\n}\n",
907
- "$ xano function:get 145 -p staging -o xs\nfunction yo {\n input {\n }\n stack {\n }\n response = null\n}\n"
871
+ "$ xano platform list\nPlatforms:\n ID: 23629 | Helm: 0.1.356 | Created: 2025-11-28\n",
872
+ "$ xano platform list --output json"
908
873
  ],
909
874
  "flags": {
910
875
  "profile": {
@@ -926,20 +891,6 @@
926
891
  "allowNo": false,
927
892
  "type": "boolean"
928
893
  },
929
- "include_draft": {
930
- "description": "Include draft version",
931
- "name": "include_draft",
932
- "required": false,
933
- "allowNo": false,
934
- "type": "boolean"
935
- },
936
- "include_xanoscript": {
937
- "description": "Include XanoScript in response",
938
- "name": "include_xanoscript",
939
- "required": false,
940
- "allowNo": false,
941
- "type": "boolean"
942
- },
943
894
  "output": {
944
895
  "char": "o",
945
896
  "description": "Output format",
@@ -950,24 +901,14 @@
950
901
  "multiple": false,
951
902
  "options": [
952
903
  "summary",
953
- "json",
954
- "xs"
904
+ "json"
955
905
  ],
956
906
  "type": "option"
957
- },
958
- "workspace": {
959
- "char": "w",
960
- "description": "Workspace ID (optional if set in profile)",
961
- "name": "workspace",
962
- "required": false,
963
- "hasDynamicHelp": false,
964
- "multiple": false,
965
- "type": "option"
966
907
  }
967
908
  },
968
909
  "hasDynamicHelp": false,
969
910
  "hiddenAliases": [],
970
- "id": "function:get",
911
+ "id": "platform:list",
971
912
  "pluginAlias": "@xano/cli",
972
913
  "pluginName": "@xano/cli",
973
914
  "pluginType": "core",
@@ -977,8 +918,8 @@
977
918
  "relativePath": [
978
919
  "dist",
979
920
  "commands",
980
- "function",
981
- "get",
921
+ "platform",
922
+ "list",
982
923
  "index.js"
983
924
  ]
984
925
  },
@@ -1048,52 +989,34 @@
1048
989
  "index.js"
1049
990
  ]
1050
991
  },
1051
- "platform:list": {
992
+ "profile:delete": {
1052
993
  "aliases": [],
1053
- "args": {},
1054
- "description": "List all platforms",
1055
- "examples": [
1056
- "$ xano platform list\nPlatforms:\n ID: 23629 | Helm: 0.1.356 | Created: 2025-11-28\n",
1057
- "$ xano platform list --output json"
1058
- ],
1059
- "flags": {
1060
- "profile": {
1061
- "char": "p",
1062
- "description": "Profile to use (uses default profile if not specified)",
1063
- "env": "XANO_PROFILE",
1064
- "name": "profile",
1065
- "required": false,
1066
- "hasDynamicHelp": false,
1067
- "multiple": false,
1068
- "type": "option"
1069
- },
1070
- "verbose": {
1071
- "char": "v",
1072
- "description": "Show detailed request/response information",
1073
- "env": "XANO_VERBOSE",
1074
- "name": "verbose",
994
+ "args": {
995
+ "name": {
996
+ "description": "Profile name to delete",
997
+ "name": "name",
998
+ "required": true
999
+ }
1000
+ },
1001
+ "description": "Delete a profile configuration",
1002
+ "examples": [
1003
+ "$ xano profile:delete old-profile\nAre you sure you want to delete profile 'old-profile'? (y/n): y\nProfile 'old-profile' deleted successfully from ~/.xano/credentials.yaml\n",
1004
+ "$ xano profile:delete old-profile --force\nProfile 'old-profile' deleted successfully from ~/.xano/credentials.yaml\n",
1005
+ "$ xano profile:delete old-profile -f\nProfile 'old-profile' deleted successfully from ~/.xano/credentials.yaml\n"
1006
+ ],
1007
+ "flags": {
1008
+ "force": {
1009
+ "char": "f",
1010
+ "description": "Skip confirmation prompt",
1011
+ "name": "force",
1075
1012
  "required": false,
1076
1013
  "allowNo": false,
1077
1014
  "type": "boolean"
1078
- },
1079
- "output": {
1080
- "char": "o",
1081
- "description": "Output format",
1082
- "name": "output",
1083
- "required": false,
1084
- "default": "summary",
1085
- "hasDynamicHelp": false,
1086
- "multiple": false,
1087
- "options": [
1088
- "summary",
1089
- "json"
1090
- ],
1091
- "type": "option"
1092
1015
  }
1093
1016
  },
1094
1017
  "hasDynamicHelp": false,
1095
1018
  "hiddenAliases": [],
1096
- "id": "platform:list",
1019
+ "id": "profile:delete",
1097
1020
  "pluginAlias": "@xano/cli",
1098
1021
  "pluginName": "@xano/cli",
1099
1022
  "pluginType": "core",
@@ -1103,8 +1026,8 @@
1103
1026
  "relativePath": [
1104
1027
  "dist",
1105
1028
  "commands",
1106
- "platform",
1107
- "list",
1029
+ "profile",
1030
+ "delete",
1108
1031
  "index.js"
1109
1032
  ]
1110
1033
  },
@@ -1204,48 +1127,6 @@
1204
1127
  "index.js"
1205
1128
  ]
1206
1129
  },
1207
- "profile:delete": {
1208
- "aliases": [],
1209
- "args": {
1210
- "name": {
1211
- "description": "Profile name to delete",
1212
- "name": "name",
1213
- "required": true
1214
- }
1215
- },
1216
- "description": "Delete a profile configuration",
1217
- "examples": [
1218
- "$ xano profile:delete old-profile\nAre you sure you want to delete profile 'old-profile'? (y/n): y\nProfile 'old-profile' deleted successfully from ~/.xano/credentials.yaml\n",
1219
- "$ xano profile:delete old-profile --force\nProfile 'old-profile' deleted successfully from ~/.xano/credentials.yaml\n",
1220
- "$ xano profile:delete old-profile -f\nProfile 'old-profile' deleted successfully from ~/.xano/credentials.yaml\n"
1221
- ],
1222
- "flags": {
1223
- "force": {
1224
- "char": "f",
1225
- "description": "Skip confirmation prompt",
1226
- "name": "force",
1227
- "required": false,
1228
- "allowNo": false,
1229
- "type": "boolean"
1230
- }
1231
- },
1232
- "hasDynamicHelp": false,
1233
- "hiddenAliases": [],
1234
- "id": "profile:delete",
1235
- "pluginAlias": "@xano/cli",
1236
- "pluginName": "@xano/cli",
1237
- "pluginType": "core",
1238
- "strict": true,
1239
- "enableJsonFlag": false,
1240
- "isESM": true,
1241
- "relativePath": [
1242
- "dist",
1243
- "commands",
1244
- "profile",
1245
- "delete",
1246
- "index.js"
1247
- ]
1248
- },
1249
1130
  "profile:edit": {
1250
1131
  "aliases": [],
1251
1132
  "args": {
@@ -1401,6 +1282,42 @@
1401
1282
  "index.js"
1402
1283
  ]
1403
1284
  },
1285
+ "profile:list": {
1286
+ "aliases": [],
1287
+ "args": {},
1288
+ "description": "List all available profile configurations",
1289
+ "examples": [
1290
+ "$ xano profile:list\nAvailable profiles:\n - default\n - production\n - staging\n - development\n",
1291
+ "$ xano profile:list --details\nAvailable profiles:\n\nProfile: default\n Account Origin: https://account.xano.com\n Instance Origin: https://instance.xano.com\n Access Token: ***...***\n Workspace: my-workspace\n Branch: main\n Project: my-project\n\nProfile: production\n Account Origin: https://account.xano.com\n Instance Origin: https://prod-instance.xano.com\n Access Token: ***...***\n",
1292
+ "$ xano profile:list -d\nAvailable profiles:\n\nProfile: default\n Account Origin: https://account.xano.com\n Instance Origin: https://instance.xano.com\n Access Token: ***...***\n Workspace: my-workspace\n Branch: main\n Project: my-project\n"
1293
+ ],
1294
+ "flags": {
1295
+ "details": {
1296
+ "char": "d",
1297
+ "description": "Show detailed information for each profile",
1298
+ "name": "details",
1299
+ "required": false,
1300
+ "allowNo": false,
1301
+ "type": "boolean"
1302
+ }
1303
+ },
1304
+ "hasDynamicHelp": false,
1305
+ "hiddenAliases": [],
1306
+ "id": "profile:list",
1307
+ "pluginAlias": "@xano/cli",
1308
+ "pluginName": "@xano/cli",
1309
+ "pluginType": "core",
1310
+ "strict": true,
1311
+ "enableJsonFlag": false,
1312
+ "isESM": true,
1313
+ "relativePath": [
1314
+ "dist",
1315
+ "commands",
1316
+ "profile",
1317
+ "list",
1318
+ "index.js"
1319
+ ]
1320
+ },
1404
1321
  "profile:me": {
1405
1322
  "aliases": [],
1406
1323
  "args": {},
@@ -1538,73 +1455,6 @@
1538
1455
  "index.js"
1539
1456
  ]
1540
1457
  },
1541
- "profile:set": {
1542
- "aliases": [],
1543
- "args": {
1544
- "name": {
1545
- "description": "Profile name to set as default",
1546
- "name": "name",
1547
- "required": true
1548
- }
1549
- },
1550
- "description": "Set the default profile",
1551
- "examples": [
1552
- "$ xano profile set production\nDefault profile set to 'production'\n"
1553
- ],
1554
- "flags": {},
1555
- "hasDynamicHelp": false,
1556
- "hiddenAliases": [],
1557
- "id": "profile:set",
1558
- "pluginAlias": "@xano/cli",
1559
- "pluginName": "@xano/cli",
1560
- "pluginType": "core",
1561
- "strict": true,
1562
- "enableJsonFlag": false,
1563
- "isESM": true,
1564
- "relativePath": [
1565
- "dist",
1566
- "commands",
1567
- "profile",
1568
- "set",
1569
- "index.js"
1570
- ]
1571
- },
1572
- "profile:list": {
1573
- "aliases": [],
1574
- "args": {},
1575
- "description": "List all available profile configurations",
1576
- "examples": [
1577
- "$ xano profile:list\nAvailable profiles:\n - default\n - production\n - staging\n - development\n",
1578
- "$ xano profile:list --details\nAvailable profiles:\n\nProfile: default\n Account Origin: https://account.xano.com\n Instance Origin: https://instance.xano.com\n Access Token: ***...***\n Workspace: my-workspace\n Branch: main\n Project: my-project\n\nProfile: production\n Account Origin: https://account.xano.com\n Instance Origin: https://prod-instance.xano.com\n Access Token: ***...***\n",
1579
- "$ xano profile:list -d\nAvailable profiles:\n\nProfile: default\n Account Origin: https://account.xano.com\n Instance Origin: https://instance.xano.com\n Access Token: ***...***\n Workspace: my-workspace\n Branch: main\n Project: my-project\n"
1580
- ],
1581
- "flags": {
1582
- "details": {
1583
- "char": "d",
1584
- "description": "Show detailed information for each profile",
1585
- "name": "details",
1586
- "required": false,
1587
- "allowNo": false,
1588
- "type": "boolean"
1589
- }
1590
- },
1591
- "hasDynamicHelp": false,
1592
- "hiddenAliases": [],
1593
- "id": "profile:list",
1594
- "pluginAlias": "@xano/cli",
1595
- "pluginName": "@xano/cli",
1596
- "pluginType": "core",
1597
- "strict": true,
1598
- "enableJsonFlag": false,
1599
- "isESM": true,
1600
- "relativePath": [
1601
- "dist",
1602
- "commands",
1603
- "profile",
1604
- "list",
1605
- "index.js"
1606
- ]
1607
- },
1608
1458
  "profile:token": {
1609
1459
  "aliases": [],
1610
1460
  "args": {},
@@ -1631,18 +1481,23 @@
1631
1481
  "index.js"
1632
1482
  ]
1633
1483
  },
1634
- "profile:workspace": {
1484
+ "profile:set": {
1635
1485
  "aliases": [],
1636
- "args": {},
1637
- "description": "Print the workspace ID for the default profile",
1486
+ "args": {
1487
+ "name": {
1488
+ "description": "Profile name to set as default",
1489
+ "name": "name",
1490
+ "required": true
1491
+ }
1492
+ },
1493
+ "description": "Set the default profile",
1638
1494
  "examples": [
1639
- "$ xano profile:workspace\nabc123-workspace-id\n",
1640
- "$ xano profile:workspace | pbcopy\n# Copies the workspace ID to clipboard on macOS\n"
1495
+ "$ xano profile set production\nDefault profile set to 'production'\n"
1641
1496
  ],
1642
1497
  "flags": {},
1643
1498
  "hasDynamicHelp": false,
1644
1499
  "hiddenAliases": [],
1645
- "id": "profile:workspace",
1500
+ "id": "profile:set",
1646
1501
  "pluginAlias": "@xano/cli",
1647
1502
  "pluginName": "@xano/cli",
1648
1503
  "pluginType": "core",
@@ -1653,17 +1508,29 @@
1653
1508
  "dist",
1654
1509
  "commands",
1655
1510
  "profile",
1656
- "workspace",
1511
+ "set",
1657
1512
  "index.js"
1658
1513
  ]
1659
1514
  },
1660
- "release:create": {
1515
+ "function:edit": {
1661
1516
  "aliases": [],
1662
- "args": {},
1663
- "description": "Create a new release in a workspace",
1517
+ "args": {
1518
+ "function_id": {
1519
+ "description": "Function ID to edit",
1520
+ "name": "function_id",
1521
+ "required": false
1522
+ }
1523
+ },
1524
+ "description": "Edit a function in a workspace",
1664
1525
  "examples": [
1665
- "$ xano release create --name \"v1.0\" --branch main\nCreated release: v1.0 - ID: 10\n",
1666
- "$ xano release create --name \"v1.1-hotfix\" --branch main --hotfix --description \"Critical fix\" -o json"
1526
+ "$ xano function:edit 163\n# Fetches the function code and opens it in $EDITOR for editing\nFunction updated successfully!\nID: 163\nName: my_function\n",
1527
+ "$ xano function:edit\n# Prompts for function, fetches the code and opens it in $EDITOR for editing\nSelect a function to edit:\n ❯ my_function (ID: 163) - Sample function\n another-func (ID: 164)\n",
1528
+ "$ xano function:edit 163 -f function.xs\nFunction updated successfully!\nID: 163\nName: my_function\n",
1529
+ "$ xano function:edit 163 -w 40 -f function.xs\nFunction updated successfully!\nID: 163\nName: my_function\n",
1530
+ "$ xano function:edit -f function.xs\nSelect a function to edit:\n ❯ my_function (ID: 163) - Sample function\n another-func (ID: 164)\n",
1531
+ "$ xano function:edit 163 -f function.xs --edit\n# Opens function.xs in $EDITOR, then updates function with edited content\nFunction updated successfully!\nID: 163\nName: my_function\n",
1532
+ "$ cat function.xs | xano function:edit 163 --stdin\nFunction updated successfully!\nID: 163\nName: my_function\n",
1533
+ "$ xano function:edit 163 -f function.xs -o json\n{\n \"id\": 163,\n \"name\": \"my_function\",\n ...\n}\n"
1667
1534
  ],
1668
1535
  "flags": {
1669
1536
  "profile": {
@@ -1685,22 +1552,155 @@
1685
1552
  "allowNo": false,
1686
1553
  "type": "boolean"
1687
1554
  },
1688
- "branch": {
1689
- "char": "b",
1690
- "description": "Branch to create the release from",
1691
- "name": "branch",
1692
- "required": true,
1693
- "hasDynamicHelp": false,
1694
- "multiple": false,
1695
- "type": "option"
1696
- },
1697
- "description": {
1698
- "char": "d",
1699
- "description": "Release description",
1700
- "name": "description",
1555
+ "edit": {
1556
+ "char": "e",
1557
+ "description": "Open file in editor before updating function (requires --file)",
1558
+ "name": "edit",
1701
1559
  "required": false,
1702
- "hasDynamicHelp": false,
1703
- "multiple": false,
1560
+ "allowNo": false,
1561
+ "type": "boolean"
1562
+ },
1563
+ "file": {
1564
+ "char": "f",
1565
+ "description": "Path to file containing XanoScript code",
1566
+ "exclusive": [
1567
+ "stdin"
1568
+ ],
1569
+ "name": "file",
1570
+ "required": false,
1571
+ "hasDynamicHelp": false,
1572
+ "multiple": false,
1573
+ "type": "option"
1574
+ },
1575
+ "output": {
1576
+ "char": "o",
1577
+ "description": "Output format",
1578
+ "name": "output",
1579
+ "required": false,
1580
+ "default": "summary",
1581
+ "hasDynamicHelp": false,
1582
+ "multiple": false,
1583
+ "options": [
1584
+ "summary",
1585
+ "json"
1586
+ ],
1587
+ "type": "option"
1588
+ },
1589
+ "publish": {
1590
+ "description": "Publish the function after editing",
1591
+ "name": "publish",
1592
+ "required": false,
1593
+ "allowNo": false,
1594
+ "type": "boolean"
1595
+ },
1596
+ "stdin": {
1597
+ "char": "s",
1598
+ "description": "Read XanoScript code from stdin",
1599
+ "exclusive": [
1600
+ "file"
1601
+ ],
1602
+ "name": "stdin",
1603
+ "required": false,
1604
+ "allowNo": false,
1605
+ "type": "boolean"
1606
+ },
1607
+ "workspace": {
1608
+ "char": "w",
1609
+ "description": "Workspace ID (optional if set in profile)",
1610
+ "name": "workspace",
1611
+ "required": false,
1612
+ "hasDynamicHelp": false,
1613
+ "multiple": false,
1614
+ "type": "option"
1615
+ }
1616
+ },
1617
+ "hasDynamicHelp": false,
1618
+ "hiddenAliases": [],
1619
+ "id": "function:edit",
1620
+ "pluginAlias": "@xano/cli",
1621
+ "pluginName": "@xano/cli",
1622
+ "pluginType": "core",
1623
+ "strict": true,
1624
+ "enableJsonFlag": false,
1625
+ "isESM": true,
1626
+ "relativePath": [
1627
+ "dist",
1628
+ "commands",
1629
+ "function",
1630
+ "edit",
1631
+ "index.js"
1632
+ ]
1633
+ },
1634
+ "profile:workspace": {
1635
+ "aliases": [],
1636
+ "args": {},
1637
+ "description": "Print the workspace ID for the default profile",
1638
+ "examples": [
1639
+ "$ xano profile:workspace\nabc123-workspace-id\n",
1640
+ "$ xano profile:workspace | pbcopy\n# Copies the workspace ID to clipboard on macOS\n"
1641
+ ],
1642
+ "flags": {},
1643
+ "hasDynamicHelp": false,
1644
+ "hiddenAliases": [],
1645
+ "id": "profile:workspace",
1646
+ "pluginAlias": "@xano/cli",
1647
+ "pluginName": "@xano/cli",
1648
+ "pluginType": "core",
1649
+ "strict": true,
1650
+ "enableJsonFlag": false,
1651
+ "isESM": true,
1652
+ "relativePath": [
1653
+ "dist",
1654
+ "commands",
1655
+ "profile",
1656
+ "workspace",
1657
+ "index.js"
1658
+ ]
1659
+ },
1660
+ "release:create": {
1661
+ "aliases": [],
1662
+ "args": {},
1663
+ "description": "Create a new release in a workspace",
1664
+ "examples": [
1665
+ "$ xano release create --name \"v1.0\" --branch main\nCreated release: v1.0 - ID: 10\n",
1666
+ "$ xano release create --name \"v1.1-hotfix\" --branch main --hotfix --description \"Critical fix\" -o json"
1667
+ ],
1668
+ "flags": {
1669
+ "profile": {
1670
+ "char": "p",
1671
+ "description": "Profile to use (uses default profile if not specified)",
1672
+ "env": "XANO_PROFILE",
1673
+ "name": "profile",
1674
+ "required": false,
1675
+ "hasDynamicHelp": false,
1676
+ "multiple": false,
1677
+ "type": "option"
1678
+ },
1679
+ "verbose": {
1680
+ "char": "v",
1681
+ "description": "Show detailed request/response information",
1682
+ "env": "XANO_VERBOSE",
1683
+ "name": "verbose",
1684
+ "required": false,
1685
+ "allowNo": false,
1686
+ "type": "boolean"
1687
+ },
1688
+ "branch": {
1689
+ "char": "b",
1690
+ "description": "Branch to create the release from",
1691
+ "name": "branch",
1692
+ "required": true,
1693
+ "hasDynamicHelp": false,
1694
+ "multiple": false,
1695
+ "type": "option"
1696
+ },
1697
+ "description": {
1698
+ "char": "d",
1699
+ "description": "Release description",
1700
+ "name": "description",
1701
+ "required": false,
1702
+ "hasDynamicHelp": false,
1703
+ "multiple": false,
1704
1704
  "type": "option"
1705
1705
  },
1706
1706
  "hotfix": {
@@ -1768,19 +1768,20 @@
1768
1768
  "index.js"
1769
1769
  ]
1770
1770
  },
1771
- "release:edit": {
1771
+ "release:delete": {
1772
1772
  "aliases": [],
1773
1773
  "args": {
1774
1774
  "release_name": {
1775
- "description": "Release name to edit",
1775
+ "description": "Release name to delete",
1776
1776
  "name": "release_name",
1777
1777
  "required": true
1778
1778
  }
1779
1779
  },
1780
- "description": "Edit an existing release",
1780
+ "description": "Delete a release permanently. This action cannot be undone.",
1781
1781
  "examples": [
1782
- "$ xano release edit v1.0 --name \"v1.0-final\" --description \"Updated description\"\nUpdated release: v1.0-final - ID: 10\n",
1783
- "$ xano release edit v1.0 --description \"New description\" -o json"
1782
+ "$ xano release delete v1.0\nAre you sure you want to delete release 'v1.0'? This action cannot be undone. (y/N) y\nDeleted release 'v1.0'\n",
1783
+ "$ xano release delete v1.0 --force\nDeleted release 'v1.0'\n",
1784
+ "$ xano release delete v1.0 -f -o json"
1784
1785
  ],
1785
1786
  "flags": {
1786
1787
  "profile": {
@@ -1802,23 +1803,13 @@
1802
1803
  "allowNo": false,
1803
1804
  "type": "boolean"
1804
1805
  },
1805
- "description": {
1806
- "char": "d",
1807
- "description": "New description",
1808
- "name": "description",
1809
- "required": false,
1810
- "hasDynamicHelp": false,
1811
- "multiple": false,
1812
- "type": "option"
1813
- },
1814
- "name": {
1815
- "char": "n",
1816
- "description": "New name for the release",
1817
- "name": "name",
1806
+ "force": {
1807
+ "char": "f",
1808
+ "description": "Skip confirmation prompt",
1809
+ "name": "force",
1818
1810
  "required": false,
1819
- "hasDynamicHelp": false,
1820
- "multiple": false,
1821
- "type": "option"
1811
+ "allowNo": false,
1812
+ "type": "boolean"
1822
1813
  },
1823
1814
  "output": {
1824
1815
  "char": "o",
@@ -1846,7 +1837,7 @@
1846
1837
  },
1847
1838
  "hasDynamicHelp": false,
1848
1839
  "hiddenAliases": [],
1849
- "id": "release:edit",
1840
+ "id": "release:delete",
1850
1841
  "pluginAlias": "@xano/cli",
1851
1842
  "pluginName": "@xano/cli",
1852
1843
  "pluginType": "core",
@@ -1857,7 +1848,7 @@
1857
1848
  "dist",
1858
1849
  "commands",
1859
1850
  "release",
1860
- "edit",
1851
+ "delete",
1861
1852
  "index.js"
1862
1853
  ]
1863
1854
  },
@@ -1945,20 +1936,19 @@
1945
1936
  "index.js"
1946
1937
  ]
1947
1938
  },
1948
- "release:delete": {
1939
+ "release:edit": {
1949
1940
  "aliases": [],
1950
1941
  "args": {
1951
1942
  "release_name": {
1952
- "description": "Release name to delete",
1943
+ "description": "Release name to edit",
1953
1944
  "name": "release_name",
1954
1945
  "required": true
1955
1946
  }
1956
1947
  },
1957
- "description": "Delete a release permanently. This action cannot be undone.",
1948
+ "description": "Edit an existing release",
1958
1949
  "examples": [
1959
- "$ xano release delete v1.0\nAre you sure you want to delete release 'v1.0'? This action cannot be undone. (y/N) y\nDeleted release 'v1.0'\n",
1960
- "$ xano release delete v1.0 --force\nDeleted release 'v1.0'\n",
1961
- "$ xano release delete v1.0 -f -o json"
1950
+ "$ xano release edit v1.0 --name \"v1.0-final\" --description \"Updated description\"\nUpdated release: v1.0-final - ID: 10\n",
1951
+ "$ xano release edit v1.0 --description \"New description\" -o json"
1962
1952
  ],
1963
1953
  "flags": {
1964
1954
  "profile": {
@@ -1980,13 +1970,23 @@
1980
1970
  "allowNo": false,
1981
1971
  "type": "boolean"
1982
1972
  },
1983
- "force": {
1984
- "char": "f",
1985
- "description": "Skip confirmation prompt",
1986
- "name": "force",
1973
+ "description": {
1974
+ "char": "d",
1975
+ "description": "New description",
1976
+ "name": "description",
1987
1977
  "required": false,
1988
- "allowNo": false,
1989
- "type": "boolean"
1978
+ "hasDynamicHelp": false,
1979
+ "multiple": false,
1980
+ "type": "option"
1981
+ },
1982
+ "name": {
1983
+ "char": "n",
1984
+ "description": "New name for the release",
1985
+ "name": "name",
1986
+ "required": false,
1987
+ "hasDynamicHelp": false,
1988
+ "multiple": false,
1989
+ "type": "option"
1990
1990
  },
1991
1991
  "output": {
1992
1992
  "char": "o",
@@ -2014,7 +2014,7 @@
2014
2014
  },
2015
2015
  "hasDynamicHelp": false,
2016
2016
  "hiddenAliases": [],
2017
- "id": "release:delete",
2017
+ "id": "release:edit",
2018
2018
  "pluginAlias": "@xano/cli",
2019
2019
  "pluginName": "@xano/cli",
2020
2020
  "pluginType": "core",
@@ -2025,101 +2025,48 @@
2025
2025
  "dist",
2026
2026
  "commands",
2027
2027
  "release",
2028
- "delete",
2028
+ "edit",
2029
2029
  "index.js"
2030
2030
  ]
2031
2031
  },
2032
- "profile:wizard": {
2032
+ "release:import": {
2033
2033
  "aliases": [],
2034
2034
  "args": {},
2035
- "description": "Create a new profile configuration using an interactive wizard",
2035
+ "description": "Import a release file into a workspace",
2036
2036
  "examples": [
2037
- "$ xano profile:wizard\nWelcome to the Xano Profile Wizard!\n? Enter your access token: ***...***\n? Select an instance:\n > Production (https://app.xano.com)\n Staging (https://staging.xano.com)\n? Profile name: production\nProfile 'production' created successfully at ~/.xano/credentials.yaml\n"
2037
+ "$ xano release import --file ./my-release.tar.gz\nImported release as #15\n",
2038
+ "$ xano release import --file ./my-release.tar.gz -o json"
2038
2039
  ],
2039
2040
  "flags": {
2040
- "insecure": {
2041
- "char": "k",
2042
- "description": "Skip TLS certificate verification (for self-signed certificates)",
2043
- "name": "insecure",
2041
+ "profile": {
2042
+ "char": "p",
2043
+ "description": "Profile to use (uses default profile if not specified)",
2044
+ "env": "XANO_PROFILE",
2045
+ "name": "profile",
2046
+ "required": false,
2047
+ "hasDynamicHelp": false,
2048
+ "multiple": false,
2049
+ "type": "option"
2050
+ },
2051
+ "verbose": {
2052
+ "char": "v",
2053
+ "description": "Show detailed request/response information",
2054
+ "env": "XANO_VERBOSE",
2055
+ "name": "verbose",
2044
2056
  "required": false,
2045
2057
  "allowNo": false,
2046
2058
  "type": "boolean"
2047
2059
  },
2048
- "name": {
2049
- "char": "n",
2050
- "description": "Profile name (skip prompt if provided)",
2051
- "name": "name",
2052
- "required": false,
2060
+ "file": {
2061
+ "char": "f",
2062
+ "description": "Path to the release file (.tar.gz)",
2063
+ "name": "file",
2064
+ "required": true,
2053
2065
  "hasDynamicHelp": false,
2054
2066
  "multiple": false,
2055
2067
  "type": "option"
2056
2068
  },
2057
- "origin": {
2058
- "char": "o",
2059
- "description": "Xano instance origin URL",
2060
- "name": "origin",
2061
- "required": false,
2062
- "default": "https://app.xano.com",
2063
- "hasDynamicHelp": false,
2064
- "multiple": false,
2065
- "type": "option"
2066
- }
2067
- },
2068
- "hasDynamicHelp": false,
2069
- "hiddenAliases": [],
2070
- "id": "profile:wizard",
2071
- "pluginAlias": "@xano/cli",
2072
- "pluginName": "@xano/cli",
2073
- "pluginType": "core",
2074
- "strict": true,
2075
- "enableJsonFlag": false,
2076
- "isESM": true,
2077
- "relativePath": [
2078
- "dist",
2079
- "commands",
2080
- "profile",
2081
- "wizard",
2082
- "index.js"
2083
- ]
2084
- },
2085
- "release:import": {
2086
- "aliases": [],
2087
- "args": {},
2088
- "description": "Import a release file into a workspace",
2089
- "examples": [
2090
- "$ xano release import --file ./my-release.tar.gz\nImported release as #15\n",
2091
- "$ xano release import --file ./my-release.tar.gz -o json"
2092
- ],
2093
- "flags": {
2094
- "profile": {
2095
- "char": "p",
2096
- "description": "Profile to use (uses default profile if not specified)",
2097
- "env": "XANO_PROFILE",
2098
- "name": "profile",
2099
- "required": false,
2100
- "hasDynamicHelp": false,
2101
- "multiple": false,
2102
- "type": "option"
2103
- },
2104
- "verbose": {
2105
- "char": "v",
2106
- "description": "Show detailed request/response information",
2107
- "env": "XANO_VERBOSE",
2108
- "name": "verbose",
2109
- "required": false,
2110
- "allowNo": false,
2111
- "type": "boolean"
2112
- },
2113
- "file": {
2114
- "char": "f",
2115
- "description": "Path to the release file (.tar.gz)",
2116
- "name": "file",
2117
- "required": true,
2118
- "hasDynamicHelp": false,
2119
- "multiple": false,
2120
- "type": "option"
2121
- },
2122
- "output": {
2069
+ "output": {
2123
2070
  "char": "o",
2124
2071
  "description": "Output format",
2125
2072
  "name": "output",
@@ -2304,331 +2251,37 @@
2304
2251
  "index.js"
2305
2252
  ]
2306
2253
  },
2307
- "release:push": {
2254
+ "profile:wizard": {
2308
2255
  "aliases": [],
2309
- "args": {
2310
- "directory": {
2311
- "description": "Directory containing .xs documents to create the release from",
2312
- "name": "directory",
2313
- "required": true
2314
- }
2315
- },
2316
- "description": "Create a new release from local XanoScript files via the multidoc endpoint",
2256
+ "args": {},
2257
+ "description": "Create a new profile configuration using an interactive wizard",
2317
2258
  "examples": [
2318
- "$ xano release push ./my-release -n \"v1.0\"\nCreated release: v1.0 - ID: 10\n",
2319
- "$ xano release push ./output -n \"v2.0\" -w 40 -d \"Major update\"\nCreated release: v2.0 - ID: 15\n",
2320
- "$ xano release push ./backup -n \"v1.1-hotfix\" --hotfix --profile production\nCreated release: v1.1-hotfix - ID: 20\n",
2321
- "$ xano release push ./my-release -n \"v1.0\" --no-records --no-env\nCreate release from schema only, skip records and environment variables\n",
2322
- "$ xano release push ./my-release -n \"v1.0\" -o json\nOutput release details as JSON\n"
2259
+ "$ xano profile:wizard\nWelcome to the Xano Profile Wizard!\n? Enter your access token: ***...***\n? Select an instance:\n > Production (https://app.xano.com)\n Staging (https://staging.xano.com)\n? Profile name: production\nProfile 'production' created successfully at ~/.xano/credentials.yaml\n"
2323
2260
  ],
2324
2261
  "flags": {
2325
- "profile": {
2326
- "char": "p",
2327
- "description": "Profile to use (uses default profile if not specified)",
2328
- "env": "XANO_PROFILE",
2329
- "name": "profile",
2330
- "required": false,
2331
- "hasDynamicHelp": false,
2332
- "multiple": false,
2333
- "type": "option"
2334
- },
2335
- "verbose": {
2336
- "char": "v",
2337
- "description": "Show detailed request/response information",
2338
- "env": "XANO_VERBOSE",
2339
- "name": "verbose",
2340
- "required": false,
2341
- "allowNo": false,
2342
- "type": "boolean"
2343
- },
2344
- "description": {
2345
- "char": "d",
2346
- "description": "Release description",
2347
- "name": "description",
2348
- "required": false,
2349
- "default": "",
2350
- "hasDynamicHelp": false,
2351
- "multiple": false,
2352
- "type": "option"
2353
- },
2354
- "env": {
2355
- "description": "Include environment variables (default: true, use --no-env to exclude)",
2356
- "name": "env",
2357
- "required": false,
2358
- "allowNo": true,
2359
- "type": "boolean"
2360
- },
2361
- "hotfix": {
2362
- "description": "Mark as a hotfix release",
2363
- "name": "hotfix",
2262
+ "insecure": {
2263
+ "char": "k",
2264
+ "description": "Skip TLS certificate verification (for self-signed certificates)",
2265
+ "name": "insecure",
2364
2266
  "required": false,
2365
2267
  "allowNo": false,
2366
2268
  "type": "boolean"
2367
2269
  },
2368
2270
  "name": {
2369
2271
  "char": "n",
2370
- "description": "Name for the release",
2272
+ "description": "Profile name (skip prompt if provided)",
2371
2273
  "name": "name",
2372
- "required": true,
2373
- "hasDynamicHelp": false,
2374
- "multiple": false,
2375
- "type": "option"
2376
- },
2377
- "output": {
2378
- "char": "o",
2379
- "description": "Output format",
2380
- "name": "output",
2381
- "required": false,
2382
- "default": "summary",
2383
- "hasDynamicHelp": false,
2384
- "multiple": false,
2385
- "options": [
2386
- "summary",
2387
- "json"
2388
- ],
2389
- "type": "option"
2390
- },
2391
- "records": {
2392
- "description": "Include records (default: true, use --no-records to exclude)",
2393
- "name": "records",
2394
- "required": false,
2395
- "allowNo": true,
2396
- "type": "boolean"
2397
- },
2398
- "workspace": {
2399
- "char": "w",
2400
- "description": "Workspace ID (optional if set in profile)",
2401
- "name": "workspace",
2402
- "required": false,
2403
- "hasDynamicHelp": false,
2404
- "multiple": false,
2405
- "type": "option"
2406
- }
2407
- },
2408
- "hasDynamicHelp": false,
2409
- "hiddenAliases": [],
2410
- "id": "release:push",
2411
- "pluginAlias": "@xano/cli",
2412
- "pluginName": "@xano/cli",
2413
- "pluginType": "core",
2414
- "strict": true,
2415
- "enableJsonFlag": false,
2416
- "isESM": true,
2417
- "relativePath": [
2418
- "dist",
2419
- "commands",
2420
- "release",
2421
- "push",
2422
- "index.js"
2423
- ]
2424
- },
2425
- "static_host:list": {
2426
- "aliases": [],
2427
- "args": {},
2428
- "description": "List all static hosts in a workspace from the Xano Metadata API",
2429
- "examples": [
2430
- "$ xano static_host:list -w 40\nAvailable static hosts:\n - my-static-host (ID: 1)\n - another-host (ID: 2)\n",
2431
- "$ xano static_host:list --profile production\nAvailable static hosts:\n - my-static-host (ID: 1)\n - another-host (ID: 2)\n",
2432
- "$ xano static_host:list -w 40 --output json\n[\n {\n \"id\": 1,\n \"name\": \"my-static-host\",\n \"domain\": \"example.com\"\n }\n]\n",
2433
- "$ xano static_host:list -p staging -o json --page 2\n[\n {\n \"id\": 3,\n \"name\": \"static-host-3\"\n }\n]\n"
2434
- ],
2435
- "flags": {
2436
- "profile": {
2437
- "char": "p",
2438
- "description": "Profile to use (uses default profile if not specified)",
2439
- "env": "XANO_PROFILE",
2440
- "name": "profile",
2441
- "required": false,
2442
- "hasDynamicHelp": false,
2443
- "multiple": false,
2444
- "type": "option"
2445
- },
2446
- "verbose": {
2447
- "char": "v",
2448
- "description": "Show detailed request/response information",
2449
- "env": "XANO_VERBOSE",
2450
- "name": "verbose",
2451
- "required": false,
2452
- "allowNo": false,
2453
- "type": "boolean"
2454
- },
2455
- "output": {
2456
- "char": "o",
2457
- "description": "Output format",
2458
- "name": "output",
2459
- "required": false,
2460
- "default": "summary",
2461
- "hasDynamicHelp": false,
2462
- "multiple": false,
2463
- "options": [
2464
- "summary",
2465
- "json"
2466
- ],
2467
- "type": "option"
2468
- },
2469
- "page": {
2470
- "description": "Page number for pagination",
2471
- "name": "page",
2472
2274
  "required": false,
2473
- "default": 1,
2474
2275
  "hasDynamicHelp": false,
2475
2276
  "multiple": false,
2476
2277
  "type": "option"
2477
2278
  },
2478
- "per_page": {
2479
- "description": "Number of results per page",
2480
- "name": "per_page",
2481
- "required": false,
2482
- "default": 50,
2483
- "hasDynamicHelp": false,
2484
- "multiple": false,
2485
- "type": "option"
2486
- },
2487
- "workspace": {
2488
- "char": "w",
2489
- "description": "Workspace ID (optional if set in profile)",
2490
- "name": "workspace",
2491
- "required": false,
2492
- "hasDynamicHelp": false,
2493
- "multiple": false,
2494
- "type": "option"
2495
- }
2496
- },
2497
- "hasDynamicHelp": false,
2498
- "hiddenAliases": [],
2499
- "id": "static_host:list",
2500
- "pluginAlias": "@xano/cli",
2501
- "pluginName": "@xano/cli",
2502
- "pluginType": "core",
2503
- "strict": true,
2504
- "enableJsonFlag": false,
2505
- "isESM": true,
2506
- "relativePath": [
2507
- "dist",
2508
- "commands",
2509
- "static_host",
2510
- "list",
2511
- "index.js"
2512
- ]
2513
- },
2514
- "tenant:create": {
2515
- "aliases": [],
2516
- "args": {
2517
- "display": {
2518
- "description": "Display name for the tenant",
2519
- "name": "display",
2520
- "required": true
2521
- }
2522
- },
2523
- "description": "Create a new tenant in a workspace",
2524
- "examples": [
2525
- "$ xano tenant create \"Production\"\nCreated tenant: Production (production) - ID: 42\n",
2526
- "$ xano tenant create \"Staging\" --description \"Staging env\" --cluster_id 1 --platform_id 1 --license tier2 -o json"
2527
- ],
2528
- "flags": {
2529
- "profile": {
2530
- "char": "p",
2531
- "description": "Profile to use (uses default profile if not specified)",
2532
- "env": "XANO_PROFILE",
2533
- "name": "profile",
2534
- "required": false,
2535
- "hasDynamicHelp": false,
2536
- "multiple": false,
2537
- "type": "option"
2538
- },
2539
- "verbose": {
2540
- "char": "v",
2541
- "description": "Show detailed request/response information",
2542
- "env": "XANO_VERBOSE",
2543
- "name": "verbose",
2544
- "required": false,
2545
- "allowNo": false,
2546
- "type": "boolean"
2547
- },
2548
- "cluster_id": {
2549
- "description": "Cluster ID to deploy to (required for tier2/tier3)",
2550
- "name": "cluster_id",
2551
- "required": false,
2552
- "hasDynamicHelp": false,
2553
- "multiple": false,
2554
- "type": "option"
2555
- },
2556
- "description": {
2557
- "char": "d",
2558
- "description": "Tenant description",
2559
- "name": "description",
2560
- "required": false,
2561
- "hasDynamicHelp": false,
2562
- "multiple": false,
2563
- "type": "option"
2564
- },
2565
- "domain": {
2566
- "description": "Custom domain for the tenant",
2567
- "name": "domain",
2568
- "required": false,
2569
- "hasDynamicHelp": false,
2570
- "multiple": false,
2571
- "type": "option"
2572
- },
2573
- "ephemeral": {
2574
- "description": "Mark tenant as ephemeral (allows push operations)",
2575
- "name": "ephemeral",
2576
- "allowNo": false,
2577
- "type": "boolean"
2578
- },
2579
- "ingress": {
2580
- "description": "Enable ingress",
2581
- "name": "ingress",
2582
- "allowNo": true,
2583
- "type": "boolean"
2584
- },
2585
- "license": {
2586
- "description": "License tier",
2587
- "name": "license",
2588
- "required": false,
2589
- "default": "tier1",
2590
- "hasDynamicHelp": false,
2591
- "multiple": false,
2592
- "options": [
2593
- "tier1",
2594
- "tier2",
2595
- "tier3"
2596
- ],
2597
- "type": "option"
2598
- },
2599
- "output": {
2279
+ "origin": {
2600
2280
  "char": "o",
2601
- "description": "Output format",
2602
- "name": "output",
2603
- "required": false,
2604
- "default": "summary",
2605
- "hasDynamicHelp": false,
2606
- "multiple": false,
2607
- "options": [
2608
- "summary",
2609
- "json"
2610
- ],
2611
- "type": "option"
2612
- },
2613
- "platform_id": {
2614
- "description": "Platform ID to use",
2615
- "name": "platform_id",
2616
- "required": false,
2617
- "hasDynamicHelp": false,
2618
- "multiple": false,
2619
- "type": "option"
2620
- },
2621
- "tasks": {
2622
- "description": "Enable background tasks",
2623
- "name": "tasks",
2624
- "allowNo": true,
2625
- "type": "boolean"
2626
- },
2627
- "workspace": {
2628
- "char": "w",
2629
- "description": "Workspace ID (uses profile workspace if not provided)",
2630
- "name": "workspace",
2281
+ "description": "Xano instance origin URL",
2282
+ "name": "origin",
2631
2283
  "required": false,
2284
+ "default": "https://app.xano.com",
2632
2285
  "hasDynamicHelp": false,
2633
2286
  "multiple": false,
2634
2287
  "type": "option"
@@ -2636,7 +2289,7 @@
2636
2289
  },
2637
2290
  "hasDynamicHelp": false,
2638
2291
  "hiddenAliases": [],
2639
- "id": "tenant:create",
2292
+ "id": "profile:wizard",
2640
2293
  "pluginAlias": "@xano/cli",
2641
2294
  "pluginName": "@xano/cli",
2642
2295
  "pluginType": "core",
@@ -2646,8 +2299,8 @@
2646
2299
  "relativePath": [
2647
2300
  "dist",
2648
2301
  "commands",
2649
- "tenant",
2650
- "create",
2302
+ "profile",
2303
+ "wizard",
2651
2304
  "index.js"
2652
2305
  ]
2653
2306
  },
@@ -2736,19 +2389,22 @@
2736
2389
  "index.js"
2737
2390
  ]
2738
2391
  },
2739
- "tenant:deploy_platform": {
2392
+ "release:push": {
2740
2393
  "aliases": [],
2741
2394
  "args": {
2742
- "tenant_name": {
2743
- "description": "Tenant name to deploy to",
2744
- "name": "tenant_name",
2395
+ "directory": {
2396
+ "description": "Directory containing .xs documents to create the release from",
2397
+ "name": "directory",
2745
2398
  "required": true
2746
2399
  }
2747
2400
  },
2748
- "description": "Deploy a platform version to a tenant",
2401
+ "description": "Create a new release from local XanoScript files via the multidoc endpoint",
2749
2402
  "examples": [
2750
- "$ xano tenant deploy_platform t1234-abcd-xyz1 --platform_id 5\nDeployed platform 5 to tenant: My Tenant (my-tenant)\n",
2751
- "$ xano tenant deploy_platform t1234-abcd-xyz1 --platform_id 5 -o json"
2403
+ "$ xano release push ./my-release -n \"v1.0\"\nCreated release: v1.0 - ID: 10\n",
2404
+ "$ xano release push ./output -n \"v2.0\" -w 40 -d \"Major update\"\nCreated release: v2.0 - ID: 15\n",
2405
+ "$ xano release push ./backup -n \"v1.1-hotfix\" --hotfix --profile production\nCreated release: v1.1-hotfix - ID: 20\n",
2406
+ "$ xano release push ./my-release -n \"v1.0\" --no-records --no-env\nCreate release from schema only, skip records and environment variables\n",
2407
+ "$ xano release push ./my-release -n \"v1.0\" -o json\nOutput release details as JSON\n"
2752
2408
  ],
2753
2409
  "flags": {
2754
2410
  "profile": {
@@ -2770,6 +2426,39 @@
2770
2426
  "allowNo": false,
2771
2427
  "type": "boolean"
2772
2428
  },
2429
+ "description": {
2430
+ "char": "d",
2431
+ "description": "Release description",
2432
+ "name": "description",
2433
+ "required": false,
2434
+ "default": "",
2435
+ "hasDynamicHelp": false,
2436
+ "multiple": false,
2437
+ "type": "option"
2438
+ },
2439
+ "env": {
2440
+ "description": "Include environment variables (default: true, use --no-env to exclude)",
2441
+ "name": "env",
2442
+ "required": false,
2443
+ "allowNo": true,
2444
+ "type": "boolean"
2445
+ },
2446
+ "hotfix": {
2447
+ "description": "Mark as a hotfix release",
2448
+ "name": "hotfix",
2449
+ "required": false,
2450
+ "allowNo": false,
2451
+ "type": "boolean"
2452
+ },
2453
+ "name": {
2454
+ "char": "n",
2455
+ "description": "Name for the release",
2456
+ "name": "name",
2457
+ "required": true,
2458
+ "hasDynamicHelp": false,
2459
+ "multiple": false,
2460
+ "type": "option"
2461
+ },
2773
2462
  "output": {
2774
2463
  "char": "o",
2775
2464
  "description": "Output format",
@@ -2781,20 +2470,19 @@
2781
2470
  "options": [
2782
2471
  "summary",
2783
2472
  "json"
2784
- ],
2785
- "type": "option"
2786
- },
2787
- "platform_id": {
2788
- "description": "Platform ID to deploy",
2789
- "name": "platform_id",
2790
- "required": true,
2791
- "hasDynamicHelp": false,
2792
- "multiple": false,
2473
+ ],
2793
2474
  "type": "option"
2794
2475
  },
2476
+ "records": {
2477
+ "description": "Include records (default: true, use --no-records to exclude)",
2478
+ "name": "records",
2479
+ "required": false,
2480
+ "allowNo": true,
2481
+ "type": "boolean"
2482
+ },
2795
2483
  "workspace": {
2796
2484
  "char": "w",
2797
- "description": "Workspace ID (uses profile workspace if not provided)",
2485
+ "description": "Workspace ID (optional if set in profile)",
2798
2486
  "name": "workspace",
2799
2487
  "required": false,
2800
2488
  "hasDynamicHelp": false,
@@ -2804,7 +2492,7 @@
2804
2492
  },
2805
2493
  "hasDynamicHelp": false,
2806
2494
  "hiddenAliases": [],
2807
- "id": "tenant:deploy_platform",
2495
+ "id": "release:push",
2808
2496
  "pluginAlias": "@xano/cli",
2809
2497
  "pluginName": "@xano/cli",
2810
2498
  "pluginType": "core",
@@ -2814,24 +2502,24 @@
2814
2502
  "relativePath": [
2815
2503
  "dist",
2816
2504
  "commands",
2817
- "tenant",
2818
- "deploy_platform",
2505
+ "release",
2506
+ "push",
2819
2507
  "index.js"
2820
2508
  ]
2821
2509
  },
2822
- "tenant:deploy_release": {
2510
+ "tenant:create": {
2823
2511
  "aliases": [],
2824
2512
  "args": {
2825
- "tenant_name": {
2826
- "description": "Tenant name to deploy to",
2827
- "name": "tenant_name",
2513
+ "display": {
2514
+ "description": "Display name for the tenant",
2515
+ "name": "display",
2828
2516
  "required": true
2829
2517
  }
2830
2518
  },
2831
- "description": "Deploy a release to a tenant",
2519
+ "description": "Create a new tenant in a workspace",
2832
2520
  "examples": [
2833
- "$ xano tenant deploy_release t1234-abcd-xyz1 --release v1.0\nDeployed release \"v1.0\" to tenant: My Tenant (my-tenant)\n",
2834
- "$ xano tenant deploy_release t1234-abcd-xyz1 --release v1.0 -o json"
2521
+ "$ xano tenant create \"Production\"\nCreated tenant: Production (production) - ID: 42\n",
2522
+ "$ xano tenant create \"Staging\" --description \"Staging env\" --cluster_id 1 --platform_id 1 --license tier2 -o json"
2835
2523
  ],
2836
2524
  "flags": {
2837
2525
  "profile": {
@@ -2853,6 +2541,57 @@
2853
2541
  "allowNo": false,
2854
2542
  "type": "boolean"
2855
2543
  },
2544
+ "cluster_id": {
2545
+ "description": "Cluster ID to deploy to (required for tier2/tier3)",
2546
+ "name": "cluster_id",
2547
+ "required": false,
2548
+ "hasDynamicHelp": false,
2549
+ "multiple": false,
2550
+ "type": "option"
2551
+ },
2552
+ "description": {
2553
+ "char": "d",
2554
+ "description": "Tenant description",
2555
+ "name": "description",
2556
+ "required": false,
2557
+ "hasDynamicHelp": false,
2558
+ "multiple": false,
2559
+ "type": "option"
2560
+ },
2561
+ "domain": {
2562
+ "description": "Custom domain for the tenant",
2563
+ "name": "domain",
2564
+ "required": false,
2565
+ "hasDynamicHelp": false,
2566
+ "multiple": false,
2567
+ "type": "option"
2568
+ },
2569
+ "ephemeral": {
2570
+ "description": "Mark tenant as ephemeral (allows push operations)",
2571
+ "name": "ephemeral",
2572
+ "allowNo": false,
2573
+ "type": "boolean"
2574
+ },
2575
+ "ingress": {
2576
+ "description": "Enable ingress",
2577
+ "name": "ingress",
2578
+ "allowNo": true,
2579
+ "type": "boolean"
2580
+ },
2581
+ "license": {
2582
+ "description": "License tier",
2583
+ "name": "license",
2584
+ "required": false,
2585
+ "default": "tier1",
2586
+ "hasDynamicHelp": false,
2587
+ "multiple": false,
2588
+ "options": [
2589
+ "tier1",
2590
+ "tier2",
2591
+ "tier3"
2592
+ ],
2593
+ "type": "option"
2594
+ },
2856
2595
  "output": {
2857
2596
  "char": "o",
2858
2597
  "description": "Output format",
@@ -2867,15 +2606,20 @@
2867
2606
  ],
2868
2607
  "type": "option"
2869
2608
  },
2870
- "release": {
2871
- "char": "r",
2872
- "description": "Release name to deploy",
2873
- "name": "release",
2874
- "required": true,
2609
+ "platform_id": {
2610
+ "description": "Platform ID to use",
2611
+ "name": "platform_id",
2612
+ "required": false,
2875
2613
  "hasDynamicHelp": false,
2876
2614
  "multiple": false,
2877
2615
  "type": "option"
2878
2616
  },
2617
+ "tasks": {
2618
+ "description": "Enable background tasks",
2619
+ "name": "tasks",
2620
+ "allowNo": true,
2621
+ "type": "boolean"
2622
+ },
2879
2623
  "workspace": {
2880
2624
  "char": "w",
2881
2625
  "description": "Workspace ID (uses profile workspace if not provided)",
@@ -2888,7 +2632,7 @@
2888
2632
  },
2889
2633
  "hasDynamicHelp": false,
2890
2634
  "hiddenAliases": [],
2891
- "id": "tenant:deploy_release",
2635
+ "id": "tenant:create",
2892
2636
  "pluginAlias": "@xano/cli",
2893
2637
  "pluginName": "@xano/cli",
2894
2638
  "pluginType": "core",
@@ -2899,7 +2643,7 @@
2899
2643
  "dist",
2900
2644
  "commands",
2901
2645
  "tenant",
2902
- "deploy_release",
2646
+ "create",
2903
2647
  "index.js"
2904
2648
  ]
2905
2649
  },
@@ -2987,19 +2731,19 @@
2987
2731
  "index.js"
2988
2732
  ]
2989
2733
  },
2990
- "tenant:impersonate": {
2734
+ "tenant:deploy_release": {
2991
2735
  "aliases": [],
2992
2736
  "args": {
2993
2737
  "tenant_name": {
2994
- "description": "Tenant name to impersonate",
2738
+ "description": "Tenant name to deploy to",
2995
2739
  "name": "tenant_name",
2996
2740
  "required": true
2997
2741
  }
2998
2742
  },
2999
- "description": "Impersonate a tenant and open it in the browser",
2743
+ "description": "Deploy a release to a tenant",
3000
2744
  "examples": [
3001
- "$ xano tenant impersonate my-tenant\nOpening browser...\nImpersonation successful!\n",
3002
- "$ xano tenant impersonate my-tenant -o json"
2745
+ "$ xano tenant deploy_release t1234-abcd-xyz1 --release v1.0\nDeployed release \"v1.0\" to tenant: My Tenant (my-tenant)\n",
2746
+ "$ xano tenant deploy_release t1234-abcd-xyz1 --release v1.0 -o json"
3003
2747
  ],
3004
2748
  "flags": {
3005
2749
  "profile": {
@@ -3035,13 +2779,14 @@
3035
2779
  ],
3036
2780
  "type": "option"
3037
2781
  },
3038
- "url-only": {
3039
- "char": "u",
3040
- "description": "Print the URL without opening the browser",
3041
- "name": "url-only",
3042
- "required": false,
3043
- "allowNo": false,
3044
- "type": "boolean"
2782
+ "release": {
2783
+ "char": "r",
2784
+ "description": "Release name to deploy",
2785
+ "name": "release",
2786
+ "required": true,
2787
+ "hasDynamicHelp": false,
2788
+ "multiple": false,
2789
+ "type": "option"
3045
2790
  },
3046
2791
  "workspace": {
3047
2792
  "char": "w",
@@ -3055,7 +2800,7 @@
3055
2800
  },
3056
2801
  "hasDynamicHelp": false,
3057
2802
  "hiddenAliases": [],
3058
- "id": "tenant:impersonate",
2803
+ "id": "tenant:deploy_release",
3059
2804
  "pluginAlias": "@xano/cli",
3060
2805
  "pluginName": "@xano/cli",
3061
2806
  "pluginType": "core",
@@ -3066,23 +2811,23 @@
3066
2811
  "dist",
3067
2812
  "commands",
3068
2813
  "tenant",
3069
- "impersonate",
2814
+ "deploy_release",
3070
2815
  "index.js"
3071
2816
  ]
3072
2817
  },
3073
- "tenant:get": {
2818
+ "tenant:deploy_platform": {
3074
2819
  "aliases": [],
3075
2820
  "args": {
3076
2821
  "tenant_name": {
3077
- "description": "Tenant name to retrieve",
2822
+ "description": "Tenant name to deploy to",
3078
2823
  "name": "tenant_name",
3079
2824
  "required": true
3080
2825
  }
3081
2826
  },
3082
- "description": "Get details of a specific tenant",
2827
+ "description": "Deploy a platform version to a tenant",
3083
2828
  "examples": [
3084
- "$ xano tenant get t1234-abcd-xyz1\nTenant: My Tenant (my-tenant)\n State: ok\n License: tier1\n Domain: my-tenant.xano.io\n Cluster: default\n Release: v1.0\n",
3085
- "$ xano tenant get t1234-abcd-xyz1 -w 5 -o json"
2829
+ "$ xano tenant deploy_platform t1234-abcd-xyz1 --platform_id 5\nDeployed platform 5 to tenant: My Tenant (my-tenant)\n",
2830
+ "$ xano tenant deploy_platform t1234-abcd-xyz1 --platform_id 5 -o json"
3086
2831
  ],
3087
2832
  "flags": {
3088
2833
  "profile": {
@@ -3118,6 +2863,14 @@
3118
2863
  ],
3119
2864
  "type": "option"
3120
2865
  },
2866
+ "platform_id": {
2867
+ "description": "Platform ID to deploy",
2868
+ "name": "platform_id",
2869
+ "required": true,
2870
+ "hasDynamicHelp": false,
2871
+ "multiple": false,
2872
+ "type": "option"
2873
+ },
3121
2874
  "workspace": {
3122
2875
  "char": "w",
3123
2876
  "description": "Workspace ID (uses profile workspace if not provided)",
@@ -3130,7 +2883,7 @@
3130
2883
  },
3131
2884
  "hasDynamicHelp": false,
3132
2885
  "hiddenAliases": [],
3133
- "id": "tenant:get",
2886
+ "id": "tenant:deploy_platform",
3134
2887
  "pluginAlias": "@xano/cli",
3135
2888
  "pluginName": "@xano/cli",
3136
2889
  "pluginType": "core",
@@ -3141,7 +2894,7 @@
3141
2894
  "dist",
3142
2895
  "commands",
3143
2896
  "tenant",
3144
- "get",
2897
+ "deploy_platform",
3145
2898
  "index.js"
3146
2899
  ]
3147
2900
  },
@@ -3274,13 +3027,108 @@
3274
3027
  "index.js"
3275
3028
  ]
3276
3029
  },
3277
- "tenant:list": {
3030
+ "static_host:list": {
3278
3031
  "aliases": [],
3279
3032
  "args": {},
3280
- "description": "List all tenants in a workspace",
3033
+ "description": "List all static hosts in a workspace from the Xano Metadata API",
3281
3034
  "examples": [
3282
- "$ xano tenant list\nTenants in workspace 5:\n - My Tenant (my-tenant) [ok] - tier1\n - Staging (staging) [ok] - tier1\n",
3283
- "$ xano tenant list -w 5 --output json"
3035
+ "$ xano static_host:list -w 40\nAvailable static hosts:\n - my-static-host (ID: 1)\n - another-host (ID: 2)\n",
3036
+ "$ xano static_host:list --profile production\nAvailable static hosts:\n - my-static-host (ID: 1)\n - another-host (ID: 2)\n",
3037
+ "$ xano static_host:list -w 40 --output json\n[\n {\n \"id\": 1,\n \"name\": \"my-static-host\",\n \"domain\": \"example.com\"\n }\n]\n",
3038
+ "$ xano static_host:list -p staging -o json --page 2\n[\n {\n \"id\": 3,\n \"name\": \"static-host-3\"\n }\n]\n"
3039
+ ],
3040
+ "flags": {
3041
+ "profile": {
3042
+ "char": "p",
3043
+ "description": "Profile to use (uses default profile if not specified)",
3044
+ "env": "XANO_PROFILE",
3045
+ "name": "profile",
3046
+ "required": false,
3047
+ "hasDynamicHelp": false,
3048
+ "multiple": false,
3049
+ "type": "option"
3050
+ },
3051
+ "verbose": {
3052
+ "char": "v",
3053
+ "description": "Show detailed request/response information",
3054
+ "env": "XANO_VERBOSE",
3055
+ "name": "verbose",
3056
+ "required": false,
3057
+ "allowNo": false,
3058
+ "type": "boolean"
3059
+ },
3060
+ "output": {
3061
+ "char": "o",
3062
+ "description": "Output format",
3063
+ "name": "output",
3064
+ "required": false,
3065
+ "default": "summary",
3066
+ "hasDynamicHelp": false,
3067
+ "multiple": false,
3068
+ "options": [
3069
+ "summary",
3070
+ "json"
3071
+ ],
3072
+ "type": "option"
3073
+ },
3074
+ "page": {
3075
+ "description": "Page number for pagination",
3076
+ "name": "page",
3077
+ "required": false,
3078
+ "default": 1,
3079
+ "hasDynamicHelp": false,
3080
+ "multiple": false,
3081
+ "type": "option"
3082
+ },
3083
+ "per_page": {
3084
+ "description": "Number of results per page",
3085
+ "name": "per_page",
3086
+ "required": false,
3087
+ "default": 50,
3088
+ "hasDynamicHelp": false,
3089
+ "multiple": false,
3090
+ "type": "option"
3091
+ },
3092
+ "workspace": {
3093
+ "char": "w",
3094
+ "description": "Workspace ID (optional if set in profile)",
3095
+ "name": "workspace",
3096
+ "required": false,
3097
+ "hasDynamicHelp": false,
3098
+ "multiple": false,
3099
+ "type": "option"
3100
+ }
3101
+ },
3102
+ "hasDynamicHelp": false,
3103
+ "hiddenAliases": [],
3104
+ "id": "static_host:list",
3105
+ "pluginAlias": "@xano/cli",
3106
+ "pluginName": "@xano/cli",
3107
+ "pluginType": "core",
3108
+ "strict": true,
3109
+ "enableJsonFlag": false,
3110
+ "isESM": true,
3111
+ "relativePath": [
3112
+ "dist",
3113
+ "commands",
3114
+ "static_host",
3115
+ "list",
3116
+ "index.js"
3117
+ ]
3118
+ },
3119
+ "tenant:impersonate": {
3120
+ "aliases": [],
3121
+ "args": {
3122
+ "tenant_name": {
3123
+ "description": "Tenant name to impersonate",
3124
+ "name": "tenant_name",
3125
+ "required": true
3126
+ }
3127
+ },
3128
+ "description": "Impersonate a tenant and open it in the browser",
3129
+ "examples": [
3130
+ "$ xano tenant impersonate my-tenant\nOpening browser...\nImpersonation successful!\n",
3131
+ "$ xano tenant impersonate my-tenant -o json"
3284
3132
  ],
3285
3133
  "flags": {
3286
3134
  "profile": {
@@ -3316,6 +3164,14 @@
3316
3164
  ],
3317
3165
  "type": "option"
3318
3166
  },
3167
+ "url-only": {
3168
+ "char": "u",
3169
+ "description": "Print the URL without opening the browser",
3170
+ "name": "url-only",
3171
+ "required": false,
3172
+ "allowNo": false,
3173
+ "type": "boolean"
3174
+ },
3319
3175
  "workspace": {
3320
3176
  "char": "w",
3321
3177
  "description": "Workspace ID (uses profile workspace if not provided)",
@@ -3328,7 +3184,7 @@
3328
3184
  },
3329
3185
  "hasDynamicHelp": false,
3330
3186
  "hiddenAliases": [],
3331
- "id": "tenant:list",
3187
+ "id": "tenant:impersonate",
3332
3188
  "pluginAlias": "@xano/cli",
3333
3189
  "pluginName": "@xano/cli",
3334
3190
  "pluginType": "core",
@@ -3339,7 +3195,7 @@
3339
3195
  "dist",
3340
3196
  "commands",
3341
3197
  "tenant",
3342
- "list",
3198
+ "impersonate",
3343
3199
  "index.js"
3344
3200
  ]
3345
3201
  },
@@ -3436,19 +3292,23 @@
3436
3292
  "index.js"
3437
3293
  ]
3438
3294
  },
3439
- "unit_test:run": {
3295
+ "tenant:push": {
3440
3296
  "aliases": [],
3441
3297
  "args": {
3442
- "unit_test_id": {
3443
- "description": "ID of the unit test to run",
3444
- "name": "unit_test_id",
3298
+ "directory": {
3299
+ "description": "Directory containing documents to push (as produced by tenant pull or workspace pull)",
3300
+ "name": "directory",
3445
3301
  "required": true
3446
3302
  }
3447
3303
  },
3448
- "description": "Run a unit test",
3304
+ "description": "Push local documents to a tenant via the Xano Metadata API multidoc endpoint",
3449
3305
  "examples": [
3450
- "$ xano unit-test run abc-123\nRunning unit test abc-123...\nResult: PASS\n",
3451
- "$ xano unit-test run abc-123 -o json"
3306
+ "$ xano tenant push ./my-workspace -t my-tenant\nPushed 42 documents to tenant my-tenant from ./my-workspace\n",
3307
+ "$ xano tenant push ./output -t my-tenant -w 40\nPushed 15 documents to tenant my-tenant from ./output\n",
3308
+ "$ xano tenant push ./backup -t my-tenant --profile production\nPushed 58 documents to tenant my-tenant from ./backup\n",
3309
+ "$ xano tenant push ./my-workspace -t my-tenant --no-records\nPush schema only, skip importing table records\n",
3310
+ "$ xano tenant push ./my-workspace -t my-tenant --no-env\nPush without overwriting environment variables\n",
3311
+ "$ xano tenant push ./my-workspace -t my-tenant --truncate\nTruncate all table records before importing\n"
3452
3312
  ],
3453
3313
  "flags": {
3454
3314
  "profile": {
@@ -3470,23 +3330,39 @@
3470
3330
  "allowNo": false,
3471
3331
  "type": "boolean"
3472
3332
  },
3473
- "output": {
3474
- "char": "o",
3475
- "description": "Output format",
3476
- "name": "output",
3333
+ "env": {
3334
+ "description": "Include environment variables in import (default: true, use --no-env to exclude)",
3335
+ "name": "env",
3477
3336
  "required": false,
3478
- "default": "summary",
3337
+ "allowNo": true,
3338
+ "type": "boolean"
3339
+ },
3340
+ "records": {
3341
+ "description": "Include records in import (default: true, use --no-records to exclude)",
3342
+ "name": "records",
3343
+ "required": false,
3344
+ "allowNo": true,
3345
+ "type": "boolean"
3346
+ },
3347
+ "tenant": {
3348
+ "char": "t",
3349
+ "description": "Tenant name to push to",
3350
+ "name": "tenant",
3351
+ "required": true,
3479
3352
  "hasDynamicHelp": false,
3480
3353
  "multiple": false,
3481
- "options": [
3482
- "summary",
3483
- "json"
3484
- ],
3485
3354
  "type": "option"
3486
3355
  },
3356
+ "truncate": {
3357
+ "description": "Truncate all table records before importing",
3358
+ "name": "truncate",
3359
+ "required": false,
3360
+ "allowNo": false,
3361
+ "type": "boolean"
3362
+ },
3487
3363
  "workspace": {
3488
3364
  "char": "w",
3489
- "description": "Workspace ID (uses profile workspace if not provided)",
3365
+ "description": "Workspace ID (optional if set in profile)",
3490
3366
  "name": "workspace",
3491
3367
  "required": false,
3492
3368
  "hasDynamicHelp": false,
@@ -3496,7 +3372,7 @@
3496
3372
  },
3497
3373
  "hasDynamicHelp": false,
3498
3374
  "hiddenAliases": [],
3499
- "id": "unit_test:run",
3375
+ "id": "tenant:push",
3500
3376
  "pluginAlias": "@xano/cli",
3501
3377
  "pluginName": "@xano/cli",
3502
3378
  "pluginType": "core",
@@ -3506,8 +3382,8 @@
3506
3382
  "relativePath": [
3507
3383
  "dist",
3508
3384
  "commands",
3509
- "unit_test",
3510
- "run",
3385
+ "tenant",
3386
+ "push",
3511
3387
  "index.js"
3512
3388
  ]
3513
3389
  },
@@ -3603,6 +3479,81 @@
3603
3479
  "index.js"
3604
3480
  ]
3605
3481
  },
3482
+ "unit_test:run": {
3483
+ "aliases": [],
3484
+ "args": {
3485
+ "unit_test_id": {
3486
+ "description": "ID of the unit test to run",
3487
+ "name": "unit_test_id",
3488
+ "required": true
3489
+ }
3490
+ },
3491
+ "description": "Run a unit test",
3492
+ "examples": [
3493
+ "$ xano unit-test run abc-123\nRunning unit test abc-123...\nResult: PASS\n",
3494
+ "$ xano unit-test run abc-123 -o json"
3495
+ ],
3496
+ "flags": {
3497
+ "profile": {
3498
+ "char": "p",
3499
+ "description": "Profile to use (uses default profile if not specified)",
3500
+ "env": "XANO_PROFILE",
3501
+ "name": "profile",
3502
+ "required": false,
3503
+ "hasDynamicHelp": false,
3504
+ "multiple": false,
3505
+ "type": "option"
3506
+ },
3507
+ "verbose": {
3508
+ "char": "v",
3509
+ "description": "Show detailed request/response information",
3510
+ "env": "XANO_VERBOSE",
3511
+ "name": "verbose",
3512
+ "required": false,
3513
+ "allowNo": false,
3514
+ "type": "boolean"
3515
+ },
3516
+ "output": {
3517
+ "char": "o",
3518
+ "description": "Output format",
3519
+ "name": "output",
3520
+ "required": false,
3521
+ "default": "summary",
3522
+ "hasDynamicHelp": false,
3523
+ "multiple": false,
3524
+ "options": [
3525
+ "summary",
3526
+ "json"
3527
+ ],
3528
+ "type": "option"
3529
+ },
3530
+ "workspace": {
3531
+ "char": "w",
3532
+ "description": "Workspace ID (uses profile workspace if not provided)",
3533
+ "name": "workspace",
3534
+ "required": false,
3535
+ "hasDynamicHelp": false,
3536
+ "multiple": false,
3537
+ "type": "option"
3538
+ }
3539
+ },
3540
+ "hasDynamicHelp": false,
3541
+ "hiddenAliases": [],
3542
+ "id": "unit_test:run",
3543
+ "pluginAlias": "@xano/cli",
3544
+ "pluginName": "@xano/cli",
3545
+ "pluginType": "core",
3546
+ "strict": true,
3547
+ "enableJsonFlag": false,
3548
+ "isESM": true,
3549
+ "relativePath": [
3550
+ "dist",
3551
+ "commands",
3552
+ "unit_test",
3553
+ "run",
3554
+ "index.js"
3555
+ ]
3556
+ },
3606
3557
  "unit_test:run_all": {
3607
3558
  "aliases": [],
3608
3559
  "args": {},
@@ -3694,19 +3645,13 @@
3694
3645
  "index.js"
3695
3646
  ]
3696
3647
  },
3697
- "workflow_test:delete": {
3648
+ "tenant:list": {
3698
3649
  "aliases": [],
3699
- "args": {
3700
- "workflow_test_id": {
3701
- "description": "ID of the workflow test to delete",
3702
- "name": "workflow_test_id",
3703
- "required": true
3704
- }
3705
- },
3706
- "description": "Delete a workflow test",
3650
+ "args": {},
3651
+ "description": "List all tenants in a workspace",
3707
3652
  "examples": [
3708
- "$ xano workflow-test delete 1\nAre you sure you want to delete workflow test 1? (y/N) y\nDeleted workflow test 1\n",
3709
- "$ xano workflow-test delete 1 --force"
3653
+ "$ xano tenant list\nTenants in workspace 5:\n - My Tenant (my-tenant) [ok] - tier1\n - Staging (staging) [ok] - tier1\n",
3654
+ "$ xano tenant list -w 5 --output json"
3710
3655
  ],
3711
3656
  "flags": {
3712
3657
  "profile": {
@@ -3728,14 +3673,6 @@
3728
3673
  "allowNo": false,
3729
3674
  "type": "boolean"
3730
3675
  },
3731
- "force": {
3732
- "char": "f",
3733
- "description": "Skip confirmation prompt",
3734
- "name": "force",
3735
- "required": false,
3736
- "allowNo": false,
3737
- "type": "boolean"
3738
- },
3739
3676
  "output": {
3740
3677
  "char": "o",
3741
3678
  "description": "Output format",
@@ -3762,7 +3699,7 @@
3762
3699
  },
3763
3700
  "hasDynamicHelp": false,
3764
3701
  "hiddenAliases": [],
3765
- "id": "workflow_test:delete",
3702
+ "id": "tenant:list",
3766
3703
  "pluginAlias": "@xano/cli",
3767
3704
  "pluginName": "@xano/cli",
3768
3705
  "pluginType": "core",
@@ -3772,25 +3709,24 @@
3772
3709
  "relativePath": [
3773
3710
  "dist",
3774
3711
  "commands",
3775
- "workflow_test",
3776
- "delete",
3712
+ "tenant",
3713
+ "list",
3777
3714
  "index.js"
3778
3715
  ]
3779
3716
  },
3780
- "workflow_test:get": {
3717
+ "tenant:get": {
3781
3718
  "aliases": [],
3782
3719
  "args": {
3783
- "workflow_test_id": {
3784
- "description": "ID of the workflow test",
3785
- "name": "workflow_test_id",
3720
+ "tenant_name": {
3721
+ "description": "Tenant name to retrieve",
3722
+ "name": "tenant_name",
3786
3723
  "required": true
3787
3724
  }
3788
3725
  },
3789
- "description": "Get a specific workflow test",
3726
+ "description": "Get details of a specific tenant",
3790
3727
  "examples": [
3791
- "$ xano workflow-test get 1\nWorkflow Test: my-test (ID: 1)\n Description: Validates auth endpoints\n Branch: main\n",
3792
- "$ xano workflow-test get 1 -o xs",
3793
- "$ xano workflow-test get 1 -o json"
3728
+ "$ xano tenant get t1234-abcd-xyz1\nTenant: My Tenant (my-tenant)\n State: ok\n License: tier1\n Domain: my-tenant.xano.io\n Cluster: default\n Release: v1.0\n",
3729
+ "$ xano tenant get t1234-abcd-xyz1 -w 5 -o json"
3794
3730
  ],
3795
3731
  "flags": {
3796
3732
  "profile": {
@@ -3812,13 +3748,6 @@
3812
3748
  "allowNo": false,
3813
3749
  "type": "boolean"
3814
3750
  },
3815
- "include-draft": {
3816
- "description": "Include draft version",
3817
- "name": "include-draft",
3818
- "required": false,
3819
- "allowNo": false,
3820
- "type": "boolean"
3821
- },
3822
3751
  "output": {
3823
3752
  "char": "o",
3824
3753
  "description": "Output format",
@@ -3829,8 +3758,7 @@
3829
3758
  "multiple": false,
3830
3759
  "options": [
3831
3760
  "summary",
3832
- "json",
3833
- "xs"
3761
+ "json"
3834
3762
  ],
3835
3763
  "type": "option"
3836
3764
  },
@@ -3846,7 +3774,7 @@
3846
3774
  },
3847
3775
  "hasDynamicHelp": false,
3848
3776
  "hiddenAliases": [],
3849
- "id": "workflow_test:get",
3777
+ "id": "tenant:get",
3850
3778
  "pluginAlias": "@xano/cli",
3851
3779
  "pluginName": "@xano/cli",
3852
3780
  "pluginType": "core",
@@ -3856,19 +3784,24 @@
3856
3784
  "relativePath": [
3857
3785
  "dist",
3858
3786
  "commands",
3859
- "workflow_test",
3787
+ "tenant",
3860
3788
  "get",
3861
3789
  "index.js"
3862
3790
  ]
3863
3791
  },
3864
- "workflow_test:list": {
3792
+ "workflow_test:delete": {
3865
3793
  "aliases": [],
3866
- "args": {},
3867
- "description": "List all workflow tests in a workspace",
3794
+ "args": {
3795
+ "workflow_test_id": {
3796
+ "description": "ID of the workflow test to delete",
3797
+ "name": "workflow_test_id",
3798
+ "required": true
3799
+ }
3800
+ },
3801
+ "description": "Delete a workflow test",
3868
3802
  "examples": [
3869
- "$ xano workflow-test list\nWorkflow tests in workspace 5:\n - my-test (ID: 1)\n - auth-flow (ID: 2) - Validates auth endpoints\n",
3870
- "$ xano workflow-test list -w 5 --output json",
3871
- "$ xano workflow-test list --branch main"
3803
+ "$ xano workflow-test delete 1\nAre you sure you want to delete workflow test 1? (y/N) y\nDeleted workflow test 1\n",
3804
+ "$ xano workflow-test delete 1 --force"
3872
3805
  ],
3873
3806
  "flags": {
3874
3807
  "profile": {
@@ -3890,14 +3823,13 @@
3890
3823
  "allowNo": false,
3891
3824
  "type": "boolean"
3892
3825
  },
3893
- "branch": {
3894
- "char": "b",
3895
- "description": "Filter by branch name",
3896
- "name": "branch",
3826
+ "force": {
3827
+ "char": "f",
3828
+ "description": "Skip confirmation prompt",
3829
+ "name": "force",
3897
3830
  "required": false,
3898
- "hasDynamicHelp": false,
3899
- "multiple": false,
3900
- "type": "option"
3831
+ "allowNo": false,
3832
+ "type": "boolean"
3901
3833
  },
3902
3834
  "output": {
3903
3835
  "char": "o",
@@ -3925,7 +3857,7 @@
3925
3857
  },
3926
3858
  "hasDynamicHelp": false,
3927
3859
  "hiddenAliases": [],
3928
- "id": "workflow_test:list",
3860
+ "id": "workflow_test:delete",
3929
3861
  "pluginAlias": "@xano/cli",
3930
3862
  "pluginName": "@xano/cli",
3931
3863
  "pluginType": "core",
@@ -3936,27 +3868,24 @@
3936
3868
  "dist",
3937
3869
  "commands",
3938
3870
  "workflow_test",
3939
- "list",
3871
+ "delete",
3940
3872
  "index.js"
3941
3873
  ]
3942
3874
  },
3943
- "tenant:push": {
3875
+ "workflow_test:get": {
3944
3876
  "aliases": [],
3945
3877
  "args": {
3946
- "directory": {
3947
- "description": "Directory containing documents to push (as produced by tenant pull or workspace pull)",
3948
- "name": "directory",
3878
+ "workflow_test_id": {
3879
+ "description": "ID of the workflow test",
3880
+ "name": "workflow_test_id",
3949
3881
  "required": true
3950
3882
  }
3951
3883
  },
3952
- "description": "Push local documents to a tenant via the Xano Metadata API multidoc endpoint",
3884
+ "description": "Get a specific workflow test",
3953
3885
  "examples": [
3954
- "$ xano tenant push ./my-workspace -t my-tenant\nPushed 42 documents to tenant my-tenant from ./my-workspace\n",
3955
- "$ xano tenant push ./output -t my-tenant -w 40\nPushed 15 documents to tenant my-tenant from ./output\n",
3956
- "$ xano tenant push ./backup -t my-tenant --profile production\nPushed 58 documents to tenant my-tenant from ./backup\n",
3957
- "$ xano tenant push ./my-workspace -t my-tenant --no-records\nPush schema only, skip importing table records\n",
3958
- "$ xano tenant push ./my-workspace -t my-tenant --no-env\nPush without overwriting environment variables\n",
3959
- "$ xano tenant push ./my-workspace -t my-tenant --truncate\nTruncate all table records before importing\n"
3886
+ "$ xano workflow-test get 1\nWorkflow Test: my-test (ID: 1)\n Description: Validates auth endpoints\n Branch: main\n",
3887
+ "$ xano workflow-test get 1 -o xs",
3888
+ "$ xano workflow-test get 1 -o json"
3960
3889
  ],
3961
3890
  "flags": {
3962
3891
  "profile": {
@@ -3978,39 +3907,31 @@
3978
3907
  "allowNo": false,
3979
3908
  "type": "boolean"
3980
3909
  },
3981
- "env": {
3982
- "description": "Include environment variables in import (default: true, use --no-env to exclude)",
3983
- "name": "env",
3910
+ "include-draft": {
3911
+ "description": "Include draft version",
3912
+ "name": "include-draft",
3984
3913
  "required": false,
3985
- "allowNo": true,
3914
+ "allowNo": false,
3986
3915
  "type": "boolean"
3987
3916
  },
3988
- "records": {
3989
- "description": "Include records in import (default: true, use --no-records to exclude)",
3990
- "name": "records",
3917
+ "output": {
3918
+ "char": "o",
3919
+ "description": "Output format",
3920
+ "name": "output",
3991
3921
  "required": false,
3992
- "allowNo": true,
3993
- "type": "boolean"
3994
- },
3995
- "tenant": {
3996
- "char": "t",
3997
- "description": "Tenant name to push to",
3998
- "name": "tenant",
3999
- "required": true,
3922
+ "default": "summary",
4000
3923
  "hasDynamicHelp": false,
4001
3924
  "multiple": false,
3925
+ "options": [
3926
+ "summary",
3927
+ "json",
3928
+ "xs"
3929
+ ],
4002
3930
  "type": "option"
4003
3931
  },
4004
- "truncate": {
4005
- "description": "Truncate all table records before importing",
4006
- "name": "truncate",
4007
- "required": false,
4008
- "allowNo": false,
4009
- "type": "boolean"
4010
- },
4011
3932
  "workspace": {
4012
3933
  "char": "w",
4013
- "description": "Workspace ID (optional if set in profile)",
3934
+ "description": "Workspace ID (uses profile workspace if not provided)",
4014
3935
  "name": "workspace",
4015
3936
  "required": false,
4016
3937
  "hasDynamicHelp": false,
@@ -4020,7 +3941,7 @@
4020
3941
  },
4021
3942
  "hasDynamicHelp": false,
4022
3943
  "hiddenAliases": [],
4023
- "id": "tenant:push",
3944
+ "id": "workflow_test:get",
4024
3945
  "pluginAlias": "@xano/cli",
4025
3946
  "pluginName": "@xano/cli",
4026
3947
  "pluginType": "core",
@@ -4030,24 +3951,19 @@
4030
3951
  "relativePath": [
4031
3952
  "dist",
4032
3953
  "commands",
4033
- "tenant",
4034
- "push",
3954
+ "workflow_test",
3955
+ "get",
4035
3956
  "index.js"
4036
3957
  ]
4037
3958
  },
4038
- "workflow_test:run": {
3959
+ "workflow_test:list": {
4039
3960
  "aliases": [],
4040
- "args": {
4041
- "workflow_test_id": {
4042
- "description": "ID of the workflow test to run",
4043
- "name": "workflow_test_id",
4044
- "required": true
4045
- }
4046
- },
4047
- "description": "Run a workflow test",
3961
+ "args": {},
3962
+ "description": "List all workflow tests in a workspace",
4048
3963
  "examples": [
4049
- "$ xano workflow-test run 1\nRunning workflow test 1...\nResult: PASS (1.234s)\n",
4050
- "$ xano workflow-test run 1 -o json"
3964
+ "$ xano workflow-test list\nWorkflow tests in workspace 5:\n - my-test (ID: 1)\n - auth-flow (ID: 2) - Validates auth endpoints\n",
3965
+ "$ xano workflow-test list -w 5 --output json",
3966
+ "$ xano workflow-test list --branch main"
4051
3967
  ],
4052
3968
  "flags": {
4053
3969
  "profile": {
@@ -4069,6 +3985,15 @@
4069
3985
  "allowNo": false,
4070
3986
  "type": "boolean"
4071
3987
  },
3988
+ "branch": {
3989
+ "char": "b",
3990
+ "description": "Filter by branch name",
3991
+ "name": "branch",
3992
+ "required": false,
3993
+ "hasDynamicHelp": false,
3994
+ "multiple": false,
3995
+ "type": "option"
3996
+ },
4072
3997
  "output": {
4073
3998
  "char": "o",
4074
3999
  "description": "Output format",
@@ -4095,7 +4020,7 @@
4095
4020
  },
4096
4021
  "hasDynamicHelp": false,
4097
4022
  "hiddenAliases": [],
4098
- "id": "workflow_test:run",
4023
+ "id": "workflow_test:list",
4099
4024
  "pluginAlias": "@xano/cli",
4100
4025
  "pluginName": "@xano/cli",
4101
4026
  "pluginType": "core",
@@ -4106,7 +4031,7 @@
4106
4031
  "dist",
4107
4032
  "commands",
4108
4033
  "workflow_test",
4109
- "run",
4034
+ "list",
4110
4035
  "index.js"
4111
4036
  ]
4112
4037
  },
@@ -4836,26 +4761,20 @@
4836
4761
  "index.js"
4837
4762
  ]
4838
4763
  },
4839
- "static_host:build:get": {
4764
+ "static_host:build:create": {
4840
4765
  "aliases": [],
4841
4766
  "args": {
4842
- "build_id": {
4843
- "description": "Build ID",
4844
- "name": "build_id",
4845
- "required": true
4846
- },
4847
4767
  "static_host": {
4848
4768
  "description": "Static Host name",
4849
4769
  "name": "static_host",
4850
4770
  "required": true
4851
4771
  }
4852
4772
  },
4853
- "description": "Get details of a specific build for a static host",
4773
+ "description": "Create a new build for a static host",
4854
4774
  "examples": [
4855
- "$ xano static_host:build:get default 52\nBuild Details:\nID: 52\nName: v1.0.0\nStatus: completed\n",
4856
- "$ xano static_host:build:get default 52 -w 40\nBuild Details:\nID: 52\nName: v1.0.0\nStatus: completed\n",
4857
- "$ xano static_host:build:get myhost 123 --profile production\nBuild Details:\nID: 123\nName: production-build\n",
4858
- "$ xano static_host:build:get default 52 -o json\n{\n \"id\": 52,\n \"name\": \"v1.0.0\",\n \"status\": \"completed\"\n}\n"
4775
+ "$ xano static_host:build:create default -f ./build.zip -n \"v1.0.0\"\nBuild created successfully!\nID: 123\nName: v1.0.0\nStatus: pending\n",
4776
+ "$ xano static_host:build:create default -w 40 -f ./dist.zip -n \"production\" -d \"Production build\"\nBuild created successfully!\nID: 124\nName: production\nDescription: Production build\n",
4777
+ "$ xano static_host:build:create myhost -f ./app.zip -n \"release-1.2\" -o json\n{\n \"id\": 125,\n \"name\": \"release-1.2\",\n \"status\": \"pending\"\n}\n"
4859
4778
  ],
4860
4779
  "flags": {
4861
4780
  "profile": {
@@ -4877,6 +4796,33 @@
4877
4796
  "allowNo": false,
4878
4797
  "type": "boolean"
4879
4798
  },
4799
+ "description": {
4800
+ "char": "d",
4801
+ "description": "Build description",
4802
+ "name": "description",
4803
+ "required": false,
4804
+ "hasDynamicHelp": false,
4805
+ "multiple": false,
4806
+ "type": "option"
4807
+ },
4808
+ "file": {
4809
+ "char": "f",
4810
+ "description": "Path to zip file to upload",
4811
+ "name": "file",
4812
+ "required": true,
4813
+ "hasDynamicHelp": false,
4814
+ "multiple": false,
4815
+ "type": "option"
4816
+ },
4817
+ "name": {
4818
+ "char": "n",
4819
+ "description": "Build name",
4820
+ "name": "name",
4821
+ "required": true,
4822
+ "hasDynamicHelp": false,
4823
+ "multiple": false,
4824
+ "type": "option"
4825
+ },
4880
4826
  "output": {
4881
4827
  "char": "o",
4882
4828
  "description": "Output format",
@@ -4903,7 +4849,7 @@
4903
4849
  },
4904
4850
  "hasDynamicHelp": false,
4905
4851
  "hiddenAliases": [],
4906
- "id": "static_host:build:get",
4852
+ "id": "static_host:build:create",
4907
4853
  "pluginAlias": "@xano/cli",
4908
4854
  "pluginName": "@xano/cli",
4909
4855
  "pluginType": "core",
@@ -4915,24 +4861,23 @@
4915
4861
  "commands",
4916
4862
  "static_host",
4917
4863
  "build",
4918
- "get",
4864
+ "create",
4919
4865
  "index.js"
4920
4866
  ]
4921
4867
  },
4922
- "static_host:build:create": {
4868
+ "workflow_test:run": {
4923
4869
  "aliases": [],
4924
4870
  "args": {
4925
- "static_host": {
4926
- "description": "Static Host name",
4927
- "name": "static_host",
4871
+ "workflow_test_id": {
4872
+ "description": "ID of the workflow test to run",
4873
+ "name": "workflow_test_id",
4928
4874
  "required": true
4929
4875
  }
4930
4876
  },
4931
- "description": "Create a new build for a static host",
4877
+ "description": "Run a workflow test",
4932
4878
  "examples": [
4933
- "$ xano static_host:build:create default -f ./build.zip -n \"v1.0.0\"\nBuild created successfully!\nID: 123\nName: v1.0.0\nStatus: pending\n",
4934
- "$ xano static_host:build:create default -w 40 -f ./dist.zip -n \"production\" -d \"Production build\"\nBuild created successfully!\nID: 124\nName: production\nDescription: Production build\n",
4935
- "$ xano static_host:build:create myhost -f ./app.zip -n \"release-1.2\" -o json\n{\n \"id\": 125,\n \"name\": \"release-1.2\",\n \"status\": \"pending\"\n}\n"
4879
+ "$ xano workflow-test run 1\nRunning workflow test 1...\nResult: PASS (1.234s)\n",
4880
+ "$ xano workflow-test run 1 -o json"
4936
4881
  ],
4937
4882
  "flags": {
4938
4883
  "profile": {
@@ -4954,33 +4899,88 @@
4954
4899
  "allowNo": false,
4955
4900
  "type": "boolean"
4956
4901
  },
4957
- "description": {
4958
- "char": "d",
4959
- "description": "Build description",
4960
- "name": "description",
4902
+ "output": {
4903
+ "char": "o",
4904
+ "description": "Output format",
4905
+ "name": "output",
4961
4906
  "required": false,
4907
+ "default": "summary",
4962
4908
  "hasDynamicHelp": false,
4963
4909
  "multiple": false,
4910
+ "options": [
4911
+ "summary",
4912
+ "json"
4913
+ ],
4964
4914
  "type": "option"
4965
4915
  },
4966
- "file": {
4967
- "char": "f",
4968
- "description": "Path to zip file to upload",
4969
- "name": "file",
4970
- "required": true,
4916
+ "workspace": {
4917
+ "char": "w",
4918
+ "description": "Workspace ID (uses profile workspace if not provided)",
4919
+ "name": "workspace",
4920
+ "required": false,
4971
4921
  "hasDynamicHelp": false,
4972
4922
  "multiple": false,
4973
4923
  "type": "option"
4924
+ }
4925
+ },
4926
+ "hasDynamicHelp": false,
4927
+ "hiddenAliases": [],
4928
+ "id": "workflow_test:run",
4929
+ "pluginAlias": "@xano/cli",
4930
+ "pluginName": "@xano/cli",
4931
+ "pluginType": "core",
4932
+ "strict": true,
4933
+ "enableJsonFlag": false,
4934
+ "isESM": true,
4935
+ "relativePath": [
4936
+ "dist",
4937
+ "commands",
4938
+ "workflow_test",
4939
+ "run",
4940
+ "index.js"
4941
+ ]
4942
+ },
4943
+ "static_host:build:get": {
4944
+ "aliases": [],
4945
+ "args": {
4946
+ "build_id": {
4947
+ "description": "Build ID",
4948
+ "name": "build_id",
4949
+ "required": true
4974
4950
  },
4975
- "name": {
4976
- "char": "n",
4977
- "description": "Build name",
4978
- "name": "name",
4979
- "required": true,
4951
+ "static_host": {
4952
+ "description": "Static Host name",
4953
+ "name": "static_host",
4954
+ "required": true
4955
+ }
4956
+ },
4957
+ "description": "Get details of a specific build for a static host",
4958
+ "examples": [
4959
+ "$ xano static_host:build:get default 52\nBuild Details:\nID: 52\nName: v1.0.0\nStatus: completed\n",
4960
+ "$ xano static_host:build:get default 52 -w 40\nBuild Details:\nID: 52\nName: v1.0.0\nStatus: completed\n",
4961
+ "$ xano static_host:build:get myhost 123 --profile production\nBuild Details:\nID: 123\nName: production-build\n",
4962
+ "$ xano static_host:build:get default 52 -o json\n{\n \"id\": 52,\n \"name\": \"v1.0.0\",\n \"status\": \"completed\"\n}\n"
4963
+ ],
4964
+ "flags": {
4965
+ "profile": {
4966
+ "char": "p",
4967
+ "description": "Profile to use (uses default profile if not specified)",
4968
+ "env": "XANO_PROFILE",
4969
+ "name": "profile",
4970
+ "required": false,
4980
4971
  "hasDynamicHelp": false,
4981
4972
  "multiple": false,
4982
4973
  "type": "option"
4983
4974
  },
4975
+ "verbose": {
4976
+ "char": "v",
4977
+ "description": "Show detailed request/response information",
4978
+ "env": "XANO_VERBOSE",
4979
+ "name": "verbose",
4980
+ "required": false,
4981
+ "allowNo": false,
4982
+ "type": "boolean"
4983
+ },
4984
4984
  "output": {
4985
4985
  "char": "o",
4986
4986
  "description": "Output format",
@@ -5007,7 +5007,7 @@
5007
5007
  },
5008
5008
  "hasDynamicHelp": false,
5009
5009
  "hiddenAliases": [],
5010
- "id": "static_host:build:create",
5010
+ "id": "static_host:build:get",
5011
5011
  "pluginAlias": "@xano/cli",
5012
5012
  "pluginName": "@xano/cli",
5013
5013
  "pluginType": "core",
@@ -5019,7 +5019,7 @@
5019
5019
  "commands",
5020
5020
  "static_host",
5021
5021
  "build",
5022
- "create",
5022
+ "get",
5023
5023
  "index.js"
5024
5024
  ]
5025
5025
  },
@@ -5205,20 +5205,20 @@
5205
5205
  "index.js"
5206
5206
  ]
5207
5207
  },
5208
- "tenant:backup:delete": {
5208
+ "tenant:backup:export": {
5209
5209
  "aliases": [],
5210
5210
  "args": {
5211
5211
  "tenant_name": {
5212
- "description": "Tenant name that owns the backup",
5212
+ "description": "Tenant name to export backup from",
5213
5213
  "name": "tenant_name",
5214
5214
  "required": true
5215
5215
  }
5216
5216
  },
5217
- "description": "Delete a tenant backup permanently. This action cannot be undone.",
5217
+ "description": "Export (download) a tenant backup to a local file",
5218
5218
  "examples": [
5219
- "$ xano tenant backup delete t1234-abcd-xyz1 --backup_id 10\nAre you sure you want to delete backup #10? This action cannot be undone. (y/N) y\nDeleted backup #10\n",
5220
- "$ xano tenant backup delete t1234-abcd-xyz1 --backup_id 10 --force",
5221
- "$ xano tenant backup delete t1234-abcd-xyz1 --backup_id 10 -o json"
5219
+ "$ xano tenant backup export t1234-abcd-xyz1 --backup_id 10\nDownloaded backup #10 to ./tenant-t1234-abcd-xyz1-backup-10.tar.gz\n",
5220
+ "$ xano tenant backup export t1234-abcd-xyz1 --backup_id 10 --output ./backups/my-backup.tar.gz",
5221
+ "$ xano tenant backup export t1234-abcd-xyz1 --backup_id 10 -o json"
5222
5222
  ],
5223
5223
  "flags": {
5224
5224
  "profile": {
@@ -5241,25 +5241,17 @@
5241
5241
  "type": "boolean"
5242
5242
  },
5243
5243
  "backup_id": {
5244
- "description": "Backup ID to delete",
5244
+ "description": "Backup ID to export",
5245
5245
  "name": "backup_id",
5246
5246
  "required": true,
5247
5247
  "hasDynamicHelp": false,
5248
5248
  "multiple": false,
5249
5249
  "type": "option"
5250
5250
  },
5251
- "force": {
5252
- "char": "f",
5253
- "description": "Skip confirmation prompt",
5254
- "name": "force",
5255
- "required": false,
5256
- "allowNo": false,
5257
- "type": "boolean"
5258
- },
5259
- "output": {
5251
+ "format": {
5260
5252
  "char": "o",
5261
5253
  "description": "Output format",
5262
- "name": "output",
5254
+ "name": "format",
5263
5255
  "required": false,
5264
5256
  "default": "summary",
5265
5257
  "hasDynamicHelp": false,
@@ -5270,6 +5262,14 @@
5270
5262
  ],
5271
5263
  "type": "option"
5272
5264
  },
5265
+ "output": {
5266
+ "description": "Output file path (defaults to ./tenant-{name}-backup-{backup_id}.tar.gz)",
5267
+ "name": "output",
5268
+ "required": false,
5269
+ "hasDynamicHelp": false,
5270
+ "multiple": false,
5271
+ "type": "option"
5272
+ },
5273
5273
  "workspace": {
5274
5274
  "char": "w",
5275
5275
  "description": "Workspace ID (uses profile workspace if not provided)",
@@ -5282,7 +5282,7 @@
5282
5282
  },
5283
5283
  "hasDynamicHelp": false,
5284
5284
  "hiddenAliases": [],
5285
- "id": "tenant:backup:delete",
5285
+ "id": "tenant:backup:export",
5286
5286
  "pluginAlias": "@xano/cli",
5287
5287
  "pluginName": "@xano/cli",
5288
5288
  "pluginType": "core",
@@ -5294,24 +5294,23 @@
5294
5294
  "commands",
5295
5295
  "tenant",
5296
5296
  "backup",
5297
- "delete",
5297
+ "export",
5298
5298
  "index.js"
5299
5299
  ]
5300
5300
  },
5301
- "tenant:backup:export": {
5301
+ "tenant:backup:list": {
5302
5302
  "aliases": [],
5303
5303
  "args": {
5304
5304
  "tenant_name": {
5305
- "description": "Tenant name to export backup from",
5305
+ "description": "Tenant name to list backups for",
5306
5306
  "name": "tenant_name",
5307
5307
  "required": true
5308
5308
  }
5309
5309
  },
5310
- "description": "Export (download) a tenant backup to a local file",
5310
+ "description": "List backups for a tenant",
5311
5311
  "examples": [
5312
- "$ xano tenant backup export t1234-abcd-xyz1 --backup_id 10\nDownloaded backup #10 to ./tenant-t1234-abcd-xyz1-backup-10.tar.gz\n",
5313
- "$ xano tenant backup export t1234-abcd-xyz1 --backup_id 10 --output ./backups/my-backup.tar.gz",
5314
- "$ xano tenant backup export t1234-abcd-xyz1 --backup_id 10 -o json"
5312
+ "$ xano tenant backup list t1234-abcd-xyz1\nBackups for tenant t1234-abcd-xyz1:\n - #1 - Pre-deploy backup (2024-01-15)\n - #2 - Daily backup (2024-01-16)\n",
5313
+ "$ xano tenant backup list t1234-abcd-xyz1 -o json"
5315
5314
  ],
5316
5315
  "flags": {
5317
5316
  "profile": {
@@ -5333,18 +5332,10 @@
5333
5332
  "allowNo": false,
5334
5333
  "type": "boolean"
5335
5334
  },
5336
- "backup_id": {
5337
- "description": "Backup ID to export",
5338
- "name": "backup_id",
5339
- "required": true,
5340
- "hasDynamicHelp": false,
5341
- "multiple": false,
5342
- "type": "option"
5343
- },
5344
- "format": {
5335
+ "output": {
5345
5336
  "char": "o",
5346
5337
  "description": "Output format",
5347
- "name": "format",
5338
+ "name": "output",
5348
5339
  "required": false,
5349
5340
  "default": "summary",
5350
5341
  "hasDynamicHelp": false,
@@ -5355,10 +5346,11 @@
5355
5346
  ],
5356
5347
  "type": "option"
5357
5348
  },
5358
- "output": {
5359
- "description": "Output file path (defaults to ./tenant-{name}-backup-{backup_id}.tar.gz)",
5360
- "name": "output",
5349
+ "page": {
5350
+ "description": "Page number for pagination",
5351
+ "name": "page",
5361
5352
  "required": false,
5353
+ "default": 1,
5362
5354
  "hasDynamicHelp": false,
5363
5355
  "multiple": false,
5364
5356
  "type": "option"
@@ -5375,7 +5367,7 @@
5375
5367
  },
5376
5368
  "hasDynamicHelp": false,
5377
5369
  "hiddenAliases": [],
5378
- "id": "tenant:backup:export",
5370
+ "id": "tenant:backup:list",
5379
5371
  "pluginAlias": "@xano/cli",
5380
5372
  "pluginName": "@xano/cli",
5381
5373
  "pluginType": "core",
@@ -5387,7 +5379,7 @@
5387
5379
  "commands",
5388
5380
  "tenant",
5389
5381
  "backup",
5390
- "export",
5382
+ "list",
5391
5383
  "index.js"
5392
5384
  ]
5393
5385
  },
@@ -5486,19 +5478,20 @@
5486
5478
  "index.js"
5487
5479
  ]
5488
5480
  },
5489
- "tenant:backup:list": {
5481
+ "tenant:backup:delete": {
5490
5482
  "aliases": [],
5491
5483
  "args": {
5492
5484
  "tenant_name": {
5493
- "description": "Tenant name to list backups for",
5485
+ "description": "Tenant name that owns the backup",
5494
5486
  "name": "tenant_name",
5495
5487
  "required": true
5496
5488
  }
5497
5489
  },
5498
- "description": "List backups for a tenant",
5490
+ "description": "Delete a tenant backup permanently. This action cannot be undone.",
5499
5491
  "examples": [
5500
- "$ xano tenant backup list t1234-abcd-xyz1\nBackups for tenant t1234-abcd-xyz1:\n - #1 - Pre-deploy backup (2024-01-15)\n - #2 - Daily backup (2024-01-16)\n",
5501
- "$ xano tenant backup list t1234-abcd-xyz1 -o json"
5492
+ "$ xano tenant backup delete t1234-abcd-xyz1 --backup_id 10\nAre you sure you want to delete backup #10? This action cannot be undone. (y/N) y\nDeleted backup #10\n",
5493
+ "$ xano tenant backup delete t1234-abcd-xyz1 --backup_id 10 --force",
5494
+ "$ xano tenant backup delete t1234-abcd-xyz1 --backup_id 10 -o json"
5502
5495
  ],
5503
5496
  "flags": {
5504
5497
  "profile": {
@@ -5520,6 +5513,22 @@
5520
5513
  "allowNo": false,
5521
5514
  "type": "boolean"
5522
5515
  },
5516
+ "backup_id": {
5517
+ "description": "Backup ID to delete",
5518
+ "name": "backup_id",
5519
+ "required": true,
5520
+ "hasDynamicHelp": false,
5521
+ "multiple": false,
5522
+ "type": "option"
5523
+ },
5524
+ "force": {
5525
+ "char": "f",
5526
+ "description": "Skip confirmation prompt",
5527
+ "name": "force",
5528
+ "required": false,
5529
+ "allowNo": false,
5530
+ "type": "boolean"
5531
+ },
5523
5532
  "output": {
5524
5533
  "char": "o",
5525
5534
  "description": "Output format",
@@ -5534,15 +5543,6 @@
5534
5543
  ],
5535
5544
  "type": "option"
5536
5545
  },
5537
- "page": {
5538
- "description": "Page number for pagination",
5539
- "name": "page",
5540
- "required": false,
5541
- "default": 1,
5542
- "hasDynamicHelp": false,
5543
- "multiple": false,
5544
- "type": "option"
5545
- },
5546
5546
  "workspace": {
5547
5547
  "char": "w",
5548
5548
  "description": "Workspace ID (uses profile workspace if not provided)",
@@ -5555,7 +5555,7 @@
5555
5555
  },
5556
5556
  "hasDynamicHelp": false,
5557
5557
  "hiddenAliases": [],
5558
- "id": "tenant:backup:list",
5558
+ "id": "tenant:backup:delete",
5559
5559
  "pluginAlias": "@xano/cli",
5560
5560
  "pluginName": "@xano/cli",
5561
5561
  "pluginType": "core",
@@ -5567,7 +5567,7 @@
5567
5567
  "commands",
5568
5568
  "tenant",
5569
5569
  "backup",
5570
- "list",
5570
+ "delete",
5571
5571
  "index.js"
5572
5572
  ]
5573
5573
  },
@@ -5861,111 +5861,6 @@
5861
5861
  "index.js"
5862
5862
  ]
5863
5863
  },
5864
- "tenant:cluster:edit": {
5865
- "aliases": [],
5866
- "args": {
5867
- "cluster_id": {
5868
- "description": "Cluster ID to edit",
5869
- "name": "cluster_id",
5870
- "required": true
5871
- }
5872
- },
5873
- "description": "Update an existing tenant cluster",
5874
- "examples": [
5875
- "$ xano tenant cluster edit 1 --name \"us-east-1-updated\" --description \"Updated cluster\" --domain \"us-east.xano.io\" --type standard\nUpdated tenant cluster: us-east-1-updated (standard) - ID: 1\n",
5876
- "$ xano tenant cluster edit 1 --name \"eu-west\" --description \"\" --domain \"\" --type run -o json"
5877
- ],
5878
- "flags": {
5879
- "profile": {
5880
- "char": "p",
5881
- "description": "Profile to use (uses default profile if not specified)",
5882
- "env": "XANO_PROFILE",
5883
- "name": "profile",
5884
- "required": false,
5885
- "hasDynamicHelp": false,
5886
- "multiple": false,
5887
- "type": "option"
5888
- },
5889
- "verbose": {
5890
- "char": "v",
5891
- "description": "Show detailed request/response information",
5892
- "env": "XANO_VERBOSE",
5893
- "name": "verbose",
5894
- "required": false,
5895
- "allowNo": false,
5896
- "type": "boolean"
5897
- },
5898
- "description": {
5899
- "char": "d",
5900
- "description": "Cluster description",
5901
- "name": "description",
5902
- "required": true,
5903
- "hasDynamicHelp": false,
5904
- "multiple": false,
5905
- "type": "option"
5906
- },
5907
- "domain": {
5908
- "description": "Custom domain for the cluster",
5909
- "name": "domain",
5910
- "required": true,
5911
- "hasDynamicHelp": false,
5912
- "multiple": false,
5913
- "type": "option"
5914
- },
5915
- "name": {
5916
- "char": "n",
5917
- "description": "Cluster name",
5918
- "name": "name",
5919
- "required": true,
5920
- "hasDynamicHelp": false,
5921
- "multiple": false,
5922
- "type": "option"
5923
- },
5924
- "output": {
5925
- "char": "o",
5926
- "description": "Output format",
5927
- "name": "output",
5928
- "required": false,
5929
- "default": "summary",
5930
- "hasDynamicHelp": false,
5931
- "multiple": false,
5932
- "options": [
5933
- "summary",
5934
- "json"
5935
- ],
5936
- "type": "option"
5937
- },
5938
- "type": {
5939
- "description": "Cluster type",
5940
- "name": "type",
5941
- "required": true,
5942
- "hasDynamicHelp": false,
5943
- "multiple": false,
5944
- "options": [
5945
- "standard",
5946
- "run"
5947
- ],
5948
- "type": "option"
5949
- }
5950
- },
5951
- "hasDynamicHelp": false,
5952
- "hiddenAliases": [],
5953
- "id": "tenant:cluster:edit",
5954
- "pluginAlias": "@xano/cli",
5955
- "pluginName": "@xano/cli",
5956
- "pluginType": "core",
5957
- "strict": true,
5958
- "enableJsonFlag": false,
5959
- "isESM": true,
5960
- "relativePath": [
5961
- "dist",
5962
- "commands",
5963
- "tenant",
5964
- "cluster",
5965
- "edit",
5966
- "index.js"
5967
- ]
5968
- },
5969
5864
  "tenant:cluster:get": {
5970
5865
  "aliases": [],
5971
5866
  "args": {
@@ -6188,19 +6083,19 @@
6188
6083
  "index.js"
6189
6084
  ]
6190
6085
  },
6191
- "tenant:env:get": {
6086
+ "tenant:cluster:edit": {
6192
6087
  "aliases": [],
6193
6088
  "args": {
6194
- "tenant_name": {
6195
- "description": "Tenant name",
6196
- "name": "tenant_name",
6089
+ "cluster_id": {
6090
+ "description": "Cluster ID to edit",
6091
+ "name": "cluster_id",
6197
6092
  "required": true
6198
6093
  }
6199
6094
  },
6200
- "description": "Get a single environment variable for a tenant",
6095
+ "description": "Update an existing tenant cluster",
6201
6096
  "examples": [
6202
- "$ xano tenant env get my-tenant --name DATABASE_URL\npostgres://localhost:5432/mydb\n",
6203
- "$ xano tenant env get my-tenant --name DATABASE_URL -w 5 -o json"
6097
+ "$ xano tenant cluster edit 1 --name \"us-east-1-updated\" --description \"Updated cluster\" --domain \"us-east.xano.io\" --type standard\nUpdated tenant cluster: us-east-1-updated (standard) - ID: 1\n",
6098
+ "$ xano tenant cluster edit 1 --name \"eu-west\" --description \"\" --domain \"\" --type run -o json"
6204
6099
  ],
6205
6100
  "flags": {
6206
6101
  "profile": {
@@ -6222,9 +6117,26 @@
6222
6117
  "allowNo": false,
6223
6118
  "type": "boolean"
6224
6119
  },
6120
+ "description": {
6121
+ "char": "d",
6122
+ "description": "Cluster description",
6123
+ "name": "description",
6124
+ "required": true,
6125
+ "hasDynamicHelp": false,
6126
+ "multiple": false,
6127
+ "type": "option"
6128
+ },
6129
+ "domain": {
6130
+ "description": "Custom domain for the cluster",
6131
+ "name": "domain",
6132
+ "required": true,
6133
+ "hasDynamicHelp": false,
6134
+ "multiple": false,
6135
+ "type": "option"
6136
+ },
6225
6137
  "name": {
6226
6138
  "char": "n",
6227
- "description": "Environment variable name",
6139
+ "description": "Cluster name",
6228
6140
  "name": "name",
6229
6141
  "required": true,
6230
6142
  "hasDynamicHelp": false,
@@ -6245,19 +6157,22 @@
6245
6157
  ],
6246
6158
  "type": "option"
6247
6159
  },
6248
- "workspace": {
6249
- "char": "w",
6250
- "description": "Workspace ID (uses profile workspace if not provided)",
6251
- "name": "workspace",
6252
- "required": false,
6160
+ "type": {
6161
+ "description": "Cluster type",
6162
+ "name": "type",
6163
+ "required": true,
6253
6164
  "hasDynamicHelp": false,
6254
6165
  "multiple": false,
6166
+ "options": [
6167
+ "standard",
6168
+ "run"
6169
+ ],
6255
6170
  "type": "option"
6256
6171
  }
6257
6172
  },
6258
6173
  "hasDynamicHelp": false,
6259
6174
  "hiddenAliases": [],
6260
- "id": "tenant:env:get",
6175
+ "id": "tenant:cluster:edit",
6261
6176
  "pluginAlias": "@xano/cli",
6262
6177
  "pluginName": "@xano/cli",
6263
6178
  "pluginType": "core",
@@ -6268,8 +6183,8 @@
6268
6183
  "dist",
6269
6184
  "commands",
6270
6185
  "tenant",
6271
- "env",
6272
- "get",
6186
+ "cluster",
6187
+ "edit",
6273
6188
  "index.js"
6274
6189
  ]
6275
6190
  },
@@ -6443,7 +6358,7 @@
6443
6358
  "index.js"
6444
6359
  ]
6445
6360
  },
6446
- "tenant:env:set": {
6361
+ "tenant:env:get": {
6447
6362
  "aliases": [],
6448
6363
  "args": {
6449
6364
  "tenant_name": {
@@ -6452,10 +6367,10 @@
6452
6367
  "required": true
6453
6368
  }
6454
6369
  },
6455
- "description": "Set (create or update) an environment variable for a tenant",
6370
+ "description": "Get a single environment variable for a tenant",
6456
6371
  "examples": [
6457
- "$ xano tenant env set my-tenant --name DATABASE_URL --value postgres://localhost:5432/mydb\nEnvironment variable 'DATABASE_URL' set for tenant my-tenant\n",
6458
- "$ xano tenant env set my-tenant --name DATABASE_URL --value postgres://localhost:5432/mydb -w 5 -o json"
6372
+ "$ xano tenant env get my-tenant --name DATABASE_URL\npostgres://localhost:5432/mydb\n",
6373
+ "$ xano tenant env get my-tenant --name DATABASE_URL -w 5 -o json"
6459
6374
  ],
6460
6375
  "flags": {
6461
6376
  "profile": {
@@ -6500,14 +6415,6 @@
6500
6415
  ],
6501
6416
  "type": "option"
6502
6417
  },
6503
- "value": {
6504
- "description": "Environment variable value",
6505
- "name": "value",
6506
- "required": true,
6507
- "hasDynamicHelp": false,
6508
- "multiple": false,
6509
- "type": "option"
6510
- },
6511
6418
  "workspace": {
6512
6419
  "char": "w",
6513
6420
  "description": "Workspace ID (uses profile workspace if not provided)",
@@ -6520,7 +6427,7 @@
6520
6427
  },
6521
6428
  "hasDynamicHelp": false,
6522
6429
  "hiddenAliases": [],
6523
- "id": "tenant:env:set",
6430
+ "id": "tenant:env:get",
6524
6431
  "pluginAlias": "@xano/cli",
6525
6432
  "pluginName": "@xano/cli",
6526
6433
  "pluginType": "core",
@@ -6532,7 +6439,7 @@
6532
6439
  "commands",
6533
6440
  "tenant",
6534
6441
  "env",
6535
- "set",
6442
+ "get",
6536
6443
  "index.js"
6537
6444
  ]
6538
6445
  },
@@ -6629,7 +6536,7 @@
6629
6536
  "index.js"
6630
6537
  ]
6631
6538
  },
6632
- "tenant:license:get": {
6539
+ "tenant:license:set": {
6633
6540
  "aliases": [],
6634
6541
  "args": {
6635
6542
  "tenant_name": {
@@ -6638,12 +6545,12 @@
6638
6545
  "required": true
6639
6546
  }
6640
6547
  },
6641
- "description": "Get the license for a tenant",
6548
+ "description": "Set/update the license for a tenant",
6642
6549
  "examples": [
6643
- "$ xano tenant license get my-tenant\nLicense saved to license_my-tenant.yaml\n",
6644
- "$ xano tenant license get my-tenant --file ./my-license.yaml\nLicense saved to my-license.yaml\n",
6645
- "$ xano tenant license get my-tenant --view",
6646
- "$ xano tenant license get my-tenant -o json"
6550
+ "$ xano tenant license set my-tenant\nReads from license_my-tenant.yaml\n",
6551
+ "$ xano tenant license set my-tenant --file ./license.yaml",
6552
+ "$ xano tenant license set my-tenant --value 'key: value'",
6553
+ "$ xano tenant license set my-tenant -o json"
6647
6554
  ],
6648
6555
  "flags": {
6649
6556
  "profile": {
@@ -6665,9 +6572,22 @@
6665
6572
  "allowNo": false,
6666
6573
  "type": "boolean"
6667
6574
  },
6575
+ "clean": {
6576
+ "description": "Remove the source file after successful upload",
6577
+ "exclusive": [
6578
+ "value"
6579
+ ],
6580
+ "name": "clean",
6581
+ "required": false,
6582
+ "allowNo": false,
6583
+ "type": "boolean"
6584
+ },
6668
6585
  "file": {
6669
6586
  "char": "f",
6670
- "description": "Output file path (default: license_<tenant_name>.yaml)",
6587
+ "description": "Path to license file (default: license_<tenant_name>.yaml)",
6588
+ "exclusive": [
6589
+ "value"
6590
+ ],
6671
6591
  "name": "file",
6672
6592
  "required": false,
6673
6593
  "hasDynamicHelp": false,
@@ -6688,12 +6608,17 @@
6688
6608
  ],
6689
6609
  "type": "option"
6690
6610
  },
6691
- "view": {
6692
- "description": "Print license to stdout instead of saving to file",
6693
- "name": "view",
6611
+ "value": {
6612
+ "description": "Inline license value",
6613
+ "exclusive": [
6614
+ "file",
6615
+ "clean"
6616
+ ],
6617
+ "name": "value",
6694
6618
  "required": false,
6695
- "allowNo": false,
6696
- "type": "boolean"
6619
+ "hasDynamicHelp": false,
6620
+ "multiple": false,
6621
+ "type": "option"
6697
6622
  },
6698
6623
  "workspace": {
6699
6624
  "char": "w",
@@ -6707,7 +6632,7 @@
6707
6632
  },
6708
6633
  "hasDynamicHelp": false,
6709
6634
  "hiddenAliases": [],
6710
- "id": "tenant:license:get",
6635
+ "id": "tenant:license:set",
6711
6636
  "pluginAlias": "@xano/cli",
6712
6637
  "pluginName": "@xano/cli",
6713
6638
  "pluginType": "core",
@@ -6719,11 +6644,11 @@
6719
6644
  "commands",
6720
6645
  "tenant",
6721
6646
  "license",
6722
- "get",
6647
+ "set",
6723
6648
  "index.js"
6724
6649
  ]
6725
6650
  },
6726
- "tenant:license:set": {
6651
+ "tenant:license:get": {
6727
6652
  "aliases": [],
6728
6653
  "args": {
6729
6654
  "tenant_name": {
@@ -6732,12 +6657,12 @@
6732
6657
  "required": true
6733
6658
  }
6734
6659
  },
6735
- "description": "Set/update the license for a tenant",
6660
+ "description": "Get the license for a tenant",
6736
6661
  "examples": [
6737
- "$ xano tenant license set my-tenant\nReads from license_my-tenant.yaml\n",
6738
- "$ xano tenant license set my-tenant --file ./license.yaml",
6739
- "$ xano tenant license set my-tenant --value 'key: value'",
6740
- "$ xano tenant license set my-tenant -o json"
6662
+ "$ xano tenant license get my-tenant\nLicense saved to license_my-tenant.yaml\n",
6663
+ "$ xano tenant license get my-tenant --file ./my-license.yaml\nLicense saved to my-license.yaml\n",
6664
+ "$ xano tenant license get my-tenant --view",
6665
+ "$ xano tenant license get my-tenant -o json"
6741
6666
  ],
6742
6667
  "flags": {
6743
6668
  "profile": {
@@ -6759,22 +6684,9 @@
6759
6684
  "allowNo": false,
6760
6685
  "type": "boolean"
6761
6686
  },
6762
- "clean": {
6763
- "description": "Remove the source file after successful upload",
6764
- "exclusive": [
6765
- "value"
6766
- ],
6767
- "name": "clean",
6768
- "required": false,
6769
- "allowNo": false,
6770
- "type": "boolean"
6771
- },
6772
6687
  "file": {
6773
6688
  "char": "f",
6774
- "description": "Path to license file (default: license_<tenant_name>.yaml)",
6775
- "exclusive": [
6776
- "value"
6777
- ],
6689
+ "description": "Output file path (default: license_<tenant_name>.yaml)",
6778
6690
  "name": "file",
6779
6691
  "required": false,
6780
6692
  "hasDynamicHelp": false,
@@ -6795,17 +6707,12 @@
6795
6707
  ],
6796
6708
  "type": "option"
6797
6709
  },
6798
- "value": {
6799
- "description": "Inline license value",
6800
- "exclusive": [
6801
- "file",
6802
- "clean"
6803
- ],
6804
- "name": "value",
6710
+ "view": {
6711
+ "description": "Print license to stdout instead of saving to file",
6712
+ "name": "view",
6805
6713
  "required": false,
6806
- "hasDynamicHelp": false,
6807
- "multiple": false,
6808
- "type": "option"
6714
+ "allowNo": false,
6715
+ "type": "boolean"
6809
6716
  },
6810
6717
  "workspace": {
6811
6718
  "char": "w",
@@ -6819,7 +6726,7 @@
6819
6726
  },
6820
6727
  "hasDynamicHelp": false,
6821
6728
  "hiddenAliases": [],
6822
- "id": "tenant:license:set",
6729
+ "id": "tenant:license:get",
6823
6730
  "pluginAlias": "@xano/cli",
6824
6731
  "pluginName": "@xano/cli",
6825
6732
  "pluginType": "core",
@@ -6831,7 +6738,7 @@
6831
6738
  "commands",
6832
6739
  "tenant",
6833
6740
  "license",
6834
- "set",
6741
+ "get",
6835
6742
  "index.js"
6836
6743
  ]
6837
6744
  },
@@ -6929,6 +6836,110 @@
6929
6836
  "index.js"
6930
6837
  ]
6931
6838
  },
6839
+ "tenant:cluster:license:set": {
6840
+ "aliases": [],
6841
+ "args": {
6842
+ "cluster_id": {
6843
+ "description": "Tenant cluster ID",
6844
+ "name": "cluster_id",
6845
+ "required": true
6846
+ }
6847
+ },
6848
+ "description": "Set/update the license (kubeconfig) for a tenant cluster",
6849
+ "examples": [
6850
+ "$ xano tenant cluster license set 1\nReads from kubeconfig-1.yaml\n",
6851
+ "$ xano tenant cluster license set 1 --file ./kubeconfig.yaml",
6852
+ "$ xano tenant cluster license set 1 --value 'apiVersion: v1...'",
6853
+ "$ xano tenant cluster license set 1 -o json"
6854
+ ],
6855
+ "flags": {
6856
+ "profile": {
6857
+ "char": "p",
6858
+ "description": "Profile to use (uses default profile if not specified)",
6859
+ "env": "XANO_PROFILE",
6860
+ "name": "profile",
6861
+ "required": false,
6862
+ "hasDynamicHelp": false,
6863
+ "multiple": false,
6864
+ "type": "option"
6865
+ },
6866
+ "verbose": {
6867
+ "char": "v",
6868
+ "description": "Show detailed request/response information",
6869
+ "env": "XANO_VERBOSE",
6870
+ "name": "verbose",
6871
+ "required": false,
6872
+ "allowNo": false,
6873
+ "type": "boolean"
6874
+ },
6875
+ "clean": {
6876
+ "description": "Remove the source file after successful upload",
6877
+ "exclusive": [
6878
+ "value"
6879
+ ],
6880
+ "name": "clean",
6881
+ "required": false,
6882
+ "allowNo": false,
6883
+ "type": "boolean"
6884
+ },
6885
+ "file": {
6886
+ "char": "f",
6887
+ "description": "Path to kubeconfig file (default: kubeconfig_<cluster_id>.yaml)",
6888
+ "exclusive": [
6889
+ "value"
6890
+ ],
6891
+ "name": "file",
6892
+ "required": false,
6893
+ "hasDynamicHelp": false,
6894
+ "multiple": false,
6895
+ "type": "option"
6896
+ },
6897
+ "output": {
6898
+ "char": "o",
6899
+ "description": "Output format",
6900
+ "name": "output",
6901
+ "required": false,
6902
+ "default": "summary",
6903
+ "hasDynamicHelp": false,
6904
+ "multiple": false,
6905
+ "options": [
6906
+ "summary",
6907
+ "json"
6908
+ ],
6909
+ "type": "option"
6910
+ },
6911
+ "value": {
6912
+ "description": "Inline kubeconfig YAML value",
6913
+ "exclusive": [
6914
+ "file",
6915
+ "clean"
6916
+ ],
6917
+ "name": "value",
6918
+ "required": false,
6919
+ "hasDynamicHelp": false,
6920
+ "multiple": false,
6921
+ "type": "option"
6922
+ }
6923
+ },
6924
+ "hasDynamicHelp": false,
6925
+ "hiddenAliases": [],
6926
+ "id": "tenant:cluster:license:set",
6927
+ "pluginAlias": "@xano/cli",
6928
+ "pluginName": "@xano/cli",
6929
+ "pluginType": "core",
6930
+ "strict": true,
6931
+ "enableJsonFlag": false,
6932
+ "isESM": true,
6933
+ "relativePath": [
6934
+ "dist",
6935
+ "commands",
6936
+ "tenant",
6937
+ "cluster",
6938
+ "license",
6939
+ "set",
6940
+ "index.js"
6941
+ ]
6942
+ },
6932
6943
  "tenant:cluster:license:get": {
6933
6944
  "aliases": [],
6934
6945
  "args": {
@@ -7015,21 +7026,19 @@
7015
7026
  "index.js"
7016
7027
  ]
7017
7028
  },
7018
- "tenant:cluster:license:set": {
7029
+ "tenant:env:set": {
7019
7030
  "aliases": [],
7020
7031
  "args": {
7021
- "cluster_id": {
7022
- "description": "Tenant cluster ID",
7023
- "name": "cluster_id",
7032
+ "tenant_name": {
7033
+ "description": "Tenant name",
7034
+ "name": "tenant_name",
7024
7035
  "required": true
7025
7036
  }
7026
7037
  },
7027
- "description": "Set/update the license (kubeconfig) for a tenant cluster",
7038
+ "description": "Set (create or update) an environment variable for a tenant",
7028
7039
  "examples": [
7029
- "$ xano tenant cluster license set 1\nReads from kubeconfig-1.yaml\n",
7030
- "$ xano tenant cluster license set 1 --file ./kubeconfig.yaml",
7031
- "$ xano tenant cluster license set 1 --value 'apiVersion: v1...'",
7032
- "$ xano tenant cluster license set 1 -o json"
7040
+ "$ xano tenant env set my-tenant --name DATABASE_URL --value postgres://localhost:5432/mydb\nEnvironment variable 'DATABASE_URL' set for tenant my-tenant\n",
7041
+ "$ xano tenant env set my-tenant --name DATABASE_URL --value postgres://localhost:5432/mydb -w 5 -o json"
7033
7042
  ],
7034
7043
  "flags": {
7035
7044
  "profile": {
@@ -7051,24 +7060,11 @@
7051
7060
  "allowNo": false,
7052
7061
  "type": "boolean"
7053
7062
  },
7054
- "clean": {
7055
- "description": "Remove the source file after successful upload",
7056
- "exclusive": [
7057
- "value"
7058
- ],
7059
- "name": "clean",
7060
- "required": false,
7061
- "allowNo": false,
7062
- "type": "boolean"
7063
- },
7064
- "file": {
7065
- "char": "f",
7066
- "description": "Path to kubeconfig file (default: kubeconfig_<cluster_id>.yaml)",
7067
- "exclusive": [
7068
- "value"
7069
- ],
7070
- "name": "file",
7071
- "required": false,
7063
+ "name": {
7064
+ "char": "n",
7065
+ "description": "Environment variable name",
7066
+ "name": "name",
7067
+ "required": true,
7072
7068
  "hasDynamicHelp": false,
7073
7069
  "multiple": false,
7074
7070
  "type": "option"
@@ -7088,12 +7084,17 @@
7088
7084
  "type": "option"
7089
7085
  },
7090
7086
  "value": {
7091
- "description": "Inline kubeconfig YAML value",
7092
- "exclusive": [
7093
- "file",
7094
- "clean"
7095
- ],
7087
+ "description": "Environment variable value",
7096
7088
  "name": "value",
7089
+ "required": true,
7090
+ "hasDynamicHelp": false,
7091
+ "multiple": false,
7092
+ "type": "option"
7093
+ },
7094
+ "workspace": {
7095
+ "char": "w",
7096
+ "description": "Workspace ID (uses profile workspace if not provided)",
7097
+ "name": "workspace",
7097
7098
  "required": false,
7098
7099
  "hasDynamicHelp": false,
7099
7100
  "multiple": false,
@@ -7102,7 +7103,7 @@
7102
7103
  },
7103
7104
  "hasDynamicHelp": false,
7104
7105
  "hiddenAliases": [],
7105
- "id": "tenant:cluster:license:set",
7106
+ "id": "tenant:env:set",
7106
7107
  "pluginAlias": "@xano/cli",
7107
7108
  "pluginName": "@xano/cli",
7108
7109
  "pluginType": "core",
@@ -7113,12 +7114,11 @@
7113
7114
  "dist",
7114
7115
  "commands",
7115
7116
  "tenant",
7116
- "cluster",
7117
- "license",
7117
+ "env",
7118
7118
  "set",
7119
7119
  "index.js"
7120
7120
  ]
7121
7121
  }
7122
7122
  },
7123
- "version": "0.0.71-beta.0"
7123
+ "version": "0.0.71-beta.2"
7124
7124
  }