@xano/cli 0.0.69-beta.1 → 0.0.69-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:edit": {
96
+ "branch:create": {
97
97
  "aliases": [],
98
- "args": {
99
- "branch_label": {
100
- "description": "Branch label to edit (cannot edit \"v1\" label)",
101
- "name": "branch_label",
102
- "required": true
103
- }
104
- },
105
- "description": "Update an existing branch (cannot update \"v1\" label)",
98
+ "args": {},
99
+ "description": "Create a new branch by cloning from an existing branch",
106
100
  "examples": [
107
- "$ xano branch edit dev --label development\nUpdated branch: development\n",
108
- "$ xano branch edit feature-auth -l feature-authentication --color \"#ff5733\"\nUpdated branch: feature-authentication\n Color: #ff5733\n",
109
- "$ xano branch edit staging --description \"Staging environment\" -o json\n{\n \"created_at\": \"2024-02-10T09:15:00Z\",\n \"label\": \"staging\",\n \"backup\": false\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": {
@@ -130,7 +124,7 @@
130
124
  },
131
125
  "color": {
132
126
  "char": "c",
133
- "description": "New color hex code for the branch (e.g., \"#ff5733\")",
127
+ "description": "Color hex code for the branch (e.g., \"#ebc346\")",
134
128
  "name": "color",
135
129
  "required": false,
136
130
  "hasDynamicHelp": false,
@@ -139,7 +133,7 @@
139
133
  },
140
134
  "description": {
141
135
  "char": "d",
142
- "description": "New description for the branch",
136
+ "description": "Description for the new branch",
143
137
  "name": "description",
144
138
  "required": false,
145
139
  "hasDynamicHelp": false,
@@ -148,9 +142,9 @@
148
142
  },
149
143
  "label": {
150
144
  "char": "l",
151
- "description": "New label for the branch",
145
+ "description": "Label for the new branch",
152
146
  "name": "label",
153
- "required": false,
147
+ "required": true,
154
148
  "hasDynamicHelp": false,
155
149
  "multiple": false,
156
150
  "type": "option"
@@ -169,6 +163,16 @@
169
163
  ],
170
164
  "type": "option"
171
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
+ },
172
176
  "workspace": {
173
177
  "char": "w",
174
178
  "description": "Workspace ID (uses profile workspace if not provided)",
@@ -181,7 +185,7 @@
181
185
  },
182
186
  "hasDynamicHelp": false,
183
187
  "hiddenAliases": [],
184
- "id": "branch:edit",
188
+ "id": "branch:create",
185
189
  "pluginAlias": "@xano/cli",
186
190
  "pluginName": "@xano/cli",
187
191
  "pluginType": "core",
@@ -192,7 +196,7 @@
192
196
  "dist",
193
197
  "commands",
194
198
  "branch",
195
- "edit",
199
+ "create",
196
200
  "index.js"
197
201
  ]
198
202
  },
@@ -280,14 +284,20 @@
280
284
  "index.js"
281
285
  ]
282
286
  },
283
- "branch:create": {
287
+ "branch:edit": {
284
288
  "aliases": [],
285
- "args": {},
286
- "description": "Create a new branch by cloning from an existing branch",
289
+ "args": {
290
+ "branch_label": {
291
+ "description": "Branch label to edit (cannot edit \"v1\" label)",
292
+ "name": "branch_label",
293
+ "required": true
294
+ }
295
+ },
296
+ "description": "Update an existing branch (cannot update \"v1\" label)",
287
297
  "examples": [
288
- "$ xano branch create --label dev\nCreated branch: dev\n Cloned from: v1\n",
289
- "$ xano branch create -l feature-auth -s dev -d \"Authentication feature\"\nCreated branch: feature-auth\n Cloned from: dev\n Description: Authentication feature\n",
290
- "$ 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"
298
+ "$ xano branch edit dev --label development\nUpdated branch: development\n",
299
+ "$ xano branch edit feature-auth -l feature-authentication --color \"#ff5733\"\nUpdated branch: feature-authentication\n Color: #ff5733\n",
300
+ "$ xano branch edit staging --description \"Staging environment\" -o json\n{\n \"created_at\": \"2024-02-10T09:15:00Z\",\n \"label\": \"staging\",\n \"backup\": false\n}\n"
291
301
  ],
292
302
  "flags": {
293
303
  "profile": {
@@ -311,7 +321,7 @@
311
321
  },
312
322
  "color": {
313
323
  "char": "c",
314
- "description": "Color hex code for the branch (e.g., \"#ebc346\")",
324
+ "description": "New color hex code for the branch (e.g., \"#ff5733\")",
315
325
  "name": "color",
316
326
  "required": false,
317
327
  "hasDynamicHelp": false,
@@ -320,7 +330,7 @@
320
330
  },
321
331
  "description": {
322
332
  "char": "d",
323
- "description": "Description for the new branch",
333
+ "description": "New description for the branch",
324
334
  "name": "description",
325
335
  "required": false,
326
336
  "hasDynamicHelp": false,
@@ -329,9 +339,9 @@
329
339
  },
330
340
  "label": {
331
341
  "char": "l",
332
- "description": "Label for the new branch",
342
+ "description": "New label for the branch",
333
343
  "name": "label",
334
- "required": true,
344
+ "required": false,
335
345
  "hasDynamicHelp": false,
336
346
  "multiple": false,
337
347
  "type": "option"
@@ -350,16 +360,6 @@
350
360
  ],
351
361
  "type": "option"
352
362
  },
353
- "source": {
354
- "char": "s",
355
- "description": "Source branch to clone from (defaults to \"v1\")",
356
- "name": "source",
357
- "required": false,
358
- "default": "v1",
359
- "hasDynamicHelp": false,
360
- "multiple": false,
361
- "type": "option"
362
- },
363
363
  "workspace": {
364
364
  "char": "w",
365
365
  "description": "Workspace ID (uses profile workspace if not provided)",
@@ -372,7 +372,7 @@
372
372
  },
373
373
  "hasDynamicHelp": false,
374
374
  "hiddenAliases": [],
375
- "id": "branch:create",
375
+ "id": "branch:edit",
376
376
  "pluginAlias": "@xano/cli",
377
377
  "pluginName": "@xano/cli",
378
378
  "pluginType": "core",
@@ -383,7 +383,7 @@
383
383
  "dist",
384
384
  "commands",
385
385
  "branch",
386
- "create",
386
+ "edit",
387
387
  "index.js"
388
388
  ]
389
389
  },
@@ -547,92 +547,16 @@
547
547
  "index.js"
548
548
  ]
549
549
  },
550
- "branch:list": {
551
- "aliases": [],
552
- "args": {
553
- "workspace_id": {
554
- "description": "Workspace ID (uses profile workspace if not provided)",
555
- "name": "workspace_id",
556
- "required": false
557
- }
558
- },
559
- "description": "List all branches in a workspace",
560
- "examples": [
561
- "$ xano branch list\nAvailable branches:\n - v1 (live)\n - dev\n - staging\n",
562
- "$ xano branch list 123\nAvailable branches:\n - v1 (live)\n - feature-auth\n",
563
- "$ xano branch list --output json\n[\n {\n \"created_at\": \"2024-01-15T10:30:00Z\",\n \"label\": \"v1\",\n \"backup\": false,\n \"live\": true\n }\n]\n"
564
- ],
565
- "flags": {
566
- "profile": {
567
- "char": "p",
568
- "description": "Profile to use (uses default profile if not specified)",
569
- "env": "XANO_PROFILE",
570
- "name": "profile",
571
- "required": false,
572
- "hasDynamicHelp": false,
573
- "multiple": false,
574
- "type": "option"
575
- },
576
- "verbose": {
577
- "char": "v",
578
- "description": "Show detailed request/response information",
579
- "env": "XANO_VERBOSE",
580
- "name": "verbose",
581
- "required": false,
582
- "allowNo": false,
583
- "type": "boolean"
584
- },
585
- "output": {
586
- "char": "o",
587
- "description": "Output format",
588
- "name": "output",
589
- "required": false,
590
- "default": "summary",
591
- "hasDynamicHelp": false,
592
- "multiple": false,
593
- "options": [
594
- "summary",
595
- "json"
596
- ],
597
- "type": "option"
598
- }
599
- },
600
- "hasDynamicHelp": false,
601
- "hiddenAliases": [],
602
- "id": "branch:list",
603
- "pluginAlias": "@xano/cli",
604
- "pluginName": "@xano/cli",
605
- "pluginType": "core",
606
- "strict": true,
607
- "enableJsonFlag": false,
608
- "isESM": true,
609
- "relativePath": [
610
- "dist",
611
- "commands",
612
- "branch",
613
- "list",
614
- "index.js"
615
- ]
616
- },
617
- "function:edit": {
550
+ "function:create": {
618
551
  "aliases": [],
619
- "args": {
620
- "function_id": {
621
- "description": "Function ID to edit",
622
- "name": "function_id",
623
- "required": false
624
- }
625
- },
626
- "description": "Edit a function in a workspace",
552
+ "args": {},
553
+ "description": "Create a new function in a workspace",
627
554
  "examples": [
628
- "$ 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",
629
- "$ 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",
630
- "$ xano function:edit 163 -f function.xs\nFunction updated successfully!\nID: 163\nName: my_function\n",
631
- "$ xano function:edit 163 -w 40 -f function.xs\nFunction updated successfully!\nID: 163\nName: my_function\n",
632
- "$ xano function:edit -f function.xs\nSelect a function to edit:\n ❯ my_function (ID: 163) - Sample function\n another-func (ID: 164)\n",
633
- "$ 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",
634
- "$ cat function.xs | xano function:edit 163 --stdin\nFunction updated successfully!\nID: 163\nName: my_function\n",
635
- "$ xano function:edit 163 -f function.xs -o json\n{\n \"id\": 163,\n \"name\": \"my_function\",\n ...\n}\n"
555
+ "$ xano function:create -w 40 -f function.xs\nFunction created successfully!\nID: 123\nName: my_function\n",
556
+ "$ xano function:create -f function.xs\nFunction created successfully!\nID: 123\nName: my_function\n",
557
+ "$ xano function:create -w 40 -f function.xs --edit\n# Opens function.xs in $EDITOR, then creates function with edited content\nFunction created successfully!\nID: 123\nName: my_function\n",
558
+ "$ cat function.xs | xano function:create -w 40 --stdin\nFunction created successfully!\nID: 123\nName: my_function\n",
559
+ "$ xano function:create -w 40 -f function.xs -o json\n{\n \"id\": 123,\n \"name\": \"my_function\",\n ...\n}\n"
636
560
  ],
637
561
  "flags": {
638
562
  "profile": {
@@ -656,7 +580,10 @@
656
580
  },
657
581
  "edit": {
658
582
  "char": "e",
659
- "description": "Open file in editor before updating function (requires --file)",
583
+ "dependsOn": [
584
+ "file"
585
+ ],
586
+ "description": "Open file in editor before creating function (requires --file)",
660
587
  "name": "edit",
661
588
  "required": false,
662
589
  "allowNo": false,
@@ -688,13 +615,6 @@
688
615
  ],
689
616
  "type": "option"
690
617
  },
691
- "publish": {
692
- "description": "Publish the function after editing",
693
- "name": "publish",
694
- "required": false,
695
- "allowNo": false,
696
- "type": "boolean"
697
- },
698
618
  "stdin": {
699
619
  "char": "s",
700
620
  "description": "Read XanoScript code from stdin",
@@ -718,7 +638,7 @@
718
638
  },
719
639
  "hasDynamicHelp": false,
720
640
  "hiddenAliases": [],
721
- "id": "function:edit",
641
+ "id": "function:create",
722
642
  "pluginAlias": "@xano/cli",
723
643
  "pluginName": "@xano/cli",
724
644
  "pluginType": "core",
@@ -729,7 +649,7 @@
729
649
  "dist",
730
650
  "commands",
731
651
  "function",
732
- "edit",
652
+ "create",
733
653
  "index.js"
734
654
  ]
735
655
  },
@@ -827,15 +747,25 @@
827
747
  "index.js"
828
748
  ]
829
749
  },
830
- "function:list": {
750
+ "function:edit": {
831
751
  "aliases": [],
832
- "args": {},
833
- "description": "List all functions in a workspace from the Xano Metadata API",
752
+ "args": {
753
+ "function_id": {
754
+ "description": "Function ID to edit",
755
+ "name": "function_id",
756
+ "required": false
757
+ }
758
+ },
759
+ "description": "Edit a function in a workspace",
834
760
  "examples": [
835
- "$ xano function:list -w 40\nAvailable functions:\n - function-1 (ID: 1)\n - function-2 (ID: 2)\n - function-3 (ID: 3)\n",
836
- "$ xano function:list --profile production\nAvailable functions:\n - my-function (ID: 1)\n - another-function (ID: 2)\n",
837
- "$ xano function:list -w 40 --output json\n[\n {\n \"id\": 1,\n \"name\": \"function-1\"\n }\n]\n",
838
- "$ xano function:list -p staging -o json --include_draft\n[\n {\n \"id\": 1,\n \"name\": \"function-1\"\n }\n]\n"
761
+ "$ 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",
762
+ "$ 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",
763
+ "$ xano function:edit 163 -f function.xs\nFunction updated successfully!\nID: 163\nName: my_function\n",
764
+ "$ xano function:edit 163 -w 40 -f function.xs\nFunction updated successfully!\nID: 163\nName: my_function\n",
765
+ "$ xano function:edit -f function.xs\nSelect a function to edit:\n ❯ my_function (ID: 163) - Sample function\n another-func (ID: 164)\n",
766
+ "$ 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",
767
+ "$ cat function.xs | xano function:edit 163 --stdin\nFunction updated successfully!\nID: 163\nName: my_function\n",
768
+ "$ xano function:edit 163 -f function.xs -o json\n{\n \"id\": 163,\n \"name\": \"my_function\",\n ...\n}\n"
839
769
  ],
840
770
  "flags": {
841
771
  "profile": {
@@ -857,31 +787,24 @@
857
787
  "allowNo": false,
858
788
  "type": "boolean"
859
789
  },
860
- "include_draft": {
861
- "description": "Include draft functions",
862
- "name": "include_draft",
863
- "required": false,
864
- "allowNo": false,
865
- "type": "boolean"
866
- },
867
- "include_xanoscript": {
868
- "description": "Include XanoScript in response",
869
- "name": "include_xanoscript",
790
+ "edit": {
791
+ "char": "e",
792
+ "description": "Open file in editor before updating function (requires --file)",
793
+ "name": "edit",
870
794
  "required": false,
871
795
  "allowNo": false,
872
796
  "type": "boolean"
873
797
  },
874
- "order": {
875
- "description": "Sort order",
876
- "name": "order",
798
+ "file": {
799
+ "char": "f",
800
+ "description": "Path to file containing XanoScript code",
801
+ "exclusive": [
802
+ "stdin"
803
+ ],
804
+ "name": "file",
877
805
  "required": false,
878
- "default": "desc",
879
806
  "hasDynamicHelp": false,
880
807
  "multiple": false,
881
- "options": [
882
- "asc",
883
- "desc"
884
- ],
885
808
  "type": "option"
886
809
  },
887
810
  "output": {
@@ -898,18 +821,134 @@
898
821
  ],
899
822
  "type": "option"
900
823
  },
901
- "page": {
902
- "description": "Page number for pagination",
903
- "name": "page",
824
+ "publish": {
825
+ "description": "Publish the function after editing",
826
+ "name": "publish",
904
827
  "required": false,
905
- "default": 1,
906
- "hasDynamicHelp": false,
907
- "multiple": false,
908
- "type": "option"
828
+ "allowNo": false,
829
+ "type": "boolean"
909
830
  },
910
- "per_page": {
911
- "description": "Number of results per page",
912
- "name": "per_page",
831
+ "stdin": {
832
+ "char": "s",
833
+ "description": "Read XanoScript code from stdin",
834
+ "exclusive": [
835
+ "file"
836
+ ],
837
+ "name": "stdin",
838
+ "required": false,
839
+ "allowNo": false,
840
+ "type": "boolean"
841
+ },
842
+ "workspace": {
843
+ "char": "w",
844
+ "description": "Workspace ID (optional if set in profile)",
845
+ "name": "workspace",
846
+ "required": false,
847
+ "hasDynamicHelp": false,
848
+ "multiple": false,
849
+ "type": "option"
850
+ }
851
+ },
852
+ "hasDynamicHelp": false,
853
+ "hiddenAliases": [],
854
+ "id": "function:edit",
855
+ "pluginAlias": "@xano/cli",
856
+ "pluginName": "@xano/cli",
857
+ "pluginType": "core",
858
+ "strict": true,
859
+ "enableJsonFlag": false,
860
+ "isESM": true,
861
+ "relativePath": [
862
+ "dist",
863
+ "commands",
864
+ "function",
865
+ "edit",
866
+ "index.js"
867
+ ]
868
+ },
869
+ "function:list": {
870
+ "aliases": [],
871
+ "args": {},
872
+ "description": "List all functions in a workspace from the Xano Metadata API",
873
+ "examples": [
874
+ "$ xano function:list -w 40\nAvailable functions:\n - function-1 (ID: 1)\n - function-2 (ID: 2)\n - function-3 (ID: 3)\n",
875
+ "$ xano function:list --profile production\nAvailable functions:\n - my-function (ID: 1)\n - another-function (ID: 2)\n",
876
+ "$ xano function:list -w 40 --output json\n[\n {\n \"id\": 1,\n \"name\": \"function-1\"\n }\n]\n",
877
+ "$ xano function:list -p staging -o json --include_draft\n[\n {\n \"id\": 1,\n \"name\": \"function-1\"\n }\n]\n"
878
+ ],
879
+ "flags": {
880
+ "profile": {
881
+ "char": "p",
882
+ "description": "Profile to use (uses default profile if not specified)",
883
+ "env": "XANO_PROFILE",
884
+ "name": "profile",
885
+ "required": false,
886
+ "hasDynamicHelp": false,
887
+ "multiple": false,
888
+ "type": "option"
889
+ },
890
+ "verbose": {
891
+ "char": "v",
892
+ "description": "Show detailed request/response information",
893
+ "env": "XANO_VERBOSE",
894
+ "name": "verbose",
895
+ "required": false,
896
+ "allowNo": false,
897
+ "type": "boolean"
898
+ },
899
+ "include_draft": {
900
+ "description": "Include draft functions",
901
+ "name": "include_draft",
902
+ "required": false,
903
+ "allowNo": false,
904
+ "type": "boolean"
905
+ },
906
+ "include_xanoscript": {
907
+ "description": "Include XanoScript in response",
908
+ "name": "include_xanoscript",
909
+ "required": false,
910
+ "allowNo": false,
911
+ "type": "boolean"
912
+ },
913
+ "order": {
914
+ "description": "Sort order",
915
+ "name": "order",
916
+ "required": false,
917
+ "default": "desc",
918
+ "hasDynamicHelp": false,
919
+ "multiple": false,
920
+ "options": [
921
+ "asc",
922
+ "desc"
923
+ ],
924
+ "type": "option"
925
+ },
926
+ "output": {
927
+ "char": "o",
928
+ "description": "Output format",
929
+ "name": "output",
930
+ "required": false,
931
+ "default": "summary",
932
+ "hasDynamicHelp": false,
933
+ "multiple": false,
934
+ "options": [
935
+ "summary",
936
+ "json"
937
+ ],
938
+ "type": "option"
939
+ },
940
+ "page": {
941
+ "description": "Page number for pagination",
942
+ "name": "page",
943
+ "required": false,
944
+ "default": 1,
945
+ "hasDynamicHelp": false,
946
+ "multiple": false,
947
+ "type": "option"
948
+ },
949
+ "per_page": {
950
+ "description": "Number of results per page",
951
+ "name": "per_page",
913
952
  "required": false,
914
953
  "default": 50,
915
954
  "hasDynamicHelp": false,
@@ -1407,37 +1446,6 @@
1407
1446
  "index.js"
1408
1447
  ]
1409
1448
  },
1410
- "profile:set": {
1411
- "aliases": [],
1412
- "args": {
1413
- "name": {
1414
- "description": "Profile name to set as default",
1415
- "name": "name",
1416
- "required": true
1417
- }
1418
- },
1419
- "description": "Set the default profile",
1420
- "examples": [
1421
- "$ xano profile set production\nDefault profile set to 'production'\n"
1422
- ],
1423
- "flags": {},
1424
- "hasDynamicHelp": false,
1425
- "hiddenAliases": [],
1426
- "id": "profile:set",
1427
- "pluginAlias": "@xano/cli",
1428
- "pluginName": "@xano/cli",
1429
- "pluginType": "core",
1430
- "strict": true,
1431
- "enableJsonFlag": false,
1432
- "isESM": true,
1433
- "relativePath": [
1434
- "dist",
1435
- "commands",
1436
- "profile",
1437
- "set",
1438
- "index.js"
1439
- ]
1440
- },
1441
1449
  "profile:me": {
1442
1450
  "aliases": [],
1443
1451
  "args": {},
@@ -1499,6 +1507,37 @@
1499
1507
  "index.js"
1500
1508
  ]
1501
1509
  },
1510
+ "profile:set": {
1511
+ "aliases": [],
1512
+ "args": {
1513
+ "name": {
1514
+ "description": "Profile name to set as default",
1515
+ "name": "name",
1516
+ "required": true
1517
+ }
1518
+ },
1519
+ "description": "Set the default profile",
1520
+ "examples": [
1521
+ "$ xano profile set production\nDefault profile set to 'production'\n"
1522
+ ],
1523
+ "flags": {},
1524
+ "hasDynamicHelp": false,
1525
+ "hiddenAliases": [],
1526
+ "id": "profile:set",
1527
+ "pluginAlias": "@xano/cli",
1528
+ "pluginName": "@xano/cli",
1529
+ "pluginType": "core",
1530
+ "strict": true,
1531
+ "enableJsonFlag": false,
1532
+ "isESM": true,
1533
+ "relativePath": [
1534
+ "dist",
1535
+ "commands",
1536
+ "profile",
1537
+ "set",
1538
+ "index.js"
1539
+ ]
1540
+ },
1502
1541
  "profile:token": {
1503
1542
  "aliases": [],
1504
1543
  "args": {},
@@ -2129,6 +2168,75 @@
2129
2168
  "index.js"
2130
2169
  ]
2131
2170
  },
2171
+ "release:list": {
2172
+ "aliases": [],
2173
+ "args": {},
2174
+ "description": "List all releases in a workspace",
2175
+ "examples": [
2176
+ "$ xano release list\nReleases in workspace 5:\n - v1.0 (ID: 10) - main\n - v1.1-hotfix (ID: 11) - main [hotfix]\n",
2177
+ "$ xano release list -w 5 --output json"
2178
+ ],
2179
+ "flags": {
2180
+ "profile": {
2181
+ "char": "p",
2182
+ "description": "Profile to use (uses default profile if not specified)",
2183
+ "env": "XANO_PROFILE",
2184
+ "name": "profile",
2185
+ "required": false,
2186
+ "hasDynamicHelp": false,
2187
+ "multiple": false,
2188
+ "type": "option"
2189
+ },
2190
+ "verbose": {
2191
+ "char": "v",
2192
+ "description": "Show detailed request/response information",
2193
+ "env": "XANO_VERBOSE",
2194
+ "name": "verbose",
2195
+ "required": false,
2196
+ "allowNo": false,
2197
+ "type": "boolean"
2198
+ },
2199
+ "output": {
2200
+ "char": "o",
2201
+ "description": "Output format",
2202
+ "name": "output",
2203
+ "required": false,
2204
+ "default": "summary",
2205
+ "hasDynamicHelp": false,
2206
+ "multiple": false,
2207
+ "options": [
2208
+ "summary",
2209
+ "json"
2210
+ ],
2211
+ "type": "option"
2212
+ },
2213
+ "workspace": {
2214
+ "char": "w",
2215
+ "description": "Workspace ID (uses profile workspace if not provided)",
2216
+ "name": "workspace",
2217
+ "required": false,
2218
+ "hasDynamicHelp": false,
2219
+ "multiple": false,
2220
+ "type": "option"
2221
+ }
2222
+ },
2223
+ "hasDynamicHelp": false,
2224
+ "hiddenAliases": [],
2225
+ "id": "release:list",
2226
+ "pluginAlias": "@xano/cli",
2227
+ "pluginName": "@xano/cli",
2228
+ "pluginType": "core",
2229
+ "strict": true,
2230
+ "enableJsonFlag": false,
2231
+ "isESM": true,
2232
+ "relativePath": [
2233
+ "dist",
2234
+ "commands",
2235
+ "release",
2236
+ "list",
2237
+ "index.js"
2238
+ ]
2239
+ },
2132
2240
  "release:pull": {
2133
2241
  "aliases": [],
2134
2242
  "args": {
@@ -2214,76 +2322,7 @@
2214
2322
  "index.js"
2215
2323
  ]
2216
2324
  },
2217
- "release:list": {
2218
- "aliases": [],
2219
- "args": {},
2220
- "description": "List all releases in a workspace",
2221
- "examples": [
2222
- "$ xano release list\nReleases in workspace 5:\n - v1.0 (ID: 10) - main\n - v1.1-hotfix (ID: 11) - main [hotfix]\n",
2223
- "$ xano release list -w 5 --output json"
2224
- ],
2225
- "flags": {
2226
- "profile": {
2227
- "char": "p",
2228
- "description": "Profile to use (uses default profile if not specified)",
2229
- "env": "XANO_PROFILE",
2230
- "name": "profile",
2231
- "required": false,
2232
- "hasDynamicHelp": false,
2233
- "multiple": false,
2234
- "type": "option"
2235
- },
2236
- "verbose": {
2237
- "char": "v",
2238
- "description": "Show detailed request/response information",
2239
- "env": "XANO_VERBOSE",
2240
- "name": "verbose",
2241
- "required": false,
2242
- "allowNo": false,
2243
- "type": "boolean"
2244
- },
2245
- "output": {
2246
- "char": "o",
2247
- "description": "Output format",
2248
- "name": "output",
2249
- "required": false,
2250
- "default": "summary",
2251
- "hasDynamicHelp": false,
2252
- "multiple": false,
2253
- "options": [
2254
- "summary",
2255
- "json"
2256
- ],
2257
- "type": "option"
2258
- },
2259
- "workspace": {
2260
- "char": "w",
2261
- "description": "Workspace ID (uses profile workspace if not provided)",
2262
- "name": "workspace",
2263
- "required": false,
2264
- "hasDynamicHelp": false,
2265
- "multiple": false,
2266
- "type": "option"
2267
- }
2268
- },
2269
- "hasDynamicHelp": false,
2270
- "hiddenAliases": [],
2271
- "id": "release:list",
2272
- "pluginAlias": "@xano/cli",
2273
- "pluginName": "@xano/cli",
2274
- "pluginType": "core",
2275
- "strict": true,
2276
- "enableJsonFlag": false,
2277
- "isESM": true,
2278
- "relativePath": [
2279
- "dist",
2280
- "commands",
2281
- "release",
2282
- "list",
2283
- "index.js"
2284
- ]
2285
- },
2286
- "release:push": {
2325
+ "release:push": {
2287
2326
  "aliases": [],
2288
2327
  "args": {
2289
2328
  "directory": {
@@ -2490,6 +2529,73 @@
2490
2529
  "index.js"
2491
2530
  ]
2492
2531
  },
2532
+ "branch:list": {
2533
+ "aliases": [],
2534
+ "args": {
2535
+ "workspace_id": {
2536
+ "description": "Workspace ID (uses profile workspace if not provided)",
2537
+ "name": "workspace_id",
2538
+ "required": false
2539
+ }
2540
+ },
2541
+ "description": "List all branches in a workspace",
2542
+ "examples": [
2543
+ "$ xano branch list\nAvailable branches:\n - v1 (live)\n - dev\n - staging\n",
2544
+ "$ xano branch list 123\nAvailable branches:\n - v1 (live)\n - feature-auth\n",
2545
+ "$ xano branch list --output json\n[\n {\n \"created_at\": \"2024-01-15T10:30:00Z\",\n \"label\": \"v1\",\n \"backup\": false,\n \"live\": true\n }\n]\n"
2546
+ ],
2547
+ "flags": {
2548
+ "profile": {
2549
+ "char": "p",
2550
+ "description": "Profile to use (uses default profile if not specified)",
2551
+ "env": "XANO_PROFILE",
2552
+ "name": "profile",
2553
+ "required": false,
2554
+ "hasDynamicHelp": false,
2555
+ "multiple": false,
2556
+ "type": "option"
2557
+ },
2558
+ "verbose": {
2559
+ "char": "v",
2560
+ "description": "Show detailed request/response information",
2561
+ "env": "XANO_VERBOSE",
2562
+ "name": "verbose",
2563
+ "required": false,
2564
+ "allowNo": false,
2565
+ "type": "boolean"
2566
+ },
2567
+ "output": {
2568
+ "char": "o",
2569
+ "description": "Output format",
2570
+ "name": "output",
2571
+ "required": false,
2572
+ "default": "summary",
2573
+ "hasDynamicHelp": false,
2574
+ "multiple": false,
2575
+ "options": [
2576
+ "summary",
2577
+ "json"
2578
+ ],
2579
+ "type": "option"
2580
+ }
2581
+ },
2582
+ "hasDynamicHelp": false,
2583
+ "hiddenAliases": [],
2584
+ "id": "branch:list",
2585
+ "pluginAlias": "@xano/cli",
2586
+ "pluginName": "@xano/cli",
2587
+ "pluginType": "core",
2588
+ "strict": true,
2589
+ "enableJsonFlag": false,
2590
+ "isESM": true,
2591
+ "relativePath": [
2592
+ "dist",
2593
+ "commands",
2594
+ "branch",
2595
+ "list",
2596
+ "index.js"
2597
+ ]
2598
+ },
2493
2599
  "tenant:create": {
2494
2600
  "aliases": [],
2495
2601
  "args": {
@@ -2630,7 +2736,7 @@
2630
2736
  "index.js"
2631
2737
  ]
2632
2738
  },
2633
- "tenant:deploy_release": {
2739
+ "tenant:deploy_platform": {
2634
2740
  "aliases": [],
2635
2741
  "args": {
2636
2742
  "tenant_name": {
@@ -2639,10 +2745,10 @@
2639
2745
  "required": true
2640
2746
  }
2641
2747
  },
2642
- "description": "Deploy a release to a tenant",
2748
+ "description": "Deploy a platform version to a tenant",
2643
2749
  "examples": [
2644
- "$ xano tenant deploy_release t1234-abcd-xyz1 --release v1.0\nDeployed release \"v1.0\" to tenant: My Tenant (my-tenant)\n",
2645
- "$ xano tenant deploy_release t1234-abcd-xyz1 --release v1.0 -o json"
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"
2646
2752
  ],
2647
2753
  "flags": {
2648
2754
  "profile": {
@@ -2678,10 +2784,9 @@
2678
2784
  ],
2679
2785
  "type": "option"
2680
2786
  },
2681
- "release": {
2682
- "char": "r",
2683
- "description": "Release name to deploy",
2684
- "name": "release",
2787
+ "platform_id": {
2788
+ "description": "Platform ID to deploy",
2789
+ "name": "platform_id",
2685
2790
  "required": true,
2686
2791
  "hasDynamicHelp": false,
2687
2792
  "multiple": false,
@@ -2699,7 +2804,7 @@
2699
2804
  },
2700
2805
  "hasDynamicHelp": false,
2701
2806
  "hiddenAliases": [],
2702
- "id": "tenant:deploy_release",
2807
+ "id": "tenant:deploy_platform",
2703
2808
  "pluginAlias": "@xano/cli",
2704
2809
  "pluginName": "@xano/cli",
2705
2810
  "pluginType": "core",
@@ -2710,23 +2815,24 @@
2710
2815
  "dist",
2711
2816
  "commands",
2712
2817
  "tenant",
2713
- "deploy_release",
2818
+ "deploy_platform",
2714
2819
  "index.js"
2715
2820
  ]
2716
2821
  },
2717
- "tenant:deploy_platform": {
2822
+ "tenant:delete": {
2718
2823
  "aliases": [],
2719
2824
  "args": {
2720
2825
  "tenant_name": {
2721
- "description": "Tenant name to deploy to",
2826
+ "description": "Tenant name to delete",
2722
2827
  "name": "tenant_name",
2723
2828
  "required": true
2724
2829
  }
2725
2830
  },
2726
- "description": "Deploy a platform version to a tenant",
2831
+ "description": "Delete a tenant permanently. This destroys all associated infrastructure and cannot be undone.",
2727
2832
  "examples": [
2728
- "$ xano tenant deploy_platform t1234-abcd-xyz1 --platform_id 5\nDeployed platform 5 to tenant: My Tenant (my-tenant)\n",
2729
- "$ xano tenant deploy_platform t1234-abcd-xyz1 --platform_id 5 -o json"
2833
+ "$ xano tenant delete t1234-abcd-xyz1\nAre you sure you want to delete tenant t1234-abcd-xyz1? This action cannot be undone. (y/N) y\nDeleted tenant t1234-abcd-xyz1\n",
2834
+ "$ xano tenant delete t1234-abcd-xyz1 --force\nDeleted tenant t1234-abcd-xyz1\n",
2835
+ "$ xano tenant delete t1234-abcd-xyz1 -f -o json"
2730
2836
  ],
2731
2837
  "flags": {
2732
2838
  "profile": {
@@ -2748,6 +2854,14 @@
2748
2854
  "allowNo": false,
2749
2855
  "type": "boolean"
2750
2856
  },
2857
+ "force": {
2858
+ "char": "f",
2859
+ "description": "Skip confirmation prompt",
2860
+ "name": "force",
2861
+ "required": false,
2862
+ "allowNo": false,
2863
+ "type": "boolean"
2864
+ },
2751
2865
  "output": {
2752
2866
  "char": "o",
2753
2867
  "description": "Output format",
@@ -2762,14 +2876,6 @@
2762
2876
  ],
2763
2877
  "type": "option"
2764
2878
  },
2765
- "platform_id": {
2766
- "description": "Platform ID to deploy",
2767
- "name": "platform_id",
2768
- "required": true,
2769
- "hasDynamicHelp": false,
2770
- "multiple": false,
2771
- "type": "option"
2772
- },
2773
2879
  "workspace": {
2774
2880
  "char": "w",
2775
2881
  "description": "Workspace ID (uses profile workspace if not provided)",
@@ -2782,7 +2888,7 @@
2782
2888
  },
2783
2889
  "hasDynamicHelp": false,
2784
2890
  "hiddenAliases": [],
2785
- "id": "tenant:deploy_platform",
2891
+ "id": "tenant:delete",
2786
2892
  "pluginAlias": "@xano/cli",
2787
2893
  "pluginName": "@xano/cli",
2788
2894
  "pluginType": "core",
@@ -2793,24 +2899,23 @@
2793
2899
  "dist",
2794
2900
  "commands",
2795
2901
  "tenant",
2796
- "deploy_platform",
2902
+ "delete",
2797
2903
  "index.js"
2798
2904
  ]
2799
2905
  },
2800
- "tenant:delete": {
2906
+ "tenant:deploy_release": {
2801
2907
  "aliases": [],
2802
2908
  "args": {
2803
2909
  "tenant_name": {
2804
- "description": "Tenant name to delete",
2910
+ "description": "Tenant name to deploy to",
2805
2911
  "name": "tenant_name",
2806
2912
  "required": true
2807
2913
  }
2808
2914
  },
2809
- "description": "Delete a tenant permanently. This destroys all associated infrastructure and cannot be undone.",
2915
+ "description": "Deploy a release to a tenant",
2810
2916
  "examples": [
2811
- "$ xano tenant delete t1234-abcd-xyz1\nAre you sure you want to delete tenant t1234-abcd-xyz1? This action cannot be undone. (y/N) y\nDeleted tenant t1234-abcd-xyz1\n",
2812
- "$ xano tenant delete t1234-abcd-xyz1 --force\nDeleted tenant t1234-abcd-xyz1\n",
2813
- "$ xano tenant delete t1234-abcd-xyz1 -f -o json"
2917
+ "$ xano tenant deploy_release t1234-abcd-xyz1 --release v1.0\nDeployed release \"v1.0\" to tenant: My Tenant (my-tenant)\n",
2918
+ "$ xano tenant deploy_release t1234-abcd-xyz1 --release v1.0 -o json"
2814
2919
  ],
2815
2920
  "flags": {
2816
2921
  "profile": {
@@ -2832,14 +2937,6 @@
2832
2937
  "allowNo": false,
2833
2938
  "type": "boolean"
2834
2939
  },
2835
- "force": {
2836
- "char": "f",
2837
- "description": "Skip confirmation prompt",
2838
- "name": "force",
2839
- "required": false,
2840
- "allowNo": false,
2841
- "type": "boolean"
2842
- },
2843
2940
  "output": {
2844
2941
  "char": "o",
2845
2942
  "description": "Output format",
@@ -2854,6 +2951,15 @@
2854
2951
  ],
2855
2952
  "type": "option"
2856
2953
  },
2954
+ "release": {
2955
+ "char": "r",
2956
+ "description": "Release name to deploy",
2957
+ "name": "release",
2958
+ "required": true,
2959
+ "hasDynamicHelp": false,
2960
+ "multiple": false,
2961
+ "type": "option"
2962
+ },
2857
2963
  "workspace": {
2858
2964
  "char": "w",
2859
2965
  "description": "Workspace ID (uses profile workspace if not provided)",
@@ -2866,7 +2972,7 @@
2866
2972
  },
2867
2973
  "hasDynamicHelp": false,
2868
2974
  "hiddenAliases": [],
2869
- "id": "tenant:delete",
2975
+ "id": "tenant:deploy_release",
2870
2976
  "pluginAlias": "@xano/cli",
2871
2977
  "pluginName": "@xano/cli",
2872
2978
  "pluginType": "core",
@@ -2877,20 +2983,23 @@
2877
2983
  "dist",
2878
2984
  "commands",
2879
2985
  "tenant",
2880
- "delete",
2986
+ "deploy_release",
2881
2987
  "index.js"
2882
2988
  ]
2883
2989
  },
2884
- "function:create": {
2990
+ "tenant:edit": {
2885
2991
  "aliases": [],
2886
- "args": {},
2887
- "description": "Create a new function in a workspace",
2992
+ "args": {
2993
+ "tenant_name": {
2994
+ "description": "Tenant name to edit",
2995
+ "name": "tenant_name",
2996
+ "required": true
2997
+ }
2998
+ },
2999
+ "description": "Edit an existing tenant",
2888
3000
  "examples": [
2889
- "$ xano function:create -w 40 -f function.xs\nFunction created successfully!\nID: 123\nName: my_function\n",
2890
- "$ xano function:create -f function.xs\nFunction created successfully!\nID: 123\nName: my_function\n",
2891
- "$ xano function:create -w 40 -f function.xs --edit\n# Opens function.xs in $EDITOR, then creates function with edited content\nFunction created successfully!\nID: 123\nName: my_function\n",
2892
- "$ cat function.xs | xano function:create -w 40 --stdin\nFunction created successfully!\nID: 123\nName: my_function\n",
2893
- "$ xano function:create -w 40 -f function.xs -o json\n{\n \"id\": 123,\n \"name\": \"my_function\",\n ...\n}\n"
3001
+ "$ xano tenant edit t1234-abcd-xyz1 --display \"New Name\" --description \"Updated description\"\nUpdated tenant: New Name (my-tenant) - ID: 42\n",
3002
+ "$ xano tenant edit t1234-abcd-xyz1 --no-tasks --no-ingress -o json"
2894
3003
  ],
2895
3004
  "flags": {
2896
3005
  "profile": {
@@ -2912,29 +3021,38 @@
2912
3021
  "allowNo": false,
2913
3022
  "type": "boolean"
2914
3023
  },
2915
- "edit": {
2916
- "char": "e",
2917
- "dependsOn": [
2918
- "file"
2919
- ],
2920
- "description": "Open file in editor before creating function (requires --file)",
2921
- "name": "edit",
3024
+ "description": {
3025
+ "char": "d",
3026
+ "description": "New description",
3027
+ "name": "description",
2922
3028
  "required": false,
2923
- "allowNo": false,
2924
- "type": "boolean"
3029
+ "hasDynamicHelp": false,
3030
+ "multiple": false,
3031
+ "type": "option"
2925
3032
  },
2926
- "file": {
2927
- "char": "f",
2928
- "description": "Path to file containing XanoScript code",
2929
- "exclusive": [
2930
- "stdin"
2931
- ],
2932
- "name": "file",
3033
+ "display": {
3034
+ "description": "New display name",
3035
+ "name": "display",
3036
+ "required": false,
3037
+ "hasDynamicHelp": false,
3038
+ "multiple": false,
3039
+ "type": "option"
3040
+ },
3041
+ "domain": {
3042
+ "description": "Custom domain",
3043
+ "name": "domain",
2933
3044
  "required": false,
2934
3045
  "hasDynamicHelp": false,
2935
3046
  "multiple": false,
2936
3047
  "type": "option"
2937
3048
  },
3049
+ "ingress": {
3050
+ "description": "Enable/disable ingress",
3051
+ "name": "ingress",
3052
+ "required": false,
3053
+ "allowNo": true,
3054
+ "type": "boolean"
3055
+ },
2938
3056
  "output": {
2939
3057
  "char": "o",
2940
3058
  "description": "Output format",
@@ -2949,20 +3067,31 @@
2949
3067
  ],
2950
3068
  "type": "option"
2951
3069
  },
2952
- "stdin": {
2953
- "char": "s",
2954
- "description": "Read XanoScript code from stdin",
2955
- "exclusive": [
2956
- "file"
2957
- ],
2958
- "name": "stdin",
3070
+ "proxy": {
3071
+ "description": "Proxy URL",
3072
+ "name": "proxy",
2959
3073
  "required": false,
2960
- "allowNo": false,
3074
+ "hasDynamicHelp": false,
3075
+ "multiple": false,
3076
+ "type": "option"
3077
+ },
3078
+ "rbac": {
3079
+ "description": "Enable/disable RBAC",
3080
+ "name": "rbac",
3081
+ "required": false,
3082
+ "allowNo": true,
3083
+ "type": "boolean"
3084
+ },
3085
+ "tasks": {
3086
+ "description": "Enable/disable background tasks",
3087
+ "name": "tasks",
3088
+ "required": false,
3089
+ "allowNo": true,
2961
3090
  "type": "boolean"
2962
3091
  },
2963
3092
  "workspace": {
2964
3093
  "char": "w",
2965
- "description": "Workspace ID (optional if set in profile)",
3094
+ "description": "Workspace ID (uses profile workspace if not provided)",
2966
3095
  "name": "workspace",
2967
3096
  "required": false,
2968
3097
  "hasDynamicHelp": false,
@@ -2972,7 +3101,7 @@
2972
3101
  },
2973
3102
  "hasDynamicHelp": false,
2974
3103
  "hiddenAliases": [],
2975
- "id": "function:create",
3104
+ "id": "tenant:edit",
2976
3105
  "pluginAlias": "@xano/cli",
2977
3106
  "pluginName": "@xano/cli",
2978
3107
  "pluginType": "core",
@@ -2982,24 +3111,24 @@
2982
3111
  "relativePath": [
2983
3112
  "dist",
2984
3113
  "commands",
2985
- "function",
2986
- "create",
3114
+ "tenant",
3115
+ "edit",
2987
3116
  "index.js"
2988
3117
  ]
2989
3118
  },
2990
- "tenant:edit": {
3119
+ "tenant:get": {
2991
3120
  "aliases": [],
2992
3121
  "args": {
2993
3122
  "tenant_name": {
2994
- "description": "Tenant name to edit",
3123
+ "description": "Tenant name to retrieve",
2995
3124
  "name": "tenant_name",
2996
3125
  "required": true
2997
3126
  }
2998
3127
  },
2999
- "description": "Edit an existing tenant",
3128
+ "description": "Get details of a specific tenant",
3000
3129
  "examples": [
3001
- "$ xano tenant edit t1234-abcd-xyz1 --display \"New Name\" --description \"Updated description\"\nUpdated tenant: New Name (my-tenant) - ID: 42\n",
3002
- "$ xano tenant edit t1234-abcd-xyz1 --no-tasks --no-ingress -o json"
3130
+ "$ 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",
3131
+ "$ xano tenant get t1234-abcd-xyz1 -w 5 -o json"
3003
3132
  ],
3004
3133
  "flags": {
3005
3134
  "profile": {
@@ -3021,38 +3150,6 @@
3021
3150
  "allowNo": false,
3022
3151
  "type": "boolean"
3023
3152
  },
3024
- "description": {
3025
- "char": "d",
3026
- "description": "New description",
3027
- "name": "description",
3028
- "required": false,
3029
- "hasDynamicHelp": false,
3030
- "multiple": false,
3031
- "type": "option"
3032
- },
3033
- "display": {
3034
- "description": "New display name",
3035
- "name": "display",
3036
- "required": false,
3037
- "hasDynamicHelp": false,
3038
- "multiple": false,
3039
- "type": "option"
3040
- },
3041
- "domain": {
3042
- "description": "Custom domain",
3043
- "name": "domain",
3044
- "required": false,
3045
- "hasDynamicHelp": false,
3046
- "multiple": false,
3047
- "type": "option"
3048
- },
3049
- "ingress": {
3050
- "description": "Enable/disable ingress",
3051
- "name": "ingress",
3052
- "required": false,
3053
- "allowNo": true,
3054
- "type": "boolean"
3055
- },
3056
3153
  "output": {
3057
3154
  "char": "o",
3058
3155
  "description": "Output format",
@@ -3067,28 +3164,6 @@
3067
3164
  ],
3068
3165
  "type": "option"
3069
3166
  },
3070
- "proxy": {
3071
- "description": "Proxy URL",
3072
- "name": "proxy",
3073
- "required": false,
3074
- "hasDynamicHelp": false,
3075
- "multiple": false,
3076
- "type": "option"
3077
- },
3078
- "rbac": {
3079
- "description": "Enable/disable RBAC",
3080
- "name": "rbac",
3081
- "required": false,
3082
- "allowNo": true,
3083
- "type": "boolean"
3084
- },
3085
- "tasks": {
3086
- "description": "Enable/disable background tasks",
3087
- "name": "tasks",
3088
- "required": false,
3089
- "allowNo": true,
3090
- "type": "boolean"
3091
- },
3092
3167
  "workspace": {
3093
3168
  "char": "w",
3094
3169
  "description": "Workspace ID (uses profile workspace if not provided)",
@@ -3101,7 +3176,7 @@
3101
3176
  },
3102
3177
  "hasDynamicHelp": false,
3103
3178
  "hiddenAliases": [],
3104
- "id": "tenant:edit",
3179
+ "id": "tenant:get",
3105
3180
  "pluginAlias": "@xano/cli",
3106
3181
  "pluginName": "@xano/cli",
3107
3182
  "pluginType": "core",
@@ -3112,23 +3187,23 @@
3112
3187
  "dist",
3113
3188
  "commands",
3114
3189
  "tenant",
3115
- "edit",
3190
+ "get",
3116
3191
  "index.js"
3117
3192
  ]
3118
3193
  },
3119
- "tenant:get": {
3194
+ "tenant:impersonate": {
3120
3195
  "aliases": [],
3121
3196
  "args": {
3122
3197
  "tenant_name": {
3123
- "description": "Tenant name to retrieve",
3198
+ "description": "Tenant name to impersonate",
3124
3199
  "name": "tenant_name",
3125
3200
  "required": true
3126
3201
  }
3127
3202
  },
3128
- "description": "Get details of a specific tenant",
3203
+ "description": "Impersonate a tenant and open it in the browser",
3129
3204
  "examples": [
3130
- "$ 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",
3131
- "$ xano tenant get t1234-abcd-xyz1 -w 5 -o json"
3205
+ "$ xano tenant impersonate my-tenant\nOpening browser...\nImpersonation successful!\n",
3206
+ "$ xano tenant impersonate my-tenant -o json"
3132
3207
  ],
3133
3208
  "flags": {
3134
3209
  "profile": {
@@ -3164,6 +3239,14 @@
3164
3239
  ],
3165
3240
  "type": "option"
3166
3241
  },
3242
+ "url-only": {
3243
+ "char": "u",
3244
+ "description": "Print the URL without opening the browser",
3245
+ "name": "url-only",
3246
+ "required": false,
3247
+ "allowNo": false,
3248
+ "type": "boolean"
3249
+ },
3167
3250
  "workspace": {
3168
3251
  "char": "w",
3169
3252
  "description": "Workspace ID (uses profile workspace if not provided)",
@@ -3176,7 +3259,7 @@
3176
3259
  },
3177
3260
  "hasDynamicHelp": false,
3178
3261
  "hiddenAliases": [],
3179
- "id": "tenant:get",
3262
+ "id": "tenant:impersonate",
3180
3263
  "pluginAlias": "@xano/cli",
3181
3264
  "pluginName": "@xano/cli",
3182
3265
  "pluginType": "core",
@@ -3187,7 +3270,7 @@
3187
3270
  "dist",
3188
3271
  "commands",
3189
3272
  "tenant",
3190
- "get",
3273
+ "impersonate",
3191
3274
  "index.js"
3192
3275
  ]
3193
3276
  },
@@ -3353,19 +3436,23 @@
3353
3436
  "index.js"
3354
3437
  ]
3355
3438
  },
3356
- "unit_test:run": {
3439
+ "tenant:push": {
3357
3440
  "aliases": [],
3358
3441
  "args": {
3359
- "unit_test_id": {
3360
- "description": "ID of the unit test to run",
3361
- "name": "unit_test_id",
3442
+ "directory": {
3443
+ "description": "Directory containing documents to push (as produced by tenant pull or workspace pull)",
3444
+ "name": "directory",
3362
3445
  "required": true
3363
3446
  }
3364
3447
  },
3365
- "description": "Run a unit test",
3448
+ "description": "Push local documents to a tenant via the Xano Metadata API multidoc endpoint",
3366
3449
  "examples": [
3367
- "$ xano unit-test run abc-123\nRunning unit test abc-123...\nResult: PASS\n",
3368
- "$ xano unit-test run abc-123 -o json"
3450
+ "$ xano tenant push ./my-workspace -t my-tenant\nPushed 42 documents to tenant my-tenant from ./my-workspace\n",
3451
+ "$ xano tenant push ./output -t my-tenant -w 40\nPushed 15 documents to tenant my-tenant from ./output\n",
3452
+ "$ xano tenant push ./backup -t my-tenant --profile production\nPushed 58 documents to tenant my-tenant from ./backup\n",
3453
+ "$ xano tenant push ./my-workspace -t my-tenant --no-records\nPush schema only, skip importing table records\n",
3454
+ "$ xano tenant push ./my-workspace -t my-tenant --no-env\nPush without overwriting environment variables\n",
3455
+ "$ xano tenant push ./my-workspace -t my-tenant --truncate\nTruncate all table records before importing\n"
3369
3456
  ],
3370
3457
  "flags": {
3371
3458
  "profile": {
@@ -3387,23 +3474,39 @@
3387
3474
  "allowNo": false,
3388
3475
  "type": "boolean"
3389
3476
  },
3390
- "output": {
3391
- "char": "o",
3392
- "description": "Output format",
3393
- "name": "output",
3477
+ "env": {
3478
+ "description": "Include environment variables in import (default: true, use --no-env to exclude)",
3479
+ "name": "env",
3394
3480
  "required": false,
3395
- "default": "summary",
3481
+ "allowNo": true,
3482
+ "type": "boolean"
3483
+ },
3484
+ "records": {
3485
+ "description": "Include records in import (default: true, use --no-records to exclude)",
3486
+ "name": "records",
3487
+ "required": false,
3488
+ "allowNo": true,
3489
+ "type": "boolean"
3490
+ },
3491
+ "tenant": {
3492
+ "char": "t",
3493
+ "description": "Tenant name to push to",
3494
+ "name": "tenant",
3495
+ "required": true,
3396
3496
  "hasDynamicHelp": false,
3397
3497
  "multiple": false,
3398
- "options": [
3399
- "summary",
3400
- "json"
3401
- ],
3402
3498
  "type": "option"
3403
3499
  },
3500
+ "truncate": {
3501
+ "description": "Truncate all table records before importing",
3502
+ "name": "truncate",
3503
+ "required": false,
3504
+ "allowNo": false,
3505
+ "type": "boolean"
3506
+ },
3404
3507
  "workspace": {
3405
3508
  "char": "w",
3406
- "description": "Workspace ID (uses profile workspace if not provided)",
3509
+ "description": "Workspace ID (optional if set in profile)",
3407
3510
  "name": "workspace",
3408
3511
  "required": false,
3409
3512
  "hasDynamicHelp": false,
@@ -3413,7 +3516,7 @@
3413
3516
  },
3414
3517
  "hasDynamicHelp": false,
3415
3518
  "hiddenAliases": [],
3416
- "id": "unit_test:run",
3519
+ "id": "tenant:push",
3417
3520
  "pluginAlias": "@xano/cli",
3418
3521
  "pluginName": "@xano/cli",
3419
3522
  "pluginType": "core",
@@ -3423,8 +3526,8 @@
3423
3526
  "relativePath": [
3424
3527
  "dist",
3425
3528
  "commands",
3426
- "unit_test",
3427
- "run",
3529
+ "tenant",
3530
+ "push",
3428
3531
  "index.js"
3429
3532
  ]
3430
3533
  },
@@ -3520,23 +3623,19 @@
3520
3623
  "index.js"
3521
3624
  ]
3522
3625
  },
3523
- "tenant:push": {
3626
+ "unit_test:run": {
3524
3627
  "aliases": [],
3525
3628
  "args": {
3526
- "directory": {
3527
- "description": "Directory containing documents to push (as produced by tenant pull or workspace pull)",
3528
- "name": "directory",
3629
+ "unit_test_id": {
3630
+ "description": "ID of the unit test to run",
3631
+ "name": "unit_test_id",
3529
3632
  "required": true
3530
3633
  }
3531
3634
  },
3532
- "description": "Push local documents to a tenant via the Xano Metadata API multidoc endpoint",
3635
+ "description": "Run a unit test",
3533
3636
  "examples": [
3534
- "$ xano tenant push ./my-workspace -t my-tenant\nPushed 42 documents to tenant my-tenant from ./my-workspace\n",
3535
- "$ xano tenant push ./output -t my-tenant -w 40\nPushed 15 documents to tenant my-tenant from ./output\n",
3536
- "$ xano tenant push ./backup -t my-tenant --profile production\nPushed 58 documents to tenant my-tenant from ./backup\n",
3537
- "$ xano tenant push ./my-workspace -t my-tenant --no-records\nPush schema only, skip importing table records\n",
3538
- "$ xano tenant push ./my-workspace -t my-tenant --no-env\nPush without overwriting environment variables\n",
3539
- "$ xano tenant push ./my-workspace -t my-tenant --truncate\nTruncate all table records before importing\n"
3637
+ "$ xano unit-test run abc-123\nRunning unit test abc-123...\nResult: PASS\n",
3638
+ "$ xano unit-test run abc-123 -o json"
3540
3639
  ],
3541
3640
  "flags": {
3542
3641
  "profile": {
@@ -3558,40 +3657,24 @@
3558
3657
  "allowNo": false,
3559
3658
  "type": "boolean"
3560
3659
  },
3561
- "env": {
3562
- "description": "Include environment variables in import (default: true, use --no-env to exclude)",
3563
- "name": "env",
3660
+ "output": {
3661
+ "char": "o",
3662
+ "description": "Output format",
3663
+ "name": "output",
3564
3664
  "required": false,
3565
- "allowNo": true,
3566
- "type": "boolean"
3665
+ "default": "summary",
3666
+ "hasDynamicHelp": false,
3667
+ "multiple": false,
3668
+ "options": [
3669
+ "summary",
3670
+ "json"
3671
+ ],
3672
+ "type": "option"
3567
3673
  },
3568
- "records": {
3569
- "description": "Include records in import (default: true, use --no-records to exclude)",
3570
- "name": "records",
3571
- "required": false,
3572
- "allowNo": true,
3573
- "type": "boolean"
3574
- },
3575
- "tenant": {
3576
- "char": "t",
3577
- "description": "Tenant name to push to",
3578
- "name": "tenant",
3579
- "required": true,
3580
- "hasDynamicHelp": false,
3581
- "multiple": false,
3582
- "type": "option"
3583
- },
3584
- "truncate": {
3585
- "description": "Truncate all table records before importing",
3586
- "name": "truncate",
3587
- "required": false,
3588
- "allowNo": false,
3589
- "type": "boolean"
3590
- },
3591
- "workspace": {
3592
- "char": "w",
3593
- "description": "Workspace ID (optional if set in profile)",
3594
- "name": "workspace",
3674
+ "workspace": {
3675
+ "char": "w",
3676
+ "description": "Workspace ID (uses profile workspace if not provided)",
3677
+ "name": "workspace",
3595
3678
  "required": false,
3596
3679
  "hasDynamicHelp": false,
3597
3680
  "multiple": false,
@@ -3600,7 +3683,7 @@
3600
3683
  },
3601
3684
  "hasDynamicHelp": false,
3602
3685
  "hiddenAliases": [],
3603
- "id": "tenant:push",
3686
+ "id": "unit_test:run",
3604
3687
  "pluginAlias": "@xano/cli",
3605
3688
  "pluginName": "@xano/cli",
3606
3689
  "pluginType": "core",
@@ -3610,8 +3693,8 @@
3610
3693
  "relativePath": [
3611
3694
  "dist",
3612
3695
  "commands",
3613
- "tenant",
3614
- "push",
3696
+ "unit_test",
3697
+ "run",
3615
3698
  "index.js"
3616
3699
  ]
3617
3700
  },
@@ -3706,89 +3789,6 @@
3706
3789
  "index.js"
3707
3790
  ]
3708
3791
  },
3709
- "workflow_test:delete": {
3710
- "aliases": [],
3711
- "args": {
3712
- "workflow_test_id": {
3713
- "description": "ID of the workflow test to delete",
3714
- "name": "workflow_test_id",
3715
- "required": true
3716
- }
3717
- },
3718
- "description": "Delete a workflow test",
3719
- "examples": [
3720
- "$ xano workflow-test delete 1\nAre you sure you want to delete workflow test 1? (y/N) y\nDeleted workflow test 1\n",
3721
- "$ xano workflow-test delete 1 --force"
3722
- ],
3723
- "flags": {
3724
- "profile": {
3725
- "char": "p",
3726
- "description": "Profile to use (uses default profile if not specified)",
3727
- "env": "XANO_PROFILE",
3728
- "name": "profile",
3729
- "required": false,
3730
- "hasDynamicHelp": false,
3731
- "multiple": false,
3732
- "type": "option"
3733
- },
3734
- "verbose": {
3735
- "char": "v",
3736
- "description": "Show detailed request/response information",
3737
- "env": "XANO_VERBOSE",
3738
- "name": "verbose",
3739
- "required": false,
3740
- "allowNo": false,
3741
- "type": "boolean"
3742
- },
3743
- "force": {
3744
- "char": "f",
3745
- "description": "Skip confirmation prompt",
3746
- "name": "force",
3747
- "required": false,
3748
- "allowNo": false,
3749
- "type": "boolean"
3750
- },
3751
- "output": {
3752
- "char": "o",
3753
- "description": "Output format",
3754
- "name": "output",
3755
- "required": false,
3756
- "default": "summary",
3757
- "hasDynamicHelp": false,
3758
- "multiple": false,
3759
- "options": [
3760
- "summary",
3761
- "json"
3762
- ],
3763
- "type": "option"
3764
- },
3765
- "workspace": {
3766
- "char": "w",
3767
- "description": "Workspace ID (uses profile workspace if not provided)",
3768
- "name": "workspace",
3769
- "required": false,
3770
- "hasDynamicHelp": false,
3771
- "multiple": false,
3772
- "type": "option"
3773
- }
3774
- },
3775
- "hasDynamicHelp": false,
3776
- "hiddenAliases": [],
3777
- "id": "workflow_test:delete",
3778
- "pluginAlias": "@xano/cli",
3779
- "pluginName": "@xano/cli",
3780
- "pluginType": "core",
3781
- "strict": true,
3782
- "enableJsonFlag": false,
3783
- "isESM": true,
3784
- "relativePath": [
3785
- "dist",
3786
- "commands",
3787
- "workflow_test",
3788
- "delete",
3789
- "index.js"
3790
- ]
3791
- },
3792
3792
  "workflow_test:get": {
3793
3793
  "aliases": [],
3794
3794
  "args": {
@@ -3873,19 +3873,19 @@
3873
3873
  "index.js"
3874
3874
  ]
3875
3875
  },
3876
- "tenant:impersonate": {
3876
+ "workflow_test:delete": {
3877
3877
  "aliases": [],
3878
3878
  "args": {
3879
- "tenant_name": {
3880
- "description": "Tenant name to impersonate",
3881
- "name": "tenant_name",
3879
+ "workflow_test_id": {
3880
+ "description": "ID of the workflow test to delete",
3881
+ "name": "workflow_test_id",
3882
3882
  "required": true
3883
3883
  }
3884
3884
  },
3885
- "description": "Impersonate a tenant and open it in the browser",
3885
+ "description": "Delete a workflow test",
3886
3886
  "examples": [
3887
- "$ xano tenant impersonate my-tenant\nOpening browser...\nImpersonation successful!\n",
3888
- "$ xano tenant impersonate my-tenant -o json"
3887
+ "$ xano workflow-test delete 1\nAre you sure you want to delete workflow test 1? (y/N) y\nDeleted workflow test 1\n",
3888
+ "$ xano workflow-test delete 1 --force"
3889
3889
  ],
3890
3890
  "flags": {
3891
3891
  "profile": {
@@ -3907,6 +3907,14 @@
3907
3907
  "allowNo": false,
3908
3908
  "type": "boolean"
3909
3909
  },
3910
+ "force": {
3911
+ "char": "f",
3912
+ "description": "Skip confirmation prompt",
3913
+ "name": "force",
3914
+ "required": false,
3915
+ "allowNo": false,
3916
+ "type": "boolean"
3917
+ },
3910
3918
  "output": {
3911
3919
  "char": "o",
3912
3920
  "description": "Output format",
@@ -3921,14 +3929,6 @@
3921
3929
  ],
3922
3930
  "type": "option"
3923
3931
  },
3924
- "url-only": {
3925
- "char": "u",
3926
- "description": "Print the URL without opening the browser",
3927
- "name": "url-only",
3928
- "required": false,
3929
- "allowNo": false,
3930
- "type": "boolean"
3931
- },
3932
3932
  "workspace": {
3933
3933
  "char": "w",
3934
3934
  "description": "Workspace ID (uses profile workspace if not provided)",
@@ -3941,7 +3941,7 @@
3941
3941
  },
3942
3942
  "hasDynamicHelp": false,
3943
3943
  "hiddenAliases": [],
3944
- "id": "tenant:impersonate",
3944
+ "id": "workflow_test:delete",
3945
3945
  "pluginAlias": "@xano/cli",
3946
3946
  "pluginName": "@xano/cli",
3947
3947
  "pluginType": "core",
@@ -3951,8 +3951,8 @@
3951
3951
  "relativePath": [
3952
3952
  "dist",
3953
3953
  "commands",
3954
- "tenant",
3955
- "impersonate",
3954
+ "workflow_test",
3955
+ "delete",
3956
3956
  "index.js"
3957
3957
  ]
3958
3958
  },
@@ -4035,19 +4035,13 @@
4035
4035
  "index.js"
4036
4036
  ]
4037
4037
  },
4038
- "workflow_test:run": {
4038
+ "workflow_test:run_all": {
4039
4039
  "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",
4040
+ "args": {},
4041
+ "description": "Run all workflow tests in a workspace",
4048
4042
  "examples": [
4049
- "$ xano workflow-test run 1\nRunning workflow test 1...\nResult: PASS (1.234s)\n",
4050
- "$ xano workflow-test run 1 -o json"
4043
+ "$ xano workflow-test run-all\nRunning 3 workflow tests...\n\nPASS my-test (1.234s)\nPASS auth-flow (0.567s)\nFAIL data-validation (0.890s)\n Error: assertion failed at step 3\n\nResults: 2 passed, 1 failed (2.691s total)\n",
4044
+ "$ xano workflow-test run-all --branch main -o json"
4051
4045
  ],
4052
4046
  "flags": {
4053
4047
  "profile": {
@@ -4069,6 +4063,15 @@
4069
4063
  "allowNo": false,
4070
4064
  "type": "boolean"
4071
4065
  },
4066
+ "branch": {
4067
+ "char": "b",
4068
+ "description": "Filter by branch name",
4069
+ "name": "branch",
4070
+ "required": false,
4071
+ "hasDynamicHelp": false,
4072
+ "multiple": false,
4073
+ "type": "option"
4074
+ },
4072
4075
  "output": {
4073
4076
  "char": "o",
4074
4077
  "description": "Output format",
@@ -4095,7 +4098,7 @@
4095
4098
  },
4096
4099
  "hasDynamicHelp": false,
4097
4100
  "hiddenAliases": [],
4098
- "id": "workflow_test:run",
4101
+ "id": "workflow_test:run_all",
4099
4102
  "pluginAlias": "@xano/cli",
4100
4103
  "pluginName": "@xano/cli",
4101
4104
  "pluginType": "core",
@@ -4106,17 +4109,24 @@
4106
4109
  "dist",
4107
4110
  "commands",
4108
4111
  "workflow_test",
4109
- "run",
4112
+ "run_all",
4110
4113
  "index.js"
4111
4114
  ]
4112
4115
  },
4113
- "workflow_test:run_all": {
4116
+ "workspace:create": {
4114
4117
  "aliases": [],
4115
- "args": {},
4116
- "description": "Run all workflow tests in a workspace",
4118
+ "args": {
4119
+ "name": {
4120
+ "description": "Name of the workspace",
4121
+ "name": "name",
4122
+ "required": true
4123
+ }
4124
+ },
4125
+ "description": "Create a new workspace via the Xano Metadata API",
4117
4126
  "examples": [
4118
- "$ xano workflow-test run-all\nRunning 3 workflow tests...\n\nPASS my-test (1.234s)\nPASS auth-flow (0.567s)\nFAIL data-validation (0.890s)\n Error: assertion failed at step 3\n\nResults: 2 passed, 1 failed (2.691s total)\n",
4119
- "$ xano workflow-test run-all --branch main -o json"
4127
+ "$ xano workspace create my-workspace\nCreated workspace: my-workspace (ID: 123)\n",
4128
+ "$ xano workspace create my-app --description \"My application workspace\"\nCreated workspace: my-app (ID: 456)\n Description: My application workspace\n",
4129
+ "$ xano workspace create new-project -d \"New project workspace\" -o json\n{\n \"id\": 789,\n \"name\": \"new-project\",\n \"description\": \"New project workspace\"\n}\n"
4120
4130
  ],
4121
4131
  "flags": {
4122
4132
  "profile": {
@@ -4138,10 +4148,10 @@
4138
4148
  "allowNo": false,
4139
4149
  "type": "boolean"
4140
4150
  },
4141
- "branch": {
4142
- "char": "b",
4143
- "description": "Filter by branch name",
4144
- "name": "branch",
4151
+ "description": {
4152
+ "char": "d",
4153
+ "description": "Description for the workspace",
4154
+ "name": "description",
4145
4155
  "required": false,
4146
4156
  "hasDynamicHelp": false,
4147
4157
  "multiple": false,
@@ -4160,20 +4170,11 @@
4160
4170
  "json"
4161
4171
  ],
4162
4172
  "type": "option"
4163
- },
4164
- "workspace": {
4165
- "char": "w",
4166
- "description": "Workspace ID (uses profile workspace if not provided)",
4167
- "name": "workspace",
4168
- "required": false,
4169
- "hasDynamicHelp": false,
4170
- "multiple": false,
4171
- "type": "option"
4172
4173
  }
4173
4174
  },
4174
4175
  "hasDynamicHelp": false,
4175
4176
  "hiddenAliases": [],
4176
- "id": "workflow_test:run_all",
4177
+ "id": "workspace:create",
4177
4178
  "pluginAlias": "@xano/cli",
4178
4179
  "pluginName": "@xano/cli",
4179
4180
  "pluginType": "core",
@@ -4183,8 +4184,8 @@
4183
4184
  "relativePath": [
4184
4185
  "dist",
4185
4186
  "commands",
4186
- "workflow_test",
4187
- "run_all",
4187
+ "workspace",
4188
+ "create",
4188
4189
  "index.js"
4189
4190
  ]
4190
4191
  },
@@ -4492,22 +4493,19 @@
4492
4493
  "index.js"
4493
4494
  ]
4494
4495
  },
4495
- "workspace:pull": {
4496
+ "workflow_test:run": {
4496
4497
  "aliases": [],
4497
4498
  "args": {
4498
- "directory": {
4499
- "description": "Output directory for pulled documents",
4500
- "name": "directory",
4499
+ "workflow_test_id": {
4500
+ "description": "ID of the workflow test to run",
4501
+ "name": "workflow_test_id",
4501
4502
  "required": true
4502
4503
  }
4503
4504
  },
4504
- "description": "Pull a workspace multidoc from the Xano Metadata API and split into individual files",
4505
+ "description": "Run a workflow test",
4505
4506
  "examples": [
4506
- "$ xano workspace pull ./my-workspace\nPulled 42 documents to ./my-workspace\n",
4507
- "$ xano workspace pull ./output -w 40\nPulled 15 documents to ./output\n",
4508
- "$ xano workspace pull ./backup --profile production --env --records\nPulled 58 documents to ./backup\n",
4509
- "$ xano workspace pull ./my-workspace --draft\nPulled 42 documents to ./my-workspace\n",
4510
- "$ xano workspace pull ./my-workspace -b dev\nPulled 42 documents to ./my-workspace\n"
4507
+ "$ xano workflow-test run 1\nRunning workflow test 1...\nResult: PASS (1.234s)\n",
4508
+ "$ xano workflow-test run 1 -o json"
4511
4509
  ],
4512
4510
  "flags": {
4513
4511
  "profile": {
@@ -4529,40 +4527,24 @@
4529
4527
  "allowNo": false,
4530
4528
  "type": "boolean"
4531
4529
  },
4532
- "branch": {
4533
- "char": "b",
4534
- "description": "Branch name (optional if set in profile, defaults to live)",
4535
- "name": "branch",
4530
+ "output": {
4531
+ "char": "o",
4532
+ "description": "Output format",
4533
+ "name": "output",
4536
4534
  "required": false,
4535
+ "default": "summary",
4537
4536
  "hasDynamicHelp": false,
4538
4537
  "multiple": false,
4538
+ "options": [
4539
+ "summary",
4540
+ "json"
4541
+ ],
4539
4542
  "type": "option"
4540
4543
  },
4541
- "env": {
4542
- "description": "Include environment variables",
4543
- "name": "env",
4544
- "required": false,
4545
- "allowNo": false,
4546
- "type": "boolean"
4547
- },
4548
- "draft": {
4549
- "description": "Include draft versions",
4550
- "name": "draft",
4551
- "required": false,
4552
- "allowNo": false,
4553
- "type": "boolean"
4554
- },
4555
- "records": {
4556
- "description": "Include records",
4557
- "name": "records",
4558
- "required": false,
4559
- "allowNo": false,
4560
- "type": "boolean"
4561
- },
4562
- "workspace": {
4563
- "char": "w",
4564
- "description": "Workspace ID (optional if set in profile)",
4565
- "name": "workspace",
4544
+ "workspace": {
4545
+ "char": "w",
4546
+ "description": "Workspace ID (uses profile workspace if not provided)",
4547
+ "name": "workspace",
4566
4548
  "required": false,
4567
4549
  "hasDynamicHelp": false,
4568
4550
  "multiple": false,
@@ -4571,7 +4553,7 @@
4571
4553
  },
4572
4554
  "hasDynamicHelp": false,
4573
4555
  "hiddenAliases": [],
4574
- "id": "workspace:pull",
4556
+ "id": "workflow_test:run",
4575
4557
  "pluginAlias": "@xano/cli",
4576
4558
  "pluginName": "@xano/cli",
4577
4559
  "pluginType": "core",
@@ -4581,25 +4563,27 @@
4581
4563
  "relativePath": [
4582
4564
  "dist",
4583
4565
  "commands",
4584
- "workspace",
4585
- "pull",
4566
+ "workflow_test",
4567
+ "run",
4586
4568
  "index.js"
4587
4569
  ]
4588
4570
  },
4589
- "workspace:create": {
4571
+ "workspace:pull": {
4590
4572
  "aliases": [],
4591
4573
  "args": {
4592
- "name": {
4593
- "description": "Name of the workspace",
4594
- "name": "name",
4574
+ "directory": {
4575
+ "description": "Output directory for pulled documents",
4576
+ "name": "directory",
4595
4577
  "required": true
4596
4578
  }
4597
4579
  },
4598
- "description": "Create a new workspace via the Xano Metadata API",
4580
+ "description": "Pull a workspace multidoc from the Xano Metadata API and split into individual files",
4599
4581
  "examples": [
4600
- "$ xano workspace create my-workspace\nCreated workspace: my-workspace (ID: 123)\n",
4601
- "$ xano workspace create my-app --description \"My application workspace\"\nCreated workspace: my-app (ID: 456)\n Description: My application workspace\n",
4602
- "$ xano workspace create new-project -d \"New project workspace\" -o json\n{\n \"id\": 789,\n \"name\": \"new-project\",\n \"description\": \"New project workspace\"\n}\n"
4582
+ "$ xano workspace pull ./my-workspace\nPulled 42 documents to ./my-workspace\n",
4583
+ "$ xano workspace pull ./output -w 40\nPulled 15 documents to ./output\n",
4584
+ "$ xano workspace pull ./backup --profile production --env --records\nPulled 58 documents to ./backup\n",
4585
+ "$ xano workspace pull ./my-workspace --draft\nPulled 42 documents to ./my-workspace\n",
4586
+ "$ xano workspace pull ./my-workspace -b dev\nPulled 42 documents to ./my-workspace\n"
4603
4587
  ],
4604
4588
  "flags": {
4605
4589
  "profile": {
@@ -4621,169 +4605,35 @@
4621
4605
  "allowNo": false,
4622
4606
  "type": "boolean"
4623
4607
  },
4624
- "description": {
4625
- "char": "d",
4626
- "description": "Description for the workspace",
4627
- "name": "description",
4628
- "required": false,
4629
- "hasDynamicHelp": false,
4630
- "multiple": false,
4631
- "type": "option"
4632
- },
4633
- "output": {
4634
- "char": "o",
4635
- "description": "Output format",
4636
- "name": "output",
4637
- "required": false,
4638
- "default": "summary",
4639
- "hasDynamicHelp": false,
4640
- "multiple": false,
4641
- "options": [
4642
- "summary",
4643
- "json"
4644
- ],
4645
- "type": "option"
4646
- }
4647
- },
4648
- "hasDynamicHelp": false,
4649
- "hiddenAliases": [],
4650
- "id": "workspace:create",
4651
- "pluginAlias": "@xano/cli",
4652
- "pluginName": "@xano/cli",
4653
- "pluginType": "core",
4654
- "strict": true,
4655
- "enableJsonFlag": false,
4656
- "isESM": true,
4657
- "relativePath": [
4658
- "dist",
4659
- "commands",
4660
- "workspace",
4661
- "create",
4662
- "index.js"
4663
- ]
4664
- },
4665
- "profile:workspace:set": {
4666
- "aliases": [],
4667
- "args": {},
4668
- "description": "Interactively select a workspace for a profile",
4669
- "examples": [
4670
- "$ xano profile workspace set\nFetching workspaces...\n? Select a workspace: My Workspace\nWorkspace updated to 'My Workspace' (abc123) on profile 'default'\n",
4671
- "$ xano profile workspace set -p production\nFetching workspaces...\n? Select a workspace: Production API\nWorkspace updated to 'Production API' (xyz789) on profile 'production'\n"
4672
- ],
4673
- "flags": {
4674
- "profile": {
4675
- "char": "p",
4676
- "description": "Profile to use (uses default profile if not specified)",
4677
- "env": "XANO_PROFILE",
4678
- "name": "profile",
4608
+ "branch": {
4609
+ "char": "b",
4610
+ "description": "Branch name (optional if set in profile, defaults to live)",
4611
+ "name": "branch",
4679
4612
  "required": false,
4680
4613
  "hasDynamicHelp": false,
4681
4614
  "multiple": false,
4682
4615
  "type": "option"
4683
4616
  },
4684
- "verbose": {
4685
- "char": "v",
4686
- "description": "Show detailed request/response information",
4687
- "env": "XANO_VERBOSE",
4688
- "name": "verbose",
4617
+ "env": {
4618
+ "description": "Include environment variables",
4619
+ "name": "env",
4689
4620
  "required": false,
4690
4621
  "allowNo": false,
4691
4622
  "type": "boolean"
4692
- }
4693
- },
4694
- "hasDynamicHelp": false,
4695
- "hiddenAliases": [],
4696
- "id": "profile:workspace:set",
4697
- "pluginAlias": "@xano/cli",
4698
- "pluginName": "@xano/cli",
4699
- "pluginType": "core",
4700
- "strict": true,
4701
- "enableJsonFlag": false,
4702
- "isESM": true,
4703
- "relativePath": [
4704
- "dist",
4705
- "commands",
4706
- "profile",
4707
- "workspace",
4708
- "set",
4709
- "index.js"
4710
- ]
4711
- },
4712
- "static_host:build:create": {
4713
- "aliases": [],
4714
- "args": {
4715
- "static_host": {
4716
- "description": "Static Host name",
4717
- "name": "static_host",
4718
- "required": true
4719
- }
4720
- },
4721
- "description": "Create a new build for a static host",
4722
- "examples": [
4723
- "$ 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",
4724
- "$ 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",
4725
- "$ 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"
4726
- ],
4727
- "flags": {
4728
- "profile": {
4729
- "char": "p",
4730
- "description": "Profile to use (uses default profile if not specified)",
4731
- "env": "XANO_PROFILE",
4732
- "name": "profile",
4733
- "required": false,
4734
- "hasDynamicHelp": false,
4735
- "multiple": false,
4736
- "type": "option"
4737
4623
  },
4738
- "verbose": {
4739
- "char": "v",
4740
- "description": "Show detailed request/response information",
4741
- "env": "XANO_VERBOSE",
4742
- "name": "verbose",
4624
+ "draft": {
4625
+ "description": "Include draft versions",
4626
+ "name": "draft",
4743
4627
  "required": false,
4744
4628
  "allowNo": false,
4745
4629
  "type": "boolean"
4746
4630
  },
4747
- "description": {
4748
- "char": "d",
4749
- "description": "Build description",
4750
- "name": "description",
4751
- "required": false,
4752
- "hasDynamicHelp": false,
4753
- "multiple": false,
4754
- "type": "option"
4755
- },
4756
- "file": {
4757
- "char": "f",
4758
- "description": "Path to zip file to upload",
4759
- "name": "file",
4760
- "required": true,
4761
- "hasDynamicHelp": false,
4762
- "multiple": false,
4763
- "type": "option"
4764
- },
4765
- "name": {
4766
- "char": "n",
4767
- "description": "Build name",
4768
- "name": "name",
4769
- "required": true,
4770
- "hasDynamicHelp": false,
4771
- "multiple": false,
4772
- "type": "option"
4773
- },
4774
- "output": {
4775
- "char": "o",
4776
- "description": "Output format",
4777
- "name": "output",
4631
+ "records": {
4632
+ "description": "Include records",
4633
+ "name": "records",
4778
4634
  "required": false,
4779
- "default": "summary",
4780
- "hasDynamicHelp": false,
4781
- "multiple": false,
4782
- "options": [
4783
- "summary",
4784
- "json"
4785
- ],
4786
- "type": "option"
4635
+ "allowNo": false,
4636
+ "type": "boolean"
4787
4637
  },
4788
4638
  "workspace": {
4789
4639
  "char": "w",
@@ -4797,7 +4647,7 @@
4797
4647
  },
4798
4648
  "hasDynamicHelp": false,
4799
4649
  "hiddenAliases": [],
4800
- "id": "static_host:build:create",
4650
+ "id": "workspace:pull",
4801
4651
  "pluginAlias": "@xano/cli",
4802
4652
  "pluginName": "@xano/cli",
4803
4653
  "pluginType": "core",
@@ -4807,9 +4657,8 @@
4807
4657
  "relativePath": [
4808
4658
  "dist",
4809
4659
  "commands",
4810
- "static_host",
4811
- "build",
4812
- "create",
4660
+ "workspace",
4661
+ "pull",
4813
4662
  "index.js"
4814
4663
  ]
4815
4664
  },
@@ -4940,6 +4789,53 @@
4940
4789
  "index.js"
4941
4790
  ]
4942
4791
  },
4792
+ "profile:workspace:set": {
4793
+ "aliases": [],
4794
+ "args": {},
4795
+ "description": "Interactively select a workspace for a profile",
4796
+ "examples": [
4797
+ "$ xano profile workspace set\nFetching workspaces...\n? Select a workspace: My Workspace\nWorkspace updated to 'My Workspace' (abc123) on profile 'default'\n",
4798
+ "$ xano profile workspace set -p production\nFetching workspaces...\n? Select a workspace: Production API\nWorkspace updated to 'Production API' (xyz789) on profile 'production'\n"
4799
+ ],
4800
+ "flags": {
4801
+ "profile": {
4802
+ "char": "p",
4803
+ "description": "Profile to use (uses default profile if not specified)",
4804
+ "env": "XANO_PROFILE",
4805
+ "name": "profile",
4806
+ "required": false,
4807
+ "hasDynamicHelp": false,
4808
+ "multiple": false,
4809
+ "type": "option"
4810
+ },
4811
+ "verbose": {
4812
+ "char": "v",
4813
+ "description": "Show detailed request/response information",
4814
+ "env": "XANO_VERBOSE",
4815
+ "name": "verbose",
4816
+ "required": false,
4817
+ "allowNo": false,
4818
+ "type": "boolean"
4819
+ }
4820
+ },
4821
+ "hasDynamicHelp": false,
4822
+ "hiddenAliases": [],
4823
+ "id": "profile:workspace:set",
4824
+ "pluginAlias": "@xano/cli",
4825
+ "pluginName": "@xano/cli",
4826
+ "pluginType": "core",
4827
+ "strict": true,
4828
+ "enableJsonFlag": false,
4829
+ "isESM": true,
4830
+ "relativePath": [
4831
+ "dist",
4832
+ "commands",
4833
+ "profile",
4834
+ "workspace",
4835
+ "set",
4836
+ "index.js"
4837
+ ]
4838
+ },
4943
4839
  "static_host:build:list": {
4944
4840
  "aliases": [],
4945
4841
  "args": {
@@ -5036,19 +4932,20 @@
5036
4932
  "index.js"
5037
4933
  ]
5038
4934
  },
5039
- "tenant:backup:create": {
4935
+ "tenant:env:delete": {
5040
4936
  "aliases": [],
5041
4937
  "args": {
5042
4938
  "tenant_name": {
5043
- "description": "Tenant name to back up",
4939
+ "description": "Tenant name",
5044
4940
  "name": "tenant_name",
5045
4941
  "required": true
5046
4942
  }
5047
4943
  },
5048
- "description": "Create a backup for a tenant",
4944
+ "description": "Delete an environment variable from a tenant",
5049
4945
  "examples": [
5050
- "$ xano tenant backup create t1234-abcd-xyz1 --description \"Pre-deploy backup\"\nCreated backup #15 for tenant t1234-abcd-xyz1\n",
5051
- "$ xano tenant backup create t1234-abcd-xyz1 -d \"Daily backup\" -o json"
4946
+ "$ xano tenant env delete my-tenant --name DATABASE_URL\nAre you sure you want to delete environment variable 'DATABASE_URL' from tenant my-tenant? (y/N) y\nEnvironment variable 'DATABASE_URL' deleted from tenant my-tenant\n",
4947
+ "$ xano tenant env delete my-tenant --name DATABASE_URL --force\nEnvironment variable 'DATABASE_URL' deleted from tenant my-tenant\n",
4948
+ "$ xano tenant env delete my-tenant --name DATABASE_URL -f -w 5 -o json"
5052
4949
  ],
5053
4950
  "flags": {
5054
4951
  "profile": {
@@ -5070,109 +4967,23 @@
5070
4967
  "allowNo": false,
5071
4968
  "type": "boolean"
5072
4969
  },
5073
- "description": {
5074
- "char": "d",
5075
- "description": "Backup description",
5076
- "name": "description",
5077
- "required": false,
5078
- "default": "",
5079
- "hasDynamicHelp": false,
5080
- "multiple": false,
5081
- "type": "option"
5082
- },
5083
- "output": {
5084
- "char": "o",
5085
- "description": "Output format",
5086
- "name": "output",
5087
- "required": false,
5088
- "default": "summary",
5089
- "hasDynamicHelp": false,
5090
- "multiple": false,
5091
- "options": [
5092
- "summary",
5093
- "json"
5094
- ],
5095
- "type": "option"
5096
- },
5097
- "workspace": {
5098
- "char": "w",
5099
- "description": "Workspace ID (uses profile workspace if not provided)",
5100
- "name": "workspace",
5101
- "required": false,
5102
- "hasDynamicHelp": false,
5103
- "multiple": false,
5104
- "type": "option"
5105
- }
5106
- },
5107
- "hasDynamicHelp": false,
5108
- "hiddenAliases": [],
5109
- "id": "tenant:backup:create",
5110
- "pluginAlias": "@xano/cli",
5111
- "pluginName": "@xano/cli",
5112
- "pluginType": "core",
5113
- "strict": true,
5114
- "enableJsonFlag": false,
5115
- "isESM": true,
5116
- "relativePath": [
5117
- "dist",
5118
- "commands",
5119
- "tenant",
5120
- "backup",
5121
- "create",
5122
- "index.js"
5123
- ]
5124
- },
5125
- "tenant:backup:delete": {
5126
- "aliases": [],
5127
- "args": {
5128
- "tenant_name": {
5129
- "description": "Tenant name that owns the backup",
5130
- "name": "tenant_name",
5131
- "required": true
5132
- }
5133
- },
5134
- "description": "Delete a tenant backup permanently. This action cannot be undone.",
5135
- "examples": [
5136
- "$ 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",
5137
- "$ xano tenant backup delete t1234-abcd-xyz1 --backup_id 10 --force",
5138
- "$ xano tenant backup delete t1234-abcd-xyz1 --backup_id 10 -o json"
5139
- ],
5140
- "flags": {
5141
- "profile": {
5142
- "char": "p",
5143
- "description": "Profile to use (uses default profile if not specified)",
5144
- "env": "XANO_PROFILE",
5145
- "name": "profile",
5146
- "required": false,
5147
- "hasDynamicHelp": false,
5148
- "multiple": false,
5149
- "type": "option"
5150
- },
5151
- "verbose": {
5152
- "char": "v",
5153
- "description": "Show detailed request/response information",
5154
- "env": "XANO_VERBOSE",
5155
- "name": "verbose",
4970
+ "force": {
4971
+ "char": "f",
4972
+ "description": "Skip confirmation prompt",
4973
+ "name": "force",
5156
4974
  "required": false,
5157
4975
  "allowNo": false,
5158
4976
  "type": "boolean"
5159
4977
  },
5160
- "backup_id": {
5161
- "description": "Backup ID to delete",
5162
- "name": "backup_id",
4978
+ "name": {
4979
+ "char": "n",
4980
+ "description": "Environment variable name",
4981
+ "name": "name",
5163
4982
  "required": true,
5164
4983
  "hasDynamicHelp": false,
5165
4984
  "multiple": false,
5166
4985
  "type": "option"
5167
4986
  },
5168
- "force": {
5169
- "char": "f",
5170
- "description": "Skip confirmation prompt",
5171
- "name": "force",
5172
- "required": false,
5173
- "allowNo": false,
5174
- "type": "boolean"
5175
- },
5176
4987
  "output": {
5177
4988
  "char": "o",
5178
4989
  "description": "Output format",
@@ -5199,7 +5010,7 @@
5199
5010
  },
5200
5011
  "hasDynamicHelp": false,
5201
5012
  "hiddenAliases": [],
5202
- "id": "tenant:backup:delete",
5013
+ "id": "tenant:env:delete",
5203
5014
  "pluginAlias": "@xano/cli",
5204
5015
  "pluginName": "@xano/cli",
5205
5016
  "pluginType": "core",
@@ -5210,7 +5021,7 @@
5210
5021
  "dist",
5211
5022
  "commands",
5212
5023
  "tenant",
5213
- "backup",
5024
+ "env",
5214
5025
  "delete",
5215
5026
  "index.js"
5216
5027
  ]
@@ -5298,20 +5109,19 @@
5298
5109
  "index.js"
5299
5110
  ]
5300
5111
  },
5301
- "tenant:backup:export": {
5112
+ "tenant:env:get": {
5302
5113
  "aliases": [],
5303
5114
  "args": {
5304
5115
  "tenant_name": {
5305
- "description": "Tenant name to export backup from",
5116
+ "description": "Tenant name",
5306
5117
  "name": "tenant_name",
5307
5118
  "required": true
5308
5119
  }
5309
5120
  },
5310
- "description": "Export (download) a tenant backup to a local file",
5121
+ "description": "Get a single environment variable for a tenant",
5311
5122
  "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"
5123
+ "$ xano tenant env get my-tenant --name DATABASE_URL\npostgres://localhost:5432/mydb\n",
5124
+ "$ xano tenant env get my-tenant --name DATABASE_URL -w 5 -o json"
5315
5125
  ],
5316
5126
  "flags": {
5317
5127
  "profile": {
@@ -5333,18 +5143,19 @@
5333
5143
  "allowNo": false,
5334
5144
  "type": "boolean"
5335
5145
  },
5336
- "backup_id": {
5337
- "description": "Backup ID to export",
5338
- "name": "backup_id",
5146
+ "name": {
5147
+ "char": "n",
5148
+ "description": "Environment variable name",
5149
+ "name": "name",
5339
5150
  "required": true,
5340
5151
  "hasDynamicHelp": false,
5341
5152
  "multiple": false,
5342
5153
  "type": "option"
5343
5154
  },
5344
- "format": {
5155
+ "output": {
5345
5156
  "char": "o",
5346
5157
  "description": "Output format",
5347
- "name": "format",
5158
+ "name": "output",
5348
5159
  "required": false,
5349
5160
  "default": "summary",
5350
5161
  "hasDynamicHelp": false,
@@ -5355,14 +5166,6 @@
5355
5166
  ],
5356
5167
  "type": "option"
5357
5168
  },
5358
- "output": {
5359
- "description": "Output file path (defaults to ./tenant-{name}-backup-{backup_id}.tar.gz)",
5360
- "name": "output",
5361
- "required": false,
5362
- "hasDynamicHelp": false,
5363
- "multiple": false,
5364
- "type": "option"
5365
- },
5366
5169
  "workspace": {
5367
5170
  "char": "w",
5368
5171
  "description": "Workspace ID (uses profile workspace if not provided)",
@@ -5375,7 +5178,7 @@
5375
5178
  },
5376
5179
  "hasDynamicHelp": false,
5377
5180
  "hiddenAliases": [],
5378
- "id": "tenant:backup:export",
5181
+ "id": "tenant:env:get",
5379
5182
  "pluginAlias": "@xano/cli",
5380
5183
  "pluginName": "@xano/cli",
5381
5184
  "pluginType": "core",
@@ -5386,24 +5189,26 @@
5386
5189
  "dist",
5387
5190
  "commands",
5388
5191
  "tenant",
5389
- "backup",
5390
- "export",
5192
+ "env",
5193
+ "get",
5391
5194
  "index.js"
5392
5195
  ]
5393
5196
  },
5394
- "tenant:backup:import": {
5197
+ "tenant:env:get_all": {
5395
5198
  "aliases": [],
5396
5199
  "args": {
5397
5200
  "tenant_name": {
5398
- "description": "Tenant name to import backup into",
5201
+ "description": "Tenant name",
5399
5202
  "name": "tenant_name",
5400
5203
  "required": true
5401
5204
  }
5402
5205
  },
5403
- "description": "Import a backup file into a tenant",
5206
+ "description": "Get all environment variables for a tenant and save to a YAML file",
5404
5207
  "examples": [
5405
- "$ xano tenant backup import t1234-abcd-xyz1 --file ./my-backup.tar.gz\nImported backup as #15 for tenant t1234-abcd-xyz1\n",
5406
- "$ xano tenant backup import t1234-abcd-xyz1 --file ./my-backup.tar.gz --description \"Restored from production\" -o json"
5208
+ "$ xano tenant env get_all my-tenant\nEnvironment variables saved to env_my-tenant.yaml\n",
5209
+ "$ xano tenant env get_all my-tenant --file ./my-env.yaml",
5210
+ "$ xano tenant env get_all my-tenant --view",
5211
+ "$ xano tenant env get_all my-tenant -o json"
5407
5212
  ],
5408
5213
  "flags": {
5409
5214
  "profile": {
@@ -5425,21 +5230,11 @@
5425
5230
  "allowNo": false,
5426
5231
  "type": "boolean"
5427
5232
  },
5428
- "description": {
5429
- "char": "d",
5430
- "description": "Backup description",
5431
- "name": "description",
5432
- "required": false,
5433
- "default": "",
5434
- "hasDynamicHelp": false,
5435
- "multiple": false,
5436
- "type": "option"
5437
- },
5438
5233
  "file": {
5439
5234
  "char": "f",
5440
- "description": "Path to the backup file (.tar.gz)",
5235
+ "description": "Output file path (default: env_<tenant_name>.yaml)",
5441
5236
  "name": "file",
5442
- "required": true,
5237
+ "required": false,
5443
5238
  "hasDynamicHelp": false,
5444
5239
  "multiple": false,
5445
5240
  "type": "option"
@@ -5458,6 +5253,13 @@
5458
5253
  ],
5459
5254
  "type": "option"
5460
5255
  },
5256
+ "view": {
5257
+ "description": "Print environment variables to stdout instead of saving to file",
5258
+ "name": "view",
5259
+ "required": false,
5260
+ "allowNo": false,
5261
+ "type": "boolean"
5262
+ },
5461
5263
  "workspace": {
5462
5264
  "char": "w",
5463
5265
  "description": "Workspace ID (uses profile workspace if not provided)",
@@ -5470,7 +5272,7 @@
5470
5272
  },
5471
5273
  "hasDynamicHelp": false,
5472
5274
  "hiddenAliases": [],
5473
- "id": "tenant:backup:import",
5275
+ "id": "tenant:env:get_all",
5474
5276
  "pluginAlias": "@xano/cli",
5475
5277
  "pluginName": "@xano/cli",
5476
5278
  "pluginType": "core",
@@ -5481,24 +5283,24 @@
5481
5283
  "dist",
5482
5284
  "commands",
5483
5285
  "tenant",
5484
- "backup",
5485
- "import",
5286
+ "env",
5287
+ "get_all",
5486
5288
  "index.js"
5487
5289
  ]
5488
5290
  },
5489
- "tenant:backup:list": {
5291
+ "tenant:env:list": {
5490
5292
  "aliases": [],
5491
5293
  "args": {
5492
5294
  "tenant_name": {
5493
- "description": "Tenant name to list backups for",
5295
+ "description": "Tenant name",
5494
5296
  "name": "tenant_name",
5495
5297
  "required": true
5496
5298
  }
5497
5299
  },
5498
- "description": "List backups for a tenant",
5300
+ "description": "List environment variable keys for a tenant",
5499
5301
  "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"
5302
+ "$ xano tenant env list my-tenant\nEnvironment variables for tenant my-tenant:\n - DATABASE_URL\n - API_KEY\n - SECRET_TOKEN\n",
5303
+ "$ xano tenant env list my-tenant -w 5 -o json"
5502
5304
  ],
5503
5305
  "flags": {
5504
5306
  "profile": {
@@ -5534,15 +5336,6 @@
5534
5336
  ],
5535
5337
  "type": "option"
5536
5338
  },
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
5339
  "workspace": {
5547
5340
  "char": "w",
5548
5341
  "description": "Workspace ID (uses profile workspace if not provided)",
@@ -5555,7 +5348,7 @@
5555
5348
  },
5556
5349
  "hasDynamicHelp": false,
5557
5350
  "hiddenAliases": [],
5558
- "id": "tenant:backup:list",
5351
+ "id": "tenant:env:list",
5559
5352
  "pluginAlias": "@xano/cli",
5560
5353
  "pluginName": "@xano/cli",
5561
5354
  "pluginType": "core",
@@ -5566,24 +5359,24 @@
5566
5359
  "dist",
5567
5360
  "commands",
5568
5361
  "tenant",
5569
- "backup",
5362
+ "env",
5570
5363
  "list",
5571
5364
  "index.js"
5572
5365
  ]
5573
5366
  },
5574
- "tenant:backup:restore": {
5367
+ "tenant:env:set": {
5575
5368
  "aliases": [],
5576
5369
  "args": {
5577
5370
  "tenant_name": {
5578
- "description": "Tenant name to restore",
5371
+ "description": "Tenant name",
5579
5372
  "name": "tenant_name",
5580
5373
  "required": true
5581
5374
  }
5582
5375
  },
5583
- "description": "Restore a tenant from a backup. This replaces the current tenant data.",
5376
+ "description": "Set (create or update) an environment variable for a tenant",
5584
5377
  "examples": [
5585
- "$ xano tenant backup restore t1234-abcd-xyz1 --backup_id 10\nAre you sure you want to restore tenant t1234-abcd-xyz1 from backup 10? This will replace current data. (y/N) y\nRestored tenant t1234-abcd-xyz1 from backup #10\n",
5586
- "$ xano tenant backup restore t1234-abcd-xyz1 --backup_id 10 --force -o json"
5378
+ "$ xano tenant env set my-tenant --name DATABASE_URL --value postgres://localhost:5432/mydb\nEnvironment variable 'DATABASE_URL' set for tenant my-tenant\n",
5379
+ "$ xano tenant env set my-tenant --name DATABASE_URL --value postgres://localhost:5432/mydb -w 5 -o json"
5587
5380
  ],
5588
5381
  "flags": {
5589
5382
  "profile": {
@@ -5605,22 +5398,15 @@
5605
5398
  "allowNo": false,
5606
5399
  "type": "boolean"
5607
5400
  },
5608
- "backup_id": {
5609
- "description": "Backup ID to restore from",
5610
- "name": "backup_id",
5401
+ "name": {
5402
+ "char": "n",
5403
+ "description": "Environment variable name",
5404
+ "name": "name",
5611
5405
  "required": true,
5612
5406
  "hasDynamicHelp": false,
5613
5407
  "multiple": false,
5614
5408
  "type": "option"
5615
5409
  },
5616
- "force": {
5617
- "char": "f",
5618
- "description": "Skip confirmation prompt",
5619
- "name": "force",
5620
- "required": false,
5621
- "allowNo": false,
5622
- "type": "boolean"
5623
- },
5624
5410
  "output": {
5625
5411
  "char": "o",
5626
5412
  "description": "Output format",
@@ -5635,6 +5421,14 @@
5635
5421
  ],
5636
5422
  "type": "option"
5637
5423
  },
5424
+ "value": {
5425
+ "description": "Environment variable value",
5426
+ "name": "value",
5427
+ "required": true,
5428
+ "hasDynamicHelp": false,
5429
+ "multiple": false,
5430
+ "type": "option"
5431
+ },
5638
5432
  "workspace": {
5639
5433
  "char": "w",
5640
5434
  "description": "Workspace ID (uses profile workspace if not provided)",
@@ -5647,7 +5441,7 @@
5647
5441
  },
5648
5442
  "hasDynamicHelp": false,
5649
5443
  "hiddenAliases": [],
5650
- "id": "tenant:backup:restore",
5444
+ "id": "tenant:env:set",
5651
5445
  "pluginAlias": "@xano/cli",
5652
5446
  "pluginName": "@xano/cli",
5653
5447
  "pluginType": "core",
@@ -5658,18 +5452,25 @@
5658
5452
  "dist",
5659
5453
  "commands",
5660
5454
  "tenant",
5661
- "backup",
5662
- "restore",
5455
+ "env",
5456
+ "set",
5663
5457
  "index.js"
5664
5458
  ]
5665
5459
  },
5666
- "tenant:cluster:create": {
5460
+ "tenant:env:set_all": {
5667
5461
  "aliases": [],
5668
- "args": {},
5669
- "description": "Create a new tenant cluster",
5462
+ "args": {
5463
+ "tenant_name": {
5464
+ "description": "Tenant name",
5465
+ "name": "tenant_name",
5466
+ "required": true
5467
+ }
5468
+ },
5469
+ "description": "Set all environment variables for a tenant from a YAML file (replaces all existing)",
5670
5470
  "examples": [
5671
- "$ xano tenant cluster create --name \"us-east-1\" --credentials_file ./kubeconfig.yaml\nCreated tenant cluster: us-east-1 (standard) - ID: 3\n",
5672
- "$ xano tenant cluster create --name \"eu-west-1\" --credentials \"...\" --type run --description \"EU run cluster\" -o json"
5471
+ "$ xano tenant env set_all my-tenant\nReads from env_my-tenant.yaml\n",
5472
+ "$ xano tenant env set_all my-tenant --file ./my-env.yaml",
5473
+ "$ xano tenant env set_all my-tenant -o json"
5673
5474
  ],
5674
5475
  "flags": {
5675
5476
  "profile": {
@@ -5691,54 +5492,22 @@
5691
5492
  "allowNo": false,
5692
5493
  "type": "boolean"
5693
5494
  },
5694
- "credentials": {
5695
- "description": "Kubeconfig credentials (raw text)",
5696
- "exclusive": [
5697
- "credentials_file"
5698
- ],
5699
- "name": "credentials",
5700
- "required": false,
5701
- "hasDynamicHelp": false,
5702
- "multiple": false,
5703
- "type": "option"
5704
- },
5705
- "credentials_file": {
5706
- "description": "Path to kubeconfig credentials file",
5707
- "exclusive": [
5708
- "credentials"
5709
- ],
5710
- "name": "credentials_file",
5711
- "required": false,
5712
- "hasDynamicHelp": false,
5713
- "multiple": false,
5714
- "type": "option"
5715
- },
5716
- "description": {
5717
- "char": "d",
5718
- "description": "Cluster description",
5719
- "name": "description",
5495
+ "clean": {
5496
+ "description": "Remove the source file after successful upload",
5497
+ "name": "clean",
5720
5498
  "required": false,
5721
- "hasDynamicHelp": false,
5722
- "multiple": false,
5723
- "type": "option"
5499
+ "allowNo": false,
5500
+ "type": "boolean"
5724
5501
  },
5725
- "domain": {
5726
- "description": "Custom domain for the cluster",
5727
- "name": "domain",
5502
+ "file": {
5503
+ "char": "f",
5504
+ "description": "Path to env file (default: env_<tenant_name>.yaml)",
5505
+ "name": "file",
5728
5506
  "required": false,
5729
5507
  "hasDynamicHelp": false,
5730
5508
  "multiple": false,
5731
5509
  "type": "option"
5732
5510
  },
5733
- "name": {
5734
- "char": "n",
5735
- "description": "Cluster name",
5736
- "name": "name",
5737
- "required": true,
5738
- "hasDynamicHelp": false,
5739
- "multiple": false,
5740
- "type": "option"
5741
- },
5742
5511
  "output": {
5743
5512
  "char": "o",
5744
5513
  "description": "Output format",
@@ -5753,23 +5522,19 @@
5753
5522
  ],
5754
5523
  "type": "option"
5755
5524
  },
5756
- "type": {
5757
- "description": "Cluster type",
5758
- "name": "type",
5525
+ "workspace": {
5526
+ "char": "w",
5527
+ "description": "Workspace ID (uses profile workspace if not provided)",
5528
+ "name": "workspace",
5759
5529
  "required": false,
5760
- "default": "standard",
5761
5530
  "hasDynamicHelp": false,
5762
5531
  "multiple": false,
5763
- "options": [
5764
- "standard",
5765
- "run"
5766
- ],
5767
5532
  "type": "option"
5768
5533
  }
5769
5534
  },
5770
5535
  "hasDynamicHelp": false,
5771
5536
  "hiddenAliases": [],
5772
- "id": "tenant:cluster:create",
5537
+ "id": "tenant:env:set_all",
5773
5538
  "pluginAlias": "@xano/cli",
5774
5539
  "pluginName": "@xano/cli",
5775
5540
  "pluginType": "core",
@@ -5780,25 +5545,26 @@
5780
5545
  "dist",
5781
5546
  "commands",
5782
5547
  "tenant",
5783
- "cluster",
5784
- "create",
5548
+ "env",
5549
+ "set_all",
5785
5550
  "index.js"
5786
5551
  ]
5787
5552
  },
5788
- "tenant:cluster:delete": {
5553
+ "tenant:license:get": {
5789
5554
  "aliases": [],
5790
5555
  "args": {
5791
- "cluster_id": {
5792
- "description": "Cluster ID to delete",
5793
- "name": "cluster_id",
5556
+ "tenant_name": {
5557
+ "description": "Tenant name",
5558
+ "name": "tenant_name",
5794
5559
  "required": true
5795
5560
  }
5796
5561
  },
5797
- "description": "Delete a tenant cluster. This action cannot be undone.",
5562
+ "description": "Get the license for a tenant",
5798
5563
  "examples": [
5799
- "$ xano tenant cluster delete 3\nAre you sure you want to delete tenant cluster 3? This action cannot be undone. (y/N) y\nTenant cluster 3 deleted successfully\n",
5800
- "$ xano tenant cluster delete 3 --force\nTenant cluster 3 deleted successfully\n",
5801
- "$ xano tenant cluster delete 3 -f -o json"
5564
+ "$ xano tenant license get my-tenant\nLicense saved to license_my-tenant.yaml\n",
5565
+ "$ xano tenant license get my-tenant --file ./my-license.yaml\nLicense saved to my-license.yaml\n",
5566
+ "$ xano tenant license get my-tenant --view",
5567
+ "$ xano tenant license get my-tenant -o json"
5802
5568
  ],
5803
5569
  "flags": {
5804
5570
  "profile": {
@@ -5820,13 +5586,14 @@
5820
5586
  "allowNo": false,
5821
5587
  "type": "boolean"
5822
5588
  },
5823
- "force": {
5589
+ "file": {
5824
5590
  "char": "f",
5825
- "description": "Skip confirmation prompt",
5826
- "name": "force",
5591
+ "description": "Output file path (default: license_<tenant_name>.yaml)",
5592
+ "name": "file",
5827
5593
  "required": false,
5828
- "allowNo": false,
5829
- "type": "boolean"
5594
+ "hasDynamicHelp": false,
5595
+ "multiple": false,
5596
+ "type": "option"
5830
5597
  },
5831
5598
  "output": {
5832
5599
  "char": "o",
@@ -5841,11 +5608,27 @@
5841
5608
  "json"
5842
5609
  ],
5843
5610
  "type": "option"
5611
+ },
5612
+ "view": {
5613
+ "description": "Print license to stdout instead of saving to file",
5614
+ "name": "view",
5615
+ "required": false,
5616
+ "allowNo": false,
5617
+ "type": "boolean"
5618
+ },
5619
+ "workspace": {
5620
+ "char": "w",
5621
+ "description": "Workspace ID (uses profile workspace if not provided)",
5622
+ "name": "workspace",
5623
+ "required": false,
5624
+ "hasDynamicHelp": false,
5625
+ "multiple": false,
5626
+ "type": "option"
5844
5627
  }
5845
5628
  },
5846
5629
  "hasDynamicHelp": false,
5847
5630
  "hiddenAliases": [],
5848
- "id": "tenant:cluster:delete",
5631
+ "id": "tenant:license:get",
5849
5632
  "pluginAlias": "@xano/cli",
5850
5633
  "pluginName": "@xano/cli",
5851
5634
  "pluginType": "core",
@@ -5856,24 +5639,26 @@
5856
5639
  "dist",
5857
5640
  "commands",
5858
5641
  "tenant",
5859
- "cluster",
5860
- "delete",
5642
+ "license",
5643
+ "get",
5861
5644
  "index.js"
5862
5645
  ]
5863
5646
  },
5864
- "tenant:cluster:edit": {
5647
+ "tenant:license:set": {
5865
5648
  "aliases": [],
5866
5649
  "args": {
5867
- "cluster_id": {
5868
- "description": "Cluster ID to edit",
5869
- "name": "cluster_id",
5650
+ "tenant_name": {
5651
+ "description": "Tenant name",
5652
+ "name": "tenant_name",
5870
5653
  "required": true
5871
5654
  }
5872
5655
  },
5873
- "description": "Update an existing tenant cluster",
5656
+ "description": "Set/update the license for a tenant",
5874
5657
  "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"
5658
+ "$ xano tenant license set my-tenant\nReads from license_my-tenant.yaml\n",
5659
+ "$ xano tenant license set my-tenant --file ./license.yaml",
5660
+ "$ xano tenant license set my-tenant --value 'key: value'",
5661
+ "$ xano tenant license set my-tenant -o json"
5877
5662
  ],
5878
5663
  "flags": {
5879
5664
  "profile": {
@@ -5895,28 +5680,24 @@
5895
5680
  "allowNo": false,
5896
5681
  "type": "boolean"
5897
5682
  },
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"
5683
+ "clean": {
5684
+ "description": "Remove the source file after successful upload",
5685
+ "exclusive": [
5686
+ "value"
5687
+ ],
5688
+ "name": "clean",
5689
+ "required": false,
5690
+ "allowNo": false,
5691
+ "type": "boolean"
5914
5692
  },
5915
- "name": {
5916
- "char": "n",
5917
- "description": "Cluster name",
5918
- "name": "name",
5919
- "required": true,
5693
+ "file": {
5694
+ "char": "f",
5695
+ "description": "Path to license file (default: license_<tenant_name>.yaml)",
5696
+ "exclusive": [
5697
+ "value"
5698
+ ],
5699
+ "name": "file",
5700
+ "required": false,
5920
5701
  "hasDynamicHelp": false,
5921
5702
  "multiple": false,
5922
5703
  "type": "option"
@@ -5935,22 +5716,31 @@
5935
5716
  ],
5936
5717
  "type": "option"
5937
5718
  },
5938
- "type": {
5939
- "description": "Cluster type",
5940
- "name": "type",
5941
- "required": true,
5719
+ "value": {
5720
+ "description": "Inline license value",
5721
+ "exclusive": [
5722
+ "file",
5723
+ "clean"
5724
+ ],
5725
+ "name": "value",
5726
+ "required": false,
5727
+ "hasDynamicHelp": false,
5728
+ "multiple": false,
5729
+ "type": "option"
5730
+ },
5731
+ "workspace": {
5732
+ "char": "w",
5733
+ "description": "Workspace ID (uses profile workspace if not provided)",
5734
+ "name": "workspace",
5735
+ "required": false,
5942
5736
  "hasDynamicHelp": false,
5943
5737
  "multiple": false,
5944
- "options": [
5945
- "standard",
5946
- "run"
5947
- ],
5948
5738
  "type": "option"
5949
5739
  }
5950
5740
  },
5951
5741
  "hasDynamicHelp": false,
5952
5742
  "hiddenAliases": [],
5953
- "id": "tenant:cluster:edit",
5743
+ "id": "tenant:license:set",
5954
5744
  "pluginAlias": "@xano/cli",
5955
5745
  "pluginName": "@xano/cli",
5956
5746
  "pluginType": "core",
@@ -5961,24 +5751,24 @@
5961
5751
  "dist",
5962
5752
  "commands",
5963
5753
  "tenant",
5964
- "cluster",
5965
- "edit",
5754
+ "license",
5755
+ "set",
5966
5756
  "index.js"
5967
5757
  ]
5968
5758
  },
5969
- "tenant:cluster:get": {
5759
+ "tenant:backup:create": {
5970
5760
  "aliases": [],
5971
5761
  "args": {
5972
- "cluster_id": {
5973
- "description": "Cluster ID to retrieve",
5974
- "name": "cluster_id",
5762
+ "tenant_name": {
5763
+ "description": "Tenant name to back up",
5764
+ "name": "tenant_name",
5975
5765
  "required": true
5976
5766
  }
5977
5767
  },
5978
- "description": "Get details of a specific tenant cluster",
5768
+ "description": "Create a backup for a tenant",
5979
5769
  "examples": [
5980
- "$ xano tenant cluster get 1\nCluster: us-east-1\n ID: 1\n Type: standard\n Domain: us-east-1.xano.io\n",
5981
- "$ xano tenant cluster get 1 -o json"
5770
+ "$ xano tenant backup create t1234-abcd-xyz1 --description \"Pre-deploy backup\"\nCreated backup #15 for tenant t1234-abcd-xyz1\n",
5771
+ "$ xano tenant backup create t1234-abcd-xyz1 -d \"Daily backup\" -o json"
5982
5772
  ],
5983
5773
  "flags": {
5984
5774
  "profile": {
@@ -6000,6 +5790,16 @@
6000
5790
  "allowNo": false,
6001
5791
  "type": "boolean"
6002
5792
  },
5793
+ "description": {
5794
+ "char": "d",
5795
+ "description": "Backup description",
5796
+ "name": "description",
5797
+ "required": false,
5798
+ "default": "",
5799
+ "hasDynamicHelp": false,
5800
+ "multiple": false,
5801
+ "type": "option"
5802
+ },
6003
5803
  "output": {
6004
5804
  "char": "o",
6005
5805
  "description": "Output format",
@@ -6013,11 +5813,20 @@
6013
5813
  "json"
6014
5814
  ],
6015
5815
  "type": "option"
5816
+ },
5817
+ "workspace": {
5818
+ "char": "w",
5819
+ "description": "Workspace ID (uses profile workspace if not provided)",
5820
+ "name": "workspace",
5821
+ "required": false,
5822
+ "hasDynamicHelp": false,
5823
+ "multiple": false,
5824
+ "type": "option"
6016
5825
  }
6017
5826
  },
6018
5827
  "hasDynamicHelp": false,
6019
5828
  "hiddenAliases": [],
6020
- "id": "tenant:cluster:get",
5829
+ "id": "tenant:backup:create",
6021
5830
  "pluginAlias": "@xano/cli",
6022
5831
  "pluginName": "@xano/cli",
6023
5832
  "pluginType": "core",
@@ -6028,18 +5837,25 @@
6028
5837
  "dist",
6029
5838
  "commands",
6030
5839
  "tenant",
6031
- "cluster",
6032
- "get",
5840
+ "backup",
5841
+ "create",
6033
5842
  "index.js"
6034
5843
  ]
6035
5844
  },
6036
- "tenant:cluster:list": {
5845
+ "tenant:backup:delete": {
6037
5846
  "aliases": [],
6038
- "args": {},
6039
- "description": "List all tenant clusters",
5847
+ "args": {
5848
+ "tenant_name": {
5849
+ "description": "Tenant name that owns the backup",
5850
+ "name": "tenant_name",
5851
+ "required": true
5852
+ }
5853
+ },
5854
+ "description": "Delete a tenant backup permanently. This action cannot be undone.",
6040
5855
  "examples": [
6041
- "$ xano tenant cluster list\nTenant clusters:\n - us-east-1 (standard) [ID: 1]\n - eu-west-1 (run) [ID: 2]\n",
6042
- "$ xano tenant cluster list --output json"
5856
+ "$ 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",
5857
+ "$ xano tenant backup delete t1234-abcd-xyz1 --backup_id 10 --force",
5858
+ "$ xano tenant backup delete t1234-abcd-xyz1 --backup_id 10 -o json"
6043
5859
  ],
6044
5860
  "flags": {
6045
5861
  "profile": {
@@ -6061,6 +5877,22 @@
6061
5877
  "allowNo": false,
6062
5878
  "type": "boolean"
6063
5879
  },
5880
+ "backup_id": {
5881
+ "description": "Backup ID to delete",
5882
+ "name": "backup_id",
5883
+ "required": true,
5884
+ "hasDynamicHelp": false,
5885
+ "multiple": false,
5886
+ "type": "option"
5887
+ },
5888
+ "force": {
5889
+ "char": "f",
5890
+ "description": "Skip confirmation prompt",
5891
+ "name": "force",
5892
+ "required": false,
5893
+ "allowNo": false,
5894
+ "type": "boolean"
5895
+ },
6064
5896
  "output": {
6065
5897
  "char": "o",
6066
5898
  "description": "Output format",
@@ -6074,11 +5906,20 @@
6074
5906
  "json"
6075
5907
  ],
6076
5908
  "type": "option"
5909
+ },
5910
+ "workspace": {
5911
+ "char": "w",
5912
+ "description": "Workspace ID (uses profile workspace if not provided)",
5913
+ "name": "workspace",
5914
+ "required": false,
5915
+ "hasDynamicHelp": false,
5916
+ "multiple": false,
5917
+ "type": "option"
6077
5918
  }
6078
5919
  },
6079
5920
  "hasDynamicHelp": false,
6080
5921
  "hiddenAliases": [],
6081
- "id": "tenant:cluster:list",
5922
+ "id": "tenant:backup:delete",
6082
5923
  "pluginAlias": "@xano/cli",
6083
5924
  "pluginName": "@xano/cli",
6084
5925
  "pluginType": "core",
@@ -6089,25 +5930,25 @@
6089
5930
  "dist",
6090
5931
  "commands",
6091
5932
  "tenant",
6092
- "cluster",
6093
- "list",
5933
+ "backup",
5934
+ "delete",
6094
5935
  "index.js"
6095
5936
  ]
6096
5937
  },
6097
- "tenant:env:delete": {
5938
+ "tenant:backup:export": {
6098
5939
  "aliases": [],
6099
5940
  "args": {
6100
5941
  "tenant_name": {
6101
- "description": "Tenant name",
5942
+ "description": "Tenant name to export backup from",
6102
5943
  "name": "tenant_name",
6103
5944
  "required": true
6104
5945
  }
6105
5946
  },
6106
- "description": "Delete an environment variable from a tenant",
5947
+ "description": "Export (download) a tenant backup to a local file",
6107
5948
  "examples": [
6108
- "$ xano tenant env delete my-tenant --name DATABASE_URL\nAre you sure you want to delete environment variable 'DATABASE_URL' from tenant my-tenant? (y/N) y\nEnvironment variable 'DATABASE_URL' deleted from tenant my-tenant\n",
6109
- "$ xano tenant env delete my-tenant --name DATABASE_URL --force\nEnvironment variable 'DATABASE_URL' deleted from tenant my-tenant\n",
6110
- "$ xano tenant env delete my-tenant --name DATABASE_URL -f -w 5 -o json"
5949
+ "$ xano tenant backup export t1234-abcd-xyz1 --backup_id 10\nDownloaded backup #10 to ./tenant-t1234-abcd-xyz1-backup-10.tar.gz\n",
5950
+ "$ xano tenant backup export t1234-abcd-xyz1 --backup_id 10 --output ./backups/my-backup.tar.gz",
5951
+ "$ xano tenant backup export t1234-abcd-xyz1 --backup_id 10 -o json"
6111
5952
  ],
6112
5953
  "flags": {
6113
5954
  "profile": {
@@ -6129,27 +5970,18 @@
6129
5970
  "allowNo": false,
6130
5971
  "type": "boolean"
6131
5972
  },
6132
- "force": {
6133
- "char": "f",
6134
- "description": "Skip confirmation prompt",
6135
- "name": "force",
6136
- "required": false,
6137
- "allowNo": false,
6138
- "type": "boolean"
6139
- },
6140
- "name": {
6141
- "char": "n",
6142
- "description": "Environment variable name",
6143
- "name": "name",
5973
+ "backup_id": {
5974
+ "description": "Backup ID to export",
5975
+ "name": "backup_id",
6144
5976
  "required": true,
6145
5977
  "hasDynamicHelp": false,
6146
5978
  "multiple": false,
6147
5979
  "type": "option"
6148
5980
  },
6149
- "output": {
5981
+ "format": {
6150
5982
  "char": "o",
6151
5983
  "description": "Output format",
6152
- "name": "output",
5984
+ "name": "format",
6153
5985
  "required": false,
6154
5986
  "default": "summary",
6155
5987
  "hasDynamicHelp": false,
@@ -6160,6 +5992,14 @@
6160
5992
  ],
6161
5993
  "type": "option"
6162
5994
  },
5995
+ "output": {
5996
+ "description": "Output file path (defaults to ./tenant-{name}-backup-{backup_id}.tar.gz)",
5997
+ "name": "output",
5998
+ "required": false,
5999
+ "hasDynamicHelp": false,
6000
+ "multiple": false,
6001
+ "type": "option"
6002
+ },
6163
6003
  "workspace": {
6164
6004
  "char": "w",
6165
6005
  "description": "Workspace ID (uses profile workspace if not provided)",
@@ -6172,7 +6012,7 @@
6172
6012
  },
6173
6013
  "hasDynamicHelp": false,
6174
6014
  "hiddenAliases": [],
6175
- "id": "tenant:env:delete",
6015
+ "id": "tenant:backup:export",
6176
6016
  "pluginAlias": "@xano/cli",
6177
6017
  "pluginName": "@xano/cli",
6178
6018
  "pluginType": "core",
@@ -6183,24 +6023,24 @@
6183
6023
  "dist",
6184
6024
  "commands",
6185
6025
  "tenant",
6186
- "env",
6187
- "delete",
6026
+ "backup",
6027
+ "export",
6188
6028
  "index.js"
6189
6029
  ]
6190
6030
  },
6191
- "tenant:env:get": {
6031
+ "tenant:backup:import": {
6192
6032
  "aliases": [],
6193
6033
  "args": {
6194
6034
  "tenant_name": {
6195
- "description": "Tenant name",
6035
+ "description": "Tenant name to import backup into",
6196
6036
  "name": "tenant_name",
6197
6037
  "required": true
6198
6038
  }
6199
6039
  },
6200
- "description": "Get a single environment variable for a tenant",
6040
+ "description": "Import a backup file into a tenant",
6201
6041
  "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"
6042
+ "$ xano tenant backup import t1234-abcd-xyz1 --file ./my-backup.tar.gz\nImported backup as #15 for tenant t1234-abcd-xyz1\n",
6043
+ "$ xano tenant backup import t1234-abcd-xyz1 --file ./my-backup.tar.gz --description \"Restored from production\" -o json"
6204
6044
  ],
6205
6045
  "flags": {
6206
6046
  "profile": {
@@ -6222,10 +6062,20 @@
6222
6062
  "allowNo": false,
6223
6063
  "type": "boolean"
6224
6064
  },
6225
- "name": {
6226
- "char": "n",
6227
- "description": "Environment variable name",
6228
- "name": "name",
6065
+ "description": {
6066
+ "char": "d",
6067
+ "description": "Backup description",
6068
+ "name": "description",
6069
+ "required": false,
6070
+ "default": "",
6071
+ "hasDynamicHelp": false,
6072
+ "multiple": false,
6073
+ "type": "option"
6074
+ },
6075
+ "file": {
6076
+ "char": "f",
6077
+ "description": "Path to the backup file (.tar.gz)",
6078
+ "name": "file",
6229
6079
  "required": true,
6230
6080
  "hasDynamicHelp": false,
6231
6081
  "multiple": false,
@@ -6257,7 +6107,7 @@
6257
6107
  },
6258
6108
  "hasDynamicHelp": false,
6259
6109
  "hiddenAliases": [],
6260
- "id": "tenant:env:get",
6110
+ "id": "tenant:backup:import",
6261
6111
  "pluginAlias": "@xano/cli",
6262
6112
  "pluginName": "@xano/cli",
6263
6113
  "pluginType": "core",
@@ -6268,26 +6118,24 @@
6268
6118
  "dist",
6269
6119
  "commands",
6270
6120
  "tenant",
6271
- "env",
6272
- "get",
6121
+ "backup",
6122
+ "import",
6273
6123
  "index.js"
6274
6124
  ]
6275
6125
  },
6276
- "tenant:env:get_all": {
6126
+ "tenant:backup:list": {
6277
6127
  "aliases": [],
6278
6128
  "args": {
6279
6129
  "tenant_name": {
6280
- "description": "Tenant name",
6130
+ "description": "Tenant name to list backups for",
6281
6131
  "name": "tenant_name",
6282
6132
  "required": true
6283
6133
  }
6284
6134
  },
6285
- "description": "Get all environment variables for a tenant and save to a YAML file",
6135
+ "description": "List backups for a tenant",
6286
6136
  "examples": [
6287
- "$ xano tenant env get_all my-tenant\nEnvironment variables saved to env_my-tenant.yaml\n",
6288
- "$ xano tenant env get_all my-tenant --file ./my-env.yaml",
6289
- "$ xano tenant env get_all my-tenant --view",
6290
- "$ xano tenant env get_all my-tenant -o json"
6137
+ "$ 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",
6138
+ "$ xano tenant backup list t1234-abcd-xyz1 -o json"
6291
6139
  ],
6292
6140
  "flags": {
6293
6141
  "profile": {
@@ -6309,15 +6157,6 @@
6309
6157
  "allowNo": false,
6310
6158
  "type": "boolean"
6311
6159
  },
6312
- "file": {
6313
- "char": "f",
6314
- "description": "Output file path (default: env_<tenant_name>.yaml)",
6315
- "name": "file",
6316
- "required": false,
6317
- "hasDynamicHelp": false,
6318
- "multiple": false,
6319
- "type": "option"
6320
- },
6321
6160
  "output": {
6322
6161
  "char": "o",
6323
6162
  "description": "Output format",
@@ -6332,12 +6171,14 @@
6332
6171
  ],
6333
6172
  "type": "option"
6334
6173
  },
6335
- "view": {
6336
- "description": "Print environment variables to stdout instead of saving to file",
6337
- "name": "view",
6174
+ "page": {
6175
+ "description": "Page number for pagination",
6176
+ "name": "page",
6338
6177
  "required": false,
6339
- "allowNo": false,
6340
- "type": "boolean"
6178
+ "default": 1,
6179
+ "hasDynamicHelp": false,
6180
+ "multiple": false,
6181
+ "type": "option"
6341
6182
  },
6342
6183
  "workspace": {
6343
6184
  "char": "w",
@@ -6351,7 +6192,7 @@
6351
6192
  },
6352
6193
  "hasDynamicHelp": false,
6353
6194
  "hiddenAliases": [],
6354
- "id": "tenant:env:get_all",
6195
+ "id": "tenant:backup:list",
6355
6196
  "pluginAlias": "@xano/cli",
6356
6197
  "pluginName": "@xano/cli",
6357
6198
  "pluginType": "core",
@@ -6362,24 +6203,24 @@
6362
6203
  "dist",
6363
6204
  "commands",
6364
6205
  "tenant",
6365
- "env",
6366
- "get_all",
6206
+ "backup",
6207
+ "list",
6367
6208
  "index.js"
6368
6209
  ]
6369
6210
  },
6370
- "tenant:env:list": {
6211
+ "tenant:backup:restore": {
6371
6212
  "aliases": [],
6372
6213
  "args": {
6373
6214
  "tenant_name": {
6374
- "description": "Tenant name",
6215
+ "description": "Tenant name to restore",
6375
6216
  "name": "tenant_name",
6376
6217
  "required": true
6377
6218
  }
6378
6219
  },
6379
- "description": "List environment variable keys for a tenant",
6220
+ "description": "Restore a tenant from a backup. This replaces the current tenant data.",
6380
6221
  "examples": [
6381
- "$ xano tenant env list my-tenant\nEnvironment variables for tenant my-tenant:\n - DATABASE_URL\n - API_KEY\n - SECRET_TOKEN\n",
6382
- "$ xano tenant env list my-tenant -w 5 -o json"
6222
+ "$ xano tenant backup restore t1234-abcd-xyz1 --backup_id 10\nAre you sure you want to restore tenant t1234-abcd-xyz1 from backup 10? This will replace current data. (y/N) y\nRestored tenant t1234-abcd-xyz1 from backup #10\n",
6223
+ "$ xano tenant backup restore t1234-abcd-xyz1 --backup_id 10 --force -o json"
6383
6224
  ],
6384
6225
  "flags": {
6385
6226
  "profile": {
@@ -6401,6 +6242,22 @@
6401
6242
  "allowNo": false,
6402
6243
  "type": "boolean"
6403
6244
  },
6245
+ "backup_id": {
6246
+ "description": "Backup ID to restore from",
6247
+ "name": "backup_id",
6248
+ "required": true,
6249
+ "hasDynamicHelp": false,
6250
+ "multiple": false,
6251
+ "type": "option"
6252
+ },
6253
+ "force": {
6254
+ "char": "f",
6255
+ "description": "Skip confirmation prompt",
6256
+ "name": "force",
6257
+ "required": false,
6258
+ "allowNo": false,
6259
+ "type": "boolean"
6260
+ },
6404
6261
  "output": {
6405
6262
  "char": "o",
6406
6263
  "description": "Output format",
@@ -6427,7 +6284,7 @@
6427
6284
  },
6428
6285
  "hasDynamicHelp": false,
6429
6286
  "hiddenAliases": [],
6430
- "id": "tenant:env:list",
6287
+ "id": "tenant:backup:restore",
6431
6288
  "pluginAlias": "@xano/cli",
6432
6289
  "pluginName": "@xano/cli",
6433
6290
  "pluginType": "core",
@@ -6438,24 +6295,25 @@
6438
6295
  "dist",
6439
6296
  "commands",
6440
6297
  "tenant",
6441
- "env",
6442
- "list",
6298
+ "backup",
6299
+ "restore",
6443
6300
  "index.js"
6444
6301
  ]
6445
6302
  },
6446
- "tenant:env:set": {
6303
+ "static_host:build:create": {
6447
6304
  "aliases": [],
6448
6305
  "args": {
6449
- "tenant_name": {
6450
- "description": "Tenant name",
6451
- "name": "tenant_name",
6306
+ "static_host": {
6307
+ "description": "Static Host name",
6308
+ "name": "static_host",
6452
6309
  "required": true
6453
6310
  }
6454
6311
  },
6455
- "description": "Set (create or update) an environment variable for a tenant",
6312
+ "description": "Create a new build for a static host",
6456
6313
  "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"
6314
+ "$ 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",
6315
+ "$ 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",
6316
+ "$ 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"
6459
6317
  ],
6460
6318
  "flags": {
6461
6319
  "profile": {
@@ -6477,9 +6335,27 @@
6477
6335
  "allowNo": false,
6478
6336
  "type": "boolean"
6479
6337
  },
6338
+ "description": {
6339
+ "char": "d",
6340
+ "description": "Build description",
6341
+ "name": "description",
6342
+ "required": false,
6343
+ "hasDynamicHelp": false,
6344
+ "multiple": false,
6345
+ "type": "option"
6346
+ },
6347
+ "file": {
6348
+ "char": "f",
6349
+ "description": "Path to zip file to upload",
6350
+ "name": "file",
6351
+ "required": true,
6352
+ "hasDynamicHelp": false,
6353
+ "multiple": false,
6354
+ "type": "option"
6355
+ },
6480
6356
  "name": {
6481
6357
  "char": "n",
6482
- "description": "Environment variable name",
6358
+ "description": "Build name",
6483
6359
  "name": "name",
6484
6360
  "required": true,
6485
6361
  "hasDynamicHelp": false,
@@ -6500,17 +6376,9 @@
6500
6376
  ],
6501
6377
  "type": "option"
6502
6378
  },
6503
- "value": {
6504
- "description": "Environment variable value",
6505
- "name": "value",
6506
- "required": true,
6507
- "hasDynamicHelp": false,
6508
- "multiple": false,
6509
- "type": "option"
6510
- },
6511
6379
  "workspace": {
6512
6380
  "char": "w",
6513
- "description": "Workspace ID (uses profile workspace if not provided)",
6381
+ "description": "Workspace ID (optional if set in profile)",
6514
6382
  "name": "workspace",
6515
6383
  "required": false,
6516
6384
  "hasDynamicHelp": false,
@@ -6520,7 +6388,7 @@
6520
6388
  },
6521
6389
  "hasDynamicHelp": false,
6522
6390
  "hiddenAliases": [],
6523
- "id": "tenant:env:set",
6391
+ "id": "static_host:build:create",
6524
6392
  "pluginAlias": "@xano/cli",
6525
6393
  "pluginName": "@xano/cli",
6526
6394
  "pluginType": "core",
@@ -6530,27 +6398,19 @@
6530
6398
  "relativePath": [
6531
6399
  "dist",
6532
6400
  "commands",
6533
- "tenant",
6534
- "env",
6535
- "set",
6401
+ "static_host",
6402
+ "build",
6403
+ "create",
6536
6404
  "index.js"
6537
6405
  ]
6538
6406
  },
6539
- "tenant:license:set": {
6407
+ "tenant:cluster:create": {
6540
6408
  "aliases": [],
6541
- "args": {
6542
- "tenant_name": {
6543
- "description": "Tenant name",
6544
- "name": "tenant_name",
6545
- "required": true
6546
- }
6547
- },
6548
- "description": "Set/update the license for a tenant",
6409
+ "args": {},
6410
+ "description": "Create a new tenant cluster",
6549
6411
  "examples": [
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"
6412
+ "$ xano tenant cluster create --name \"us-east-1\" --credentials_file ./kubeconfig.yaml\nCreated tenant cluster: us-east-1 (standard) - ID: 3\n",
6413
+ "$ xano tenant cluster create --name \"eu-west-1\" --credentials \"...\" --type run --description \"EU run cluster\" -o json"
6554
6414
  ],
6555
6415
  "flags": {
6556
6416
  "profile": {
@@ -6572,28 +6432,54 @@
6572
6432
  "allowNo": false,
6573
6433
  "type": "boolean"
6574
6434
  },
6575
- "clean": {
6576
- "description": "Remove the source file after successful upload",
6435
+ "credentials": {
6436
+ "description": "Kubeconfig credentials (raw text)",
6577
6437
  "exclusive": [
6578
- "value"
6438
+ "credentials_file"
6579
6439
  ],
6580
- "name": "clean",
6440
+ "name": "credentials",
6581
6441
  "required": false,
6582
- "allowNo": false,
6583
- "type": "boolean"
6442
+ "hasDynamicHelp": false,
6443
+ "multiple": false,
6444
+ "type": "option"
6584
6445
  },
6585
- "file": {
6586
- "char": "f",
6587
- "description": "Path to license file (default: license_<tenant_name>.yaml)",
6446
+ "credentials_file": {
6447
+ "description": "Path to kubeconfig credentials file",
6588
6448
  "exclusive": [
6589
- "value"
6449
+ "credentials"
6590
6450
  ],
6591
- "name": "file",
6451
+ "name": "credentials_file",
6452
+ "required": false,
6453
+ "hasDynamicHelp": false,
6454
+ "multiple": false,
6455
+ "type": "option"
6456
+ },
6457
+ "description": {
6458
+ "char": "d",
6459
+ "description": "Cluster description",
6460
+ "name": "description",
6461
+ "required": false,
6462
+ "hasDynamicHelp": false,
6463
+ "multiple": false,
6464
+ "type": "option"
6465
+ },
6466
+ "domain": {
6467
+ "description": "Custom domain for the cluster",
6468
+ "name": "domain",
6592
6469
  "required": false,
6593
6470
  "hasDynamicHelp": false,
6594
6471
  "multiple": false,
6595
6472
  "type": "option"
6596
6473
  },
6474
+ "name": {
6475
+ "char": "n",
6476
+ "description": "Cluster name",
6477
+ "name": "name",
6478
+ "required": true,
6479
+ "hasDynamicHelp": false,
6480
+ "multiple": false,
6481
+ "type": "option"
6482
+ },
6597
6483
  "output": {
6598
6484
  "char": "o",
6599
6485
  "description": "Output format",
@@ -6608,31 +6494,23 @@
6608
6494
  ],
6609
6495
  "type": "option"
6610
6496
  },
6611
- "value": {
6612
- "description": "Inline license value",
6613
- "exclusive": [
6614
- "file",
6615
- "clean"
6616
- ],
6617
- "name": "value",
6618
- "required": false,
6619
- "hasDynamicHelp": false,
6620
- "multiple": false,
6621
- "type": "option"
6622
- },
6623
- "workspace": {
6624
- "char": "w",
6625
- "description": "Workspace ID (uses profile workspace if not provided)",
6626
- "name": "workspace",
6497
+ "type": {
6498
+ "description": "Cluster type",
6499
+ "name": "type",
6627
6500
  "required": false,
6501
+ "default": "standard",
6628
6502
  "hasDynamicHelp": false,
6629
6503
  "multiple": false,
6504
+ "options": [
6505
+ "standard",
6506
+ "run"
6507
+ ],
6630
6508
  "type": "option"
6631
6509
  }
6632
6510
  },
6633
6511
  "hasDynamicHelp": false,
6634
6512
  "hiddenAliases": [],
6635
- "id": "tenant:license:set",
6513
+ "id": "tenant:cluster:create",
6636
6514
  "pluginAlias": "@xano/cli",
6637
6515
  "pluginName": "@xano/cli",
6638
6516
  "pluginType": "core",
@@ -6643,26 +6521,25 @@
6643
6521
  "dist",
6644
6522
  "commands",
6645
6523
  "tenant",
6646
- "license",
6647
- "set",
6524
+ "cluster",
6525
+ "create",
6648
6526
  "index.js"
6649
6527
  ]
6650
6528
  },
6651
- "tenant:license:get": {
6529
+ "tenant:cluster:delete": {
6652
6530
  "aliases": [],
6653
6531
  "args": {
6654
- "tenant_name": {
6655
- "description": "Tenant name",
6656
- "name": "tenant_name",
6532
+ "cluster_id": {
6533
+ "description": "Cluster ID to delete",
6534
+ "name": "cluster_id",
6657
6535
  "required": true
6658
6536
  }
6659
6537
  },
6660
- "description": "Get the license for a tenant",
6538
+ "description": "Delete a tenant cluster. This action cannot be undone.",
6661
6539
  "examples": [
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"
6540
+ "$ xano tenant cluster delete 3\nAre you sure you want to delete tenant cluster 3? This action cannot be undone. (y/N) y\nTenant cluster 3 deleted successfully\n",
6541
+ "$ xano tenant cluster delete 3 --force\nTenant cluster 3 deleted successfully\n",
6542
+ "$ xano tenant cluster delete 3 -f -o json"
6666
6543
  ],
6667
6544
  "flags": {
6668
6545
  "profile": {
@@ -6684,14 +6561,13 @@
6684
6561
  "allowNo": false,
6685
6562
  "type": "boolean"
6686
6563
  },
6687
- "file": {
6564
+ "force": {
6688
6565
  "char": "f",
6689
- "description": "Output file path (default: license_<tenant_name>.yaml)",
6690
- "name": "file",
6566
+ "description": "Skip confirmation prompt",
6567
+ "name": "force",
6691
6568
  "required": false,
6692
- "hasDynamicHelp": false,
6693
- "multiple": false,
6694
- "type": "option"
6569
+ "allowNo": false,
6570
+ "type": "boolean"
6695
6571
  },
6696
6572
  "output": {
6697
6573
  "char": "o",
@@ -6706,27 +6582,11 @@
6706
6582
  "json"
6707
6583
  ],
6708
6584
  "type": "option"
6709
- },
6710
- "view": {
6711
- "description": "Print license to stdout instead of saving to file",
6712
- "name": "view",
6713
- "required": false,
6714
- "allowNo": false,
6715
- "type": "boolean"
6716
- },
6717
- "workspace": {
6718
- "char": "w",
6719
- "description": "Workspace ID (uses profile workspace if not provided)",
6720
- "name": "workspace",
6721
- "required": false,
6722
- "hasDynamicHelp": false,
6723
- "multiple": false,
6724
- "type": "option"
6725
6585
  }
6726
6586
  },
6727
6587
  "hasDynamicHelp": false,
6728
6588
  "hiddenAliases": [],
6729
- "id": "tenant:license:get",
6589
+ "id": "tenant:cluster:delete",
6730
6590
  "pluginAlias": "@xano/cli",
6731
6591
  "pluginName": "@xano/cli",
6732
6592
  "pluginType": "core",
@@ -6737,25 +6597,18 @@
6737
6597
  "dist",
6738
6598
  "commands",
6739
6599
  "tenant",
6740
- "license",
6741
- "get",
6600
+ "cluster",
6601
+ "delete",
6742
6602
  "index.js"
6743
6603
  ]
6744
6604
  },
6745
- "tenant:env:set_all": {
6605
+ "tenant:cluster:list": {
6746
6606
  "aliases": [],
6747
- "args": {
6748
- "tenant_name": {
6749
- "description": "Tenant name",
6750
- "name": "tenant_name",
6751
- "required": true
6752
- }
6753
- },
6754
- "description": "Set all environment variables for a tenant from a YAML file (replaces all existing)",
6607
+ "args": {},
6608
+ "description": "List all tenant clusters",
6755
6609
  "examples": [
6756
- "$ xano tenant env set_all my-tenant\nReads from env_my-tenant.yaml\n",
6757
- "$ xano tenant env set_all my-tenant --file ./my-env.yaml",
6758
- "$ xano tenant env set_all my-tenant -o json"
6610
+ "$ xano tenant cluster list\nTenant clusters:\n - us-east-1 (standard) [ID: 1]\n - eu-west-1 (run) [ID: 2]\n",
6611
+ "$ xano tenant cluster list --output json"
6759
6612
  ],
6760
6613
  "flags": {
6761
6614
  "profile": {
@@ -6777,22 +6630,6 @@
6777
6630
  "allowNo": false,
6778
6631
  "type": "boolean"
6779
6632
  },
6780
- "clean": {
6781
- "description": "Remove the source file after successful upload",
6782
- "name": "clean",
6783
- "required": false,
6784
- "allowNo": false,
6785
- "type": "boolean"
6786
- },
6787
- "file": {
6788
- "char": "f",
6789
- "description": "Path to env file (default: env_<tenant_name>.yaml)",
6790
- "name": "file",
6791
- "required": false,
6792
- "hasDynamicHelp": false,
6793
- "multiple": false,
6794
- "type": "option"
6795
- },
6796
6633
  "output": {
6797
6634
  "char": "o",
6798
6635
  "description": "Output format",
@@ -6806,20 +6643,11 @@
6806
6643
  "json"
6807
6644
  ],
6808
6645
  "type": "option"
6809
- },
6810
- "workspace": {
6811
- "char": "w",
6812
- "description": "Workspace ID (uses profile workspace if not provided)",
6813
- "name": "workspace",
6814
- "required": false,
6815
- "hasDynamicHelp": false,
6816
- "multiple": false,
6817
- "type": "option"
6818
6646
  }
6819
6647
  },
6820
6648
  "hasDynamicHelp": false,
6821
6649
  "hiddenAliases": [],
6822
- "id": "tenant:env:set_all",
6650
+ "id": "tenant:cluster:list",
6823
6651
  "pluginAlias": "@xano/cli",
6824
6652
  "pluginName": "@xano/cli",
6825
6653
  "pluginType": "core",
@@ -6830,8 +6658,8 @@
6830
6658
  "dist",
6831
6659
  "commands",
6832
6660
  "tenant",
6833
- "env",
6834
- "set_all",
6661
+ "cluster",
6662
+ "list",
6835
6663
  "index.js"
6836
6664
  ]
6837
6665
  },
@@ -6929,6 +6757,178 @@
6929
6757
  "index.js"
6930
6758
  ]
6931
6759
  },
6760
+ "tenant:cluster:get": {
6761
+ "aliases": [],
6762
+ "args": {
6763
+ "cluster_id": {
6764
+ "description": "Cluster ID to retrieve",
6765
+ "name": "cluster_id",
6766
+ "required": true
6767
+ }
6768
+ },
6769
+ "description": "Get details of a specific tenant cluster",
6770
+ "examples": [
6771
+ "$ xano tenant cluster get 1\nCluster: us-east-1\n ID: 1\n Type: standard\n Domain: us-east-1.xano.io\n",
6772
+ "$ xano tenant cluster get 1 -o json"
6773
+ ],
6774
+ "flags": {
6775
+ "profile": {
6776
+ "char": "p",
6777
+ "description": "Profile to use (uses default profile if not specified)",
6778
+ "env": "XANO_PROFILE",
6779
+ "name": "profile",
6780
+ "required": false,
6781
+ "hasDynamicHelp": false,
6782
+ "multiple": false,
6783
+ "type": "option"
6784
+ },
6785
+ "verbose": {
6786
+ "char": "v",
6787
+ "description": "Show detailed request/response information",
6788
+ "env": "XANO_VERBOSE",
6789
+ "name": "verbose",
6790
+ "required": false,
6791
+ "allowNo": false,
6792
+ "type": "boolean"
6793
+ },
6794
+ "output": {
6795
+ "char": "o",
6796
+ "description": "Output format",
6797
+ "name": "output",
6798
+ "required": false,
6799
+ "default": "summary",
6800
+ "hasDynamicHelp": false,
6801
+ "multiple": false,
6802
+ "options": [
6803
+ "summary",
6804
+ "json"
6805
+ ],
6806
+ "type": "option"
6807
+ }
6808
+ },
6809
+ "hasDynamicHelp": false,
6810
+ "hiddenAliases": [],
6811
+ "id": "tenant:cluster:get",
6812
+ "pluginAlias": "@xano/cli",
6813
+ "pluginName": "@xano/cli",
6814
+ "pluginType": "core",
6815
+ "strict": true,
6816
+ "enableJsonFlag": false,
6817
+ "isESM": true,
6818
+ "relativePath": [
6819
+ "dist",
6820
+ "commands",
6821
+ "tenant",
6822
+ "cluster",
6823
+ "get",
6824
+ "index.js"
6825
+ ]
6826
+ },
6827
+ "tenant:cluster:edit": {
6828
+ "aliases": [],
6829
+ "args": {
6830
+ "cluster_id": {
6831
+ "description": "Cluster ID to edit",
6832
+ "name": "cluster_id",
6833
+ "required": true
6834
+ }
6835
+ },
6836
+ "description": "Update an existing tenant cluster",
6837
+ "examples": [
6838
+ "$ 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",
6839
+ "$ xano tenant cluster edit 1 --name \"eu-west\" --description \"\" --domain \"\" --type run -o json"
6840
+ ],
6841
+ "flags": {
6842
+ "profile": {
6843
+ "char": "p",
6844
+ "description": "Profile to use (uses default profile if not specified)",
6845
+ "env": "XANO_PROFILE",
6846
+ "name": "profile",
6847
+ "required": false,
6848
+ "hasDynamicHelp": false,
6849
+ "multiple": false,
6850
+ "type": "option"
6851
+ },
6852
+ "verbose": {
6853
+ "char": "v",
6854
+ "description": "Show detailed request/response information",
6855
+ "env": "XANO_VERBOSE",
6856
+ "name": "verbose",
6857
+ "required": false,
6858
+ "allowNo": false,
6859
+ "type": "boolean"
6860
+ },
6861
+ "description": {
6862
+ "char": "d",
6863
+ "description": "Cluster description",
6864
+ "name": "description",
6865
+ "required": true,
6866
+ "hasDynamicHelp": false,
6867
+ "multiple": false,
6868
+ "type": "option"
6869
+ },
6870
+ "domain": {
6871
+ "description": "Custom domain for the cluster",
6872
+ "name": "domain",
6873
+ "required": true,
6874
+ "hasDynamicHelp": false,
6875
+ "multiple": false,
6876
+ "type": "option"
6877
+ },
6878
+ "name": {
6879
+ "char": "n",
6880
+ "description": "Cluster name",
6881
+ "name": "name",
6882
+ "required": true,
6883
+ "hasDynamicHelp": false,
6884
+ "multiple": false,
6885
+ "type": "option"
6886
+ },
6887
+ "output": {
6888
+ "char": "o",
6889
+ "description": "Output format",
6890
+ "name": "output",
6891
+ "required": false,
6892
+ "default": "summary",
6893
+ "hasDynamicHelp": false,
6894
+ "multiple": false,
6895
+ "options": [
6896
+ "summary",
6897
+ "json"
6898
+ ],
6899
+ "type": "option"
6900
+ },
6901
+ "type": {
6902
+ "description": "Cluster type",
6903
+ "name": "type",
6904
+ "required": true,
6905
+ "hasDynamicHelp": false,
6906
+ "multiple": false,
6907
+ "options": [
6908
+ "standard",
6909
+ "run"
6910
+ ],
6911
+ "type": "option"
6912
+ }
6913
+ },
6914
+ "hasDynamicHelp": false,
6915
+ "hiddenAliases": [],
6916
+ "id": "tenant:cluster:edit",
6917
+ "pluginAlias": "@xano/cli",
6918
+ "pluginName": "@xano/cli",
6919
+ "pluginType": "core",
6920
+ "strict": true,
6921
+ "enableJsonFlag": false,
6922
+ "isESM": true,
6923
+ "relativePath": [
6924
+ "dist",
6925
+ "commands",
6926
+ "tenant",
6927
+ "cluster",
6928
+ "edit",
6929
+ "index.js"
6930
+ ]
6931
+ },
6932
6932
  "tenant:cluster:license:get": {
6933
6933
  "aliases": [],
6934
6934
  "args": {
@@ -7120,5 +7120,5 @@
7120
7120
  ]
7121
7121
  }
7122
7122
  },
7123
- "version": "0.0.69-beta.1"
7123
+ "version": "0.0.69-beta.2"
7124
7124
  }