@xano/cli 0.0.45 → 0.0.47

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.
@@ -40,7 +40,8 @@
40
40
  "args": {},
41
41
  "description": "Update the Xano CLI to the latest version",
42
42
  "examples": [
43
- "$ xano update"
43
+ "$ xano update",
44
+ "$ xano update --check"
44
45
  ],
45
46
  "flags": {
46
47
  "profile": {
@@ -61,6 +62,12 @@
61
62
  "required": false,
62
63
  "allowNo": false,
63
64
  "type": "boolean"
65
+ },
66
+ "check": {
67
+ "description": "Check for updates without installing",
68
+ "name": "check",
69
+ "allowNo": false,
70
+ "type": "boolean"
64
71
  }
65
72
  },
66
73
  "hasDynamicHelp": false,
@@ -270,6 +277,90 @@
270
277
  "index.js"
271
278
  ]
272
279
  },
280
+ "branch:set_live": {
281
+ "aliases": [],
282
+ "args": {
283
+ "branch_label": {
284
+ "description": "Branch label to set as live (use \"v1\" for default branch)",
285
+ "name": "branch_label",
286
+ "required": true
287
+ }
288
+ },
289
+ "description": "Set a branch as the live (active) branch for API requests",
290
+ "examples": [
291
+ "$ xano branch set-live staging\nAre you sure you want to set 'staging' as the live branch? (y/N) y\nBranch 'staging' is now live\n",
292
+ "$ xano branch set-live v1 --force\nBranch 'v1' is now live\n",
293
+ "$ xano branch set-live production -f -o json\n{\n \"created_at\": \"2024-02-10T09:15:00Z\",\n \"label\": \"production\",\n \"backup\": false,\n \"live\": true\n}\n"
294
+ ],
295
+ "flags": {
296
+ "profile": {
297
+ "char": "p",
298
+ "description": "Profile to use (uses default profile if not specified)",
299
+ "env": "XANO_PROFILE",
300
+ "name": "profile",
301
+ "required": false,
302
+ "hasDynamicHelp": false,
303
+ "multiple": false,
304
+ "type": "option"
305
+ },
306
+ "verbose": {
307
+ "char": "v",
308
+ "description": "Show detailed request/response information",
309
+ "env": "XANO_VERBOSE",
310
+ "name": "verbose",
311
+ "required": false,
312
+ "allowNo": false,
313
+ "type": "boolean"
314
+ },
315
+ "force": {
316
+ "char": "f",
317
+ "description": "Skip confirmation prompt",
318
+ "name": "force",
319
+ "required": false,
320
+ "allowNo": false,
321
+ "type": "boolean"
322
+ },
323
+ "output": {
324
+ "char": "o",
325
+ "description": "Output format",
326
+ "name": "output",
327
+ "required": false,
328
+ "default": "summary",
329
+ "hasDynamicHelp": false,
330
+ "multiple": false,
331
+ "options": [
332
+ "summary",
333
+ "json"
334
+ ],
335
+ "type": "option"
336
+ },
337
+ "workspace": {
338
+ "char": "w",
339
+ "description": "Workspace ID (uses profile workspace if not provided)",
340
+ "name": "workspace",
341
+ "required": false,
342
+ "hasDynamicHelp": false,
343
+ "multiple": false,
344
+ "type": "option"
345
+ }
346
+ },
347
+ "hasDynamicHelp": false,
348
+ "hiddenAliases": [],
349
+ "id": "branch:set_live",
350
+ "pluginAlias": "@xano/cli",
351
+ "pluginName": "@xano/cli",
352
+ "pluginType": "core",
353
+ "strict": true,
354
+ "enableJsonFlag": false,
355
+ "isESM": true,
356
+ "relativePath": [
357
+ "dist",
358
+ "commands",
359
+ "branch",
360
+ "set_live",
361
+ "index.js"
362
+ ]
363
+ },
273
364
  "branch:list": {
274
365
  "aliases": [],
275
366
  "args": {
@@ -582,20 +673,13 @@
582
673
  "index.js"
583
674
  ]
584
675
  },
585
- "branch:set_live": {
676
+ "platform:list": {
586
677
  "aliases": [],
587
- "args": {
588
- "branch_label": {
589
- "description": "Branch label to set as live (use \"v1\" for default branch)",
590
- "name": "branch_label",
591
- "required": true
592
- }
593
- },
594
- "description": "Set a branch as the live (active) branch for API requests",
678
+ "args": {},
679
+ "description": "List all platforms",
595
680
  "examples": [
596
- "$ xano branch set-live staging\nAre you sure you want to set 'staging' as the live branch? (y/N) y\nBranch 'staging' is now live\n",
597
- "$ xano branch set-live v1 --force\nBranch 'v1' is now live\n",
598
- "$ xano branch set-live production -f -o json\n{\n \"created_at\": \"2024-02-10T09:15:00Z\",\n \"label\": \"production\",\n \"backup\": false,\n \"live\": true\n}\n"
681
+ "$ xano platform list\nPlatforms:\n ID: 23629 | Helm: 0.1.356 | Created: 2025-11-28\n",
682
+ "$ xano platform list --output json"
599
683
  ],
600
684
  "flags": {
601
685
  "profile": {
@@ -617,14 +701,6 @@
617
701
  "allowNo": false,
618
702
  "type": "boolean"
619
703
  },
620
- "force": {
621
- "char": "f",
622
- "description": "Skip confirmation prompt",
623
- "name": "force",
624
- "required": false,
625
- "allowNo": false,
626
- "type": "boolean"
627
- },
628
704
  "output": {
629
705
  "char": "o",
630
706
  "description": "Output format",
@@ -638,20 +714,11 @@
638
714
  "json"
639
715
  ],
640
716
  "type": "option"
641
- },
642
- "workspace": {
643
- "char": "w",
644
- "description": "Workspace ID (uses profile workspace if not provided)",
645
- "name": "workspace",
646
- "required": false,
647
- "hasDynamicHelp": false,
648
- "multiple": false,
649
- "type": "option"
650
717
  }
651
718
  },
652
719
  "hasDynamicHelp": false,
653
720
  "hiddenAliases": [],
654
- "id": "branch:set_live",
721
+ "id": "platform:list",
655
722
  "pluginAlias": "@xano/cli",
656
723
  "pluginName": "@xano/cli",
657
724
  "pluginType": "core",
@@ -661,18 +728,28 @@
661
728
  "relativePath": [
662
729
  "dist",
663
730
  "commands",
664
- "branch",
665
- "set_live",
731
+ "platform",
732
+ "list",
666
733
  "index.js"
667
734
  ]
668
735
  },
669
- "platform:list": {
736
+ "function:get": {
670
737
  "aliases": [],
671
- "args": {},
672
- "description": "List all platforms",
738
+ "args": {
739
+ "function_id": {
740
+ "description": "Function ID",
741
+ "name": "function_id",
742
+ "required": false
743
+ }
744
+ },
745
+ "description": "Get a specific function from a workspace",
673
746
  "examples": [
674
- "$ xano platform list\nPlatforms:\n ID: 23629 | Helm: 0.1.356 | Created: 2025-11-28\n",
675
- "$ xano platform list --output json"
747
+ "$ xano function:get 145 -w 40\nFunction: yo (ID: 145)\nCreated: 2025-10-10 10:30:00\nDescription: Sample function\n",
748
+ "$ xano function:get 145 --profile production\nFunction: yo (ID: 145)\nCreated: 2025-10-10 10:30:00\n",
749
+ "$ xano function:get\nSelect a function:\n ❯ yo (ID: 145) - Sample function\n another-func (ID: 146)\n",
750
+ "$ xano function:get 145 -w 40 --output json\n{\n \"id\": 145,\n \"name\": \"yo\",\n \"description\": \"Sample function\"\n}\n",
751
+ "$ xano function:get 145 -p staging -o json --include_draft\n{\n \"id\": 145,\n \"name\": \"yo\"\n}\n",
752
+ "$ xano function:get 145 -p staging -o xs\nfunction yo {\n input {\n }\n stack {\n }\n response = null\n}\n"
676
753
  ],
677
754
  "flags": {
678
755
  "profile": {
@@ -694,6 +771,20 @@
694
771
  "allowNo": false,
695
772
  "type": "boolean"
696
773
  },
774
+ "include_draft": {
775
+ "description": "Include draft version",
776
+ "name": "include_draft",
777
+ "required": false,
778
+ "allowNo": false,
779
+ "type": "boolean"
780
+ },
781
+ "include_xanoscript": {
782
+ "description": "Include XanoScript in response",
783
+ "name": "include_xanoscript",
784
+ "required": false,
785
+ "allowNo": false,
786
+ "type": "boolean"
787
+ },
697
788
  "output": {
698
789
  "char": "o",
699
790
  "description": "Output format",
@@ -704,14 +795,24 @@
704
795
  "multiple": false,
705
796
  "options": [
706
797
  "summary",
707
- "json"
798
+ "json",
799
+ "xs"
708
800
  ],
709
801
  "type": "option"
802
+ },
803
+ "workspace": {
804
+ "char": "w",
805
+ "description": "Workspace ID (optional if set in profile)",
806
+ "name": "workspace",
807
+ "required": false,
808
+ "hasDynamicHelp": false,
809
+ "multiple": false,
810
+ "type": "option"
710
811
  }
711
812
  },
712
813
  "hasDynamicHelp": false,
713
814
  "hiddenAliases": [],
714
- "id": "platform:list",
815
+ "id": "function:get",
715
816
  "pluginAlias": "@xano/cli",
716
817
  "pluginName": "@xano/cli",
717
818
  "pluginType": "core",
@@ -721,30 +822,20 @@
721
822
  "relativePath": [
722
823
  "dist",
723
824
  "commands",
724
- "platform",
725
- "list",
825
+ "function",
826
+ "get",
726
827
  "index.js"
727
828
  ]
728
829
  },
729
- "function:edit": {
830
+ "function:list": {
730
831
  "aliases": [],
731
- "args": {
732
- "function_id": {
733
- "description": "Function ID to edit",
734
- "name": "function_id",
735
- "required": false
736
- }
737
- },
738
- "description": "Edit a function in a workspace",
832
+ "args": {},
833
+ "description": "List all functions in a workspace from the Xano Metadata API",
739
834
  "examples": [
740
- "$ 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",
741
- "$ 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",
742
- "$ xano function:edit 163 -f function.xs\nFunction updated successfully!\nID: 163\nName: my_function\n",
743
- "$ xano function:edit 163 -w 40 -f function.xs\nFunction updated successfully!\nID: 163\nName: my_function\n",
744
- "$ xano function:edit -f function.xs\nSelect a function to edit:\n ❯ my_function (ID: 163) - Sample function\n another-func (ID: 164)\n",
745
- "$ 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",
746
- "$ cat function.xs | xano function:edit 163 --stdin\nFunction updated successfully!\nID: 163\nName: my_function\n",
747
- "$ xano function:edit 163 -f function.xs -o json\n{\n \"id\": 163,\n \"name\": \"my_function\",\n ...\n}\n"
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"
748
839
  ],
749
840
  "flags": {
750
841
  "profile": {
@@ -766,24 +857,31 @@
766
857
  "allowNo": false,
767
858
  "type": "boolean"
768
859
  },
769
- "edit": {
770
- "char": "e",
771
- "description": "Open file in editor before updating function (requires --file)",
772
- "name": "edit",
860
+ "include_draft": {
861
+ "description": "Include draft functions",
862
+ "name": "include_draft",
773
863
  "required": false,
774
864
  "allowNo": false,
775
865
  "type": "boolean"
776
866
  },
777
- "file": {
778
- "char": "f",
779
- "description": "Path to file containing XanoScript code",
780
- "exclusive": [
781
- "stdin"
782
- ],
783
- "name": "file",
867
+ "include_xanoscript": {
868
+ "description": "Include XanoScript in response",
869
+ "name": "include_xanoscript",
870
+ "required": false,
871
+ "allowNo": false,
872
+ "type": "boolean"
873
+ },
874
+ "order": {
875
+ "description": "Sort order",
876
+ "name": "order",
784
877
  "required": false,
878
+ "default": "desc",
785
879
  "hasDynamicHelp": false,
786
880
  "multiple": false,
881
+ "options": [
882
+ "asc",
883
+ "desc"
884
+ ],
787
885
  "type": "option"
788
886
  },
789
887
  "output": {
@@ -800,23 +898,32 @@
800
898
  ],
801
899
  "type": "option"
802
900
  },
803
- "publish": {
804
- "description": "Publish the function after editing",
805
- "name": "publish",
901
+ "page": {
902
+ "description": "Page number for pagination",
903
+ "name": "page",
806
904
  "required": false,
807
- "allowNo": false,
808
- "type": "boolean"
905
+ "default": 1,
906
+ "hasDynamicHelp": false,
907
+ "multiple": false,
908
+ "type": "option"
809
909
  },
810
- "stdin": {
811
- "char": "s",
812
- "description": "Read XanoScript code from stdin",
813
- "exclusive": [
814
- "file"
815
- ],
816
- "name": "stdin",
910
+ "per_page": {
911
+ "description": "Number of results per page",
912
+ "name": "per_page",
817
913
  "required": false,
818
- "allowNo": false,
819
- "type": "boolean"
914
+ "default": 50,
915
+ "hasDynamicHelp": false,
916
+ "multiple": false,
917
+ "type": "option"
918
+ },
919
+ "sort": {
920
+ "description": "Sort field",
921
+ "name": "sort",
922
+ "required": false,
923
+ "default": "created_at",
924
+ "hasDynamicHelp": false,
925
+ "multiple": false,
926
+ "type": "option"
820
927
  },
821
928
  "workspace": {
822
929
  "char": "w",
@@ -830,7 +937,7 @@
830
937
  },
831
938
  "hasDynamicHelp": false,
832
939
  "hiddenAliases": [],
833
- "id": "function:edit",
940
+ "id": "function:list",
834
941
  "pluginAlias": "@xano/cli",
835
942
  "pluginName": "@xano/cli",
836
943
  "pluginType": "core",
@@ -841,80 +948,73 @@
841
948
  "dist",
842
949
  "commands",
843
950
  "function",
844
- "edit",
951
+ "list",
845
952
  "index.js"
846
953
  ]
847
954
  },
848
- "function:get": {
955
+ "profile:create": {
849
956
  "aliases": [],
850
957
  "args": {
851
- "function_id": {
852
- "description": "Function ID",
853
- "name": "function_id",
854
- "required": false
958
+ "name": {
959
+ "description": "Profile name",
960
+ "name": "name",
961
+ "required": true
855
962
  }
856
963
  },
857
- "description": "Get a specific function from a workspace",
964
+ "description": "Create a new profile configuration",
858
965
  "examples": [
859
- "$ xano function:get 145 -w 40\nFunction: yo (ID: 145)\nCreated: 2025-10-10 10:30:00\nDescription: Sample function\n",
860
- "$ xano function:get 145 --profile production\nFunction: yo (ID: 145)\nCreated: 2025-10-10 10:30:00\n",
861
- "$ xano function:get\nSelect a function:\n ❯ yo (ID: 145) - Sample function\n another-func (ID: 146)\n",
862
- "$ xano function:get 145 -w 40 --output json\n{\n \"id\": 145,\n \"name\": \"yo\",\n \"description\": \"Sample function\"\n}\n",
863
- "$ xano function:get 145 -p staging -o json --include_draft\n{\n \"id\": 145,\n \"name\": \"yo\"\n}\n",
864
- "$ xano function:get 145 -p staging -o xs\nfunction yo {\n input {\n }\n stack {\n }\n response = null\n}\n"
966
+ "$ xano profile:create production --account_origin https://account.xano.com --instance_origin https://instance.xano.com --access_token token123\nProfile 'production' created successfully at ~/.xano/credentials.yaml\n",
967
+ "$ xano profile:create staging -a https://staging-account.xano.com -i https://staging-instance.xano.com -t token456\nProfile 'staging' created successfully at ~/.xano/credentials.yaml\n",
968
+ "$ xano profile:create dev -i https://dev-instance.xano.com -t token789 -w my-workspace -b feature-branch\nProfile 'dev' created successfully at ~/.xano/credentials.yaml\n",
969
+ "$ xano profile:create production --account_origin https://account.xano.com --instance_origin https://instance.xano.com --access_token token123 --default\nProfile 'production' created successfully at ~/.xano/credentials.yaml\nDefault profile set to 'production'\n"
865
970
  ],
866
971
  "flags": {
867
- "profile": {
868
- "char": "p",
869
- "description": "Profile to use (uses default profile if not specified)",
870
- "env": "XANO_PROFILE",
871
- "name": "profile",
872
- "required": false,
972
+ "access_token": {
973
+ "char": "t",
974
+ "description": "Access token for the Xano Metadata API",
975
+ "name": "access_token",
976
+ "required": true,
873
977
  "hasDynamicHelp": false,
874
978
  "multiple": false,
875
979
  "type": "option"
876
980
  },
877
- "verbose": {
878
- "char": "v",
879
- "description": "Show detailed request/response information",
880
- "env": "XANO_VERBOSE",
881
- "name": "verbose",
981
+ "account_origin": {
982
+ "char": "a",
983
+ "description": "Account origin URL. Optional for self hosted installs.",
984
+ "name": "account_origin",
882
985
  "required": false,
883
- "allowNo": false,
884
- "type": "boolean"
986
+ "hasDynamicHelp": false,
987
+ "multiple": false,
988
+ "type": "option"
885
989
  },
886
- "include_draft": {
887
- "description": "Include draft version",
888
- "name": "include_draft",
990
+ "branch": {
991
+ "char": "b",
992
+ "description": "Branch name",
993
+ "name": "branch",
889
994
  "required": false,
890
- "allowNo": false,
891
- "type": "boolean"
995
+ "hasDynamicHelp": false,
996
+ "multiple": false,
997
+ "type": "option"
892
998
  },
893
- "include_xanoscript": {
894
- "description": "Include XanoScript in response",
895
- "name": "include_xanoscript",
999
+ "default": {
1000
+ "description": "Set this profile as the default",
1001
+ "name": "default",
896
1002
  "required": false,
897
1003
  "allowNo": false,
898
1004
  "type": "boolean"
899
1005
  },
900
- "output": {
901
- "char": "o",
902
- "description": "Output format",
903
- "name": "output",
904
- "required": false,
905
- "default": "summary",
1006
+ "instance_origin": {
1007
+ "char": "i",
1008
+ "description": "Instance origin URL",
1009
+ "name": "instance_origin",
1010
+ "required": true,
906
1011
  "hasDynamicHelp": false,
907
1012
  "multiple": false,
908
- "options": [
909
- "summary",
910
- "json",
911
- "xs"
912
- ],
913
1013
  "type": "option"
914
1014
  },
915
1015
  "workspace": {
916
1016
  "char": "w",
917
- "description": "Workspace ID (optional if set in profile)",
1017
+ "description": "Workspace name",
918
1018
  "name": "workspace",
919
1019
  "required": false,
920
1020
  "hasDynamicHelp": false,
@@ -924,7 +1024,7 @@
924
1024
  },
925
1025
  "hasDynamicHelp": false,
926
1026
  "hiddenAliases": [],
927
- "id": "function:get",
1027
+ "id": "profile:create",
928
1028
  "pluginAlias": "@xano/cli",
929
1029
  "pluginName": "@xano/cli",
930
1030
  "pluginType": "core",
@@ -934,8 +1034,8 @@
934
1034
  "relativePath": [
935
1035
  "dist",
936
1036
  "commands",
937
- "function",
938
- "get",
1037
+ "profile",
1038
+ "create",
939
1039
  "index.js"
940
1040
  ]
941
1041
  },
@@ -1045,15 +1145,25 @@
1045
1145
  "index.js"
1046
1146
  ]
1047
1147
  },
1048
- "function:list": {
1148
+ "function:edit": {
1049
1149
  "aliases": [],
1050
- "args": {},
1051
- "description": "List all functions in a workspace from the Xano Metadata API",
1150
+ "args": {
1151
+ "function_id": {
1152
+ "description": "Function ID to edit",
1153
+ "name": "function_id",
1154
+ "required": false
1155
+ }
1156
+ },
1157
+ "description": "Edit a function in a workspace",
1052
1158
  "examples": [
1053
- "$ xano function:list -w 40\nAvailable functions:\n - function-1 (ID: 1)\n - function-2 (ID: 2)\n - function-3 (ID: 3)\n",
1054
- "$ xano function:list --profile production\nAvailable functions:\n - my-function (ID: 1)\n - another-function (ID: 2)\n",
1055
- "$ xano function:list -w 40 --output json\n[\n {\n \"id\": 1,\n \"name\": \"function-1\"\n }\n]\n",
1056
- "$ xano function:list -p staging -o json --include_draft\n[\n {\n \"id\": 1,\n \"name\": \"function-1\"\n }\n]\n"
1159
+ "$ 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",
1160
+ "$ 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",
1161
+ "$ xano function:edit 163 -f function.xs\nFunction updated successfully!\nID: 163\nName: my_function\n",
1162
+ "$ xano function:edit 163 -w 40 -f function.xs\nFunction updated successfully!\nID: 163\nName: my_function\n",
1163
+ "$ xano function:edit -f function.xs\nSelect a function to edit:\n ❯ my_function (ID: 163) - Sample function\n another-func (ID: 164)\n",
1164
+ "$ 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",
1165
+ "$ cat function.xs | xano function:edit 163 --stdin\nFunction updated successfully!\nID: 163\nName: my_function\n",
1166
+ "$ xano function:edit 163 -f function.xs -o json\n{\n \"id\": 163,\n \"name\": \"my_function\",\n ...\n}\n"
1057
1167
  ],
1058
1168
  "flags": {
1059
1169
  "profile": {
@@ -1075,31 +1185,24 @@
1075
1185
  "allowNo": false,
1076
1186
  "type": "boolean"
1077
1187
  },
1078
- "include_draft": {
1079
- "description": "Include draft functions",
1080
- "name": "include_draft",
1081
- "required": false,
1082
- "allowNo": false,
1083
- "type": "boolean"
1084
- },
1085
- "include_xanoscript": {
1086
- "description": "Include XanoScript in response",
1087
- "name": "include_xanoscript",
1188
+ "edit": {
1189
+ "char": "e",
1190
+ "description": "Open file in editor before updating function (requires --file)",
1191
+ "name": "edit",
1088
1192
  "required": false,
1089
1193
  "allowNo": false,
1090
1194
  "type": "boolean"
1091
1195
  },
1092
- "order": {
1093
- "description": "Sort order",
1094
- "name": "order",
1196
+ "file": {
1197
+ "char": "f",
1198
+ "description": "Path to file containing XanoScript code",
1199
+ "exclusive": [
1200
+ "stdin"
1201
+ ],
1202
+ "name": "file",
1095
1203
  "required": false,
1096
- "default": "desc",
1097
1204
  "hasDynamicHelp": false,
1098
1205
  "multiple": false,
1099
- "options": [
1100
- "asc",
1101
- "desc"
1102
- ],
1103
1206
  "type": "option"
1104
1207
  },
1105
1208
  "output": {
@@ -1116,32 +1219,23 @@
1116
1219
  ],
1117
1220
  "type": "option"
1118
1221
  },
1119
- "page": {
1120
- "description": "Page number for pagination",
1121
- "name": "page",
1122
- "required": false,
1123
- "default": 1,
1124
- "hasDynamicHelp": false,
1125
- "multiple": false,
1126
- "type": "option"
1127
- },
1128
- "per_page": {
1129
- "description": "Number of results per page",
1130
- "name": "per_page",
1222
+ "publish": {
1223
+ "description": "Publish the function after editing",
1224
+ "name": "publish",
1131
1225
  "required": false,
1132
- "default": 50,
1133
- "hasDynamicHelp": false,
1134
- "multiple": false,
1135
- "type": "option"
1226
+ "allowNo": false,
1227
+ "type": "boolean"
1136
1228
  },
1137
- "sort": {
1138
- "description": "Sort field",
1139
- "name": "sort",
1229
+ "stdin": {
1230
+ "char": "s",
1231
+ "description": "Read XanoScript code from stdin",
1232
+ "exclusive": [
1233
+ "file"
1234
+ ],
1235
+ "name": "stdin",
1140
1236
  "required": false,
1141
- "default": "created_at",
1142
- "hasDynamicHelp": false,
1143
- "multiple": false,
1144
- "type": "option"
1237
+ "allowNo": false,
1238
+ "type": "boolean"
1145
1239
  },
1146
1240
  "workspace": {
1147
1241
  "char": "w",
@@ -1155,7 +1249,7 @@
1155
1249
  },
1156
1250
  "hasDynamicHelp": false,
1157
1251
  "hiddenAliases": [],
1158
- "id": "function:list",
1252
+ "id": "function:edit",
1159
1253
  "pluginAlias": "@xano/cli",
1160
1254
  "pluginName": "@xano/cli",
1161
1255
  "pluginType": "core",
@@ -1166,7 +1260,7 @@
1166
1260
  "dist",
1167
1261
  "commands",
1168
1262
  "function",
1169
- "list",
1263
+ "edit",
1170
1264
  "index.js"
1171
1265
  ]
1172
1266
  },
@@ -1212,35 +1306,55 @@
1212
1306
  "index.js"
1213
1307
  ]
1214
1308
  },
1215
- "profile:create": {
1309
+ "profile:edit": {
1216
1310
  "aliases": [],
1217
1311
  "args": {
1218
1312
  "name": {
1219
- "description": "Profile name",
1313
+ "description": "Profile name to edit (uses default profile if not specified)",
1220
1314
  "name": "name",
1221
- "required": true
1315
+ "required": false
1222
1316
  }
1223
1317
  },
1224
- "description": "Create a new profile configuration",
1318
+ "description": "Edit an existing profile configuration",
1225
1319
  "examples": [
1226
- "$ xano profile:create production --account_origin https://account.xano.com --instance_origin https://instance.xano.com --access_token token123\nProfile 'production' created successfully at ~/.xano/credentials.yaml\n",
1227
- "$ xano profile:create staging -a https://staging-account.xano.com -i https://staging-instance.xano.com -t token456\nProfile 'staging' created successfully at ~/.xano/credentials.yaml\n",
1228
- "$ xano profile:create dev -i https://dev-instance.xano.com -t token789 -w my-workspace -b feature-branch\nProfile 'dev' created successfully at ~/.xano/credentials.yaml\n",
1229
- "$ xano profile:create production --account_origin https://account.xano.com --instance_origin https://instance.xano.com --access_token token123 --default\nProfile 'production' created successfully at ~/.xano/credentials.yaml\nDefault profile set to 'production'\n"
1320
+ "$ xano profile:edit --access_token new_token123\nProfile 'default' updated successfully at ~/.xano/credentials.yaml\n",
1321
+ "$ xano profile:edit production --access_token new_token123\nProfile 'production' updated successfully at ~/.xano/credentials.yaml\n",
1322
+ "$ xano profile:edit staging -i https://new-staging-instance.xano.com -t new_token456\nProfile 'staging' updated successfully at ~/.xano/credentials.yaml\n",
1323
+ "$ xano profile:edit -b new-branch\nProfile 'default' updated successfully at ~/.xano/credentials.yaml\n",
1324
+ "$ xano profile:edit --remove-branch\nProfile 'default' updated successfully at ~/.xano/credentials.yaml\n"
1230
1325
  ],
1231
1326
  "flags": {
1327
+ "profile": {
1328
+ "char": "p",
1329
+ "description": "Profile to use (uses default profile if not specified)",
1330
+ "env": "XANO_PROFILE",
1331
+ "name": "profile",
1332
+ "required": false,
1333
+ "hasDynamicHelp": false,
1334
+ "multiple": false,
1335
+ "type": "option"
1336
+ },
1337
+ "verbose": {
1338
+ "char": "v",
1339
+ "description": "Show detailed request/response information",
1340
+ "env": "XANO_VERBOSE",
1341
+ "name": "verbose",
1342
+ "required": false,
1343
+ "allowNo": false,
1344
+ "type": "boolean"
1345
+ },
1232
1346
  "access_token": {
1233
1347
  "char": "t",
1234
- "description": "Access token for the Xano Metadata API",
1348
+ "description": "Update access token for the Xano Metadata API",
1235
1349
  "name": "access_token",
1236
- "required": true,
1350
+ "required": false,
1237
1351
  "hasDynamicHelp": false,
1238
1352
  "multiple": false,
1239
1353
  "type": "option"
1240
1354
  },
1241
1355
  "account_origin": {
1242
1356
  "char": "a",
1243
- "description": "Account origin URL. Optional for self hosted installs.",
1357
+ "description": "Update account origin URL",
1244
1358
  "name": "account_origin",
1245
1359
  "required": false,
1246
1360
  "hasDynamicHelp": false,
@@ -1249,125 +1363,18 @@
1249
1363
  },
1250
1364
  "branch": {
1251
1365
  "char": "b",
1252
- "description": "Branch name",
1366
+ "description": "Update branch name",
1253
1367
  "name": "branch",
1254
1368
  "required": false,
1255
1369
  "hasDynamicHelp": false,
1256
1370
  "multiple": false,
1257
1371
  "type": "option"
1258
1372
  },
1259
- "default": {
1260
- "description": "Set this profile as the default",
1261
- "name": "default",
1262
- "required": false,
1263
- "allowNo": false,
1264
- "type": "boolean"
1265
- },
1266
1373
  "instance_origin": {
1267
1374
  "char": "i",
1268
- "description": "Instance origin URL",
1375
+ "description": "Update instance origin URL",
1269
1376
  "name": "instance_origin",
1270
- "required": true,
1271
- "hasDynamicHelp": false,
1272
- "multiple": false,
1273
- "type": "option"
1274
- },
1275
- "workspace": {
1276
- "char": "w",
1277
- "description": "Workspace name",
1278
- "name": "workspace",
1279
- "required": false,
1280
- "hasDynamicHelp": false,
1281
- "multiple": false,
1282
- "type": "option"
1283
- }
1284
- },
1285
- "hasDynamicHelp": false,
1286
- "hiddenAliases": [],
1287
- "id": "profile:create",
1288
- "pluginAlias": "@xano/cli",
1289
- "pluginName": "@xano/cli",
1290
- "pluginType": "core",
1291
- "strict": true,
1292
- "enableJsonFlag": false,
1293
- "isESM": true,
1294
- "relativePath": [
1295
- "dist",
1296
- "commands",
1297
- "profile",
1298
- "create",
1299
- "index.js"
1300
- ]
1301
- },
1302
- "profile:edit": {
1303
- "aliases": [],
1304
- "args": {
1305
- "name": {
1306
- "description": "Profile name to edit (uses default profile if not specified)",
1307
- "name": "name",
1308
- "required": false
1309
- }
1310
- },
1311
- "description": "Edit an existing profile configuration",
1312
- "examples": [
1313
- "$ xano profile:edit --access_token new_token123\nProfile 'default' updated successfully at ~/.xano/credentials.yaml\n",
1314
- "$ xano profile:edit production --access_token new_token123\nProfile 'production' updated successfully at ~/.xano/credentials.yaml\n",
1315
- "$ xano profile:edit staging -i https://new-staging-instance.xano.com -t new_token456\nProfile 'staging' updated successfully at ~/.xano/credentials.yaml\n",
1316
- "$ xano profile:edit -b new-branch\nProfile 'default' updated successfully at ~/.xano/credentials.yaml\n",
1317
- "$ xano profile:edit --remove-branch\nProfile 'default' updated successfully at ~/.xano/credentials.yaml\n"
1318
- ],
1319
- "flags": {
1320
- "profile": {
1321
- "char": "p",
1322
- "description": "Profile to use (uses default profile if not specified)",
1323
- "env": "XANO_PROFILE",
1324
- "name": "profile",
1325
- "required": false,
1326
- "hasDynamicHelp": false,
1327
- "multiple": false,
1328
- "type": "option"
1329
- },
1330
- "verbose": {
1331
- "char": "v",
1332
- "description": "Show detailed request/response information",
1333
- "env": "XANO_VERBOSE",
1334
- "name": "verbose",
1335
- "required": false,
1336
- "allowNo": false,
1337
- "type": "boolean"
1338
- },
1339
- "access_token": {
1340
- "char": "t",
1341
- "description": "Update access token for the Xano Metadata API",
1342
- "name": "access_token",
1343
- "required": false,
1344
- "hasDynamicHelp": false,
1345
- "multiple": false,
1346
- "type": "option"
1347
- },
1348
- "account_origin": {
1349
- "char": "a",
1350
- "description": "Update account origin URL",
1351
- "name": "account_origin",
1352
- "required": false,
1353
- "hasDynamicHelp": false,
1354
- "multiple": false,
1355
- "type": "option"
1356
- },
1357
- "branch": {
1358
- "char": "b",
1359
- "description": "Update branch name",
1360
- "name": "branch",
1361
- "required": false,
1362
- "hasDynamicHelp": false,
1363
- "multiple": false,
1364
- "type": "option"
1365
- },
1366
- "instance_origin": {
1367
- "char": "i",
1368
- "description": "Update instance origin URL",
1369
- "name": "instance_origin",
1370
- "required": false,
1377
+ "required": false,
1371
1378
  "hasDynamicHelp": false,
1372
1379
  "multiple": false,
1373
1380
  "type": "option"
@@ -1413,54 +1420,17 @@
1413
1420
  "index.js"
1414
1421
  ]
1415
1422
  },
1416
- "profile:get_default": {
1423
+ "profile:get": {
1417
1424
  "aliases": [],
1418
1425
  "args": {},
1419
1426
  "description": "Get the current default profile name",
1420
1427
  "examples": [
1421
- "$ xano profile:get-default\nproduction\n",
1422
- "$ xano profile:get-default\nNo default profile set\n"
1428
+ "$ xano profile get\nproduction\n"
1423
1429
  ],
1424
1430
  "flags": {},
1425
1431
  "hasDynamicHelp": false,
1426
1432
  "hiddenAliases": [],
1427
- "id": "profile:get_default",
1428
- "pluginAlias": "@xano/cli",
1429
- "pluginName": "@xano/cli",
1430
- "pluginType": "core",
1431
- "strict": true,
1432
- "enableJsonFlag": false,
1433
- "isESM": true,
1434
- "relativePath": [
1435
- "dist",
1436
- "commands",
1437
- "profile",
1438
- "get_default",
1439
- "index.js"
1440
- ]
1441
- },
1442
- "profile:list": {
1443
- "aliases": [],
1444
- "args": {},
1445
- "description": "List all available profile configurations",
1446
- "examples": [
1447
- "$ xano profile:list\nAvailable profiles:\n - default\n - production\n - staging\n - development\n",
1448
- "$ xano profile:list --details\nAvailable profiles:\n\nProfile: default\n Account Origin: https://account.xano.com\n Instance Origin: https://instance.xano.com\n Access Token: ***...***\n Workspace: my-workspace\n Branch: main\n Project: my-project\n\nProfile: production\n Account Origin: https://account.xano.com\n Instance Origin: https://prod-instance.xano.com\n Access Token: ***...***\n",
1449
- "$ xano profile:list -d\nAvailable profiles:\n\nProfile: default\n Account Origin: https://account.xano.com\n Instance Origin: https://instance.xano.com\n Access Token: ***...***\n Workspace: my-workspace\n Branch: main\n Project: my-project\n"
1450
- ],
1451
- "flags": {
1452
- "details": {
1453
- "char": "d",
1454
- "description": "Show detailed information for each profile",
1455
- "name": "details",
1456
- "required": false,
1457
- "allowNo": false,
1458
- "type": "boolean"
1459
- }
1460
- },
1461
- "hasDynamicHelp": false,
1462
- "hiddenAliases": [],
1463
- "id": "profile:list",
1433
+ "id": "profile:get",
1464
1434
  "pluginAlias": "@xano/cli",
1465
1435
  "pluginName": "@xano/cli",
1466
1436
  "pluginType": "core",
@@ -1471,7 +1441,7 @@
1471
1441
  "dist",
1472
1442
  "commands",
1473
1443
  "profile",
1474
- "list",
1444
+ "get",
1475
1445
  "index.js"
1476
1446
  ]
1477
1447
  },
@@ -1536,63 +1506,23 @@
1536
1506
  "index.js"
1537
1507
  ]
1538
1508
  },
1539
- "profile:wizard": {
1509
+ "profile:set": {
1540
1510
  "aliases": [],
1541
- "args": {},
1542
- "description": "Create a new profile configuration using an interactive wizard",
1543
- "examples": [
1544
- "$ xano profile:wizard\nWelcome to the Xano Profile Wizard!\n? Enter your access token: ***...***\n? Select an instance:\n > Production (https://app.xano.com)\n Staging (https://staging.xano.com)\n? Profile name: production\nProfile 'production' created successfully at ~/.xano/credentials.yaml\n"
1545
- ],
1546
- "flags": {
1511
+ "args": {
1547
1512
  "name": {
1548
- "char": "n",
1549
- "description": "Profile name (skip prompt if provided)",
1513
+ "description": "Profile name to set as default",
1550
1514
  "name": "name",
1551
- "required": false,
1552
- "hasDynamicHelp": false,
1553
- "multiple": false,
1554
- "type": "option"
1555
- },
1556
- "origin": {
1557
- "char": "o",
1558
- "description": "Xano instance origin URL",
1559
- "name": "origin",
1560
- "required": false,
1561
- "default": "https://app.xano.com",
1562
- "hasDynamicHelp": false,
1563
- "multiple": false,
1564
- "type": "option"
1515
+ "required": true
1565
1516
  }
1566
1517
  },
1567
- "hasDynamicHelp": false,
1568
- "hiddenAliases": [],
1569
- "id": "profile:wizard",
1570
- "pluginAlias": "@xano/cli",
1571
- "pluginName": "@xano/cli",
1572
- "pluginType": "core",
1573
- "strict": true,
1574
- "enableJsonFlag": false,
1575
- "isESM": true,
1576
- "relativePath": [
1577
- "dist",
1578
- "commands",
1579
- "profile",
1580
- "wizard",
1581
- "index.js"
1582
- ]
1583
- },
1584
- "profile:workspace": {
1585
- "aliases": [],
1586
- "args": {},
1587
- "description": "Print the workspace ID for the default profile",
1518
+ "description": "Set the default profile",
1588
1519
  "examples": [
1589
- "$ xano profile:workspace\nabc123-workspace-id\n",
1590
- "$ xano profile:workspace | pbcopy\n# Copies the workspace ID to clipboard on macOS\n"
1520
+ "$ xano profile set production\nDefault profile set to 'production'\n"
1591
1521
  ],
1592
1522
  "flags": {},
1593
1523
  "hasDynamicHelp": false,
1594
1524
  "hiddenAliases": [],
1595
- "id": "profile:workspace",
1525
+ "id": "profile:set",
1596
1526
  "pluginAlias": "@xano/cli",
1597
1527
  "pluginName": "@xano/cli",
1598
1528
  "pluginType": "core",
@@ -1603,7 +1533,7 @@
1603
1533
  "dist",
1604
1534
  "commands",
1605
1535
  "profile",
1606
- "workspace",
1536
+ "set",
1607
1537
  "index.js"
1608
1538
  ]
1609
1539
  },
@@ -1633,73 +1563,29 @@
1633
1563
  "index.js"
1634
1564
  ]
1635
1565
  },
1636
- "static_host:list": {
1566
+ "profile:wizard": {
1637
1567
  "aliases": [],
1638
1568
  "args": {},
1639
- "description": "List all static hosts in a workspace from the Xano Metadata API",
1569
+ "description": "Create a new profile configuration using an interactive wizard",
1640
1570
  "examples": [
1641
- "$ xano static_host:list -w 40\nAvailable static hosts:\n - my-static-host (ID: 1)\n - another-host (ID: 2)\n",
1642
- "$ xano static_host:list --profile production\nAvailable static hosts:\n - my-static-host (ID: 1)\n - another-host (ID: 2)\n",
1643
- "$ xano static_host:list -w 40 --output json\n[\n {\n \"id\": 1,\n \"name\": \"my-static-host\",\n \"domain\": \"example.com\"\n }\n]\n",
1644
- "$ xano static_host:list -p staging -o json --page 2\n[\n {\n \"id\": 3,\n \"name\": \"static-host-3\"\n }\n]\n"
1571
+ "$ xano profile:wizard\nWelcome to the Xano Profile Wizard!\n? Enter your access token: ***...***\n? Select an instance:\n > Production (https://app.xano.com)\n Staging (https://staging.xano.com)\n? Profile name: production\nProfile 'production' created successfully at ~/.xano/credentials.yaml\n"
1645
1572
  ],
1646
1573
  "flags": {
1647
- "profile": {
1648
- "char": "p",
1649
- "description": "Profile to use (uses default profile if not specified)",
1650
- "env": "XANO_PROFILE",
1651
- "name": "profile",
1574
+ "name": {
1575
+ "char": "n",
1576
+ "description": "Profile name (skip prompt if provided)",
1577
+ "name": "name",
1652
1578
  "required": false,
1653
1579
  "hasDynamicHelp": false,
1654
1580
  "multiple": false,
1655
1581
  "type": "option"
1656
1582
  },
1657
- "verbose": {
1658
- "char": "v",
1659
- "description": "Show detailed request/response information",
1660
- "env": "XANO_VERBOSE",
1661
- "name": "verbose",
1662
- "required": false,
1663
- "allowNo": false,
1664
- "type": "boolean"
1665
- },
1666
- "output": {
1583
+ "origin": {
1667
1584
  "char": "o",
1668
- "description": "Output format",
1669
- "name": "output",
1670
- "required": false,
1671
- "default": "summary",
1672
- "hasDynamicHelp": false,
1673
- "multiple": false,
1674
- "options": [
1675
- "summary",
1676
- "json"
1677
- ],
1678
- "type": "option"
1679
- },
1680
- "page": {
1681
- "description": "Page number for pagination",
1682
- "name": "page",
1683
- "required": false,
1684
- "default": 1,
1685
- "hasDynamicHelp": false,
1686
- "multiple": false,
1687
- "type": "option"
1688
- },
1689
- "per_page": {
1690
- "description": "Number of results per page",
1691
- "name": "per_page",
1692
- "required": false,
1693
- "default": 50,
1694
- "hasDynamicHelp": false,
1695
- "multiple": false,
1696
- "type": "option"
1697
- },
1698
- "workspace": {
1699
- "char": "w",
1700
- "description": "Workspace ID (optional if set in profile)",
1701
- "name": "workspace",
1585
+ "description": "Xano instance origin URL",
1586
+ "name": "origin",
1702
1587
  "required": false,
1588
+ "default": "https://app.xano.com",
1703
1589
  "hasDynamicHelp": false,
1704
1590
  "multiple": false,
1705
1591
  "type": "option"
@@ -1707,7 +1593,7 @@
1707
1593
  },
1708
1594
  "hasDynamicHelp": false,
1709
1595
  "hiddenAliases": [],
1710
- "id": "static_host:list",
1596
+ "id": "profile:wizard",
1711
1597
  "pluginAlias": "@xano/cli",
1712
1598
  "pluginName": "@xano/cli",
1713
1599
  "pluginType": "core",
@@ -1717,29 +1603,23 @@
1717
1603
  "relativePath": [
1718
1604
  "dist",
1719
1605
  "commands",
1720
- "static_host",
1721
- "list",
1606
+ "profile",
1607
+ "wizard",
1722
1608
  "index.js"
1723
1609
  ]
1724
1610
  },
1725
- "profile:set_default": {
1611
+ "profile:workspace": {
1726
1612
  "aliases": [],
1727
- "args": {
1728
- "name": {
1729
- "description": "Profile name to set as default",
1730
- "name": "name",
1731
- "required": true
1732
- }
1733
- },
1734
- "description": "Set the default profile",
1613
+ "args": {},
1614
+ "description": "Print the workspace ID for the default profile",
1735
1615
  "examples": [
1736
- "$ xano profile:set-default production\nDefault profile set to 'production'\n",
1737
- "$ xano profile:set-default staging\nDefault profile set to 'staging'\n"
1616
+ "$ xano profile:workspace\nabc123-workspace-id\n",
1617
+ "$ xano profile:workspace | pbcopy\n# Copies the workspace ID to clipboard on macOS\n"
1738
1618
  ],
1739
1619
  "flags": {},
1740
1620
  "hasDynamicHelp": false,
1741
1621
  "hiddenAliases": [],
1742
- "id": "profile:set_default",
1622
+ "id": "profile:workspace",
1743
1623
  "pluginAlias": "@xano/cli",
1744
1624
  "pluginName": "@xano/cli",
1745
1625
  "pluginType": "core",
@@ -1750,80 +1630,32 @@
1750
1630
  "dist",
1751
1631
  "commands",
1752
1632
  "profile",
1753
- "set_default",
1633
+ "workspace",
1754
1634
  "index.js"
1755
1635
  ]
1756
1636
  },
1757
- "release:delete": {
1637
+ "profile:list": {
1758
1638
  "aliases": [],
1759
- "args": {
1760
- "release_name": {
1761
- "description": "Release name to delete",
1762
- "name": "release_name",
1763
- "required": true
1764
- }
1765
- },
1766
- "description": "Delete a release permanently. This action cannot be undone.",
1639
+ "args": {},
1640
+ "description": "List all available profile configurations",
1767
1641
  "examples": [
1768
- "$ xano release delete v1.0\nAre you sure you want to delete release 'v1.0'? This action cannot be undone. (y/N) y\nDeleted release 'v1.0'\n",
1769
- "$ xano release delete v1.0 --force\nDeleted release 'v1.0'\n",
1770
- "$ xano release delete v1.0 -f -o json"
1642
+ "$ xano profile:list\nAvailable profiles:\n - default\n - production\n - staging\n - development\n",
1643
+ "$ xano profile:list --details\nAvailable profiles:\n\nProfile: default\n Account Origin: https://account.xano.com\n Instance Origin: https://instance.xano.com\n Access Token: ***...***\n Workspace: my-workspace\n Branch: main\n Project: my-project\n\nProfile: production\n Account Origin: https://account.xano.com\n Instance Origin: https://prod-instance.xano.com\n Access Token: ***...***\n",
1644
+ "$ xano profile:list -d\nAvailable profiles:\n\nProfile: default\n Account Origin: https://account.xano.com\n Instance Origin: https://instance.xano.com\n Access Token: ***...***\n Workspace: my-workspace\n Branch: main\n Project: my-project\n"
1771
1645
  ],
1772
1646
  "flags": {
1773
- "profile": {
1774
- "char": "p",
1775
- "description": "Profile to use (uses default profile if not specified)",
1776
- "env": "XANO_PROFILE",
1777
- "name": "profile",
1778
- "required": false,
1779
- "hasDynamicHelp": false,
1780
- "multiple": false,
1781
- "type": "option"
1782
- },
1783
- "verbose": {
1784
- "char": "v",
1785
- "description": "Show detailed request/response information",
1786
- "env": "XANO_VERBOSE",
1787
- "name": "verbose",
1788
- "required": false,
1789
- "allowNo": false,
1790
- "type": "boolean"
1791
- },
1792
- "force": {
1793
- "char": "f",
1794
- "description": "Skip confirmation prompt",
1795
- "name": "force",
1647
+ "details": {
1648
+ "char": "d",
1649
+ "description": "Show detailed information for each profile",
1650
+ "name": "details",
1796
1651
  "required": false,
1797
1652
  "allowNo": false,
1798
1653
  "type": "boolean"
1799
- },
1800
- "output": {
1801
- "char": "o",
1802
- "description": "Output format",
1803
- "name": "output",
1804
- "required": false,
1805
- "default": "summary",
1806
- "hasDynamicHelp": false,
1807
- "multiple": false,
1808
- "options": [
1809
- "summary",
1810
- "json"
1811
- ],
1812
- "type": "option"
1813
- },
1814
- "workspace": {
1815
- "char": "w",
1816
- "description": "Workspace ID (uses profile workspace if not provided)",
1817
- "name": "workspace",
1818
- "required": false,
1819
- "hasDynamicHelp": false,
1820
- "multiple": false,
1821
- "type": "option"
1822
1654
  }
1823
1655
  },
1824
1656
  "hasDynamicHelp": false,
1825
1657
  "hiddenAliases": [],
1826
- "id": "release:delete",
1658
+ "id": "profile:list",
1827
1659
  "pluginAlias": "@xano/cli",
1828
1660
  "pluginName": "@xano/cli",
1829
1661
  "pluginType": "core",
@@ -1833,18 +1665,25 @@
1833
1665
  "relativePath": [
1834
1666
  "dist",
1835
1667
  "commands",
1836
- "release",
1837
- "delete",
1668
+ "profile",
1669
+ "list",
1838
1670
  "index.js"
1839
1671
  ]
1840
1672
  },
1841
- "release:create": {
1673
+ "release:delete": {
1842
1674
  "aliases": [],
1843
- "args": {},
1844
- "description": "Create a new release in a workspace",
1675
+ "args": {
1676
+ "release_name": {
1677
+ "description": "Release name to delete",
1678
+ "name": "release_name",
1679
+ "required": true
1680
+ }
1681
+ },
1682
+ "description": "Delete a release permanently. This action cannot be undone.",
1845
1683
  "examples": [
1846
- "$ xano release create --name \"v1.0\" --branch main\nCreated release: v1.0 - ID: 10\n",
1847
- "$ xano release create --name \"v1.1-hotfix\" --branch main --hotfix --description \"Critical fix\" -o json"
1684
+ "$ xano release delete v1.0\nAre you sure you want to delete release 'v1.0'? This action cannot be undone. (y/N) y\nDeleted release 'v1.0'\n",
1685
+ "$ xano release delete v1.0 --force\nDeleted release 'v1.0'\n",
1686
+ "$ xano release delete v1.0 -f -o json"
1848
1687
  ],
1849
1688
  "flags": {
1850
1689
  "profile": {
@@ -1866,40 +1705,14 @@
1866
1705
  "allowNo": false,
1867
1706
  "type": "boolean"
1868
1707
  },
1869
- "branch": {
1870
- "char": "b",
1871
- "description": "Branch to create the release from",
1872
- "name": "branch",
1873
- "required": true,
1874
- "hasDynamicHelp": false,
1875
- "multiple": false,
1876
- "type": "option"
1877
- },
1878
- "description": {
1879
- "char": "d",
1880
- "description": "Release description",
1881
- "name": "description",
1882
- "required": false,
1883
- "hasDynamicHelp": false,
1884
- "multiple": false,
1885
- "type": "option"
1886
- },
1887
- "hotfix": {
1888
- "description": "Mark as a hotfix release",
1889
- "name": "hotfix",
1708
+ "force": {
1709
+ "char": "f",
1710
+ "description": "Skip confirmation prompt",
1711
+ "name": "force",
1890
1712
  "required": false,
1891
1713
  "allowNo": false,
1892
1714
  "type": "boolean"
1893
1715
  },
1894
- "name": {
1895
- "char": "n",
1896
- "description": "Name for the release",
1897
- "name": "name",
1898
- "required": true,
1899
- "hasDynamicHelp": false,
1900
- "multiple": false,
1901
- "type": "option"
1902
- },
1903
1716
  "output": {
1904
1717
  "char": "o",
1905
1718
  "description": "Output format",
@@ -1914,14 +1727,6 @@
1914
1727
  ],
1915
1728
  "type": "option"
1916
1729
  },
1917
- "table-ids": {
1918
- "description": "Comma-separated table IDs to include",
1919
- "name": "table-ids",
1920
- "required": false,
1921
- "hasDynamicHelp": false,
1922
- "multiple": false,
1923
- "type": "option"
1924
- },
1925
1730
  "workspace": {
1926
1731
  "char": "w",
1927
1732
  "description": "Workspace ID (uses profile workspace if not provided)",
@@ -1934,7 +1739,7 @@
1934
1739
  },
1935
1740
  "hasDynamicHelp": false,
1936
1741
  "hiddenAliases": [],
1937
- "id": "release:create",
1742
+ "id": "release:delete",
1938
1743
  "pluginAlias": "@xano/cli",
1939
1744
  "pluginName": "@xano/cli",
1940
1745
  "pluginType": "core",
@@ -1945,24 +1750,17 @@
1945
1750
  "dist",
1946
1751
  "commands",
1947
1752
  "release",
1948
- "create",
1753
+ "delete",
1949
1754
  "index.js"
1950
1755
  ]
1951
1756
  },
1952
- "release:export": {
1953
- "aliases": [],
1954
- "args": {
1955
- "release_name": {
1956
- "description": "Release name to export",
1957
- "name": "release_name",
1958
- "required": true
1959
- }
1960
- },
1961
- "description": "Export (download) a release to a local file",
1757
+ "release:create": {
1758
+ "aliases": [],
1759
+ "args": {},
1760
+ "description": "Create a new release in a workspace",
1962
1761
  "examples": [
1963
- "$ xano release export v1.0\nDownloaded release 'v1.0' to ./release-v1.0.tar.gz\n",
1964
- "$ xano release export v1.0 --output ./backups/my-release.tar.gz",
1965
- "$ xano release export v1.0 -o json"
1762
+ "$ xano release create --name \"v1.0\" --branch main\nCreated release: v1.0 - ID: 10\n",
1763
+ "$ xano release create --name \"v1.1-hotfix\" --branch main --hotfix --description \"Critical fix\" -o json"
1966
1764
  ],
1967
1765
  "flags": {
1968
1766
  "profile": {
@@ -1984,10 +1782,44 @@
1984
1782
  "allowNo": false,
1985
1783
  "type": "boolean"
1986
1784
  },
1987
- "format": {
1785
+ "branch": {
1786
+ "char": "b",
1787
+ "description": "Branch to create the release from",
1788
+ "name": "branch",
1789
+ "required": true,
1790
+ "hasDynamicHelp": false,
1791
+ "multiple": false,
1792
+ "type": "option"
1793
+ },
1794
+ "description": {
1795
+ "char": "d",
1796
+ "description": "Release description",
1797
+ "name": "description",
1798
+ "required": false,
1799
+ "hasDynamicHelp": false,
1800
+ "multiple": false,
1801
+ "type": "option"
1802
+ },
1803
+ "hotfix": {
1804
+ "description": "Mark as a hotfix release",
1805
+ "name": "hotfix",
1806
+ "required": false,
1807
+ "allowNo": false,
1808
+ "type": "boolean"
1809
+ },
1810
+ "name": {
1811
+ "char": "n",
1812
+ "description": "Name for the release",
1813
+ "name": "name",
1814
+ "required": true,
1815
+ "hasDynamicHelp": false,
1816
+ "multiple": false,
1817
+ "type": "option"
1818
+ },
1819
+ "output": {
1988
1820
  "char": "o",
1989
1821
  "description": "Output format",
1990
- "name": "format",
1822
+ "name": "output",
1991
1823
  "required": false,
1992
1824
  "default": "summary",
1993
1825
  "hasDynamicHelp": false,
@@ -1998,9 +1830,9 @@
1998
1830
  ],
1999
1831
  "type": "option"
2000
1832
  },
2001
- "output": {
2002
- "description": "Output file path (defaults to ./release-{name}.tar.gz)",
2003
- "name": "output",
1833
+ "table-ids": {
1834
+ "description": "Comma-separated table IDs to include",
1835
+ "name": "table-ids",
2004
1836
  "required": false,
2005
1837
  "hasDynamicHelp": false,
2006
1838
  "multiple": false,
@@ -2018,7 +1850,7 @@
2018
1850
  },
2019
1851
  "hasDynamicHelp": false,
2020
1852
  "hiddenAliases": [],
2021
- "id": "release:export",
1853
+ "id": "release:create",
2022
1854
  "pluginAlias": "@xano/cli",
2023
1855
  "pluginName": "@xano/cli",
2024
1856
  "pluginType": "core",
@@ -2029,7 +1861,7 @@
2029
1861
  "dist",
2030
1862
  "commands",
2031
1863
  "release",
2032
- "export",
1864
+ "create",
2033
1865
  "index.js"
2034
1866
  ]
2035
1867
  },
@@ -2126,13 +1958,20 @@
2126
1958
  "index.js"
2127
1959
  ]
2128
1960
  },
2129
- "release:import": {
1961
+ "release:export": {
2130
1962
  "aliases": [],
2131
- "args": {},
2132
- "description": "Import a release file into a workspace",
1963
+ "args": {
1964
+ "release_name": {
1965
+ "description": "Release name to export",
1966
+ "name": "release_name",
1967
+ "required": true
1968
+ }
1969
+ },
1970
+ "description": "Export (download) a release to a local file",
2133
1971
  "examples": [
2134
- "$ xano release import --file ./my-release.tar.gz\nImported release as #15\n",
2135
- "$ xano release import --file ./my-release.tar.gz -o json"
1972
+ "$ xano release export v1.0\nDownloaded release 'v1.0' to ./release-v1.0.tar.gz\n",
1973
+ "$ xano release export v1.0 --output ./backups/my-release.tar.gz",
1974
+ "$ xano release export v1.0 -o json"
2136
1975
  ],
2137
1976
  "flags": {
2138
1977
  "profile": {
@@ -2154,19 +1993,10 @@
2154
1993
  "allowNo": false,
2155
1994
  "type": "boolean"
2156
1995
  },
2157
- "file": {
2158
- "char": "f",
2159
- "description": "Path to the release file (.tar.gz)",
2160
- "name": "file",
2161
- "required": true,
2162
- "hasDynamicHelp": false,
2163
- "multiple": false,
2164
- "type": "option"
2165
- },
2166
- "output": {
1996
+ "format": {
2167
1997
  "char": "o",
2168
1998
  "description": "Output format",
2169
- "name": "output",
1999
+ "name": "format",
2170
2000
  "required": false,
2171
2001
  "default": "summary",
2172
2002
  "hasDynamicHelp": false,
@@ -2177,6 +2007,14 @@
2177
2007
  ],
2178
2008
  "type": "option"
2179
2009
  },
2010
+ "output": {
2011
+ "description": "Output file path (defaults to ./release-{name}.tar.gz)",
2012
+ "name": "output",
2013
+ "required": false,
2014
+ "hasDynamicHelp": false,
2015
+ "multiple": false,
2016
+ "type": "option"
2017
+ },
2180
2018
  "workspace": {
2181
2019
  "char": "w",
2182
2020
  "description": "Workspace ID (uses profile workspace if not provided)",
@@ -2189,7 +2027,7 @@
2189
2027
  },
2190
2028
  "hasDynamicHelp": false,
2191
2029
  "hiddenAliases": [],
2192
- "id": "release:import",
2030
+ "id": "release:export",
2193
2031
  "pluginAlias": "@xano/cli",
2194
2032
  "pluginName": "@xano/cli",
2195
2033
  "pluginType": "core",
@@ -2200,17 +2038,23 @@
2200
2038
  "dist",
2201
2039
  "commands",
2202
2040
  "release",
2203
- "import",
2041
+ "export",
2204
2042
  "index.js"
2205
2043
  ]
2206
2044
  },
2207
- "release:list": {
2045
+ "release:get": {
2208
2046
  "aliases": [],
2209
- "args": {},
2210
- "description": "List all releases in a workspace",
2047
+ "args": {
2048
+ "release_name": {
2049
+ "description": "Release name to retrieve",
2050
+ "name": "release_name",
2051
+ "required": true
2052
+ }
2053
+ },
2054
+ "description": "Get details of a specific release",
2211
2055
  "examples": [
2212
- "$ xano release list\nReleases in workspace 5:\n - v1.0 (ID: 10) - main\n - v1.1-hotfix (ID: 11) - main [hotfix]\n",
2213
- "$ xano release list -w 5 --output json"
2056
+ "$ xano release get v1.0\nRelease: v1.0 - ID: 10\n Branch: main\n Description: Initial release\n Hotfix: false\n",
2057
+ "$ xano release get v1.0 -w 5 -o json"
2214
2058
  ],
2215
2059
  "flags": {
2216
2060
  "profile": {
@@ -2258,7 +2102,7 @@
2258
2102
  },
2259
2103
  "hasDynamicHelp": false,
2260
2104
  "hiddenAliases": [],
2261
- "id": "release:list",
2105
+ "id": "release:get",
2262
2106
  "pluginAlias": "@xano/cli",
2263
2107
  "pluginName": "@xano/cli",
2264
2108
  "pluginType": "core",
@@ -2269,23 +2113,17 @@
2269
2113
  "dist",
2270
2114
  "commands",
2271
2115
  "release",
2272
- "list",
2116
+ "get",
2273
2117
  "index.js"
2274
2118
  ]
2275
2119
  },
2276
- "release:get": {
2120
+ "release:import": {
2277
2121
  "aliases": [],
2278
- "args": {
2279
- "release_name": {
2280
- "description": "Release name to retrieve",
2281
- "name": "release_name",
2282
- "required": true
2283
- }
2284
- },
2285
- "description": "Get details of a specific release",
2122
+ "args": {},
2123
+ "description": "Import a release file into a workspace",
2286
2124
  "examples": [
2287
- "$ xano release get v1.0\nRelease: v1.0 - ID: 10\n Branch: main\n Description: Initial release\n Hotfix: false\n",
2288
- "$ xano release get v1.0 -w 5 -o json"
2125
+ "$ xano release import --file ./my-release.tar.gz\nImported release as #15\n",
2126
+ "$ xano release import --file ./my-release.tar.gz -o json"
2289
2127
  ],
2290
2128
  "flags": {
2291
2129
  "profile": {
@@ -2307,6 +2145,15 @@
2307
2145
  "allowNo": false,
2308
2146
  "type": "boolean"
2309
2147
  },
2148
+ "file": {
2149
+ "char": "f",
2150
+ "description": "Path to the release file (.tar.gz)",
2151
+ "name": "file",
2152
+ "required": true,
2153
+ "hasDynamicHelp": false,
2154
+ "multiple": false,
2155
+ "type": "option"
2156
+ },
2310
2157
  "output": {
2311
2158
  "char": "o",
2312
2159
  "description": "Output format",
@@ -2333,7 +2180,7 @@
2333
2180
  },
2334
2181
  "hasDynamicHelp": false,
2335
2182
  "hiddenAliases": [],
2336
- "id": "release:get",
2183
+ "id": "release:import",
2337
2184
  "pluginAlias": "@xano/cli",
2338
2185
  "pluginName": "@xano/cli",
2339
2186
  "pluginType": "core",
@@ -2344,26 +2191,24 @@
2344
2191
  "dist",
2345
2192
  "commands",
2346
2193
  "release",
2347
- "get",
2194
+ "import",
2348
2195
  "index.js"
2349
2196
  ]
2350
2197
  },
2351
- "release:push": {
2198
+ "release:pull": {
2352
2199
  "aliases": [],
2353
2200
  "args": {
2354
2201
  "directory": {
2355
- "description": "Directory containing .xs documents to create the release from",
2202
+ "description": "Output directory for pulled documents",
2356
2203
  "name": "directory",
2357
2204
  "required": true
2358
2205
  }
2359
2206
  },
2360
- "description": "Create a new release from local XanoScript files via the multidoc endpoint",
2207
+ "description": "Pull a release multidoc from the Xano Metadata API and split into individual files",
2361
2208
  "examples": [
2362
- "$ xano release push ./my-release -n \"v1.0\"\nCreated release: v1.0 - ID: 10\n",
2363
- "$ xano release push ./output -n \"v2.0\" -w 40 -d \"Major update\"\nCreated release: v2.0 - ID: 15\n",
2364
- "$ xano release push ./backup -n \"v1.1-hotfix\" --hotfix --profile production\nCreated release: v1.1-hotfix - ID: 20\n",
2365
- "$ xano release push ./my-release -n \"v1.0\" --no-records --no-env\nCreate release from schema only, skip records and environment variables\n",
2366
- "$ xano release push ./my-release -n \"v1.0\" -o json\nOutput release details as JSON\n"
2209
+ "$ xano release pull ./my-release -r v1.0\nPulled 42 documents from release 'v1.0' to ./my-release\n",
2210
+ "$ xano release pull ./output -r v1.0 -w 40\nPulled 15 documents from release 'v1.0' to ./output\n",
2211
+ "$ xano release pull ./backup -r v1.0 --profile production --env --records\nPulled 58 documents from release 'v1.0' to ./backup\n"
2367
2212
  ],
2368
2213
  "flags": {
2369
2214
  "profile": {
@@ -2385,60 +2230,29 @@
2385
2230
  "allowNo": false,
2386
2231
  "type": "boolean"
2387
2232
  },
2388
- "description": {
2389
- "char": "d",
2390
- "description": "Release description",
2391
- "name": "description",
2392
- "required": false,
2393
- "default": "",
2394
- "hasDynamicHelp": false,
2395
- "multiple": false,
2396
- "type": "option"
2397
- },
2398
2233
  "env": {
2399
- "description": "Include environment variables (default: true, use --no-env to exclude)",
2234
+ "description": "Include environment variables",
2400
2235
  "name": "env",
2401
2236
  "required": false,
2402
- "allowNo": true,
2237
+ "allowNo": false,
2403
2238
  "type": "boolean"
2404
2239
  },
2405
- "hotfix": {
2406
- "description": "Mark as a hotfix release",
2407
- "name": "hotfix",
2240
+ "records": {
2241
+ "description": "Include records",
2242
+ "name": "records",
2408
2243
  "required": false,
2409
2244
  "allowNo": false,
2410
2245
  "type": "boolean"
2411
2246
  },
2412
- "name": {
2413
- "char": "n",
2414
- "description": "Name for the release",
2415
- "name": "name",
2247
+ "release": {
2248
+ "char": "r",
2249
+ "description": "Release name to pull from",
2250
+ "name": "release",
2416
2251
  "required": true,
2417
2252
  "hasDynamicHelp": false,
2418
2253
  "multiple": false,
2419
2254
  "type": "option"
2420
2255
  },
2421
- "output": {
2422
- "char": "o",
2423
- "description": "Output format",
2424
- "name": "output",
2425
- "required": false,
2426
- "default": "summary",
2427
- "hasDynamicHelp": false,
2428
- "multiple": false,
2429
- "options": [
2430
- "summary",
2431
- "json"
2432
- ],
2433
- "type": "option"
2434
- },
2435
- "records": {
2436
- "description": "Include records (default: true, use --no-records to exclude)",
2437
- "name": "records",
2438
- "required": false,
2439
- "allowNo": true,
2440
- "type": "boolean"
2441
- },
2442
2256
  "workspace": {
2443
2257
  "char": "w",
2444
2258
  "description": "Workspace ID (optional if set in profile)",
@@ -2451,7 +2265,7 @@
2451
2265
  },
2452
2266
  "hasDynamicHelp": false,
2453
2267
  "hiddenAliases": [],
2454
- "id": "release:push",
2268
+ "id": "release:pull",
2455
2269
  "pluginAlias": "@xano/cli",
2456
2270
  "pluginName": "@xano/cli",
2457
2271
  "pluginType": "core",
@@ -2462,7 +2276,7 @@
2462
2276
  "dist",
2463
2277
  "commands",
2464
2278
  "release",
2465
- "push",
2279
+ "pull",
2466
2280
  "index.js"
2467
2281
  ]
2468
2282
  },
@@ -2558,13 +2372,22 @@
2558
2372
  "index.js"
2559
2373
  ]
2560
2374
  },
2561
- "unit_test:run_all": {
2375
+ "release:push": {
2562
2376
  "aliases": [],
2563
- "args": {},
2564
- "description": "Run all unit tests in a workspace",
2377
+ "args": {
2378
+ "directory": {
2379
+ "description": "Directory containing .xs documents to create the release from",
2380
+ "name": "directory",
2381
+ "required": true
2382
+ }
2383
+ },
2384
+ "description": "Create a new release from local XanoScript files via the multidoc endpoint",
2565
2385
  "examples": [
2566
- "$ xano unit-test run-all\nRunning 5 unit tests...\n\nPASS my-test [function: math]\nPASS auth-check [query: /user/login]\nFAIL data-validation [function: validate]\n Error: assertion failed\n\nResults: 2 passed, 1 failed\n",
2567
- "$ xano unit-test run-all --obj-type function -o json"
2386
+ "$ xano release push ./my-release -n \"v1.0\"\nCreated release: v1.0 - ID: 10\n",
2387
+ "$ xano release push ./output -n \"v2.0\" -w 40 -d \"Major update\"\nCreated release: v2.0 - ID: 15\n",
2388
+ "$ xano release push ./backup -n \"v1.1-hotfix\" --hotfix --profile production\nCreated release: v1.1-hotfix - ID: 20\n",
2389
+ "$ xano release push ./my-release -n \"v1.0\" --no-records --no-env\nCreate release from schema only, skip records and environment variables\n",
2390
+ "$ xano release push ./my-release -n \"v1.0\" -o json\nOutput release details as JSON\n"
2568
2391
  ],
2569
2392
  "flags": {
2570
2393
  "profile": {
@@ -2586,26 +2409,37 @@
2586
2409
  "allowNo": false,
2587
2410
  "type": "boolean"
2588
2411
  },
2589
- "branch": {
2590
- "char": "b",
2591
- "description": "Filter by branch name",
2592
- "name": "branch",
2593
- "required": false,
2594
- "hasDynamicHelp": false,
2595
- "multiple": false,
2596
- "type": "option"
2597
- },
2598
- "obj-type": {
2599
- "description": "Filter by object type",
2600
- "name": "obj-type",
2601
- "required": false,
2412
+ "description": {
2413
+ "char": "d",
2414
+ "description": "Release description",
2415
+ "name": "description",
2416
+ "required": false,
2417
+ "default": "",
2418
+ "hasDynamicHelp": false,
2419
+ "multiple": false,
2420
+ "type": "option"
2421
+ },
2422
+ "env": {
2423
+ "description": "Include environment variables (default: true, use --no-env to exclude)",
2424
+ "name": "env",
2425
+ "required": false,
2426
+ "allowNo": true,
2427
+ "type": "boolean"
2428
+ },
2429
+ "hotfix": {
2430
+ "description": "Mark as a hotfix release",
2431
+ "name": "hotfix",
2432
+ "required": false,
2433
+ "allowNo": false,
2434
+ "type": "boolean"
2435
+ },
2436
+ "name": {
2437
+ "char": "n",
2438
+ "description": "Name for the release",
2439
+ "name": "name",
2440
+ "required": true,
2602
2441
  "hasDynamicHelp": false,
2603
2442
  "multiple": false,
2604
- "options": [
2605
- "function",
2606
- "query",
2607
- "middleware"
2608
- ],
2609
2443
  "type": "option"
2610
2444
  },
2611
2445
  "output": {
@@ -2622,9 +2456,16 @@
2622
2456
  ],
2623
2457
  "type": "option"
2624
2458
  },
2459
+ "records": {
2460
+ "description": "Include records (default: true, use --no-records to exclude)",
2461
+ "name": "records",
2462
+ "required": false,
2463
+ "allowNo": true,
2464
+ "type": "boolean"
2465
+ },
2625
2466
  "workspace": {
2626
2467
  "char": "w",
2627
- "description": "Workspace ID (uses profile workspace if not provided)",
2468
+ "description": "Workspace ID (optional if set in profile)",
2628
2469
  "name": "workspace",
2629
2470
  "required": false,
2630
2471
  "hasDynamicHelp": false,
@@ -2634,7 +2475,7 @@
2634
2475
  },
2635
2476
  "hasDynamicHelp": false,
2636
2477
  "hiddenAliases": [],
2637
- "id": "unit_test:run_all",
2478
+ "id": "release:push",
2638
2479
  "pluginAlias": "@xano/cli",
2639
2480
  "pluginName": "@xano/cli",
2640
2481
  "pluginType": "core",
@@ -2644,25 +2485,18 @@
2644
2485
  "relativePath": [
2645
2486
  "dist",
2646
2487
  "commands",
2647
- "unit_test",
2648
- "run_all",
2488
+ "release",
2489
+ "push",
2649
2490
  "index.js"
2650
2491
  ]
2651
2492
  },
2652
- "release:pull": {
2493
+ "release:list": {
2653
2494
  "aliases": [],
2654
- "args": {
2655
- "directory": {
2656
- "description": "Output directory for pulled documents",
2657
- "name": "directory",
2658
- "required": true
2659
- }
2660
- },
2661
- "description": "Pull a release multidoc from the Xano Metadata API and split into individual files",
2495
+ "args": {},
2496
+ "description": "List all releases in a workspace",
2662
2497
  "examples": [
2663
- "$ xano release pull ./my-release -r v1.0\nPulled 42 documents from release 'v1.0' to ./my-release\n",
2664
- "$ xano release pull ./output -r v1.0 -w 40\nPulled 15 documents from release 'v1.0' to ./output\n",
2665
- "$ xano release pull ./backup -r v1.0 --profile production --env --records\nPulled 58 documents from release 'v1.0' to ./backup\n"
2498
+ "$ xano release list\nReleases in workspace 5:\n - v1.0 (ID: 10) - main\n - v1.1-hotfix (ID: 11) - main [hotfix]\n",
2499
+ "$ xano release list -w 5 --output json"
2666
2500
  ],
2667
2501
  "flags": {
2668
2502
  "profile": {
@@ -2684,32 +2518,23 @@
2684
2518
  "allowNo": false,
2685
2519
  "type": "boolean"
2686
2520
  },
2687
- "env": {
2688
- "description": "Include environment variables",
2689
- "name": "env",
2690
- "required": false,
2691
- "allowNo": false,
2692
- "type": "boolean"
2693
- },
2694
- "records": {
2695
- "description": "Include records",
2696
- "name": "records",
2521
+ "output": {
2522
+ "char": "o",
2523
+ "description": "Output format",
2524
+ "name": "output",
2697
2525
  "required": false,
2698
- "allowNo": false,
2699
- "type": "boolean"
2700
- },
2701
- "release": {
2702
- "char": "r",
2703
- "description": "Release name to pull from",
2704
- "name": "release",
2705
- "required": true,
2526
+ "default": "summary",
2706
2527
  "hasDynamicHelp": false,
2707
2528
  "multiple": false,
2529
+ "options": [
2530
+ "summary",
2531
+ "json"
2532
+ ],
2708
2533
  "type": "option"
2709
2534
  },
2710
2535
  "workspace": {
2711
2536
  "char": "w",
2712
- "description": "Workspace ID (optional if set in profile)",
2537
+ "description": "Workspace ID (uses profile workspace if not provided)",
2713
2538
  "name": "workspace",
2714
2539
  "required": false,
2715
2540
  "hasDynamicHelp": false,
@@ -2719,7 +2544,7 @@
2719
2544
  },
2720
2545
  "hasDynamicHelp": false,
2721
2546
  "hiddenAliases": [],
2722
- "id": "release:pull",
2547
+ "id": "release:list",
2723
2548
  "pluginAlias": "@xano/cli",
2724
2549
  "pluginName": "@xano/cli",
2725
2550
  "pluginType": "core",
@@ -2730,7 +2555,7 @@
2730
2555
  "dist",
2731
2556
  "commands",
2732
2557
  "release",
2733
- "pull",
2558
+ "list",
2734
2559
  "index.js"
2735
2560
  ]
2736
2561
  },
@@ -2809,19 +2634,13 @@
2809
2634
  "index.js"
2810
2635
  ]
2811
2636
  },
2812
- "tenant:deploy_platform": {
2637
+ "unit_test:run_all": {
2813
2638
  "aliases": [],
2814
- "args": {
2815
- "tenant_name": {
2816
- "description": "Tenant name to deploy to",
2817
- "name": "tenant_name",
2818
- "required": true
2819
- }
2820
- },
2821
- "description": "Deploy a platform version to a tenant",
2639
+ "args": {},
2640
+ "description": "Run all unit tests in a workspace",
2822
2641
  "examples": [
2823
- "$ xano tenant deploy_platform t1234-abcd-xyz1 --platform_id 5\nDeployed platform 5 to tenant: My Tenant (my-tenant)\n",
2824
- "$ xano tenant deploy_platform t1234-abcd-xyz1 --platform_id 5 -o json"
2642
+ "$ xano unit-test run-all\nRunning 5 unit tests...\n\nPASS my-test [function: math]\nPASS auth-check [query: /user/login]\nFAIL data-validation [function: validate]\n Error: assertion failed\n\nResults: 2 passed, 1 failed\n",
2643
+ "$ xano unit-test run-all --obj-type function -o json"
2825
2644
  ],
2826
2645
  "flags": {
2827
2646
  "profile": {
@@ -2843,6 +2662,28 @@
2843
2662
  "allowNo": false,
2844
2663
  "type": "boolean"
2845
2664
  },
2665
+ "branch": {
2666
+ "char": "b",
2667
+ "description": "Filter by branch name",
2668
+ "name": "branch",
2669
+ "required": false,
2670
+ "hasDynamicHelp": false,
2671
+ "multiple": false,
2672
+ "type": "option"
2673
+ },
2674
+ "obj-type": {
2675
+ "description": "Filter by object type",
2676
+ "name": "obj-type",
2677
+ "required": false,
2678
+ "hasDynamicHelp": false,
2679
+ "multiple": false,
2680
+ "options": [
2681
+ "function",
2682
+ "query",
2683
+ "middleware"
2684
+ ],
2685
+ "type": "option"
2686
+ },
2846
2687
  "output": {
2847
2688
  "char": "o",
2848
2689
  "description": "Output format",
@@ -2857,14 +2698,6 @@
2857
2698
  ],
2858
2699
  "type": "option"
2859
2700
  },
2860
- "platform_id": {
2861
- "description": "Platform ID to deploy",
2862
- "name": "platform_id",
2863
- "required": true,
2864
- "hasDynamicHelp": false,
2865
- "multiple": false,
2866
- "type": "option"
2867
- },
2868
2701
  "workspace": {
2869
2702
  "char": "w",
2870
2703
  "description": "Workspace ID (uses profile workspace if not provided)",
@@ -2877,7 +2710,7 @@
2877
2710
  },
2878
2711
  "hasDynamicHelp": false,
2879
2712
  "hiddenAliases": [],
2880
- "id": "tenant:deploy_platform",
2713
+ "id": "unit_test:run_all",
2881
2714
  "pluginAlias": "@xano/cli",
2882
2715
  "pluginName": "@xano/cli",
2883
2716
  "pluginType": "core",
@@ -2887,8 +2720,8 @@
2887
2720
  "relativePath": [
2888
2721
  "dist",
2889
2722
  "commands",
2890
- "tenant",
2891
- "deploy_platform",
2723
+ "unit_test",
2724
+ "run_all",
2892
2725
  "index.js"
2893
2726
  ]
2894
2727
  },
@@ -3116,19 +2949,19 @@
3116
2949
  "index.js"
3117
2950
  ]
3118
2951
  },
3119
- "tenant:edit": {
2952
+ "tenant:deploy_platform": {
3120
2953
  "aliases": [],
3121
2954
  "args": {
3122
2955
  "tenant_name": {
3123
- "description": "Tenant name to edit",
2956
+ "description": "Tenant name to deploy to",
3124
2957
  "name": "tenant_name",
3125
2958
  "required": true
3126
2959
  }
3127
2960
  },
3128
- "description": "Edit an existing tenant",
2961
+ "description": "Deploy a platform version to a tenant",
3129
2962
  "examples": [
3130
- "$ xano tenant edit t1234-abcd-xyz1 --display \"New Name\" --description \"Updated description\"\nUpdated tenant: New Name (my-tenant) - ID: 42\n",
3131
- "$ xano tenant edit t1234-abcd-xyz1 --no-tasks --no-ingress -o json"
2963
+ "$ xano tenant deploy_platform t1234-abcd-xyz1 --platform_id 5\nDeployed platform 5 to tenant: My Tenant (my-tenant)\n",
2964
+ "$ xano tenant deploy_platform t1234-abcd-xyz1 --platform_id 5 -o json"
3132
2965
  ],
3133
2966
  "flags": {
3134
2967
  "profile": {
@@ -3150,36 +2983,87 @@
3150
2983
  "allowNo": false,
3151
2984
  "type": "boolean"
3152
2985
  },
3153
- "description": {
3154
- "char": "d",
3155
- "description": "New description",
3156
- "name": "description",
2986
+ "output": {
2987
+ "char": "o",
2988
+ "description": "Output format",
2989
+ "name": "output",
3157
2990
  "required": false,
2991
+ "default": "summary",
3158
2992
  "hasDynamicHelp": false,
3159
2993
  "multiple": false,
2994
+ "options": [
2995
+ "summary",
2996
+ "json"
2997
+ ],
3160
2998
  "type": "option"
3161
2999
  },
3162
- "display": {
3163
- "description": "New display name",
3164
- "name": "display",
3165
- "required": false,
3000
+ "platform_id": {
3001
+ "description": "Platform ID to deploy",
3002
+ "name": "platform_id",
3003
+ "required": true,
3166
3004
  "hasDynamicHelp": false,
3167
3005
  "multiple": false,
3168
3006
  "type": "option"
3169
3007
  },
3170
- "domain": {
3171
- "description": "Custom domain",
3172
- "name": "domain",
3008
+ "workspace": {
3009
+ "char": "w",
3010
+ "description": "Workspace ID (uses profile workspace if not provided)",
3011
+ "name": "workspace",
3012
+ "required": false,
3013
+ "hasDynamicHelp": false,
3014
+ "multiple": false,
3015
+ "type": "option"
3016
+ }
3017
+ },
3018
+ "hasDynamicHelp": false,
3019
+ "hiddenAliases": [],
3020
+ "id": "tenant:deploy_platform",
3021
+ "pluginAlias": "@xano/cli",
3022
+ "pluginName": "@xano/cli",
3023
+ "pluginType": "core",
3024
+ "strict": true,
3025
+ "enableJsonFlag": false,
3026
+ "isESM": true,
3027
+ "relativePath": [
3028
+ "dist",
3029
+ "commands",
3030
+ "tenant",
3031
+ "deploy_platform",
3032
+ "index.js"
3033
+ ]
3034
+ },
3035
+ "tenant:deploy_release": {
3036
+ "aliases": [],
3037
+ "args": {
3038
+ "tenant_name": {
3039
+ "description": "Tenant name to deploy to",
3040
+ "name": "tenant_name",
3041
+ "required": true
3042
+ }
3043
+ },
3044
+ "description": "Deploy a release to a tenant",
3045
+ "examples": [
3046
+ "$ xano tenant deploy_release t1234-abcd-xyz1 --release v1.0\nDeployed release \"v1.0\" to tenant: My Tenant (my-tenant)\n",
3047
+ "$ xano tenant deploy_release t1234-abcd-xyz1 --release v1.0 -o json"
3048
+ ],
3049
+ "flags": {
3050
+ "profile": {
3051
+ "char": "p",
3052
+ "description": "Profile to use (uses default profile if not specified)",
3053
+ "env": "XANO_PROFILE",
3054
+ "name": "profile",
3173
3055
  "required": false,
3174
3056
  "hasDynamicHelp": false,
3175
3057
  "multiple": false,
3176
3058
  "type": "option"
3177
3059
  },
3178
- "ingress": {
3179
- "description": "Enable/disable ingress",
3180
- "name": "ingress",
3060
+ "verbose": {
3061
+ "char": "v",
3062
+ "description": "Show detailed request/response information",
3063
+ "env": "XANO_VERBOSE",
3064
+ "name": "verbose",
3181
3065
  "required": false,
3182
- "allowNo": true,
3066
+ "allowNo": false,
3183
3067
  "type": "boolean"
3184
3068
  },
3185
3069
  "output": {
@@ -3194,29 +3078,16 @@
3194
3078
  "summary",
3195
3079
  "json"
3196
3080
  ],
3197
- "type": "option"
3198
- },
3199
- "proxy": {
3200
- "description": "Proxy URL",
3201
- "name": "proxy",
3202
- "required": false,
3203
- "hasDynamicHelp": false,
3204
- "multiple": false,
3205
- "type": "option"
3206
- },
3207
- "rbac": {
3208
- "description": "Enable/disable RBAC",
3209
- "name": "rbac",
3210
- "required": false,
3211
- "allowNo": true,
3212
- "type": "boolean"
3213
- },
3214
- "tasks": {
3215
- "description": "Enable/disable background tasks",
3216
- "name": "tasks",
3217
- "required": false,
3218
- "allowNo": true,
3219
- "type": "boolean"
3081
+ "type": "option"
3082
+ },
3083
+ "release": {
3084
+ "char": "r",
3085
+ "description": "Release name to deploy",
3086
+ "name": "release",
3087
+ "required": true,
3088
+ "hasDynamicHelp": false,
3089
+ "multiple": false,
3090
+ "type": "option"
3220
3091
  },
3221
3092
  "workspace": {
3222
3093
  "char": "w",
@@ -3230,7 +3101,7 @@
3230
3101
  },
3231
3102
  "hasDynamicHelp": false,
3232
3103
  "hiddenAliases": [],
3233
- "id": "tenant:edit",
3104
+ "id": "tenant:deploy_release",
3234
3105
  "pluginAlias": "@xano/cli",
3235
3106
  "pluginName": "@xano/cli",
3236
3107
  "pluginType": "core",
@@ -3241,23 +3112,23 @@
3241
3112
  "dist",
3242
3113
  "commands",
3243
3114
  "tenant",
3244
- "edit",
3115
+ "deploy_release",
3245
3116
  "index.js"
3246
3117
  ]
3247
3118
  },
3248
- "tenant:deploy_release": {
3119
+ "tenant:edit": {
3249
3120
  "aliases": [],
3250
3121
  "args": {
3251
3122
  "tenant_name": {
3252
- "description": "Tenant name to deploy to",
3123
+ "description": "Tenant name to edit",
3253
3124
  "name": "tenant_name",
3254
3125
  "required": true
3255
3126
  }
3256
3127
  },
3257
- "description": "Deploy a release to a tenant",
3128
+ "description": "Edit an existing tenant",
3258
3129
  "examples": [
3259
- "$ xano tenant deploy_release t1234-abcd-xyz1 --release v1.0\nDeployed release \"v1.0\" to tenant: My Tenant (my-tenant)\n",
3260
- "$ xano tenant deploy_release t1234-abcd-xyz1 --release v1.0 -o json"
3130
+ "$ xano tenant edit t1234-abcd-xyz1 --display \"New Name\" --description \"Updated description\"\nUpdated tenant: New Name (my-tenant) - ID: 42\n",
3131
+ "$ xano tenant edit t1234-abcd-xyz1 --no-tasks --no-ingress -o json"
3261
3132
  ],
3262
3133
  "flags": {
3263
3134
  "profile": {
@@ -3279,6 +3150,38 @@
3279
3150
  "allowNo": false,
3280
3151
  "type": "boolean"
3281
3152
  },
3153
+ "description": {
3154
+ "char": "d",
3155
+ "description": "New description",
3156
+ "name": "description",
3157
+ "required": false,
3158
+ "hasDynamicHelp": false,
3159
+ "multiple": false,
3160
+ "type": "option"
3161
+ },
3162
+ "display": {
3163
+ "description": "New display name",
3164
+ "name": "display",
3165
+ "required": false,
3166
+ "hasDynamicHelp": false,
3167
+ "multiple": false,
3168
+ "type": "option"
3169
+ },
3170
+ "domain": {
3171
+ "description": "Custom domain",
3172
+ "name": "domain",
3173
+ "required": false,
3174
+ "hasDynamicHelp": false,
3175
+ "multiple": false,
3176
+ "type": "option"
3177
+ },
3178
+ "ingress": {
3179
+ "description": "Enable/disable ingress",
3180
+ "name": "ingress",
3181
+ "required": false,
3182
+ "allowNo": true,
3183
+ "type": "boolean"
3184
+ },
3282
3185
  "output": {
3283
3186
  "char": "o",
3284
3187
  "description": "Output format",
@@ -3293,15 +3196,28 @@
3293
3196
  ],
3294
3197
  "type": "option"
3295
3198
  },
3296
- "release": {
3297
- "char": "r",
3298
- "description": "Release name to deploy",
3299
- "name": "release",
3300
- "required": true,
3199
+ "proxy": {
3200
+ "description": "Proxy URL",
3201
+ "name": "proxy",
3202
+ "required": false,
3301
3203
  "hasDynamicHelp": false,
3302
3204
  "multiple": false,
3303
3205
  "type": "option"
3304
3206
  },
3207
+ "rbac": {
3208
+ "description": "Enable/disable RBAC",
3209
+ "name": "rbac",
3210
+ "required": false,
3211
+ "allowNo": true,
3212
+ "type": "boolean"
3213
+ },
3214
+ "tasks": {
3215
+ "description": "Enable/disable background tasks",
3216
+ "name": "tasks",
3217
+ "required": false,
3218
+ "allowNo": true,
3219
+ "type": "boolean"
3220
+ },
3305
3221
  "workspace": {
3306
3222
  "char": "w",
3307
3223
  "description": "Workspace ID (uses profile workspace if not provided)",
@@ -3314,7 +3230,7 @@
3314
3230
  },
3315
3231
  "hasDynamicHelp": false,
3316
3232
  "hiddenAliases": [],
3317
- "id": "tenant:deploy_release",
3233
+ "id": "tenant:edit",
3318
3234
  "pluginAlias": "@xano/cli",
3319
3235
  "pluginName": "@xano/cli",
3320
3236
  "pluginType": "core",
@@ -3325,7 +3241,7 @@
3325
3241
  "dist",
3326
3242
  "commands",
3327
3243
  "tenant",
3328
- "deploy_release",
3244
+ "edit",
3329
3245
  "index.js"
3330
3246
  ]
3331
3247
  },
@@ -3744,20 +3660,15 @@
3744
3660
  "index.js"
3745
3661
  ]
3746
3662
  },
3747
- "workflow_test:get": {
3663
+ "static_host:list": {
3748
3664
  "aliases": [],
3749
- "args": {
3750
- "workflow_test_id": {
3751
- "description": "ID of the workflow test",
3752
- "name": "workflow_test_id",
3753
- "required": true
3754
- }
3755
- },
3756
- "description": "Get a specific workflow test",
3665
+ "args": {},
3666
+ "description": "List all static hosts in a workspace from the Xano Metadata API",
3757
3667
  "examples": [
3758
- "$ xano workflow-test get 1\nWorkflow Test: my-test (ID: 1)\n Description: Validates auth endpoints\n Branch: main\n",
3759
- "$ xano workflow-test get 1 -o xs",
3760
- "$ xano workflow-test get 1 -o json"
3668
+ "$ xano static_host:list -w 40\nAvailable static hosts:\n - my-static-host (ID: 1)\n - another-host (ID: 2)\n",
3669
+ "$ xano static_host:list --profile production\nAvailable static hosts:\n - my-static-host (ID: 1)\n - another-host (ID: 2)\n",
3670
+ "$ xano static_host:list -w 40 --output json\n[\n {\n \"id\": 1,\n \"name\": \"my-static-host\",\n \"domain\": \"example.com\"\n }\n]\n",
3671
+ "$ xano static_host:list -p staging -o json --page 2\n[\n {\n \"id\": 3,\n \"name\": \"static-host-3\"\n }\n]\n"
3761
3672
  ],
3762
3673
  "flags": {
3763
3674
  "profile": {
@@ -3779,13 +3690,6 @@
3779
3690
  "allowNo": false,
3780
3691
  "type": "boolean"
3781
3692
  },
3782
- "include-draft": {
3783
- "description": "Include draft version",
3784
- "name": "include-draft",
3785
- "required": false,
3786
- "allowNo": false,
3787
- "type": "boolean"
3788
- },
3789
3693
  "output": {
3790
3694
  "char": "o",
3791
3695
  "description": "Output format",
@@ -3796,14 +3700,31 @@
3796
3700
  "multiple": false,
3797
3701
  "options": [
3798
3702
  "summary",
3799
- "json",
3800
- "xs"
3703
+ "json"
3801
3704
  ],
3802
3705
  "type": "option"
3803
3706
  },
3707
+ "page": {
3708
+ "description": "Page number for pagination",
3709
+ "name": "page",
3710
+ "required": false,
3711
+ "default": 1,
3712
+ "hasDynamicHelp": false,
3713
+ "multiple": false,
3714
+ "type": "option"
3715
+ },
3716
+ "per_page": {
3717
+ "description": "Number of results per page",
3718
+ "name": "per_page",
3719
+ "required": false,
3720
+ "default": 50,
3721
+ "hasDynamicHelp": false,
3722
+ "multiple": false,
3723
+ "type": "option"
3724
+ },
3804
3725
  "workspace": {
3805
3726
  "char": "w",
3806
- "description": "Workspace ID (uses profile workspace if not provided)",
3727
+ "description": "Workspace ID (optional if set in profile)",
3807
3728
  "name": "workspace",
3808
3729
  "required": false,
3809
3730
  "hasDynamicHelp": false,
@@ -3813,7 +3734,7 @@
3813
3734
  },
3814
3735
  "hasDynamicHelp": false,
3815
3736
  "hiddenAliases": [],
3816
- "id": "workflow_test:get",
3737
+ "id": "static_host:list",
3817
3738
  "pluginAlias": "@xano/cli",
3818
3739
  "pluginName": "@xano/cli",
3819
3740
  "pluginType": "core",
@@ -3823,8 +3744,8 @@
3823
3744
  "relativePath": [
3824
3745
  "dist",
3825
3746
  "commands",
3826
- "workflow_test",
3827
- "get",
3747
+ "static_host",
3748
+ "list",
3828
3749
  "index.js"
3829
3750
  ]
3830
3751
  },
@@ -3911,14 +3832,20 @@
3911
3832
  "index.js"
3912
3833
  ]
3913
3834
  },
3914
- "workflow_test:list": {
3835
+ "workflow_test:get": {
3915
3836
  "aliases": [],
3916
- "args": {},
3917
- "description": "List all workflow tests in a workspace",
3837
+ "args": {
3838
+ "workflow_test_id": {
3839
+ "description": "ID of the workflow test",
3840
+ "name": "workflow_test_id",
3841
+ "required": true
3842
+ }
3843
+ },
3844
+ "description": "Get a specific workflow test",
3918
3845
  "examples": [
3919
- "$ xano workflow-test list\nWorkflow tests in workspace 5:\n - my-test (ID: 1)\n - auth-flow (ID: 2) - Validates auth endpoints\n",
3920
- "$ xano workflow-test list -w 5 --output json",
3921
- "$ xano workflow-test list --branch main"
3846
+ "$ xano workflow-test get 1\nWorkflow Test: my-test (ID: 1)\n Description: Validates auth endpoints\n Branch: main\n",
3847
+ "$ xano workflow-test get 1 -o xs",
3848
+ "$ xano workflow-test get 1 -o json"
3922
3849
  ],
3923
3850
  "flags": {
3924
3851
  "profile": {
@@ -3940,14 +3867,12 @@
3940
3867
  "allowNo": false,
3941
3868
  "type": "boolean"
3942
3869
  },
3943
- "branch": {
3944
- "char": "b",
3945
- "description": "Filter by branch name",
3946
- "name": "branch",
3870
+ "include-draft": {
3871
+ "description": "Include draft version",
3872
+ "name": "include-draft",
3947
3873
  "required": false,
3948
- "hasDynamicHelp": false,
3949
- "multiple": false,
3950
- "type": "option"
3874
+ "allowNo": false,
3875
+ "type": "boolean"
3951
3876
  },
3952
3877
  "output": {
3953
3878
  "char": "o",
@@ -3959,7 +3884,8 @@
3959
3884
  "multiple": false,
3960
3885
  "options": [
3961
3886
  "summary",
3962
- "json"
3887
+ "json",
3888
+ "xs"
3963
3889
  ],
3964
3890
  "type": "option"
3965
3891
  },
@@ -3975,7 +3901,7 @@
3975
3901
  },
3976
3902
  "hasDynamicHelp": false,
3977
3903
  "hiddenAliases": [],
3978
- "id": "workflow_test:list",
3904
+ "id": "workflow_test:get",
3979
3905
  "pluginAlias": "@xano/cli",
3980
3906
  "pluginName": "@xano/cli",
3981
3907
  "pluginType": "core",
@@ -3986,24 +3912,18 @@
3986
3912
  "dist",
3987
3913
  "commands",
3988
3914
  "workflow_test",
3989
- "list",
3915
+ "get",
3990
3916
  "index.js"
3991
3917
  ]
3992
3918
  },
3993
- "workspace:create": {
3919
+ "workflow_test:list": {
3994
3920
  "aliases": [],
3995
- "args": {
3996
- "name": {
3997
- "description": "Name of the workspace",
3998
- "name": "name",
3999
- "required": true
4000
- }
4001
- },
4002
- "description": "Create a new workspace via the Xano Metadata API",
3921
+ "args": {},
3922
+ "description": "List all workflow tests in a workspace",
4003
3923
  "examples": [
4004
- "$ xano workspace create my-workspace\nCreated workspace: my-workspace (ID: 123)\n",
4005
- "$ xano workspace create my-app --description \"My application workspace\"\nCreated workspace: my-app (ID: 456)\n Description: My application workspace\n",
4006
- "$ 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"
3924
+ "$ xano workflow-test list\nWorkflow tests in workspace 5:\n - my-test (ID: 1)\n - auth-flow (ID: 2) - Validates auth endpoints\n",
3925
+ "$ xano workflow-test list -w 5 --output json",
3926
+ "$ xano workflow-test list --branch main"
4007
3927
  ],
4008
3928
  "flags": {
4009
3929
  "profile": {
@@ -4025,10 +3945,10 @@
4025
3945
  "allowNo": false,
4026
3946
  "type": "boolean"
4027
3947
  },
4028
- "description": {
4029
- "char": "d",
4030
- "description": "Description for the workspace",
4031
- "name": "description",
3948
+ "branch": {
3949
+ "char": "b",
3950
+ "description": "Filter by branch name",
3951
+ "name": "branch",
4032
3952
  "required": false,
4033
3953
  "hasDynamicHelp": false,
4034
3954
  "multiple": false,
@@ -4047,11 +3967,20 @@
4047
3967
  "json"
4048
3968
  ],
4049
3969
  "type": "option"
3970
+ },
3971
+ "workspace": {
3972
+ "char": "w",
3973
+ "description": "Workspace ID (uses profile workspace if not provided)",
3974
+ "name": "workspace",
3975
+ "required": false,
3976
+ "hasDynamicHelp": false,
3977
+ "multiple": false,
3978
+ "type": "option"
4050
3979
  }
4051
3980
  },
4052
3981
  "hasDynamicHelp": false,
4053
3982
  "hiddenAliases": [],
4054
- "id": "workspace:create",
3983
+ "id": "workflow_test:list",
4055
3984
  "pluginAlias": "@xano/cli",
4056
3985
  "pluginName": "@xano/cli",
4057
3986
  "pluginType": "core",
@@ -4061,8 +3990,8 @@
4061
3990
  "relativePath": [
4062
3991
  "dist",
4063
3992
  "commands",
4064
- "workspace",
4065
- "create",
3993
+ "workflow_test",
3994
+ "list",
4066
3995
  "index.js"
4067
3996
  ]
4068
3997
  },
@@ -4141,13 +4070,20 @@
4141
4070
  "index.js"
4142
4071
  ]
4143
4072
  },
4144
- "workflow_test:run_all": {
4073
+ "workspace:delete": {
4145
4074
  "aliases": [],
4146
- "args": {},
4147
- "description": "Run all workflow tests in a workspace",
4075
+ "args": {
4076
+ "workspace_id": {
4077
+ "description": "Workspace ID to delete",
4078
+ "name": "workspace_id",
4079
+ "required": true
4080
+ }
4081
+ },
4082
+ "description": "Delete a workspace via the Xano Metadata API. Cannot delete workspaces with active tenants.",
4148
4083
  "examples": [
4149
- "$ 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",
4150
- "$ xano workflow-test run-all --branch main -o json"
4084
+ "$ xano workspace delete 123\nAre you sure you want to delete workspace 123? This action cannot be undone. (y/N) y\nDeleted workspace 123\n",
4085
+ "$ xano workspace delete 123 --force\nDeleted workspace 123\n",
4086
+ "$ xano workspace delete 123 -f -o json\n{\n \"deleted\": true,\n \"workspace_id\": 123\n}\n"
4151
4087
  ],
4152
4088
  "flags": {
4153
4089
  "profile": {
@@ -4169,14 +4105,13 @@
4169
4105
  "allowNo": false,
4170
4106
  "type": "boolean"
4171
4107
  },
4172
- "branch": {
4173
- "char": "b",
4174
- "description": "Filter by branch name",
4175
- "name": "branch",
4108
+ "force": {
4109
+ "char": "f",
4110
+ "description": "Skip confirmation prompt",
4111
+ "name": "force",
4176
4112
  "required": false,
4177
- "hasDynamicHelp": false,
4178
- "multiple": false,
4179
- "type": "option"
4113
+ "allowNo": false,
4114
+ "type": "boolean"
4180
4115
  },
4181
4116
  "output": {
4182
4117
  "char": "o",
@@ -4189,22 +4124,13 @@
4189
4124
  "options": [
4190
4125
  "summary",
4191
4126
  "json"
4192
- ],
4193
- "type": "option"
4194
- },
4195
- "workspace": {
4196
- "char": "w",
4197
- "description": "Workspace ID (uses profile workspace if not provided)",
4198
- "name": "workspace",
4199
- "required": false,
4200
- "hasDynamicHelp": false,
4201
- "multiple": false,
4127
+ ],
4202
4128
  "type": "option"
4203
4129
  }
4204
4130
  },
4205
4131
  "hasDynamicHelp": false,
4206
4132
  "hiddenAliases": [],
4207
- "id": "workflow_test:run_all",
4133
+ "id": "workspace:delete",
4208
4134
  "pluginAlias": "@xano/cli",
4209
4135
  "pluginName": "@xano/cli",
4210
4136
  "pluginType": "core",
@@ -4214,26 +4140,18 @@
4214
4140
  "relativePath": [
4215
4141
  "dist",
4216
4142
  "commands",
4217
- "workflow_test",
4218
- "run_all",
4143
+ "workspace",
4144
+ "delete",
4219
4145
  "index.js"
4220
4146
  ]
4221
4147
  },
4222
- "workspace:edit": {
4148
+ "workflow_test:run_all": {
4223
4149
  "aliases": [],
4224
- "args": {
4225
- "workspace_id": {
4226
- "description": "Workspace ID to edit (uses profile workspace if not provided)",
4227
- "name": "workspace_id",
4228
- "required": false
4229
- }
4230
- },
4231
- "description": "Edit an existing workspace via the Xano Metadata API",
4150
+ "args": {},
4151
+ "description": "Run all workflow tests in a workspace",
4232
4152
  "examples": [
4233
- "$ xano workspace edit 123 --name \"new-name\"\nUpdated workspace: new-name (ID: 123)\n",
4234
- "$ xano workspace edit --name \"updated-workspace\" --description \"Updated description\"\nUpdated workspace: updated-workspace (ID: 123)\n Description: Updated description\n",
4235
- "$ xano workspace edit 123 --swagger --require-token\nUpdated workspace: my-workspace (ID: 123)\n Swagger: enabled\n Require Token: true\n",
4236
- "$ xano workspace edit 123 --no-swagger -o json\n{\n \"id\": 123,\n \"name\": \"my-workspace\",\n \"swagger\": false\n}\n"
4153
+ "$ 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",
4154
+ "$ xano workflow-test run-all --branch main -o json"
4237
4155
  ],
4238
4156
  "flags": {
4239
4157
  "profile": {
@@ -4255,19 +4173,10 @@
4255
4173
  "allowNo": false,
4256
4174
  "type": "boolean"
4257
4175
  },
4258
- "description": {
4259
- "char": "d",
4260
- "description": "New description for the workspace",
4261
- "name": "description",
4262
- "required": false,
4263
- "hasDynamicHelp": false,
4264
- "multiple": false,
4265
- "type": "option"
4266
- },
4267
- "name": {
4268
- "char": "n",
4269
- "description": "New name for the workspace",
4270
- "name": "name",
4176
+ "branch": {
4177
+ "char": "b",
4178
+ "description": "Filter by branch name",
4179
+ "name": "branch",
4271
4180
  "required": false,
4272
4181
  "hasDynamicHelp": false,
4273
4182
  "multiple": false,
@@ -4287,24 +4196,19 @@
4287
4196
  ],
4288
4197
  "type": "option"
4289
4198
  },
4290
- "require-token": {
4291
- "description": "Whether to require a token for documentation access",
4292
- "name": "require-token",
4293
- "required": false,
4294
- "allowNo": true,
4295
- "type": "boolean"
4296
- },
4297
- "swagger": {
4298
- "description": "Enable or disable swagger documentation",
4299
- "name": "swagger",
4199
+ "workspace": {
4200
+ "char": "w",
4201
+ "description": "Workspace ID (uses profile workspace if not provided)",
4202
+ "name": "workspace",
4300
4203
  "required": false,
4301
- "allowNo": true,
4302
- "type": "boolean"
4204
+ "hasDynamicHelp": false,
4205
+ "multiple": false,
4206
+ "type": "option"
4303
4207
  }
4304
4208
  },
4305
4209
  "hasDynamicHelp": false,
4306
4210
  "hiddenAliases": [],
4307
- "id": "workspace:edit",
4211
+ "id": "workflow_test:run_all",
4308
4212
  "pluginAlias": "@xano/cli",
4309
4213
  "pluginName": "@xano/cli",
4310
4214
  "pluginType": "core",
@@ -4314,25 +4218,25 @@
4314
4218
  "relativePath": [
4315
4219
  "dist",
4316
4220
  "commands",
4317
- "workspace",
4318
- "edit",
4221
+ "workflow_test",
4222
+ "run_all",
4319
4223
  "index.js"
4320
4224
  ]
4321
4225
  },
4322
- "workspace:get": {
4226
+ "workspace:create": {
4323
4227
  "aliases": [],
4324
4228
  "args": {
4325
- "workspace_id": {
4326
- "description": "Workspace ID to get details for (uses profile workspace if not provided)",
4327
- "name": "workspace_id",
4328
- "required": false
4229
+ "name": {
4230
+ "description": "Name of the workspace",
4231
+ "name": "name",
4232
+ "required": true
4329
4233
  }
4330
4234
  },
4331
- "description": "Get details of a specific workspace from the Xano Metadata API",
4235
+ "description": "Create a new workspace via the Xano Metadata API",
4332
4236
  "examples": [
4333
- "$ xano workspace get 123\nWorkspace: my-workspace (ID: 123)\n Description: My workspace description\n Created: 2024-01-15\n",
4334
- "$ xano workspace get --output json\n{\n \"id\": 123,\n \"name\": \"my-workspace\",\n \"description\": \"My workspace description\"\n}\n",
4335
- "$ xano workspace get 456 -p production -o json\n{\n \"id\": 456,\n \"name\": \"production-workspace\"\n}\n"
4237
+ "$ xano workspace create my-workspace\nCreated workspace: my-workspace (ID: 123)\n",
4238
+ "$ xano workspace create my-app --description \"My application workspace\"\nCreated workspace: my-app (ID: 456)\n Description: My application workspace\n",
4239
+ "$ 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"
4336
4240
  ],
4337
4241
  "flags": {
4338
4242
  "profile": {
@@ -4354,6 +4258,15 @@
4354
4258
  "allowNo": false,
4355
4259
  "type": "boolean"
4356
4260
  },
4261
+ "description": {
4262
+ "char": "d",
4263
+ "description": "Description for the workspace",
4264
+ "name": "description",
4265
+ "required": false,
4266
+ "hasDynamicHelp": false,
4267
+ "multiple": false,
4268
+ "type": "option"
4269
+ },
4357
4270
  "output": {
4358
4271
  "char": "o",
4359
4272
  "description": "Output format",
@@ -4371,7 +4284,7 @@
4371
4284
  },
4372
4285
  "hasDynamicHelp": false,
4373
4286
  "hiddenAliases": [],
4374
- "id": "workspace:get",
4287
+ "id": "workspace:create",
4375
4288
  "pluginAlias": "@xano/cli",
4376
4289
  "pluginName": "@xano/cli",
4377
4290
  "pluginType": "core",
@@ -4382,24 +4295,19 @@
4382
4295
  "dist",
4383
4296
  "commands",
4384
4297
  "workspace",
4385
- "get",
4298
+ "create",
4386
4299
  "index.js"
4387
4300
  ]
4388
4301
  },
4389
- "workspace:delete": {
4302
+ "workspace:list": {
4390
4303
  "aliases": [],
4391
- "args": {
4392
- "workspace_id": {
4393
- "description": "Workspace ID to delete",
4394
- "name": "workspace_id",
4395
- "required": true
4396
- }
4397
- },
4398
- "description": "Delete a workspace via the Xano Metadata API. Cannot delete workspaces with active tenants.",
4304
+ "args": {},
4305
+ "description": "List all workspaces from the Xano Metadata API",
4399
4306
  "examples": [
4400
- "$ xano workspace delete 123\nAre you sure you want to delete workspace 123? This action cannot be undone. (y/N) y\nDeleted workspace 123\n",
4401
- "$ xano workspace delete 123 --force\nDeleted workspace 123\n",
4402
- "$ xano workspace delete 123 -f -o json\n{\n \"deleted\": true,\n \"workspace_id\": 123\n}\n"
4307
+ "$ xano workspace:list\nAvailable workspaces:\n - workspace-1 (ID: 1)\n - workspace-2 (ID: 2)\n - workspace-3 (ID: 3)\n",
4308
+ "$ xano workspace:list --profile production\nAvailable workspaces:\n - my-app (ID: 1)\n - staging-env (ID: 2)\n",
4309
+ "$ xano workspace:list --output json\n{\n \"workspaces\": [\n {\n \"id\": 1,\n \"name\": \"workspace-1\"\n },\n {\n \"id\": 2,\n \"name\": \"workspace-2\"\n }\n ]\n}\n",
4310
+ "$ xano workspace:list -p staging -o json\n{\n \"workspaces\": [\n {\n \"id\": 1,\n \"name\": \"my-app\"\n }\n ]\n}\n"
4403
4311
  ],
4404
4312
  "flags": {
4405
4313
  "profile": {
@@ -4421,14 +4329,6 @@
4421
4329
  "allowNo": false,
4422
4330
  "type": "boolean"
4423
4331
  },
4424
- "force": {
4425
- "char": "f",
4426
- "description": "Skip confirmation prompt",
4427
- "name": "force",
4428
- "required": false,
4429
- "allowNo": false,
4430
- "type": "boolean"
4431
- },
4432
4332
  "output": {
4433
4333
  "char": "o",
4434
4334
  "description": "Output format",
@@ -4446,7 +4346,7 @@
4446
4346
  },
4447
4347
  "hasDynamicHelp": false,
4448
4348
  "hiddenAliases": [],
4449
- "id": "workspace:delete",
4349
+ "id": "workspace:list",
4450
4350
  "pluginAlias": "@xano/cli",
4451
4351
  "pluginName": "@xano/cli",
4452
4352
  "pluginType": "core",
@@ -4457,19 +4357,24 @@
4457
4357
  "dist",
4458
4358
  "commands",
4459
4359
  "workspace",
4460
- "delete",
4360
+ "list",
4461
4361
  "index.js"
4462
4362
  ]
4463
4363
  },
4464
- "workspace:list": {
4364
+ "workspace:get": {
4465
4365
  "aliases": [],
4466
- "args": {},
4467
- "description": "List all workspaces from the Xano Metadata API",
4366
+ "args": {
4367
+ "workspace_id": {
4368
+ "description": "Workspace ID to get details for (uses profile workspace if not provided)",
4369
+ "name": "workspace_id",
4370
+ "required": false
4371
+ }
4372
+ },
4373
+ "description": "Get details of a specific workspace from the Xano Metadata API",
4468
4374
  "examples": [
4469
- "$ xano workspace:list\nAvailable workspaces:\n - workspace-1 (ID: 1)\n - workspace-2 (ID: 2)\n - workspace-3 (ID: 3)\n",
4470
- "$ xano workspace:list --profile production\nAvailable workspaces:\n - my-app (ID: 1)\n - staging-env (ID: 2)\n",
4471
- "$ xano workspace:list --output json\n{\n \"workspaces\": [\n {\n \"id\": 1,\n \"name\": \"workspace-1\"\n },\n {\n \"id\": 2,\n \"name\": \"workspace-2\"\n }\n ]\n}\n",
4472
- "$ xano workspace:list -p staging -o json\n{\n \"workspaces\": [\n {\n \"id\": 1,\n \"name\": \"my-app\"\n }\n ]\n}\n"
4375
+ "$ xano workspace get 123\nWorkspace: my-workspace (ID: 123)\n Description: My workspace description\n Created: 2024-01-15\n",
4376
+ "$ xano workspace get --output json\n{\n \"id\": 123,\n \"name\": \"my-workspace\",\n \"description\": \"My workspace description\"\n}\n",
4377
+ "$ xano workspace get 456 -p production -o json\n{\n \"id\": 456,\n \"name\": \"production-workspace\"\n}\n"
4473
4378
  ],
4474
4379
  "flags": {
4475
4380
  "profile": {
@@ -4508,7 +4413,7 @@
4508
4413
  },
4509
4414
  "hasDynamicHelp": false,
4510
4415
  "hiddenAliases": [],
4511
- "id": "workspace:list",
4416
+ "id": "workspace:get",
4512
4417
  "pluginAlias": "@xano/cli",
4513
4418
  "pluginName": "@xano/cli",
4514
4419
  "pluginType": "core",
@@ -4519,7 +4424,7 @@
4519
4424
  "dist",
4520
4425
  "commands",
4521
4426
  "workspace",
4522
- "list",
4427
+ "get",
4523
4428
  "index.js"
4524
4429
  ]
4525
4430
  },
@@ -4695,124 +4600,21 @@
4695
4600
  "name": "records",
4696
4601
  "required": false,
4697
4602
  "allowNo": true,
4698
- "type": "boolean"
4699
- },
4700
- "sync-guids": {
4701
- "description": "Write server-assigned GUIDs back to local files (use --no-sync-guids to skip)",
4702
- "name": "sync-guids",
4703
- "required": false,
4704
- "allowNo": true,
4705
- "type": "boolean"
4706
- },
4707
- "truncate": {
4708
- "description": "Truncate all table records before importing",
4709
- "name": "truncate",
4710
- "required": false,
4711
- "allowNo": false,
4712
- "type": "boolean"
4713
- },
4714
- "workspace": {
4715
- "char": "w",
4716
- "description": "Workspace ID (optional if set in profile)",
4717
- "name": "workspace",
4718
- "required": false,
4719
- "hasDynamicHelp": false,
4720
- "multiple": false,
4721
- "type": "option"
4722
- }
4723
- },
4724
- "hasDynamicHelp": false,
4725
- "hiddenAliases": [],
4726
- "id": "workspace:push",
4727
- "pluginAlias": "@xano/cli",
4728
- "pluginName": "@xano/cli",
4729
- "pluginType": "core",
4730
- "strict": true,
4731
- "enableJsonFlag": false,
4732
- "isESM": true,
4733
- "relativePath": [
4734
- "dist",
4735
- "commands",
4736
- "workspace",
4737
- "push",
4738
- "index.js"
4739
- ]
4740
- },
4741
- "static_host:build:create": {
4742
- "aliases": [],
4743
- "args": {
4744
- "static_host": {
4745
- "description": "Static Host name",
4746
- "name": "static_host",
4747
- "required": true
4748
- }
4749
- },
4750
- "description": "Create a new build for a static host",
4751
- "examples": [
4752
- "$ 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",
4753
- "$ 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",
4754
- "$ 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"
4755
- ],
4756
- "flags": {
4757
- "profile": {
4758
- "char": "p",
4759
- "description": "Profile to use (uses default profile if not specified)",
4760
- "env": "XANO_PROFILE",
4761
- "name": "profile",
4762
- "required": false,
4763
- "hasDynamicHelp": false,
4764
- "multiple": false,
4765
- "type": "option"
4766
- },
4767
- "verbose": {
4768
- "char": "v",
4769
- "description": "Show detailed request/response information",
4770
- "env": "XANO_VERBOSE",
4771
- "name": "verbose",
4772
- "required": false,
4773
- "allowNo": false,
4774
- "type": "boolean"
4775
- },
4776
- "description": {
4777
- "char": "d",
4778
- "description": "Build description",
4779
- "name": "description",
4780
- "required": false,
4781
- "hasDynamicHelp": false,
4782
- "multiple": false,
4783
- "type": "option"
4784
- },
4785
- "file": {
4786
- "char": "f",
4787
- "description": "Path to zip file to upload",
4788
- "name": "file",
4789
- "required": true,
4790
- "hasDynamicHelp": false,
4791
- "multiple": false,
4792
- "type": "option"
4793
- },
4794
- "name": {
4795
- "char": "n",
4796
- "description": "Build name",
4797
- "name": "name",
4798
- "required": true,
4799
- "hasDynamicHelp": false,
4800
- "multiple": false,
4801
- "type": "option"
4603
+ "type": "boolean"
4802
4604
  },
4803
- "output": {
4804
- "char": "o",
4805
- "description": "Output format",
4806
- "name": "output",
4605
+ "sync-guids": {
4606
+ "description": "Write server-assigned GUIDs back to local files (use --no-sync-guids to skip)",
4607
+ "name": "sync-guids",
4807
4608
  "required": false,
4808
- "default": "summary",
4809
- "hasDynamicHelp": false,
4810
- "multiple": false,
4811
- "options": [
4812
- "summary",
4813
- "json"
4814
- ],
4815
- "type": "option"
4609
+ "allowNo": true,
4610
+ "type": "boolean"
4611
+ },
4612
+ "truncate": {
4613
+ "description": "Truncate all table records before importing",
4614
+ "name": "truncate",
4615
+ "required": false,
4616
+ "allowNo": false,
4617
+ "type": "boolean"
4816
4618
  },
4817
4619
  "workspace": {
4818
4620
  "char": "w",
@@ -4826,7 +4628,7 @@
4826
4628
  },
4827
4629
  "hasDynamicHelp": false,
4828
4630
  "hiddenAliases": [],
4829
- "id": "static_host:build:create",
4631
+ "id": "workspace:push",
4830
4632
  "pluginAlias": "@xano/cli",
4831
4633
  "pluginName": "@xano/cli",
4832
4634
  "pluginType": "core",
@@ -4836,27 +4638,24 @@
4836
4638
  "relativePath": [
4837
4639
  "dist",
4838
4640
  "commands",
4839
- "static_host",
4840
- "build",
4841
- "create",
4641
+ "workspace",
4642
+ "push",
4842
4643
  "index.js"
4843
4644
  ]
4844
4645
  },
4845
- "static_host:build:list": {
4646
+ "tenant:backup:create": {
4846
4647
  "aliases": [],
4847
4648
  "args": {
4848
- "static_host": {
4849
- "description": "Static Host name",
4850
- "name": "static_host",
4649
+ "tenant_name": {
4650
+ "description": "Tenant name to back up",
4651
+ "name": "tenant_name",
4851
4652
  "required": true
4852
4653
  }
4853
4654
  },
4854
- "description": "List all builds for a static host",
4655
+ "description": "Create a backup for a tenant",
4855
4656
  "examples": [
4856
- "$ xano static_host:build:list default -w 40\nAvailable builds:\n - v1.0.0 (ID: 1) - Status: completed\n - v1.0.1 (ID: 2) - Status: pending\n",
4857
- "$ xano static_host:build:list myhost --profile production\nAvailable builds:\n - production (ID: 1) - Status: completed\n - staging (ID: 2) - Status: completed\n",
4858
- "$ xano static_host:build:list default -w 40 --output json\n[\n {\n \"id\": 1,\n \"name\": \"v1.0.0\",\n \"status\": \"completed\"\n }\n]\n",
4859
- "$ xano static_host:build:list default -p staging -o json --page 2\n[\n {\n \"id\": 3,\n \"name\": \"v1.0.2\"\n }\n]\n"
4657
+ "$ xano tenant backup create t1234-abcd-xyz1 --description \"Pre-deploy backup\"\nCreated backup #15 for tenant t1234-abcd-xyz1\n",
4658
+ "$ xano tenant backup create t1234-abcd-xyz1 -d \"Daily backup\" -o json"
4860
4659
  ],
4861
4660
  "flags": {
4862
4661
  "profile": {
@@ -4878,6 +4677,16 @@
4878
4677
  "allowNo": false,
4879
4678
  "type": "boolean"
4880
4679
  },
4680
+ "description": {
4681
+ "char": "d",
4682
+ "description": "Backup description",
4683
+ "name": "description",
4684
+ "required": false,
4685
+ "default": "",
4686
+ "hasDynamicHelp": false,
4687
+ "multiple": false,
4688
+ "type": "option"
4689
+ },
4881
4690
  "output": {
4882
4691
  "char": "o",
4883
4692
  "description": "Output format",
@@ -4892,27 +4701,9 @@
4892
4701
  ],
4893
4702
  "type": "option"
4894
4703
  },
4895
- "page": {
4896
- "description": "Page number for pagination",
4897
- "name": "page",
4898
- "required": false,
4899
- "default": 1,
4900
- "hasDynamicHelp": false,
4901
- "multiple": false,
4902
- "type": "option"
4903
- },
4904
- "per_page": {
4905
- "description": "Number of results per page",
4906
- "name": "per_page",
4907
- "required": false,
4908
- "default": 50,
4909
- "hasDynamicHelp": false,
4910
- "multiple": false,
4911
- "type": "option"
4912
- },
4913
4704
  "workspace": {
4914
4705
  "char": "w",
4915
- "description": "Workspace ID (optional if set in profile)",
4706
+ "description": "Workspace ID (uses profile workspace if not provided)",
4916
4707
  "name": "workspace",
4917
4708
  "required": false,
4918
4709
  "hasDynamicHelp": false,
@@ -4922,7 +4713,7 @@
4922
4713
  },
4923
4714
  "hasDynamicHelp": false,
4924
4715
  "hiddenAliases": [],
4925
- "id": "static_host:build:list",
4716
+ "id": "tenant:backup:create",
4926
4717
  "pluginAlias": "@xano/cli",
4927
4718
  "pluginName": "@xano/cli",
4928
4719
  "pluginType": "core",
@@ -4932,25 +4723,27 @@
4932
4723
  "relativePath": [
4933
4724
  "dist",
4934
4725
  "commands",
4935
- "static_host",
4936
- "build",
4937
- "list",
4726
+ "tenant",
4727
+ "backup",
4728
+ "create",
4938
4729
  "index.js"
4939
4730
  ]
4940
4731
  },
4941
- "tenant:backup:create": {
4732
+ "workspace:edit": {
4942
4733
  "aliases": [],
4943
4734
  "args": {
4944
- "tenant_name": {
4945
- "description": "Tenant name to back up",
4946
- "name": "tenant_name",
4947
- "required": true
4735
+ "workspace_id": {
4736
+ "description": "Workspace ID to edit (uses profile workspace if not provided)",
4737
+ "name": "workspace_id",
4738
+ "required": false
4948
4739
  }
4949
4740
  },
4950
- "description": "Create a backup for a tenant",
4741
+ "description": "Edit an existing workspace via the Xano Metadata API",
4951
4742
  "examples": [
4952
- "$ xano tenant backup create t1234-abcd-xyz1 --description \"Pre-deploy backup\"\nCreated backup #15 for tenant t1234-abcd-xyz1\n",
4953
- "$ xano tenant backup create t1234-abcd-xyz1 -d \"Daily backup\" -o json"
4743
+ "$ xano workspace edit 123 --name \"new-name\"\nUpdated workspace: new-name (ID: 123)\n",
4744
+ "$ xano workspace edit --name \"updated-workspace\" --description \"Updated description\"\nUpdated workspace: updated-workspace (ID: 123)\n Description: Updated description\n",
4745
+ "$ xano workspace edit 123 --swagger --require-token\nUpdated workspace: my-workspace (ID: 123)\n Swagger: enabled\n Require Token: true\n",
4746
+ "$ xano workspace edit 123 --no-swagger -o json\n{\n \"id\": 123,\n \"name\": \"my-workspace\",\n \"swagger\": false\n}\n"
4954
4747
  ],
4955
4748
  "flags": {
4956
4749
  "profile": {
@@ -4974,10 +4767,18 @@
4974
4767
  },
4975
4768
  "description": {
4976
4769
  "char": "d",
4977
- "description": "Backup description",
4770
+ "description": "New description for the workspace",
4978
4771
  "name": "description",
4979
4772
  "required": false,
4980
- "default": "",
4773
+ "hasDynamicHelp": false,
4774
+ "multiple": false,
4775
+ "type": "option"
4776
+ },
4777
+ "name": {
4778
+ "char": "n",
4779
+ "description": "New name for the workspace",
4780
+ "name": "name",
4781
+ "required": false,
4981
4782
  "hasDynamicHelp": false,
4982
4783
  "multiple": false,
4983
4784
  "type": "option"
@@ -4996,19 +4797,24 @@
4996
4797
  ],
4997
4798
  "type": "option"
4998
4799
  },
4999
- "workspace": {
5000
- "char": "w",
5001
- "description": "Workspace ID (uses profile workspace if not provided)",
5002
- "name": "workspace",
4800
+ "require-token": {
4801
+ "description": "Whether to require a token for documentation access",
4802
+ "name": "require-token",
5003
4803
  "required": false,
5004
- "hasDynamicHelp": false,
5005
- "multiple": false,
5006
- "type": "option"
4804
+ "allowNo": true,
4805
+ "type": "boolean"
4806
+ },
4807
+ "swagger": {
4808
+ "description": "Enable or disable swagger documentation",
4809
+ "name": "swagger",
4810
+ "required": false,
4811
+ "allowNo": true,
4812
+ "type": "boolean"
5007
4813
  }
5008
4814
  },
5009
4815
  "hasDynamicHelp": false,
5010
4816
  "hiddenAliases": [],
5011
- "id": "tenant:backup:create",
4817
+ "id": "workspace:edit",
5012
4818
  "pluginAlias": "@xano/cli",
5013
4819
  "pluginName": "@xano/cli",
5014
4820
  "pluginType": "core",
@@ -5018,9 +4824,8 @@
5018
4824
  "relativePath": [
5019
4825
  "dist",
5020
4826
  "commands",
5021
- "tenant",
5022
- "backup",
5023
- "create",
4827
+ "workspace",
4828
+ "edit",
5024
4829
  "index.js"
5025
4830
  ]
5026
4831
  },
@@ -5305,19 +5110,19 @@
5305
5110
  "index.js"
5306
5111
  ]
5307
5112
  },
5308
- "tenant:backup:list": {
5113
+ "tenant:backup:restore": {
5309
5114
  "aliases": [],
5310
5115
  "args": {
5311
5116
  "tenant_name": {
5312
- "description": "Tenant name to list backups for",
5117
+ "description": "Tenant name to restore",
5313
5118
  "name": "tenant_name",
5314
5119
  "required": true
5315
5120
  }
5316
5121
  },
5317
- "description": "List backups for a tenant",
5122
+ "description": "Restore a tenant from a backup. This replaces the current tenant data.",
5318
5123
  "examples": [
5319
- "$ 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",
5320
- "$ xano tenant backup list t1234-abcd-xyz1 -o json"
5124
+ "$ 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",
5125
+ "$ xano tenant backup restore t1234-abcd-xyz1 --backup_id 10 --force -o json"
5321
5126
  ],
5322
5127
  "flags": {
5323
5128
  "profile": {
@@ -5339,6 +5144,22 @@
5339
5144
  "allowNo": false,
5340
5145
  "type": "boolean"
5341
5146
  },
5147
+ "backup_id": {
5148
+ "description": "Backup ID to restore from",
5149
+ "name": "backup_id",
5150
+ "required": true,
5151
+ "hasDynamicHelp": false,
5152
+ "multiple": false,
5153
+ "type": "option"
5154
+ },
5155
+ "force": {
5156
+ "char": "f",
5157
+ "description": "Skip confirmation prompt",
5158
+ "name": "force",
5159
+ "required": false,
5160
+ "allowNo": false,
5161
+ "type": "boolean"
5162
+ },
5342
5163
  "output": {
5343
5164
  "char": "o",
5344
5165
  "description": "Output format",
@@ -5353,15 +5174,6 @@
5353
5174
  ],
5354
5175
  "type": "option"
5355
5176
  },
5356
- "page": {
5357
- "description": "Page number for pagination",
5358
- "name": "page",
5359
- "required": false,
5360
- "default": 1,
5361
- "hasDynamicHelp": false,
5362
- "multiple": false,
5363
- "type": "option"
5364
- },
5365
5177
  "workspace": {
5366
5178
  "char": "w",
5367
5179
  "description": "Workspace ID (uses profile workspace if not provided)",
@@ -5374,7 +5186,7 @@
5374
5186
  },
5375
5187
  "hasDynamicHelp": false,
5376
5188
  "hiddenAliases": [],
5377
- "id": "tenant:backup:list",
5189
+ "id": "tenant:backup:restore",
5378
5190
  "pluginAlias": "@xano/cli",
5379
5191
  "pluginName": "@xano/cli",
5380
5192
  "pluginType": "core",
@@ -5386,23 +5198,17 @@
5386
5198
  "commands",
5387
5199
  "tenant",
5388
5200
  "backup",
5389
- "list",
5201
+ "restore",
5390
5202
  "index.js"
5391
5203
  ]
5392
5204
  },
5393
- "tenant:backup:restore": {
5205
+ "tenant:cluster:create": {
5394
5206
  "aliases": [],
5395
- "args": {
5396
- "tenant_name": {
5397
- "description": "Tenant name to restore",
5398
- "name": "tenant_name",
5399
- "required": true
5400
- }
5401
- },
5402
- "description": "Restore a tenant from a backup. This replaces the current tenant data.",
5207
+ "args": {},
5208
+ "description": "Create a new tenant cluster",
5403
5209
  "examples": [
5404
- "$ 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",
5405
- "$ xano tenant backup restore t1234-abcd-xyz1 --backup_id 10 --force -o json"
5210
+ "$ xano tenant cluster create --name \"us-east-1\" --credentials_file ./kubeconfig.yaml\nCreated tenant cluster: us-east-1 (standard) - ID: 3\n",
5211
+ "$ xano tenant cluster create --name \"eu-west-1\" --credentials \"...\" --type run --description \"EU run cluster\" -o json"
5406
5212
  ],
5407
5213
  "flags": {
5408
5214
  "profile": {
@@ -5424,21 +5230,53 @@
5424
5230
  "allowNo": false,
5425
5231
  "type": "boolean"
5426
5232
  },
5427
- "backup_id": {
5428
- "description": "Backup ID to restore from",
5429
- "name": "backup_id",
5430
- "required": true,
5233
+ "credentials": {
5234
+ "description": "Kubeconfig credentials (raw text)",
5235
+ "exclusive": [
5236
+ "credentials_file"
5237
+ ],
5238
+ "name": "credentials",
5239
+ "required": false,
5431
5240
  "hasDynamicHelp": false,
5432
5241
  "multiple": false,
5433
5242
  "type": "option"
5434
5243
  },
5435
- "force": {
5436
- "char": "f",
5437
- "description": "Skip confirmation prompt",
5438
- "name": "force",
5244
+ "credentials_file": {
5245
+ "description": "Path to kubeconfig credentials file",
5246
+ "exclusive": [
5247
+ "credentials"
5248
+ ],
5249
+ "name": "credentials_file",
5439
5250
  "required": false,
5440
- "allowNo": false,
5441
- "type": "boolean"
5251
+ "hasDynamicHelp": false,
5252
+ "multiple": false,
5253
+ "type": "option"
5254
+ },
5255
+ "description": {
5256
+ "char": "d",
5257
+ "description": "Cluster description",
5258
+ "name": "description",
5259
+ "required": false,
5260
+ "hasDynamicHelp": false,
5261
+ "multiple": false,
5262
+ "type": "option"
5263
+ },
5264
+ "domain": {
5265
+ "description": "Custom domain for the cluster",
5266
+ "name": "domain",
5267
+ "required": false,
5268
+ "hasDynamicHelp": false,
5269
+ "multiple": false,
5270
+ "type": "option"
5271
+ },
5272
+ "name": {
5273
+ "char": "n",
5274
+ "description": "Cluster name",
5275
+ "name": "name",
5276
+ "required": true,
5277
+ "hasDynamicHelp": false,
5278
+ "multiple": false,
5279
+ "type": "option"
5442
5280
  },
5443
5281
  "output": {
5444
5282
  "char": "o",
@@ -5454,19 +5292,23 @@
5454
5292
  ],
5455
5293
  "type": "option"
5456
5294
  },
5457
- "workspace": {
5458
- "char": "w",
5459
- "description": "Workspace ID (uses profile workspace if not provided)",
5460
- "name": "workspace",
5295
+ "type": {
5296
+ "description": "Cluster type",
5297
+ "name": "type",
5461
5298
  "required": false,
5299
+ "default": "standard",
5462
5300
  "hasDynamicHelp": false,
5463
5301
  "multiple": false,
5302
+ "options": [
5303
+ "standard",
5304
+ "run"
5305
+ ],
5464
5306
  "type": "option"
5465
5307
  }
5466
5308
  },
5467
5309
  "hasDynamicHelp": false,
5468
5310
  "hiddenAliases": [],
5469
- "id": "tenant:backup:restore",
5311
+ "id": "tenant:cluster:create",
5470
5312
  "pluginAlias": "@xano/cli",
5471
5313
  "pluginName": "@xano/cli",
5472
5314
  "pluginType": "core",
@@ -5477,31 +5319,25 @@
5477
5319
  "dist",
5478
5320
  "commands",
5479
5321
  "tenant",
5480
- "backup",
5481
- "restore",
5322
+ "cluster",
5323
+ "create",
5482
5324
  "index.js"
5483
5325
  ]
5484
5326
  },
5485
- "static_host:build:get": {
5327
+ "tenant:cluster:delete": {
5486
5328
  "aliases": [],
5487
5329
  "args": {
5488
- "build_id": {
5489
- "description": "Build ID",
5490
- "name": "build_id",
5491
- "required": true
5492
- },
5493
- "static_host": {
5494
- "description": "Static Host name",
5495
- "name": "static_host",
5330
+ "cluster_id": {
5331
+ "description": "Cluster ID to delete",
5332
+ "name": "cluster_id",
5496
5333
  "required": true
5497
5334
  }
5498
5335
  },
5499
- "description": "Get details of a specific build for a static host",
5336
+ "description": "Delete a tenant cluster. This action cannot be undone.",
5500
5337
  "examples": [
5501
- "$ xano static_host:build:get default 52\nBuild Details:\nID: 52\nName: v1.0.0\nStatus: completed\n",
5502
- "$ xano static_host:build:get default 52 -w 40\nBuild Details:\nID: 52\nName: v1.0.0\nStatus: completed\n",
5503
- "$ xano static_host:build:get myhost 123 --profile production\nBuild Details:\nID: 123\nName: production-build\n",
5504
- "$ xano static_host:build:get default 52 -o json\n{\n \"id\": 52,\n \"name\": \"v1.0.0\",\n \"status\": \"completed\"\n}\n"
5338
+ "$ 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",
5339
+ "$ xano tenant cluster delete 3 --force\nTenant cluster 3 deleted successfully\n",
5340
+ "$ xano tenant cluster delete 3 -f -o json"
5505
5341
  ],
5506
5342
  "flags": {
5507
5343
  "profile": {
@@ -5523,6 +5359,14 @@
5523
5359
  "allowNo": false,
5524
5360
  "type": "boolean"
5525
5361
  },
5362
+ "force": {
5363
+ "char": "f",
5364
+ "description": "Skip confirmation prompt",
5365
+ "name": "force",
5366
+ "required": false,
5367
+ "allowNo": false,
5368
+ "type": "boolean"
5369
+ },
5526
5370
  "output": {
5527
5371
  "char": "o",
5528
5372
  "description": "Output format",
@@ -5536,20 +5380,11 @@
5536
5380
  "json"
5537
5381
  ],
5538
5382
  "type": "option"
5539
- },
5540
- "workspace": {
5541
- "char": "w",
5542
- "description": "Workspace ID (optional if set in profile)",
5543
- "name": "workspace",
5544
- "required": false,
5545
- "hasDynamicHelp": false,
5546
- "multiple": false,
5547
- "type": "option"
5548
5383
  }
5549
5384
  },
5550
5385
  "hasDynamicHelp": false,
5551
5386
  "hiddenAliases": [],
5552
- "id": "static_host:build:get",
5387
+ "id": "tenant:cluster:delete",
5553
5388
  "pluginAlias": "@xano/cli",
5554
5389
  "pluginName": "@xano/cli",
5555
5390
  "pluginType": "core",
@@ -5559,26 +5394,25 @@
5559
5394
  "relativePath": [
5560
5395
  "dist",
5561
5396
  "commands",
5562
- "static_host",
5563
- "build",
5564
- "get",
5397
+ "tenant",
5398
+ "cluster",
5399
+ "delete",
5565
5400
  "index.js"
5566
5401
  ]
5567
5402
  },
5568
- "tenant:cluster:delete": {
5403
+ "tenant:backup:list": {
5569
5404
  "aliases": [],
5570
5405
  "args": {
5571
- "cluster_id": {
5572
- "description": "Cluster ID to delete",
5573
- "name": "cluster_id",
5406
+ "tenant_name": {
5407
+ "description": "Tenant name to list backups for",
5408
+ "name": "tenant_name",
5574
5409
  "required": true
5575
5410
  }
5576
5411
  },
5577
- "description": "Delete a tenant cluster. This action cannot be undone.",
5412
+ "description": "List backups for a tenant",
5578
5413
  "examples": [
5579
- "$ 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",
5580
- "$ xano tenant cluster delete 3 --force\nTenant cluster 3 deleted successfully\n",
5581
- "$ xano tenant cluster delete 3 -f -o json"
5414
+ "$ 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",
5415
+ "$ xano tenant backup list t1234-abcd-xyz1 -o json"
5582
5416
  ],
5583
5417
  "flags": {
5584
5418
  "profile": {
@@ -5600,14 +5434,6 @@
5600
5434
  "allowNo": false,
5601
5435
  "type": "boolean"
5602
5436
  },
5603
- "force": {
5604
- "char": "f",
5605
- "description": "Skip confirmation prompt",
5606
- "name": "force",
5607
- "required": false,
5608
- "allowNo": false,
5609
- "type": "boolean"
5610
- },
5611
5437
  "output": {
5612
5438
  "char": "o",
5613
5439
  "description": "Output format",
@@ -5621,11 +5447,29 @@
5621
5447
  "json"
5622
5448
  ],
5623
5449
  "type": "option"
5450
+ },
5451
+ "page": {
5452
+ "description": "Page number for pagination",
5453
+ "name": "page",
5454
+ "required": false,
5455
+ "default": 1,
5456
+ "hasDynamicHelp": false,
5457
+ "multiple": false,
5458
+ "type": "option"
5459
+ },
5460
+ "workspace": {
5461
+ "char": "w",
5462
+ "description": "Workspace ID (uses profile workspace if not provided)",
5463
+ "name": "workspace",
5464
+ "required": false,
5465
+ "hasDynamicHelp": false,
5466
+ "multiple": false,
5467
+ "type": "option"
5624
5468
  }
5625
5469
  },
5626
5470
  "hasDynamicHelp": false,
5627
5471
  "hiddenAliases": [],
5628
- "id": "tenant:cluster:delete",
5472
+ "id": "tenant:backup:list",
5629
5473
  "pluginAlias": "@xano/cli",
5630
5474
  "pluginName": "@xano/cli",
5631
5475
  "pluginType": "core",
@@ -5636,8 +5480,8 @@
5636
5480
  "dist",
5637
5481
  "commands",
5638
5482
  "tenant",
5639
- "cluster",
5640
- "delete",
5483
+ "backup",
5484
+ "list",
5641
5485
  "index.js"
5642
5486
  ]
5643
5487
  },
@@ -5813,13 +5657,20 @@
5813
5657
  "index.js"
5814
5658
  ]
5815
5659
  },
5816
- "tenant:cluster:list": {
5660
+ "tenant:env:delete": {
5817
5661
  "aliases": [],
5818
- "args": {},
5819
- "description": "List all tenant clusters",
5662
+ "args": {
5663
+ "tenant_name": {
5664
+ "description": "Tenant name",
5665
+ "name": "tenant_name",
5666
+ "required": true
5667
+ }
5668
+ },
5669
+ "description": "Delete an environment variable from a tenant",
5820
5670
  "examples": [
5821
- "$ xano tenant cluster list\nTenant clusters:\n - us-east-1 (standard) [ID: 1]\n - eu-west-1 (run) [ID: 2]\n",
5822
- "$ xano tenant cluster list --output json"
5671
+ "$ 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",
5672
+ "$ xano tenant env delete my-tenant --name DATABASE_URL --force\nEnvironment variable 'DATABASE_URL' deleted from tenant my-tenant\n",
5673
+ "$ xano tenant env delete my-tenant --name DATABASE_URL -f -w 5 -o json"
5823
5674
  ],
5824
5675
  "flags": {
5825
5676
  "profile": {
@@ -5841,6 +5692,23 @@
5841
5692
  "allowNo": false,
5842
5693
  "type": "boolean"
5843
5694
  },
5695
+ "force": {
5696
+ "char": "f",
5697
+ "description": "Skip confirmation prompt",
5698
+ "name": "force",
5699
+ "required": false,
5700
+ "allowNo": false,
5701
+ "type": "boolean"
5702
+ },
5703
+ "name": {
5704
+ "char": "n",
5705
+ "description": "Environment variable name",
5706
+ "name": "name",
5707
+ "required": true,
5708
+ "hasDynamicHelp": false,
5709
+ "multiple": false,
5710
+ "type": "option"
5711
+ },
5844
5712
  "output": {
5845
5713
  "char": "o",
5846
5714
  "description": "Output format",
@@ -5854,11 +5722,20 @@
5854
5722
  "json"
5855
5723
  ],
5856
5724
  "type": "option"
5725
+ },
5726
+ "workspace": {
5727
+ "char": "w",
5728
+ "description": "Workspace ID (uses profile workspace if not provided)",
5729
+ "name": "workspace",
5730
+ "required": false,
5731
+ "hasDynamicHelp": false,
5732
+ "multiple": false,
5733
+ "type": "option"
5857
5734
  }
5858
5735
  },
5859
5736
  "hasDynamicHelp": false,
5860
5737
  "hiddenAliases": [],
5861
- "id": "tenant:cluster:list",
5738
+ "id": "tenant:env:delete",
5862
5739
  "pluginAlias": "@xano/cli",
5863
5740
  "pluginName": "@xano/cli",
5864
5741
  "pluginType": "core",
@@ -5869,12 +5746,12 @@
5869
5746
  "dist",
5870
5747
  "commands",
5871
5748
  "tenant",
5872
- "cluster",
5873
- "list",
5749
+ "env",
5750
+ "delete",
5874
5751
  "index.js"
5875
5752
  ]
5876
5753
  },
5877
- "tenant:license:get": {
5754
+ "tenant:env:get_all": {
5878
5755
  "aliases": [],
5879
5756
  "args": {
5880
5757
  "tenant_name": {
@@ -5883,12 +5760,12 @@
5883
5760
  "required": true
5884
5761
  }
5885
5762
  },
5886
- "description": "Get the license for a tenant",
5763
+ "description": "Get all environment variables for a tenant and save to a YAML file",
5887
5764
  "examples": [
5888
- "$ xano tenant license get my-tenant\nLicense saved to license_my-tenant.yaml\n",
5889
- "$ xano tenant license get my-tenant --file ./my-license.yaml\nLicense saved to my-license.yaml\n",
5890
- "$ xano tenant license get my-tenant --view",
5891
- "$ xano tenant license get my-tenant -o json"
5765
+ "$ xano tenant env get_all my-tenant\nEnvironment variables saved to env_my-tenant.yaml\n",
5766
+ "$ xano tenant env get_all my-tenant --file ./my-env.yaml",
5767
+ "$ xano tenant env get_all my-tenant --view",
5768
+ "$ xano tenant env get_all my-tenant -o json"
5892
5769
  ],
5893
5770
  "flags": {
5894
5771
  "profile": {
@@ -5912,7 +5789,7 @@
5912
5789
  },
5913
5790
  "file": {
5914
5791
  "char": "f",
5915
- "description": "Output file path (default: license_<tenant_name>.yaml)",
5792
+ "description": "Output file path (default: env_<tenant_name>.yaml)",
5916
5793
  "name": "file",
5917
5794
  "required": false,
5918
5795
  "hasDynamicHelp": false,
@@ -5934,7 +5811,7 @@
5934
5811
  "type": "option"
5935
5812
  },
5936
5813
  "view": {
5937
- "description": "Print license to stdout instead of saving to file",
5814
+ "description": "Print environment variables to stdout instead of saving to file",
5938
5815
  "name": "view",
5939
5816
  "required": false,
5940
5817
  "allowNo": false,
@@ -5952,7 +5829,92 @@
5952
5829
  },
5953
5830
  "hasDynamicHelp": false,
5954
5831
  "hiddenAliases": [],
5955
- "id": "tenant:license:get",
5832
+ "id": "tenant:env:get_all",
5833
+ "pluginAlias": "@xano/cli",
5834
+ "pluginName": "@xano/cli",
5835
+ "pluginType": "core",
5836
+ "strict": true,
5837
+ "enableJsonFlag": false,
5838
+ "isESM": true,
5839
+ "relativePath": [
5840
+ "dist",
5841
+ "commands",
5842
+ "tenant",
5843
+ "env",
5844
+ "get_all",
5845
+ "index.js"
5846
+ ]
5847
+ },
5848
+ "tenant:env:get": {
5849
+ "aliases": [],
5850
+ "args": {
5851
+ "tenant_name": {
5852
+ "description": "Tenant name",
5853
+ "name": "tenant_name",
5854
+ "required": true
5855
+ }
5856
+ },
5857
+ "description": "Get a single environment variable for a tenant",
5858
+ "examples": [
5859
+ "$ xano tenant env get my-tenant --name DATABASE_URL\npostgres://localhost:5432/mydb\n",
5860
+ "$ xano tenant env get my-tenant --name DATABASE_URL -w 5 -o json"
5861
+ ],
5862
+ "flags": {
5863
+ "profile": {
5864
+ "char": "p",
5865
+ "description": "Profile to use (uses default profile if not specified)",
5866
+ "env": "XANO_PROFILE",
5867
+ "name": "profile",
5868
+ "required": false,
5869
+ "hasDynamicHelp": false,
5870
+ "multiple": false,
5871
+ "type": "option"
5872
+ },
5873
+ "verbose": {
5874
+ "char": "v",
5875
+ "description": "Show detailed request/response information",
5876
+ "env": "XANO_VERBOSE",
5877
+ "name": "verbose",
5878
+ "required": false,
5879
+ "allowNo": false,
5880
+ "type": "boolean"
5881
+ },
5882
+ "name": {
5883
+ "char": "n",
5884
+ "description": "Environment variable name",
5885
+ "name": "name",
5886
+ "required": true,
5887
+ "hasDynamicHelp": false,
5888
+ "multiple": false,
5889
+ "type": "option"
5890
+ },
5891
+ "output": {
5892
+ "char": "o",
5893
+ "description": "Output format",
5894
+ "name": "output",
5895
+ "required": false,
5896
+ "default": "summary",
5897
+ "hasDynamicHelp": false,
5898
+ "multiple": false,
5899
+ "options": [
5900
+ "summary",
5901
+ "json"
5902
+ ],
5903
+ "type": "option"
5904
+ },
5905
+ "workspace": {
5906
+ "char": "w",
5907
+ "description": "Workspace ID (uses profile workspace if not provided)",
5908
+ "name": "workspace",
5909
+ "required": false,
5910
+ "hasDynamicHelp": false,
5911
+ "multiple": false,
5912
+ "type": "option"
5913
+ }
5914
+ },
5915
+ "hasDynamicHelp": false,
5916
+ "hiddenAliases": [],
5917
+ "id": "tenant:env:get",
5956
5918
  "pluginAlias": "@xano/cli",
5957
5919
  "pluginName": "@xano/cli",
5958
5920
  "pluginType": "core",
@@ -5963,26 +5925,18 @@
5963
5925
  "dist",
5964
5926
  "commands",
5965
5927
  "tenant",
5966
- "license",
5928
+ "env",
5967
5929
  "get",
5968
5930
  "index.js"
5969
5931
  ]
5970
5932
  },
5971
- "tenant:license:set": {
5933
+ "tenant:cluster:list": {
5972
5934
  "aliases": [],
5973
- "args": {
5974
- "tenant_name": {
5975
- "description": "Tenant name",
5976
- "name": "tenant_name",
5977
- "required": true
5978
- }
5979
- },
5980
- "description": "Set/update the license for a tenant",
5935
+ "args": {},
5936
+ "description": "List all tenant clusters",
5981
5937
  "examples": [
5982
- "$ xano tenant license set my-tenant\nReads from license_my-tenant.yaml\n",
5983
- "$ xano tenant license set my-tenant --file ./license.yaml",
5984
- "$ xano tenant license set my-tenant --value 'key: value'",
5985
- "$ xano tenant license set my-tenant -o json"
5938
+ "$ xano tenant cluster list\nTenant clusters:\n - us-east-1 (standard) [ID: 1]\n - eu-west-1 (run) [ID: 2]\n",
5939
+ "$ xano tenant cluster list --output json"
5986
5940
  ],
5987
5941
  "flags": {
5988
5942
  "profile": {
@@ -6004,28 +5958,6 @@
6004
5958
  "allowNo": false,
6005
5959
  "type": "boolean"
6006
5960
  },
6007
- "clean": {
6008
- "description": "Remove the source file after successful upload",
6009
- "exclusive": [
6010
- "value"
6011
- ],
6012
- "name": "clean",
6013
- "required": false,
6014
- "allowNo": false,
6015
- "type": "boolean"
6016
- },
6017
- "file": {
6018
- "char": "f",
6019
- "description": "Path to license file (default: license_<tenant_name>.yaml)",
6020
- "exclusive": [
6021
- "value"
6022
- ],
6023
- "name": "file",
6024
- "required": false,
6025
- "hasDynamicHelp": false,
6026
- "multiple": false,
6027
- "type": "option"
6028
- },
6029
5961
  "output": {
6030
5962
  "char": "o",
6031
5963
  "description": "Output format",
@@ -6039,32 +5971,11 @@
6039
5971
  "json"
6040
5972
  ],
6041
5973
  "type": "option"
6042
- },
6043
- "value": {
6044
- "description": "Inline license value",
6045
- "exclusive": [
6046
- "file",
6047
- "clean"
6048
- ],
6049
- "name": "value",
6050
- "required": false,
6051
- "hasDynamicHelp": false,
6052
- "multiple": false,
6053
- "type": "option"
6054
- },
6055
- "workspace": {
6056
- "char": "w",
6057
- "description": "Workspace ID (uses profile workspace if not provided)",
6058
- "name": "workspace",
6059
- "required": false,
6060
- "hasDynamicHelp": false,
6061
- "multiple": false,
6062
- "type": "option"
6063
5974
  }
6064
5975
  },
6065
5976
  "hasDynamicHelp": false,
6066
5977
  "hiddenAliases": [],
6067
- "id": "tenant:license:set",
5978
+ "id": "tenant:cluster:list",
6068
5979
  "pluginAlias": "@xano/cli",
6069
5980
  "pluginName": "@xano/cli",
6070
5981
  "pluginType": "core",
@@ -6075,12 +5986,12 @@
6075
5986
  "dist",
6076
5987
  "commands",
6077
5988
  "tenant",
6078
- "license",
6079
- "set",
5989
+ "cluster",
5990
+ "list",
6080
5991
  "index.js"
6081
5992
  ]
6082
5993
  },
6083
- "tenant:env:delete": {
5994
+ "tenant:env:list": {
6084
5995
  "aliases": [],
6085
5996
  "args": {
6086
5997
  "tenant_name": {
@@ -6089,11 +6000,10 @@
6089
6000
  "required": true
6090
6001
  }
6091
6002
  },
6092
- "description": "Delete an environment variable from a tenant",
6003
+ "description": "List environment variable keys for a tenant",
6093
6004
  "examples": [
6094
- "$ 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",
6095
- "$ xano tenant env delete my-tenant --name DATABASE_URL --force\nEnvironment variable 'DATABASE_URL' deleted from tenant my-tenant\n",
6096
- "$ xano tenant env delete my-tenant --name DATABASE_URL -f -w 5 -o json"
6005
+ "$ xano tenant env list my-tenant\nEnvironment variables for tenant my-tenant:\n - DATABASE_URL\n - API_KEY\n - SECRET_TOKEN\n",
6006
+ "$ xano tenant env list my-tenant -w 5 -o json"
6097
6007
  ],
6098
6008
  "flags": {
6099
6009
  "profile": {
@@ -6115,23 +6025,6 @@
6115
6025
  "allowNo": false,
6116
6026
  "type": "boolean"
6117
6027
  },
6118
- "force": {
6119
- "char": "f",
6120
- "description": "Skip confirmation prompt",
6121
- "name": "force",
6122
- "required": false,
6123
- "allowNo": false,
6124
- "type": "boolean"
6125
- },
6126
- "name": {
6127
- "char": "n",
6128
- "description": "Environment variable name",
6129
- "name": "name",
6130
- "required": true,
6131
- "hasDynamicHelp": false,
6132
- "multiple": false,
6133
- "type": "option"
6134
- },
6135
6028
  "output": {
6136
6029
  "char": "o",
6137
6030
  "description": "Output format",
@@ -6158,7 +6051,7 @@
6158
6051
  },
6159
6052
  "hasDynamicHelp": false,
6160
6053
  "hiddenAliases": [],
6161
- "id": "tenant:env:delete",
6054
+ "id": "tenant:env:list",
6162
6055
  "pluginAlias": "@xano/cli",
6163
6056
  "pluginName": "@xano/cli",
6164
6057
  "pluginType": "core",
@@ -6170,11 +6063,11 @@
6170
6063
  "commands",
6171
6064
  "tenant",
6172
6065
  "env",
6173
- "delete",
6066
+ "list",
6174
6067
  "index.js"
6175
6068
  ]
6176
6069
  },
6177
- "tenant:env:get": {
6070
+ "tenant:env:set": {
6178
6071
  "aliases": [],
6179
6072
  "args": {
6180
6073
  "tenant_name": {
@@ -6183,10 +6076,10 @@
6183
6076
  "required": true
6184
6077
  }
6185
6078
  },
6186
- "description": "Get a single environment variable for a tenant",
6079
+ "description": "Set (create or update) an environment variable for a tenant",
6187
6080
  "examples": [
6188
- "$ xano tenant env get my-tenant --name DATABASE_URL\npostgres://localhost:5432/mydb\n",
6189
- "$ xano tenant env get my-tenant --name DATABASE_URL -w 5 -o json"
6081
+ "$ xano tenant env set my-tenant --name DATABASE_URL --value postgres://localhost:5432/mydb\nEnvironment variable 'DATABASE_URL' set for tenant my-tenant\n",
6082
+ "$ xano tenant env set my-tenant --name DATABASE_URL --value postgres://localhost:5432/mydb -w 5 -o json"
6190
6083
  ],
6191
6084
  "flags": {
6192
6085
  "profile": {
@@ -6231,6 +6124,14 @@
6231
6124
  ],
6232
6125
  "type": "option"
6233
6126
  },
6127
+ "value": {
6128
+ "description": "Environment variable value",
6129
+ "name": "value",
6130
+ "required": true,
6131
+ "hasDynamicHelp": false,
6132
+ "multiple": false,
6133
+ "type": "option"
6134
+ },
6234
6135
  "workspace": {
6235
6136
  "char": "w",
6236
6137
  "description": "Workspace ID (uses profile workspace if not provided)",
@@ -6243,7 +6144,7 @@
6243
6144
  },
6244
6145
  "hasDynamicHelp": false,
6245
6146
  "hiddenAliases": [],
6246
- "id": "tenant:env:get",
6147
+ "id": "tenant:env:set",
6247
6148
  "pluginAlias": "@xano/cli",
6248
6149
  "pluginName": "@xano/cli",
6249
6150
  "pluginType": "core",
@@ -6255,11 +6156,11 @@
6255
6156
  "commands",
6256
6157
  "tenant",
6257
6158
  "env",
6258
- "get",
6159
+ "set",
6259
6160
  "index.js"
6260
6161
  ]
6261
6162
  },
6262
- "tenant:env:get_all": {
6163
+ "tenant:env:set_all": {
6263
6164
  "aliases": [],
6264
6165
  "args": {
6265
6166
  "tenant_name": {
@@ -6268,12 +6169,11 @@
6268
6169
  "required": true
6269
6170
  }
6270
6171
  },
6271
- "description": "Get all environment variables for a tenant and save to a YAML file",
6172
+ "description": "Set all environment variables for a tenant from a YAML file (replaces all existing)",
6272
6173
  "examples": [
6273
- "$ xano tenant env get_all my-tenant\nEnvironment variables saved to env_my-tenant.yaml\n",
6274
- "$ xano tenant env get_all my-tenant --file ./my-env.yaml",
6275
- "$ xano tenant env get_all my-tenant --view",
6276
- "$ xano tenant env get_all my-tenant -o json"
6174
+ "$ xano tenant env set_all my-tenant\nReads from env_my-tenant.yaml\n",
6175
+ "$ xano tenant env set_all my-tenant --file ./my-env.yaml",
6176
+ "$ xano tenant env set_all my-tenant -o json"
6277
6177
  ],
6278
6178
  "flags": {
6279
6179
  "profile": {
@@ -6295,9 +6195,16 @@
6295
6195
  "allowNo": false,
6296
6196
  "type": "boolean"
6297
6197
  },
6198
+ "clean": {
6199
+ "description": "Remove the source file after successful upload",
6200
+ "name": "clean",
6201
+ "required": false,
6202
+ "allowNo": false,
6203
+ "type": "boolean"
6204
+ },
6298
6205
  "file": {
6299
6206
  "char": "f",
6300
- "description": "Output file path (default: env_<tenant_name>.yaml)",
6207
+ "description": "Path to env file (default: env_<tenant_name>.yaml)",
6301
6208
  "name": "file",
6302
6209
  "required": false,
6303
6210
  "hasDynamicHelp": false,
@@ -6318,13 +6225,6 @@
6318
6225
  ],
6319
6226
  "type": "option"
6320
6227
  },
6321
- "view": {
6322
- "description": "Print environment variables to stdout instead of saving to file",
6323
- "name": "view",
6324
- "required": false,
6325
- "allowNo": false,
6326
- "type": "boolean"
6327
- },
6328
6228
  "workspace": {
6329
6229
  "char": "w",
6330
6230
  "description": "Workspace ID (uses profile workspace if not provided)",
@@ -6337,7 +6237,7 @@
6337
6237
  },
6338
6238
  "hasDynamicHelp": false,
6339
6239
  "hiddenAliases": [],
6340
- "id": "tenant:env:get_all",
6240
+ "id": "tenant:env:set_all",
6341
6241
  "pluginAlias": "@xano/cli",
6342
6242
  "pluginName": "@xano/cli",
6343
6243
  "pluginType": "core",
@@ -6349,23 +6249,30 @@
6349
6249
  "commands",
6350
6250
  "tenant",
6351
6251
  "env",
6352
- "get_all",
6252
+ "set_all",
6353
6253
  "index.js"
6354
6254
  ]
6355
6255
  },
6356
- "tenant:env:list": {
6256
+ "static_host:build:get": {
6357
6257
  "aliases": [],
6358
6258
  "args": {
6359
- "tenant_name": {
6360
- "description": "Tenant name",
6361
- "name": "tenant_name",
6259
+ "build_id": {
6260
+ "description": "Build ID",
6261
+ "name": "build_id",
6262
+ "required": true
6263
+ },
6264
+ "static_host": {
6265
+ "description": "Static Host name",
6266
+ "name": "static_host",
6362
6267
  "required": true
6363
6268
  }
6364
6269
  },
6365
- "description": "List environment variable keys for a tenant",
6270
+ "description": "Get details of a specific build for a static host",
6366
6271
  "examples": [
6367
- "$ xano tenant env list my-tenant\nEnvironment variables for tenant my-tenant:\n - DATABASE_URL\n - API_KEY\n - SECRET_TOKEN\n",
6368
- "$ xano tenant env list my-tenant -w 5 -o json"
6272
+ "$ xano static_host:build:get default 52\nBuild Details:\nID: 52\nName: v1.0.0\nStatus: completed\n",
6273
+ "$ xano static_host:build:get default 52 -w 40\nBuild Details:\nID: 52\nName: v1.0.0\nStatus: completed\n",
6274
+ "$ xano static_host:build:get myhost 123 --profile production\nBuild Details:\nID: 123\nName: production-build\n",
6275
+ "$ xano static_host:build:get default 52 -o json\n{\n \"id\": 52,\n \"name\": \"v1.0.0\",\n \"status\": \"completed\"\n}\n"
6369
6276
  ],
6370
6277
  "flags": {
6371
6278
  "profile": {
@@ -6403,7 +6310,7 @@
6403
6310
  },
6404
6311
  "workspace": {
6405
6312
  "char": "w",
6406
- "description": "Workspace ID (uses profile workspace if not provided)",
6313
+ "description": "Workspace ID (optional if set in profile)",
6407
6314
  "name": "workspace",
6408
6315
  "required": false,
6409
6316
  "hasDynamicHelp": false,
@@ -6413,7 +6320,7 @@
6413
6320
  },
6414
6321
  "hasDynamicHelp": false,
6415
6322
  "hiddenAliases": [],
6416
- "id": "tenant:env:list",
6323
+ "id": "static_host:build:get",
6417
6324
  "pluginAlias": "@xano/cli",
6418
6325
  "pluginName": "@xano/cli",
6419
6326
  "pluginType": "core",
@@ -6423,19 +6330,27 @@
6423
6330
  "relativePath": [
6424
6331
  "dist",
6425
6332
  "commands",
6426
- "tenant",
6427
- "env",
6428
- "list",
6333
+ "static_host",
6334
+ "build",
6335
+ "get",
6429
6336
  "index.js"
6430
6337
  ]
6431
6338
  },
6432
- "tenant:cluster:create": {
6339
+ "static_host:build:list": {
6433
6340
  "aliases": [],
6434
- "args": {},
6435
- "description": "Create a new tenant cluster",
6341
+ "args": {
6342
+ "static_host": {
6343
+ "description": "Static Host name",
6344
+ "name": "static_host",
6345
+ "required": true
6346
+ }
6347
+ },
6348
+ "description": "List all builds for a static host",
6436
6349
  "examples": [
6437
- "$ xano tenant cluster create --name \"us-east-1\" --credentials_file ./kubeconfig.yaml\nCreated tenant cluster: us-east-1 (standard) - ID: 3\n",
6438
- "$ xano tenant cluster create --name \"eu-west-1\" --credentials \"...\" --type run --description \"EU run cluster\" -o json"
6350
+ "$ xano static_host:build:list default -w 40\nAvailable builds:\n - v1.0.0 (ID: 1) - Status: completed\n - v1.0.1 (ID: 2) - Status: pending\n",
6351
+ "$ xano static_host:build:list myhost --profile production\nAvailable builds:\n - production (ID: 1) - Status: completed\n - staging (ID: 2) - Status: completed\n",
6352
+ "$ xano static_host:build:list default -w 40 --output json\n[\n {\n \"id\": 1,\n \"name\": \"v1.0.0\",\n \"status\": \"completed\"\n }\n]\n",
6353
+ "$ xano static_host:build:list default -p staging -o json --page 2\n[\n {\n \"id\": 3,\n \"name\": \"v1.0.2\"\n }\n]\n"
6439
6354
  ],
6440
6355
  "flags": {
6441
6356
  "profile": {
@@ -6457,85 +6372,51 @@
6457
6372
  "allowNo": false,
6458
6373
  "type": "boolean"
6459
6374
  },
6460
- "credentials": {
6461
- "description": "Kubeconfig credentials (raw text)",
6462
- "exclusive": [
6463
- "credentials_file"
6464
- ],
6465
- "name": "credentials",
6375
+ "output": {
6376
+ "char": "o",
6377
+ "description": "Output format",
6378
+ "name": "output",
6466
6379
  "required": false,
6380
+ "default": "summary",
6467
6381
  "hasDynamicHelp": false,
6468
6382
  "multiple": false,
6469
- "type": "option"
6470
- },
6471
- "credentials_file": {
6472
- "description": "Path to kubeconfig credentials file",
6473
- "exclusive": [
6474
- "credentials"
6383
+ "options": [
6384
+ "summary",
6385
+ "json"
6475
6386
  ],
6476
- "name": "credentials_file",
6477
- "required": false,
6478
- "hasDynamicHelp": false,
6479
- "multiple": false,
6480
6387
  "type": "option"
6481
6388
  },
6482
- "description": {
6483
- "char": "d",
6484
- "description": "Cluster description",
6485
- "name": "description",
6486
- "required": false,
6487
- "hasDynamicHelp": false,
6488
- "multiple": false,
6489
- "type": "option"
6490
- },
6491
- "domain": {
6492
- "description": "Custom domain for the cluster",
6493
- "name": "domain",
6389
+ "page": {
6390
+ "description": "Page number for pagination",
6391
+ "name": "page",
6494
6392
  "required": false,
6393
+ "default": 1,
6495
6394
  "hasDynamicHelp": false,
6496
- "multiple": false,
6497
- "type": "option"
6498
- },
6499
- "name": {
6500
- "char": "n",
6501
- "description": "Cluster name",
6502
- "name": "name",
6503
- "required": true,
6504
- "hasDynamicHelp": false,
6505
- "multiple": false,
6506
- "type": "option"
6507
- },
6508
- "output": {
6509
- "char": "o",
6510
- "description": "Output format",
6511
- "name": "output",
6395
+ "multiple": false,
6396
+ "type": "option"
6397
+ },
6398
+ "per_page": {
6399
+ "description": "Number of results per page",
6400
+ "name": "per_page",
6512
6401
  "required": false,
6513
- "default": "summary",
6402
+ "default": 50,
6514
6403
  "hasDynamicHelp": false,
6515
6404
  "multiple": false,
6516
- "options": [
6517
- "summary",
6518
- "json"
6519
- ],
6520
6405
  "type": "option"
6521
6406
  },
6522
- "type": {
6523
- "description": "Cluster type",
6524
- "name": "type",
6407
+ "workspace": {
6408
+ "char": "w",
6409
+ "description": "Workspace ID (optional if set in profile)",
6410
+ "name": "workspace",
6525
6411
  "required": false,
6526
- "default": "standard",
6527
6412
  "hasDynamicHelp": false,
6528
6413
  "multiple": false,
6529
- "options": [
6530
- "standard",
6531
- "run"
6532
- ],
6533
6414
  "type": "option"
6534
6415
  }
6535
6416
  },
6536
6417
  "hasDynamicHelp": false,
6537
6418
  "hiddenAliases": [],
6538
- "id": "tenant:cluster:create",
6419
+ "id": "static_host:build:list",
6539
6420
  "pluginAlias": "@xano/cli",
6540
6421
  "pluginName": "@xano/cli",
6541
6422
  "pluginType": "core",
@@ -6545,13 +6426,13 @@
6545
6426
  "relativePath": [
6546
6427
  "dist",
6547
6428
  "commands",
6548
- "tenant",
6549
- "cluster",
6550
- "create",
6429
+ "static_host",
6430
+ "build",
6431
+ "list",
6551
6432
  "index.js"
6552
6433
  ]
6553
6434
  },
6554
- "tenant:env:set_all": {
6435
+ "tenant:license:get": {
6555
6436
  "aliases": [],
6556
6437
  "args": {
6557
6438
  "tenant_name": {
@@ -6560,11 +6441,12 @@
6560
6441
  "required": true
6561
6442
  }
6562
6443
  },
6563
- "description": "Set all environment variables for a tenant from a YAML file (replaces all existing)",
6444
+ "description": "Get the license for a tenant",
6564
6445
  "examples": [
6565
- "$ xano tenant env set_all my-tenant\nReads from env_my-tenant.yaml\n",
6566
- "$ xano tenant env set_all my-tenant --file ./my-env.yaml",
6567
- "$ xano tenant env set_all my-tenant -o json"
6446
+ "$ xano tenant license get my-tenant\nLicense saved to license_my-tenant.yaml\n",
6447
+ "$ xano tenant license get my-tenant --file ./my-license.yaml\nLicense saved to my-license.yaml\n",
6448
+ "$ xano tenant license get my-tenant --view",
6449
+ "$ xano tenant license get my-tenant -o json"
6568
6450
  ],
6569
6451
  "flags": {
6570
6452
  "profile": {
@@ -6586,16 +6468,9 @@
6586
6468
  "allowNo": false,
6587
6469
  "type": "boolean"
6588
6470
  },
6589
- "clean": {
6590
- "description": "Remove the source file after successful upload",
6591
- "name": "clean",
6592
- "required": false,
6593
- "allowNo": false,
6594
- "type": "boolean"
6595
- },
6596
6471
  "file": {
6597
6472
  "char": "f",
6598
- "description": "Path to env file (default: env_<tenant_name>.yaml)",
6473
+ "description": "Output file path (default: license_<tenant_name>.yaml)",
6599
6474
  "name": "file",
6600
6475
  "required": false,
6601
6476
  "hasDynamicHelp": false,
@@ -6616,6 +6491,13 @@
6616
6491
  ],
6617
6492
  "type": "option"
6618
6493
  },
6494
+ "view": {
6495
+ "description": "Print license to stdout instead of saving to file",
6496
+ "name": "view",
6497
+ "required": false,
6498
+ "allowNo": false,
6499
+ "type": "boolean"
6500
+ },
6619
6501
  "workspace": {
6620
6502
  "char": "w",
6621
6503
  "description": "Workspace ID (uses profile workspace if not provided)",
@@ -6628,7 +6510,7 @@
6628
6510
  },
6629
6511
  "hasDynamicHelp": false,
6630
6512
  "hiddenAliases": [],
6631
- "id": "tenant:env:set_all",
6513
+ "id": "tenant:license:get",
6632
6514
  "pluginAlias": "@xano/cli",
6633
6515
  "pluginName": "@xano/cli",
6634
6516
  "pluginType": "core",
@@ -6639,12 +6521,12 @@
6639
6521
  "dist",
6640
6522
  "commands",
6641
6523
  "tenant",
6642
- "env",
6643
- "set_all",
6524
+ "license",
6525
+ "get",
6644
6526
  "index.js"
6645
6527
  ]
6646
6528
  },
6647
- "tenant:env:set": {
6529
+ "tenant:license:set": {
6648
6530
  "aliases": [],
6649
6531
  "args": {
6650
6532
  "tenant_name": {
@@ -6653,10 +6535,12 @@
6653
6535
  "required": true
6654
6536
  }
6655
6537
  },
6656
- "description": "Set (create or update) an environment variable for a tenant",
6538
+ "description": "Set/update the license for a tenant",
6657
6539
  "examples": [
6658
- "$ xano tenant env set my-tenant --name DATABASE_URL --value postgres://localhost:5432/mydb\nEnvironment variable 'DATABASE_URL' set for tenant my-tenant\n",
6659
- "$ xano tenant env set my-tenant --name DATABASE_URL --value postgres://localhost:5432/mydb -w 5 -o json"
6540
+ "$ xano tenant license set my-tenant\nReads from license_my-tenant.yaml\n",
6541
+ "$ xano tenant license set my-tenant --file ./license.yaml",
6542
+ "$ xano tenant license set my-tenant --value 'key: value'",
6543
+ "$ xano tenant license set my-tenant -o json"
6660
6544
  ],
6661
6545
  "flags": {
6662
6546
  "profile": {
@@ -6678,11 +6562,24 @@
6678
6562
  "allowNo": false,
6679
6563
  "type": "boolean"
6680
6564
  },
6681
- "name": {
6682
- "char": "n",
6683
- "description": "Environment variable name",
6684
- "name": "name",
6685
- "required": true,
6565
+ "clean": {
6566
+ "description": "Remove the source file after successful upload",
6567
+ "exclusive": [
6568
+ "value"
6569
+ ],
6570
+ "name": "clean",
6571
+ "required": false,
6572
+ "allowNo": false,
6573
+ "type": "boolean"
6574
+ },
6575
+ "file": {
6576
+ "char": "f",
6577
+ "description": "Path to license file (default: license_<tenant_name>.yaml)",
6578
+ "exclusive": [
6579
+ "value"
6580
+ ],
6581
+ "name": "file",
6582
+ "required": false,
6686
6583
  "hasDynamicHelp": false,
6687
6584
  "multiple": false,
6688
6585
  "type": "option"
@@ -6702,9 +6599,13 @@
6702
6599
  "type": "option"
6703
6600
  },
6704
6601
  "value": {
6705
- "description": "Environment variable value",
6602
+ "description": "Inline license value",
6603
+ "exclusive": [
6604
+ "file",
6605
+ "clean"
6606
+ ],
6706
6607
  "name": "value",
6707
- "required": true,
6608
+ "required": false,
6708
6609
  "hasDynamicHelp": false,
6709
6610
  "multiple": false,
6710
6611
  "type": "option"
@@ -6721,7 +6622,7 @@
6721
6622
  },
6722
6623
  "hasDynamicHelp": false,
6723
6624
  "hiddenAliases": [],
6724
- "id": "tenant:env:set",
6625
+ "id": "tenant:license:set",
6725
6626
  "pluginAlias": "@xano/cli",
6726
6627
  "pluginName": "@xano/cli",
6727
6628
  "pluginType": "core",
@@ -6732,7 +6633,7 @@
6732
6633
  "dist",
6733
6634
  "commands",
6734
6635
  "tenant",
6735
- "env",
6636
+ "license",
6736
6637
  "set",
6737
6638
  "index.js"
6738
6639
  ]
@@ -6831,21 +6732,20 @@
6831
6732
  "index.js"
6832
6733
  ]
6833
6734
  },
6834
- "tenant:cluster:license:get": {
6735
+ "static_host:build:create": {
6835
6736
  "aliases": [],
6836
6737
  "args": {
6837
- "cluster_id": {
6838
- "description": "Tenant cluster ID",
6839
- "name": "cluster_id",
6738
+ "static_host": {
6739
+ "description": "Static Host name",
6740
+ "name": "static_host",
6840
6741
  "required": true
6841
6742
  }
6842
6743
  },
6843
- "description": "Get the license (kubeconfig) for a tenant cluster",
6744
+ "description": "Create a new build for a static host",
6844
6745
  "examples": [
6845
- "$ xano tenant cluster license get 1\nLicense saved to kubeconfig-1.yaml\n",
6846
- "$ xano tenant cluster license get 1 --file ./my-kubeconfig.yaml\nLicense saved to my-kubeconfig.yaml\n",
6847
- "$ xano tenant cluster license get 1 --view",
6848
- "$ xano tenant cluster license get 1 -o json"
6746
+ "$ 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",
6747
+ "$ 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",
6748
+ "$ 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"
6849
6749
  ],
6850
6750
  "flags": {
6851
6751
  "profile": {
@@ -6867,11 +6767,29 @@
6867
6767
  "allowNo": false,
6868
6768
  "type": "boolean"
6869
6769
  },
6770
+ "description": {
6771
+ "char": "d",
6772
+ "description": "Build description",
6773
+ "name": "description",
6774
+ "required": false,
6775
+ "hasDynamicHelp": false,
6776
+ "multiple": false,
6777
+ "type": "option"
6778
+ },
6870
6779
  "file": {
6871
6780
  "char": "f",
6872
- "description": "Output file path (default: kubeconfig_<cluster_id>.yaml)",
6781
+ "description": "Path to zip file to upload",
6873
6782
  "name": "file",
6874
- "required": false,
6783
+ "required": true,
6784
+ "hasDynamicHelp": false,
6785
+ "multiple": false,
6786
+ "type": "option"
6787
+ },
6788
+ "name": {
6789
+ "char": "n",
6790
+ "description": "Build name",
6791
+ "name": "name",
6792
+ "required": true,
6875
6793
  "hasDynamicHelp": false,
6876
6794
  "multiple": false,
6877
6795
  "type": "option"
@@ -6890,17 +6808,19 @@
6890
6808
  ],
6891
6809
  "type": "option"
6892
6810
  },
6893
- "view": {
6894
- "description": "Print license to stdout instead of saving to file",
6895
- "name": "view",
6811
+ "workspace": {
6812
+ "char": "w",
6813
+ "description": "Workspace ID (optional if set in profile)",
6814
+ "name": "workspace",
6896
6815
  "required": false,
6897
- "allowNo": false,
6898
- "type": "boolean"
6816
+ "hasDynamicHelp": false,
6817
+ "multiple": false,
6818
+ "type": "option"
6899
6819
  }
6900
6820
  },
6901
6821
  "hasDynamicHelp": false,
6902
6822
  "hiddenAliases": [],
6903
- "id": "tenant:cluster:license:get",
6823
+ "id": "static_host:build:create",
6904
6824
  "pluginAlias": "@xano/cli",
6905
6825
  "pluginName": "@xano/cli",
6906
6826
  "pluginType": "core",
@@ -6910,10 +6830,9 @@
6910
6830
  "relativePath": [
6911
6831
  "dist",
6912
6832
  "commands",
6913
- "tenant",
6914
- "cluster",
6915
- "license",
6916
- "get",
6833
+ "static_host",
6834
+ "build",
6835
+ "create",
6917
6836
  "index.js"
6918
6837
  ]
6919
6838
  },
@@ -7020,7 +6939,93 @@
7020
6939
  "set",
7021
6940
  "index.js"
7022
6941
  ]
6942
+ },
6943
+ "tenant:cluster:license:get": {
6944
+ "aliases": [],
6945
+ "args": {
6946
+ "cluster_id": {
6947
+ "description": "Tenant cluster ID",
6948
+ "name": "cluster_id",
6949
+ "required": true
6950
+ }
6951
+ },
6952
+ "description": "Get the license (kubeconfig) for a tenant cluster",
6953
+ "examples": [
6954
+ "$ xano tenant cluster license get 1\nLicense saved to kubeconfig-1.yaml\n",
6955
+ "$ xano tenant cluster license get 1 --file ./my-kubeconfig.yaml\nLicense saved to my-kubeconfig.yaml\n",
6956
+ "$ xano tenant cluster license get 1 --view",
6957
+ "$ xano tenant cluster license get 1 -o json"
6958
+ ],
6959
+ "flags": {
6960
+ "profile": {
6961
+ "char": "p",
6962
+ "description": "Profile to use (uses default profile if not specified)",
6963
+ "env": "XANO_PROFILE",
6964
+ "name": "profile",
6965
+ "required": false,
6966
+ "hasDynamicHelp": false,
6967
+ "multiple": false,
6968
+ "type": "option"
6969
+ },
6970
+ "verbose": {
6971
+ "char": "v",
6972
+ "description": "Show detailed request/response information",
6973
+ "env": "XANO_VERBOSE",
6974
+ "name": "verbose",
6975
+ "required": false,
6976
+ "allowNo": false,
6977
+ "type": "boolean"
6978
+ },
6979
+ "file": {
6980
+ "char": "f",
6981
+ "description": "Output file path (default: kubeconfig_<cluster_id>.yaml)",
6982
+ "name": "file",
6983
+ "required": false,
6984
+ "hasDynamicHelp": false,
6985
+ "multiple": false,
6986
+ "type": "option"
6987
+ },
6988
+ "output": {
6989
+ "char": "o",
6990
+ "description": "Output format",
6991
+ "name": "output",
6992
+ "required": false,
6993
+ "default": "summary",
6994
+ "hasDynamicHelp": false,
6995
+ "multiple": false,
6996
+ "options": [
6997
+ "summary",
6998
+ "json"
6999
+ ],
7000
+ "type": "option"
7001
+ },
7002
+ "view": {
7003
+ "description": "Print license to stdout instead of saving to file",
7004
+ "name": "view",
7005
+ "required": false,
7006
+ "allowNo": false,
7007
+ "type": "boolean"
7008
+ }
7009
+ },
7010
+ "hasDynamicHelp": false,
7011
+ "hiddenAliases": [],
7012
+ "id": "tenant:cluster:license:get",
7013
+ "pluginAlias": "@xano/cli",
7014
+ "pluginName": "@xano/cli",
7015
+ "pluginType": "core",
7016
+ "strict": true,
7017
+ "enableJsonFlag": false,
7018
+ "isESM": true,
7019
+ "relativePath": [
7020
+ "dist",
7021
+ "commands",
7022
+ "tenant",
7023
+ "cluster",
7024
+ "license",
7025
+ "get",
7026
+ "index.js"
7027
+ ]
7023
7028
  }
7024
7029
  },
7025
- "version": "0.0.45"
7030
+ "version": "0.0.47"
7026
7031
  }