@xano/cli 0.0.66 → 0.0.68

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.
@@ -387,6 +387,82 @@
387
387
  "index.js"
388
388
  ]
389
389
  },
390
+ "branch:get": {
391
+ "aliases": [],
392
+ "args": {
393
+ "branch_label": {
394
+ "description": "Branch label (e.g., \"v1\", \"dev\")",
395
+ "name": "branch_label",
396
+ "required": true
397
+ }
398
+ },
399
+ "description": "Get details for a specific branch",
400
+ "examples": [
401
+ "$ xano branch get v1\nBranch: v1 (live)\n Created: 2024-01-15\n",
402
+ "$ xano branch get dev -w 123\nBranch: dev\n Created: 2024-02-01\n",
403
+ "$ xano branch get staging --output json\n{\n \"created_at\": \"2024-02-10T09:15:00Z\",\n \"label\": \"staging\",\n \"backup\": false,\n \"live\": false\n}\n"
404
+ ],
405
+ "flags": {
406
+ "profile": {
407
+ "char": "p",
408
+ "description": "Profile to use (uses default profile if not specified)",
409
+ "env": "XANO_PROFILE",
410
+ "name": "profile",
411
+ "required": false,
412
+ "hasDynamicHelp": false,
413
+ "multiple": false,
414
+ "type": "option"
415
+ },
416
+ "verbose": {
417
+ "char": "v",
418
+ "description": "Show detailed request/response information",
419
+ "env": "XANO_VERBOSE",
420
+ "name": "verbose",
421
+ "required": false,
422
+ "allowNo": false,
423
+ "type": "boolean"
424
+ },
425
+ "output": {
426
+ "char": "o",
427
+ "description": "Output format",
428
+ "name": "output",
429
+ "required": false,
430
+ "default": "summary",
431
+ "hasDynamicHelp": false,
432
+ "multiple": false,
433
+ "options": [
434
+ "summary",
435
+ "json"
436
+ ],
437
+ "type": "option"
438
+ },
439
+ "workspace": {
440
+ "char": "w",
441
+ "description": "Workspace ID (uses profile workspace if not provided)",
442
+ "name": "workspace",
443
+ "required": false,
444
+ "hasDynamicHelp": false,
445
+ "multiple": false,
446
+ "type": "option"
447
+ }
448
+ },
449
+ "hasDynamicHelp": false,
450
+ "hiddenAliases": [],
451
+ "id": "branch:get",
452
+ "pluginAlias": "@xano/cli",
453
+ "pluginName": "@xano/cli",
454
+ "pluginType": "core",
455
+ "strict": true,
456
+ "enableJsonFlag": false,
457
+ "isESM": true,
458
+ "relativePath": [
459
+ "dist",
460
+ "commands",
461
+ "branch",
462
+ "get",
463
+ "index.js"
464
+ ]
465
+ },
390
466
  "branch:list": {
391
467
  "aliases": [],
392
468
  "args": {
@@ -454,20 +530,19 @@
454
530
  "index.js"
455
531
  ]
456
532
  },
457
- "branch:set_live": {
533
+ "platform:get": {
458
534
  "aliases": [],
459
535
  "args": {
460
- "branch_label": {
461
- "description": "Branch label to set as live (use \"v1\" for default branch)",
462
- "name": "branch_label",
536
+ "platform_id": {
537
+ "description": "Platform ID to retrieve",
538
+ "name": "platform_id",
463
539
  "required": true
464
540
  }
465
541
  },
466
- "description": "Set a branch as the live (active) branch for API requests",
542
+ "description": "Get details of a specific platform",
467
543
  "examples": [
468
- "$ 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",
469
- "$ xano branch set-live v1 --force\nBranch 'v1' is now live\n",
470
- "$ 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"
544
+ "$ xano platform get 23629\nPlatform ID: 23629\n Created: 2025-11-28\n Helm: 0.1.356\n Images:\n backend 0.0.2985\n frontend 0.1.3427\n database 0.1.6\n node 0.1.192\n deno 0.0.212\n redis 0.1.34\n realtime 0.1.149\n standalone 0.0.2456\n playwright 0.0.992\n static 0.0.10\n static-build 0.0.4\n backend-encoded 0.0.1396\n",
545
+ "$ xano platform get 23629 -o json"
471
546
  ],
472
547
  "flags": {
473
548
  "profile": {
@@ -489,14 +564,6 @@
489
564
  "allowNo": false,
490
565
  "type": "boolean"
491
566
  },
492
- "force": {
493
- "char": "f",
494
- "description": "Skip confirmation prompt",
495
- "name": "force",
496
- "required": false,
497
- "allowNo": false,
498
- "type": "boolean"
499
- },
500
567
  "output": {
501
568
  "char": "o",
502
569
  "description": "Output format",
@@ -510,20 +577,71 @@
510
577
  "json"
511
578
  ],
512
579
  "type": "option"
580
+ }
581
+ },
582
+ "hasDynamicHelp": false,
583
+ "hiddenAliases": [],
584
+ "id": "platform:get",
585
+ "pluginAlias": "@xano/cli",
586
+ "pluginName": "@xano/cli",
587
+ "pluginType": "core",
588
+ "strict": true,
589
+ "enableJsonFlag": false,
590
+ "isESM": true,
591
+ "relativePath": [
592
+ "dist",
593
+ "commands",
594
+ "platform",
595
+ "get",
596
+ "index.js"
597
+ ]
598
+ },
599
+ "platform:list": {
600
+ "aliases": [],
601
+ "args": {},
602
+ "description": "List all platforms",
603
+ "examples": [
604
+ "$ xano platform list\nPlatforms:\n ID: 23629 | Helm: 0.1.356 | Created: 2025-11-28\n",
605
+ "$ xano platform list --output json"
606
+ ],
607
+ "flags": {
608
+ "profile": {
609
+ "char": "p",
610
+ "description": "Profile to use (uses default profile if not specified)",
611
+ "env": "XANO_PROFILE",
612
+ "name": "profile",
613
+ "required": false,
614
+ "hasDynamicHelp": false,
615
+ "multiple": false,
616
+ "type": "option"
513
617
  },
514
- "workspace": {
515
- "char": "w",
516
- "description": "Workspace ID (uses profile workspace if not provided)",
517
- "name": "workspace",
618
+ "verbose": {
619
+ "char": "v",
620
+ "description": "Show detailed request/response information",
621
+ "env": "XANO_VERBOSE",
622
+ "name": "verbose",
623
+ "required": false,
624
+ "allowNo": false,
625
+ "type": "boolean"
626
+ },
627
+ "output": {
628
+ "char": "o",
629
+ "description": "Output format",
630
+ "name": "output",
518
631
  "required": false,
632
+ "default": "summary",
519
633
  "hasDynamicHelp": false,
520
634
  "multiple": false,
635
+ "options": [
636
+ "summary",
637
+ "json"
638
+ ],
521
639
  "type": "option"
522
640
  }
523
641
  },
524
642
  "hasDynamicHelp": false,
525
643
  "hiddenAliases": [],
526
- "id": "branch:set_live",
644
+ "id": "platform:list",
527
645
  "pluginAlias": "@xano/cli",
528
646
  "pluginName": "@xano/cli",
529
647
  "pluginType": "core",
@@ -533,8 +651,8 @@
533
651
  "relativePath": [
534
652
  "dist",
535
653
  "commands",
536
- "branch",
537
- "set_live",
654
+ "platform",
655
+ "list",
538
656
  "index.js"
539
657
  ]
540
658
  },
@@ -763,23 +881,15 @@
763
881
  "index.js"
764
882
  ]
765
883
  },
766
- "function:get": {
884
+ "function:list": {
767
885
  "aliases": [],
768
- "args": {
769
- "function_id": {
770
- "description": "Function ID",
771
- "name": "function_id",
772
- "required": false
773
- }
774
- },
775
- "description": "Get a specific function from a workspace",
886
+ "args": {},
887
+ "description": "List all functions in a workspace from the Xano Metadata API",
776
888
  "examples": [
777
- "$ xano function:get 145 -w 40\nFunction: yo (ID: 145)\nCreated: 2025-10-10 10:30:00\nDescription: Sample function\n",
778
- "$ xano function:get 145 --profile production\nFunction: yo (ID: 145)\nCreated: 2025-10-10 10:30:00\n",
779
- "$ xano function:get\nSelect a function:\n ❯ yo (ID: 145) - Sample function\n another-func (ID: 146)\n",
780
- "$ xano function:get 145 -w 40 --output json\n{\n \"id\": 145,\n \"name\": \"yo\",\n \"description\": \"Sample function\"\n}\n",
781
- "$ xano function:get 145 -p staging -o json --include_draft\n{\n \"id\": 145,\n \"name\": \"yo\"\n}\n",
782
- "$ xano function:get 145 -p staging -o xs\nfunction yo {\n input {\n }\n stack {\n }\n response = null\n}\n"
889
+ "$ xano function:list -w 40\nAvailable functions:\n - function-1 (ID: 1)\n - function-2 (ID: 2)\n - function-3 (ID: 3)\n",
890
+ "$ xano function:list --profile production\nAvailable functions:\n - my-function (ID: 1)\n - another-function (ID: 2)\n",
891
+ "$ xano function:list -w 40 --output json\n[\n {\n \"id\": 1,\n \"name\": \"function-1\"\n }\n]\n",
892
+ "$ xano function:list -p staging -o json --include_draft\n[\n {\n \"id\": 1,\n \"name\": \"function-1\"\n }\n]\n"
783
893
  ],
784
894
  "flags": {
785
895
  "profile": {
@@ -802,7 +912,7 @@
802
912
  "type": "boolean"
803
913
  },
804
914
  "include_draft": {
805
- "description": "Include draft version",
915
+ "description": "Include draft functions",
806
916
  "name": "include_draft",
807
917
  "required": false,
808
918
  "allowNo": false,
@@ -815,6 +925,19 @@
815
925
  "allowNo": false,
816
926
  "type": "boolean"
817
927
  },
928
+ "order": {
929
+ "description": "Sort order",
930
+ "name": "order",
931
+ "required": false,
932
+ "default": "desc",
933
+ "hasDynamicHelp": false,
934
+ "multiple": false,
935
+ "options": [
936
+ "asc",
937
+ "desc"
938
+ ],
939
+ "type": "option"
940
+ },
818
941
  "output": {
819
942
  "char": "o",
820
943
  "description": "Output format",
@@ -825,11 +948,37 @@
825
948
  "multiple": false,
826
949
  "options": [
827
950
  "summary",
828
- "json",
829
- "xs"
951
+ "json"
830
952
  ],
831
953
  "type": "option"
832
954
  },
955
+ "page": {
956
+ "description": "Page number for pagination",
957
+ "name": "page",
958
+ "required": false,
959
+ "default": 1,
960
+ "hasDynamicHelp": false,
961
+ "multiple": false,
962
+ "type": "option"
963
+ },
964
+ "per_page": {
965
+ "description": "Number of results per page",
966
+ "name": "per_page",
967
+ "required": false,
968
+ "default": 50,
969
+ "hasDynamicHelp": false,
970
+ "multiple": false,
971
+ "type": "option"
972
+ },
973
+ "sort": {
974
+ "description": "Sort field",
975
+ "name": "sort",
976
+ "required": false,
977
+ "default": "created_at",
978
+ "hasDynamicHelp": false,
979
+ "multiple": false,
980
+ "type": "option"
981
+ },
833
982
  "workspace": {
834
983
  "char": "w",
835
984
  "description": "Workspace ID (optional if set in profile)",
@@ -842,7 +991,7 @@
842
991
  },
843
992
  "hasDynamicHelp": false,
844
993
  "hiddenAliases": [],
845
- "id": "function:get",
994
+ "id": "function:list",
846
995
  "pluginAlias": "@xano/cli",
847
996
  "pluginName": "@xano/cli",
848
997
  "pluginType": "core",
@@ -853,24 +1002,32 @@
853
1002
  "dist",
854
1003
  "commands",
855
1004
  "function",
856
- "get",
1005
+ "list",
857
1006
  "index.js"
858
1007
  ]
859
1008
  },
860
- "function:list": {
1009
+ "function:get": {
861
1010
  "aliases": [],
862
- "args": {},
863
- "description": "List all functions in a workspace from the Xano Metadata API",
1011
+ "args": {
1012
+ "function_id": {
1013
+ "description": "Function ID",
1014
+ "name": "function_id",
1015
+ "required": false
1016
+ }
1017
+ },
1018
+ "description": "Get a specific function from a workspace",
864
1019
  "examples": [
865
- "$ xano function:list -w 40\nAvailable functions:\n - function-1 (ID: 1)\n - function-2 (ID: 2)\n - function-3 (ID: 3)\n",
866
- "$ xano function:list --profile production\nAvailable functions:\n - my-function (ID: 1)\n - another-function (ID: 2)\n",
867
- "$ xano function:list -w 40 --output json\n[\n {\n \"id\": 1,\n \"name\": \"function-1\"\n }\n]\n",
868
- "$ xano function:list -p staging -o json --include_draft\n[\n {\n \"id\": 1,\n \"name\": \"function-1\"\n }\n]\n"
869
- ],
870
- "flags": {
871
- "profile": {
872
- "char": "p",
873
- "description": "Profile to use (uses default profile if not specified)",
1020
+ "$ xano function:get 145 -w 40\nFunction: yo (ID: 145)\nCreated: 2025-10-10 10:30:00\nDescription: Sample function\n",
1021
+ "$ xano function:get 145 --profile production\nFunction: yo (ID: 145)\nCreated: 2025-10-10 10:30:00\n",
1022
+ "$ xano function:get\nSelect a function:\n ❯ yo (ID: 145) - Sample function\n another-func (ID: 146)\n",
1023
+ "$ xano function:get 145 -w 40 --output json\n{\n \"id\": 145,\n \"name\": \"yo\",\n \"description\": \"Sample function\"\n}\n",
1024
+ "$ xano function:get 145 -p staging -o json --include_draft\n{\n \"id\": 145,\n \"name\": \"yo\"\n}\n",
1025
+ "$ xano function:get 145 -p staging -o xs\nfunction yo {\n input {\n }\n stack {\n }\n response = null\n}\n"
1026
+ ],
1027
+ "flags": {
1028
+ "profile": {
1029
+ "char": "p",
1030
+ "description": "Profile to use (uses default profile if not specified)",
874
1031
  "env": "XANO_PROFILE",
875
1032
  "name": "profile",
876
1033
  "required": false,
@@ -888,7 +1045,7 @@
888
1045
  "type": "boolean"
889
1046
  },
890
1047
  "include_draft": {
891
- "description": "Include draft functions",
1048
+ "description": "Include draft version",
892
1049
  "name": "include_draft",
893
1050
  "required": false,
894
1051
  "allowNo": false,
@@ -901,19 +1058,6 @@
901
1058
  "allowNo": false,
902
1059
  "type": "boolean"
903
1060
  },
904
- "order": {
905
- "description": "Sort order",
906
- "name": "order",
907
- "required": false,
908
- "default": "desc",
909
- "hasDynamicHelp": false,
910
- "multiple": false,
911
- "options": [
912
- "asc",
913
- "desc"
914
- ],
915
- "type": "option"
916
- },
917
1061
  "output": {
918
1062
  "char": "o",
919
1063
  "description": "Output format",
@@ -924,37 +1068,11 @@
924
1068
  "multiple": false,
925
1069
  "options": [
926
1070
  "summary",
927
- "json"
1071
+ "json",
1072
+ "xs"
928
1073
  ],
929
1074
  "type": "option"
930
1075
  },
931
- "page": {
932
- "description": "Page number for pagination",
933
- "name": "page",
934
- "required": false,
935
- "default": 1,
936
- "hasDynamicHelp": false,
937
- "multiple": false,
938
- "type": "option"
939
- },
940
- "per_page": {
941
- "description": "Number of results per page",
942
- "name": "per_page",
943
- "required": false,
944
- "default": 50,
945
- "hasDynamicHelp": false,
946
- "multiple": false,
947
- "type": "option"
948
- },
949
- "sort": {
950
- "description": "Sort field",
951
- "name": "sort",
952
- "required": false,
953
- "default": "created_at",
954
- "hasDynamicHelp": false,
955
- "multiple": false,
956
- "type": "option"
957
- },
958
1076
  "workspace": {
959
1077
  "char": "w",
960
1078
  "description": "Workspace ID (optional if set in profile)",
@@ -967,7 +1085,7 @@
967
1085
  },
968
1086
  "hasDynamicHelp": false,
969
1087
  "hiddenAliases": [],
970
- "id": "function:list",
1088
+ "id": "function:get",
971
1089
  "pluginAlias": "@xano/cli",
972
1090
  "pluginName": "@xano/cli",
973
1091
  "pluginType": "core",
@@ -978,136 +1096,10 @@
978
1096
  "dist",
979
1097
  "commands",
980
1098
  "function",
981
- "list",
982
- "index.js"
983
- ]
984
- },
985
- "platform:get": {
986
- "aliases": [],
987
- "args": {
988
- "platform_id": {
989
- "description": "Platform ID to retrieve",
990
- "name": "platform_id",
991
- "required": true
992
- }
993
- },
994
- "description": "Get details of a specific platform",
995
- "examples": [
996
- "$ xano platform get 23629\nPlatform ID: 23629\n Created: 2025-11-28\n Helm: 0.1.356\n Images:\n backend 0.0.2985\n frontend 0.1.3427\n database 0.1.6\n node 0.1.192\n deno 0.0.212\n redis 0.1.34\n realtime 0.1.149\n standalone 0.0.2456\n playwright 0.0.992\n static 0.0.10\n static-build 0.0.4\n backend-encoded 0.0.1396\n",
997
- "$ xano platform get 23629 -o json"
998
- ],
999
- "flags": {
1000
- "profile": {
1001
- "char": "p",
1002
- "description": "Profile to use (uses default profile if not specified)",
1003
- "env": "XANO_PROFILE",
1004
- "name": "profile",
1005
- "required": false,
1006
- "hasDynamicHelp": false,
1007
- "multiple": false,
1008
- "type": "option"
1009
- },
1010
- "verbose": {
1011
- "char": "v",
1012
- "description": "Show detailed request/response information",
1013
- "env": "XANO_VERBOSE",
1014
- "name": "verbose",
1015
- "required": false,
1016
- "allowNo": false,
1017
- "type": "boolean"
1018
- },
1019
- "output": {
1020
- "char": "o",
1021
- "description": "Output format",
1022
- "name": "output",
1023
- "required": false,
1024
- "default": "summary",
1025
- "hasDynamicHelp": false,
1026
- "multiple": false,
1027
- "options": [
1028
- "summary",
1029
- "json"
1030
- ],
1031
- "type": "option"
1032
- }
1033
- },
1034
- "hasDynamicHelp": false,
1035
- "hiddenAliases": [],
1036
- "id": "platform:get",
1037
- "pluginAlias": "@xano/cli",
1038
- "pluginName": "@xano/cli",
1039
- "pluginType": "core",
1040
- "strict": true,
1041
- "enableJsonFlag": false,
1042
- "isESM": true,
1043
- "relativePath": [
1044
- "dist",
1045
- "commands",
1046
- "platform",
1047
1099
  "get",
1048
1100
  "index.js"
1049
1101
  ]
1050
1102
  },
1051
- "platform:list": {
1052
- "aliases": [],
1053
- "args": {},
1054
- "description": "List all platforms",
1055
- "examples": [
1056
- "$ xano platform list\nPlatforms:\n ID: 23629 | Helm: 0.1.356 | Created: 2025-11-28\n",
1057
- "$ xano platform list --output json"
1058
- ],
1059
- "flags": {
1060
- "profile": {
1061
- "char": "p",
1062
- "description": "Profile to use (uses default profile if not specified)",
1063
- "env": "XANO_PROFILE",
1064
- "name": "profile",
1065
- "required": false,
1066
- "hasDynamicHelp": false,
1067
- "multiple": false,
1068
- "type": "option"
1069
- },
1070
- "verbose": {
1071
- "char": "v",
1072
- "description": "Show detailed request/response information",
1073
- "env": "XANO_VERBOSE",
1074
- "name": "verbose",
1075
- "required": false,
1076
- "allowNo": false,
1077
- "type": "boolean"
1078
- },
1079
- "output": {
1080
- "char": "o",
1081
- "description": "Output format",
1082
- "name": "output",
1083
- "required": false,
1084
- "default": "summary",
1085
- "hasDynamicHelp": false,
1086
- "multiple": false,
1087
- "options": [
1088
- "summary",
1089
- "json"
1090
- ],
1091
- "type": "option"
1092
- }
1093
- },
1094
- "hasDynamicHelp": false,
1095
- "hiddenAliases": [],
1096
- "id": "platform:list",
1097
- "pluginAlias": "@xano/cli",
1098
- "pluginName": "@xano/cli",
1099
- "pluginType": "core",
1100
- "strict": true,
1101
- "enableJsonFlag": false,
1102
- "isESM": true,
1103
- "relativePath": [
1104
- "dist",
1105
- "commands",
1106
- "platform",
1107
- "list",
1108
- "index.js"
1109
- ]
1110
- },
1111
1103
  "profile:create": {
1112
1104
  "aliases": [],
1113
1105
  "args": {
@@ -1204,48 +1196,6 @@
1204
1196
  "index.js"
1205
1197
  ]
1206
1198
  },
1207
- "profile:delete": {
1208
- "aliases": [],
1209
- "args": {
1210
- "name": {
1211
- "description": "Profile name to delete",
1212
- "name": "name",
1213
- "required": true
1214
- }
1215
- },
1216
- "description": "Delete a profile configuration",
1217
- "examples": [
1218
- "$ xano profile:delete old-profile\nAre you sure you want to delete profile 'old-profile'? (y/n): y\nProfile 'old-profile' deleted successfully from ~/.xano/credentials.yaml\n",
1219
- "$ xano profile:delete old-profile --force\nProfile 'old-profile' deleted successfully from ~/.xano/credentials.yaml\n",
1220
- "$ xano profile:delete old-profile -f\nProfile 'old-profile' deleted successfully from ~/.xano/credentials.yaml\n"
1221
- ],
1222
- "flags": {
1223
- "force": {
1224
- "char": "f",
1225
- "description": "Skip confirmation prompt",
1226
- "name": "force",
1227
- "required": false,
1228
- "allowNo": false,
1229
- "type": "boolean"
1230
- }
1231
- },
1232
- "hasDynamicHelp": false,
1233
- "hiddenAliases": [],
1234
- "id": "profile:delete",
1235
- "pluginAlias": "@xano/cli",
1236
- "pluginName": "@xano/cli",
1237
- "pluginType": "core",
1238
- "strict": true,
1239
- "enableJsonFlag": false,
1240
- "isESM": true,
1241
- "relativePath": [
1242
- "dist",
1243
- "commands",
1244
- "profile",
1245
- "delete",
1246
- "index.js"
1247
- ]
1248
- },
1249
1199
  "profile:edit": {
1250
1200
  "aliases": [],
1251
1201
  "args": {
@@ -1376,17 +1326,34 @@
1376
1326
  "index.js"
1377
1327
  ]
1378
1328
  },
1379
- "profile:get": {
1329
+ "profile:delete": {
1380
1330
  "aliases": [],
1381
- "args": {},
1382
- "description": "Get the current default profile name",
1331
+ "args": {
1332
+ "name": {
1333
+ "description": "Profile name to delete",
1334
+ "name": "name",
1335
+ "required": true
1336
+ }
1337
+ },
1338
+ "description": "Delete a profile configuration",
1383
1339
  "examples": [
1384
- "$ xano profile get\nproduction\n"
1340
+ "$ xano profile:delete old-profile\nAre you sure you want to delete profile 'old-profile'? (y/n): y\nProfile 'old-profile' deleted successfully from ~/.xano/credentials.yaml\n",
1341
+ "$ xano profile:delete old-profile --force\nProfile 'old-profile' deleted successfully from ~/.xano/credentials.yaml\n",
1342
+ "$ xano profile:delete old-profile -f\nProfile 'old-profile' deleted successfully from ~/.xano/credentials.yaml\n"
1385
1343
  ],
1386
- "flags": {},
1344
+ "flags": {
1345
+ "force": {
1346
+ "char": "f",
1347
+ "description": "Skip confirmation prompt",
1348
+ "name": "force",
1349
+ "required": false,
1350
+ "allowNo": false,
1351
+ "type": "boolean"
1352
+ }
1353
+ },
1387
1354
  "hasDynamicHelp": false,
1388
1355
  "hiddenAliases": [],
1389
- "id": "profile:get",
1356
+ "id": "profile:delete",
1390
1357
  "pluginAlias": "@xano/cli",
1391
1358
  "pluginName": "@xano/cli",
1392
1359
  "pluginType": "core",
@@ -1397,32 +1364,21 @@
1397
1364
  "dist",
1398
1365
  "commands",
1399
1366
  "profile",
1400
- "get",
1367
+ "delete",
1401
1368
  "index.js"
1402
1369
  ]
1403
1370
  },
1404
- "profile:list": {
1371
+ "profile:get": {
1405
1372
  "aliases": [],
1406
1373
  "args": {},
1407
- "description": "List all available profile configurations",
1374
+ "description": "Get the current default profile name",
1408
1375
  "examples": [
1409
- "$ xano profile:list\nAvailable profiles:\n - default\n - production\n - staging\n - development\n",
1410
- "$ 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",
1411
- "$ 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"
1376
+ "$ xano profile get\nproduction\n"
1412
1377
  ],
1413
- "flags": {
1414
- "details": {
1415
- "char": "d",
1416
- "description": "Show detailed information for each profile",
1417
- "name": "details",
1418
- "required": false,
1419
- "allowNo": false,
1420
- "type": "boolean"
1421
- }
1422
- },
1378
+ "flags": {},
1423
1379
  "hasDynamicHelp": false,
1424
1380
  "hiddenAliases": [],
1425
- "id": "profile:list",
1381
+ "id": "profile:get",
1426
1382
  "pluginAlias": "@xano/cli",
1427
1383
  "pluginName": "@xano/cli",
1428
1384
  "pluginType": "core",
@@ -1433,72 +1389,32 @@
1433
1389
  "dist",
1434
1390
  "commands",
1435
1391
  "profile",
1436
- "list",
1392
+ "get",
1437
1393
  "index.js"
1438
1394
  ]
1439
1395
  },
1440
- "branch:get": {
1396
+ "profile:list": {
1441
1397
  "aliases": [],
1442
- "args": {
1443
- "branch_label": {
1444
- "description": "Branch label (e.g., \"v1\", \"dev\")",
1445
- "name": "branch_label",
1446
- "required": true
1447
- }
1448
- },
1449
- "description": "Get details for a specific branch",
1398
+ "args": {},
1399
+ "description": "List all available profile configurations",
1450
1400
  "examples": [
1451
- "$ xano branch get v1\nBranch: v1 (live)\n Created: 2024-01-15\n",
1452
- "$ xano branch get dev -w 123\nBranch: dev\n Created: 2024-02-01\n",
1453
- "$ xano branch get staging --output json\n{\n \"created_at\": \"2024-02-10T09:15:00Z\",\n \"label\": \"staging\",\n \"backup\": false,\n \"live\": false\n}\n"
1401
+ "$ xano profile:list\nAvailable profiles:\n - default\n - production\n - staging\n - development\n",
1402
+ "$ 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",
1403
+ "$ 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"
1454
1404
  ],
1455
1405
  "flags": {
1456
- "profile": {
1457
- "char": "p",
1458
- "description": "Profile to use (uses default profile if not specified)",
1459
- "env": "XANO_PROFILE",
1460
- "name": "profile",
1461
- "required": false,
1462
- "hasDynamicHelp": false,
1463
- "multiple": false,
1464
- "type": "option"
1465
- },
1466
- "verbose": {
1467
- "char": "v",
1468
- "description": "Show detailed request/response information",
1469
- "env": "XANO_VERBOSE",
1470
- "name": "verbose",
1406
+ "details": {
1407
+ "char": "d",
1408
+ "description": "Show detailed information for each profile",
1409
+ "name": "details",
1471
1410
  "required": false,
1472
1411
  "allowNo": false,
1473
1412
  "type": "boolean"
1474
- },
1475
- "output": {
1476
- "char": "o",
1477
- "description": "Output format",
1478
- "name": "output",
1479
- "required": false,
1480
- "default": "summary",
1481
- "hasDynamicHelp": false,
1482
- "multiple": false,
1483
- "options": [
1484
- "summary",
1485
- "json"
1486
- ],
1487
- "type": "option"
1488
- },
1489
- "workspace": {
1490
- "char": "w",
1491
- "description": "Workspace ID (uses profile workspace if not provided)",
1492
- "name": "workspace",
1493
- "required": false,
1494
- "hasDynamicHelp": false,
1495
- "multiple": false,
1496
- "type": "option"
1497
1413
  }
1498
1414
  },
1499
1415
  "hasDynamicHelp": false,
1500
1416
  "hiddenAliases": [],
1501
- "id": "branch:get",
1417
+ "id": "profile:list",
1502
1418
  "pluginAlias": "@xano/cli",
1503
1419
  "pluginName": "@xano/cli",
1504
1420
  "pluginType": "core",
@@ -1508,8 +1424,8 @@
1508
1424
  "relativePath": [
1509
1425
  "dist",
1510
1426
  "commands",
1511
- "branch",
1512
- "get",
1427
+ "profile",
1428
+ "list",
1513
1429
  "index.js"
1514
1430
  ]
1515
1431
  },
@@ -1631,6 +1547,59 @@
1631
1547
  "index.js"
1632
1548
  ]
1633
1549
  },
1550
+ "profile:wizard": {
1551
+ "aliases": [],
1552
+ "args": {},
1553
+ "description": "Create a new profile configuration using an interactive wizard",
1554
+ "examples": [
1555
+ "$ 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"
1556
+ ],
1557
+ "flags": {
1558
+ "insecure": {
1559
+ "char": "k",
1560
+ "description": "Skip TLS certificate verification (for self-signed certificates)",
1561
+ "name": "insecure",
1562
+ "required": false,
1563
+ "allowNo": false,
1564
+ "type": "boolean"
1565
+ },
1566
+ "name": {
1567
+ "char": "n",
1568
+ "description": "Profile name (skip prompt if provided)",
1569
+ "name": "name",
1570
+ "required": false,
1571
+ "hasDynamicHelp": false,
1572
+ "multiple": false,
1573
+ "type": "option"
1574
+ },
1575
+ "origin": {
1576
+ "char": "o",
1577
+ "description": "Xano instance origin URL",
1578
+ "name": "origin",
1579
+ "required": false,
1580
+ "default": "https://app.xano.com",
1581
+ "hasDynamicHelp": false,
1582
+ "multiple": false,
1583
+ "type": "option"
1584
+ }
1585
+ },
1586
+ "hasDynamicHelp": false,
1587
+ "hiddenAliases": [],
1588
+ "id": "profile:wizard",
1589
+ "pluginAlias": "@xano/cli",
1590
+ "pluginName": "@xano/cli",
1591
+ "pluginType": "core",
1592
+ "strict": true,
1593
+ "enableJsonFlag": false,
1594
+ "isESM": true,
1595
+ "relativePath": [
1596
+ "dist",
1597
+ "commands",
1598
+ "profile",
1599
+ "wizard",
1600
+ "index.js"
1601
+ ]
1602
+ },
1634
1603
  "profile:workspace": {
1635
1604
  "aliases": [],
1636
1605
  "args": {},
@@ -1657,15 +1626,20 @@
1657
1626
  "index.js"
1658
1627
  ]
1659
1628
  },
1660
- "static_host:list": {
1629
+ "branch:set_live": {
1661
1630
  "aliases": [],
1662
- "args": {},
1663
- "description": "List all static hosts in a workspace from the Xano Metadata API",
1631
+ "args": {
1632
+ "branch_label": {
1633
+ "description": "Branch label to set as live (use \"v1\" for default branch)",
1634
+ "name": "branch_label",
1635
+ "required": true
1636
+ }
1637
+ },
1638
+ "description": "Set a branch as the live (active) branch for API requests",
1664
1639
  "examples": [
1665
- "$ xano static_host:list -w 40\nAvailable static hosts:\n - my-static-host (ID: 1)\n - another-host (ID: 2)\n",
1666
- "$ xano static_host:list --profile production\nAvailable static hosts:\n - my-static-host (ID: 1)\n - another-host (ID: 2)\n",
1667
- "$ 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",
1668
- "$ xano static_host:list -p staging -o json --page 2\n[\n {\n \"id\": 3,\n \"name\": \"static-host-3\"\n }\n]\n"
1640
+ "$ 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",
1641
+ "$ xano branch set-live v1 --force\nBranch 'v1' is now live\n",
1642
+ "$ 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"
1669
1643
  ],
1670
1644
  "flags": {
1671
1645
  "profile": {
@@ -1687,6 +1661,14 @@
1687
1661
  "allowNo": false,
1688
1662
  "type": "boolean"
1689
1663
  },
1664
+ "force": {
1665
+ "char": "f",
1666
+ "description": "Skip confirmation prompt",
1667
+ "name": "force",
1668
+ "required": false,
1669
+ "allowNo": false,
1670
+ "type": "boolean"
1671
+ },
1690
1672
  "output": {
1691
1673
  "char": "o",
1692
1674
  "description": "Output format",
@@ -1701,27 +1683,9 @@
1701
1683
  ],
1702
1684
  "type": "option"
1703
1685
  },
1704
- "page": {
1705
- "description": "Page number for pagination",
1706
- "name": "page",
1707
- "required": false,
1708
- "default": 1,
1709
- "hasDynamicHelp": false,
1710
- "multiple": false,
1711
- "type": "option"
1712
- },
1713
- "per_page": {
1714
- "description": "Number of results per page",
1715
- "name": "per_page",
1716
- "required": false,
1717
- "default": 50,
1718
- "hasDynamicHelp": false,
1719
- "multiple": false,
1720
- "type": "option"
1721
- },
1722
1686
  "workspace": {
1723
1687
  "char": "w",
1724
- "description": "Workspace ID (optional if set in profile)",
1688
+ "description": "Workspace ID (uses profile workspace if not provided)",
1725
1689
  "name": "workspace",
1726
1690
  "required": false,
1727
1691
  "hasDynamicHelp": false,
@@ -1731,7 +1695,7 @@
1731
1695
  },
1732
1696
  "hasDynamicHelp": false,
1733
1697
  "hiddenAliases": [],
1734
- "id": "static_host:list",
1698
+ "id": "branch:set_live",
1735
1699
  "pluginAlias": "@xano/cli",
1736
1700
  "pluginName": "@xano/cli",
1737
1701
  "pluginType": "core",
@@ -1741,8 +1705,8 @@
1741
1705
  "relativePath": [
1742
1706
  "dist",
1743
1707
  "commands",
1744
- "static_host",
1745
- "list",
1708
+ "branch",
1709
+ "set_live",
1746
1710
  "index.js"
1747
1711
  ]
1748
1712
  },
@@ -2034,20 +1998,19 @@
2034
1998
  "index.js"
2035
1999
  ]
2036
2000
  },
2037
- "release:export": {
2001
+ "release:get": {
2038
2002
  "aliases": [],
2039
2003
  "args": {
2040
2004
  "release_name": {
2041
- "description": "Release name to export",
2005
+ "description": "Release name to retrieve",
2042
2006
  "name": "release_name",
2043
2007
  "required": true
2044
2008
  }
2045
2009
  },
2046
- "description": "Export (download) a release to a local file",
2010
+ "description": "Get details of a specific release",
2047
2011
  "examples": [
2048
- "$ xano release export v1.0\nDownloaded release 'v1.0' to ./release-v1.0.tar.gz\n",
2049
- "$ xano release export v1.0 --output ./backups/my-release.tar.gz",
2050
- "$ xano release export v1.0 -o json"
2012
+ "$ xano release get v1.0\nRelease: v1.0 - ID: 10\n Branch: main\n Description: Initial release\n Hotfix: false\n",
2013
+ "$ xano release get v1.0 -w 5 -o json"
2051
2014
  ],
2052
2015
  "flags": {
2053
2016
  "profile": {
@@ -2069,10 +2032,10 @@
2069
2032
  "allowNo": false,
2070
2033
  "type": "boolean"
2071
2034
  },
2072
- "format": {
2035
+ "output": {
2073
2036
  "char": "o",
2074
2037
  "description": "Output format",
2075
- "name": "format",
2038
+ "name": "output",
2076
2039
  "required": false,
2077
2040
  "default": "summary",
2078
2041
  "hasDynamicHelp": false,
@@ -2083,14 +2046,6 @@
2083
2046
  ],
2084
2047
  "type": "option"
2085
2048
  },
2086
- "output": {
2087
- "description": "Output file path (defaults to ./release-{name}.tar.gz)",
2088
- "name": "output",
2089
- "required": false,
2090
- "hasDynamicHelp": false,
2091
- "multiple": false,
2092
- "type": "option"
2093
- },
2094
2049
  "workspace": {
2095
2050
  "char": "w",
2096
2051
  "description": "Workspace ID (uses profile workspace if not provided)",
@@ -2103,7 +2058,7 @@
2103
2058
  },
2104
2059
  "hasDynamicHelp": false,
2105
2060
  "hiddenAliases": [],
2106
- "id": "release:export",
2061
+ "id": "release:get",
2107
2062
  "pluginAlias": "@xano/cli",
2108
2063
  "pluginName": "@xano/cli",
2109
2064
  "pluginType": "core",
@@ -2114,97 +2069,47 @@
2114
2069
  "dist",
2115
2070
  "commands",
2116
2071
  "release",
2117
- "export",
2072
+ "get",
2118
2073
  "index.js"
2119
2074
  ]
2120
2075
  },
2121
- "profile:wizard": {
2076
+ "release:import": {
2122
2077
  "aliases": [],
2123
2078
  "args": {},
2124
- "description": "Create a new profile configuration using an interactive wizard",
2079
+ "description": "Import a release file into a workspace",
2125
2080
  "examples": [
2126
- "$ 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"
2081
+ "$ xano release import --file ./my-release.tar.gz\nImported release as #15\n",
2082
+ "$ xano release import --file ./my-release.tar.gz -o json"
2127
2083
  ],
2128
2084
  "flags": {
2129
- "insecure": {
2130
- "char": "k",
2131
- "description": "Skip TLS certificate verification (for self-signed certificates)",
2132
- "name": "insecure",
2133
- "required": false,
2134
- "allowNo": false,
2135
- "type": "boolean"
2136
- },
2137
- "name": {
2138
- "char": "n",
2139
- "description": "Profile name (skip prompt if provided)",
2140
- "name": "name",
2085
+ "profile": {
2086
+ "char": "p",
2087
+ "description": "Profile to use (uses default profile if not specified)",
2088
+ "env": "XANO_PROFILE",
2089
+ "name": "profile",
2141
2090
  "required": false,
2142
2091
  "hasDynamicHelp": false,
2143
2092
  "multiple": false,
2144
2093
  "type": "option"
2145
2094
  },
2146
- "origin": {
2147
- "char": "o",
2148
- "description": "Xano instance origin URL",
2149
- "name": "origin",
2150
- "required": false,
2151
- "default": "https://app.xano.com",
2152
- "hasDynamicHelp": false,
2153
- "multiple": false,
2154
- "type": "option"
2155
- }
2156
- },
2157
- "hasDynamicHelp": false,
2158
- "hiddenAliases": [],
2159
- "id": "profile:wizard",
2160
- "pluginAlias": "@xano/cli",
2161
- "pluginName": "@xano/cli",
2162
- "pluginType": "core",
2163
- "strict": true,
2164
- "enableJsonFlag": false,
2165
- "isESM": true,
2166
- "relativePath": [
2167
- "dist",
2168
- "commands",
2169
- "profile",
2170
- "wizard",
2171
- "index.js"
2172
- ]
2173
- },
2174
- "release:get": {
2175
- "aliases": [],
2176
- "args": {
2177
- "release_name": {
2178
- "description": "Release name to retrieve",
2179
- "name": "release_name",
2180
- "required": true
2181
- }
2182
- },
2183
- "description": "Get details of a specific release",
2184
- "examples": [
2185
- "$ xano release get v1.0\nRelease: v1.0 - ID: 10\n Branch: main\n Description: Initial release\n Hotfix: false\n",
2186
- "$ xano release get v1.0 -w 5 -o json"
2187
- ],
2188
- "flags": {
2189
- "profile": {
2190
- "char": "p",
2191
- "description": "Profile to use (uses default profile if not specified)",
2192
- "env": "XANO_PROFILE",
2193
- "name": "profile",
2095
+ "verbose": {
2096
+ "char": "v",
2097
+ "description": "Show detailed request/response information",
2098
+ "env": "XANO_VERBOSE",
2099
+ "name": "verbose",
2194
2100
  "required": false,
2101
+ "allowNo": false,
2102
+ "type": "boolean"
2103
+ },
2104
+ "file": {
2105
+ "char": "f",
2106
+ "description": "Path to the release file (.tar.gz)",
2107
+ "name": "file",
2108
+ "required": true,
2195
2109
  "hasDynamicHelp": false,
2196
2110
  "multiple": false,
2197
2111
  "type": "option"
2198
2112
  },
2199
- "verbose": {
2200
- "char": "v",
2201
- "description": "Show detailed request/response information",
2202
- "env": "XANO_VERBOSE",
2203
- "name": "verbose",
2204
- "required": false,
2205
- "allowNo": false,
2206
- "type": "boolean"
2207
- },
2208
2113
  "output": {
2209
2114
  "char": "o",
2210
2115
  "description": "Output format",
@@ -2231,7 +2136,7 @@
2231
2136
  },
2232
2137
  "hasDynamicHelp": false,
2233
2138
  "hiddenAliases": [],
2234
- "id": "release:get",
2139
+ "id": "release:import",
2235
2140
  "pluginAlias": "@xano/cli",
2236
2141
  "pluginName": "@xano/cli",
2237
2142
  "pluginType": "core",
@@ -2242,17 +2147,17 @@
2242
2147
  "dist",
2243
2148
  "commands",
2244
2149
  "release",
2245
- "get",
2150
+ "import",
2246
2151
  "index.js"
2247
2152
  ]
2248
2153
  },
2249
- "release:import": {
2154
+ "release:list": {
2250
2155
  "aliases": [],
2251
2156
  "args": {},
2252
- "description": "Import a release file into a workspace",
2157
+ "description": "List all releases in a workspace",
2253
2158
  "examples": [
2254
- "$ xano release import --file ./my-release.tar.gz\nImported release as #15\n",
2255
- "$ xano release import --file ./my-release.tar.gz -o json"
2159
+ "$ xano release list\nReleases in workspace 5:\n - v1.0 (ID: 10) - main\n - v1.1-hotfix (ID: 11) - main [hotfix]\n",
2160
+ "$ xano release list -w 5 --output json"
2256
2161
  ],
2257
2162
  "flags": {
2258
2163
  "profile": {
@@ -2274,15 +2179,6 @@
2274
2179
  "allowNo": false,
2275
2180
  "type": "boolean"
2276
2181
  },
2277
- "file": {
2278
- "char": "f",
2279
- "description": "Path to the release file (.tar.gz)",
2280
- "name": "file",
2281
- "required": true,
2282
- "hasDynamicHelp": false,
2283
- "multiple": false,
2284
- "type": "option"
2285
- },
2286
2182
  "output": {
2287
2183
  "char": "o",
2288
2184
  "description": "Output format",
@@ -2309,7 +2205,7 @@
2309
2205
  },
2310
2206
  "hasDynamicHelp": false,
2311
2207
  "hiddenAliases": [],
2312
- "id": "release:import",
2208
+ "id": "release:list",
2313
2209
  "pluginAlias": "@xano/cli",
2314
2210
  "pluginName": "@xano/cli",
2315
2211
  "pluginType": "core",
@@ -2320,17 +2216,24 @@
2320
2216
  "dist",
2321
2217
  "commands",
2322
2218
  "release",
2323
- "import",
2219
+ "list",
2324
2220
  "index.js"
2325
2221
  ]
2326
2222
  },
2327
- "release:list": {
2223
+ "release:pull": {
2328
2224
  "aliases": [],
2329
- "args": {},
2330
- "description": "List all releases in a workspace",
2225
+ "args": {
2226
+ "directory": {
2227
+ "description": "Output directory for pulled documents",
2228
+ "name": "directory",
2229
+ "required": true
2230
+ }
2231
+ },
2232
+ "description": "Pull a release multidoc from the Xano Metadata API and split into individual files",
2331
2233
  "examples": [
2332
- "$ xano release list\nReleases in workspace 5:\n - v1.0 (ID: 10) - main\n - v1.1-hotfix (ID: 11) - main [hotfix]\n",
2333
- "$ xano release list -w 5 --output json"
2234
+ "$ xano release pull ./my-release -r v1.0\nPulled 42 documents from release 'v1.0' to ./my-release\n",
2235
+ "$ xano release pull ./output -r v1.0 -w 40\nPulled 15 documents from release 'v1.0' to ./output\n",
2236
+ "$ xano release pull ./backup -r v1.0 --profile production --env --records\nPulled 58 documents from release 'v1.0' to ./backup\n"
2334
2237
  ],
2335
2238
  "flags": {
2336
2239
  "profile": {
@@ -2352,23 +2255,32 @@
2352
2255
  "allowNo": false,
2353
2256
  "type": "boolean"
2354
2257
  },
2355
- "output": {
2356
- "char": "o",
2357
- "description": "Output format",
2358
- "name": "output",
2258
+ "env": {
2259
+ "description": "Include environment variables",
2260
+ "name": "env",
2359
2261
  "required": false,
2360
- "default": "summary",
2262
+ "allowNo": false,
2263
+ "type": "boolean"
2264
+ },
2265
+ "records": {
2266
+ "description": "Include records",
2267
+ "name": "records",
2268
+ "required": false,
2269
+ "allowNo": false,
2270
+ "type": "boolean"
2271
+ },
2272
+ "release": {
2273
+ "char": "r",
2274
+ "description": "Release name to pull from",
2275
+ "name": "release",
2276
+ "required": true,
2361
2277
  "hasDynamicHelp": false,
2362
2278
  "multiple": false,
2363
- "options": [
2364
- "summary",
2365
- "json"
2366
- ],
2367
2279
  "type": "option"
2368
2280
  },
2369
2281
  "workspace": {
2370
2282
  "char": "w",
2371
- "description": "Workspace ID (uses profile workspace if not provided)",
2283
+ "description": "Workspace ID (optional if set in profile)",
2372
2284
  "name": "workspace",
2373
2285
  "required": false,
2374
2286
  "hasDynamicHelp": false,
@@ -2378,7 +2290,7 @@
2378
2290
  },
2379
2291
  "hasDynamicHelp": false,
2380
2292
  "hiddenAliases": [],
2381
- "id": "release:list",
2293
+ "id": "release:pull",
2382
2294
  "pluginAlias": "@xano/cli",
2383
2295
  "pluginName": "@xano/cli",
2384
2296
  "pluginType": "core",
@@ -2389,7 +2301,7 @@
2389
2301
  "dist",
2390
2302
  "commands",
2391
2303
  "release",
2392
- "list",
2304
+ "pull",
2393
2305
  "index.js"
2394
2306
  ]
2395
2307
  },
@@ -2511,19 +2423,15 @@
2511
2423
  "index.js"
2512
2424
  ]
2513
2425
  },
2514
- "tenant:create": {
2426
+ "static_host:list": {
2515
2427
  "aliases": [],
2516
- "args": {
2517
- "display": {
2518
- "description": "Display name for the tenant",
2519
- "name": "display",
2520
- "required": true
2521
- }
2522
- },
2523
- "description": "Create a new tenant in a workspace",
2428
+ "args": {},
2429
+ "description": "List all static hosts in a workspace from the Xano Metadata API",
2524
2430
  "examples": [
2525
- "$ xano tenant create \"Production\"\nCreated tenant: Production (production) - ID: 42\n",
2526
- "$ xano tenant create \"Staging\" --description \"Staging env\" --cluster_id 1 --platform_id 1 --license tier2 -o json"
2431
+ "$ xano static_host:list -w 40\nAvailable static hosts:\n - my-static-host (ID: 1)\n - another-host (ID: 2)\n",
2432
+ "$ xano static_host:list --profile production\nAvailable static hosts:\n - my-static-host (ID: 1)\n - another-host (ID: 2)\n",
2433
+ "$ 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",
2434
+ "$ xano static_host:list -p staging -o json --page 2\n[\n {\n \"id\": 3,\n \"name\": \"static-host-3\"\n }\n]\n"
2527
2435
  ],
2528
2436
  "flags": {
2529
2437
  "profile": {
@@ -2545,57 +2453,6 @@
2545
2453
  "allowNo": false,
2546
2454
  "type": "boolean"
2547
2455
  },
2548
- "cluster_id": {
2549
- "description": "Cluster ID to deploy to (required for tier2/tier3)",
2550
- "name": "cluster_id",
2551
- "required": false,
2552
- "hasDynamicHelp": false,
2553
- "multiple": false,
2554
- "type": "option"
2555
- },
2556
- "description": {
2557
- "char": "d",
2558
- "description": "Tenant description",
2559
- "name": "description",
2560
- "required": false,
2561
- "hasDynamicHelp": false,
2562
- "multiple": false,
2563
- "type": "option"
2564
- },
2565
- "domain": {
2566
- "description": "Custom domain for the tenant",
2567
- "name": "domain",
2568
- "required": false,
2569
- "hasDynamicHelp": false,
2570
- "multiple": false,
2571
- "type": "option"
2572
- },
2573
- "ephemeral": {
2574
- "description": "Mark tenant as ephemeral (allows push operations)",
2575
- "name": "ephemeral",
2576
- "allowNo": false,
2577
- "type": "boolean"
2578
- },
2579
- "ingress": {
2580
- "description": "Enable ingress",
2581
- "name": "ingress",
2582
- "allowNo": true,
2583
- "type": "boolean"
2584
- },
2585
- "license": {
2586
- "description": "License tier",
2587
- "name": "license",
2588
- "required": false,
2589
- "default": "tier1",
2590
- "hasDynamicHelp": false,
2591
- "multiple": false,
2592
- "options": [
2593
- "tier1",
2594
- "tier2",
2595
- "tier3"
2596
- ],
2597
- "type": "option"
2598
- },
2599
2456
  "output": {
2600
2457
  "char": "o",
2601
2458
  "description": "Output format",
@@ -2610,23 +2467,27 @@
2610
2467
  ],
2611
2468
  "type": "option"
2612
2469
  },
2613
- "platform_id": {
2614
- "description": "Platform ID to use",
2615
- "name": "platform_id",
2470
+ "page": {
2471
+ "description": "Page number for pagination",
2472
+ "name": "page",
2616
2473
  "required": false,
2474
+ "default": 1,
2617
2475
  "hasDynamicHelp": false,
2618
2476
  "multiple": false,
2619
2477
  "type": "option"
2620
2478
  },
2621
- "tasks": {
2622
- "description": "Enable background tasks",
2623
- "name": "tasks",
2624
- "allowNo": true,
2625
- "type": "boolean"
2479
+ "per_page": {
2480
+ "description": "Number of results per page",
2481
+ "name": "per_page",
2482
+ "required": false,
2483
+ "default": 50,
2484
+ "hasDynamicHelp": false,
2485
+ "multiple": false,
2486
+ "type": "option"
2626
2487
  },
2627
2488
  "workspace": {
2628
2489
  "char": "w",
2629
- "description": "Workspace ID (uses profile workspace if not provided)",
2490
+ "description": "Workspace ID (optional if set in profile)",
2630
2491
  "name": "workspace",
2631
2492
  "required": false,
2632
2493
  "hasDynamicHelp": false,
@@ -2636,7 +2497,7 @@
2636
2497
  },
2637
2498
  "hasDynamicHelp": false,
2638
2499
  "hiddenAliases": [],
2639
- "id": "tenant:create",
2500
+ "id": "static_host:list",
2640
2501
  "pluginAlias": "@xano/cli",
2641
2502
  "pluginName": "@xano/cli",
2642
2503
  "pluginType": "core",
@@ -2646,25 +2507,25 @@
2646
2507
  "relativePath": [
2647
2508
  "dist",
2648
2509
  "commands",
2649
- "tenant",
2650
- "create",
2510
+ "static_host",
2511
+ "list",
2651
2512
  "index.js"
2652
2513
  ]
2653
2514
  },
2654
- "tenant:delete": {
2515
+ "release:export": {
2655
2516
  "aliases": [],
2656
2517
  "args": {
2657
- "tenant_name": {
2658
- "description": "Tenant name to delete",
2659
- "name": "tenant_name",
2518
+ "release_name": {
2519
+ "description": "Release name to export",
2520
+ "name": "release_name",
2660
2521
  "required": true
2661
2522
  }
2662
2523
  },
2663
- "description": "Delete a tenant permanently. This destroys all associated infrastructure and cannot be undone.",
2524
+ "description": "Export (download) a release to a local file",
2664
2525
  "examples": [
2665
- "$ xano tenant delete t1234-abcd-xyz1\nAre you sure you want to delete tenant t1234-abcd-xyz1? This action cannot be undone. (y/N) y\nDeleted tenant t1234-abcd-xyz1\n",
2666
- "$ xano tenant delete t1234-abcd-xyz1 --force\nDeleted tenant t1234-abcd-xyz1\n",
2667
- "$ xano tenant delete t1234-abcd-xyz1 -f -o json"
2526
+ "$ xano release export v1.0\nDownloaded release 'v1.0' to ./release-v1.0.tar.gz\n",
2527
+ "$ xano release export v1.0 --output ./backups/my-release.tar.gz",
2528
+ "$ xano release export v1.0 -o json"
2668
2529
  ],
2669
2530
  "flags": {
2670
2531
  "profile": {
@@ -2686,18 +2547,10 @@
2686
2547
  "allowNo": false,
2687
2548
  "type": "boolean"
2688
2549
  },
2689
- "force": {
2690
- "char": "f",
2691
- "description": "Skip confirmation prompt",
2692
- "name": "force",
2693
- "required": false,
2694
- "allowNo": false,
2695
- "type": "boolean"
2696
- },
2697
- "output": {
2550
+ "format": {
2698
2551
  "char": "o",
2699
2552
  "description": "Output format",
2700
- "name": "output",
2553
+ "name": "format",
2701
2554
  "required": false,
2702
2555
  "default": "summary",
2703
2556
  "hasDynamicHelp": false,
@@ -2708,6 +2561,14 @@
2708
2561
  ],
2709
2562
  "type": "option"
2710
2563
  },
2564
+ "output": {
2565
+ "description": "Output file path (defaults to ./release-{name}.tar.gz)",
2566
+ "name": "output",
2567
+ "required": false,
2568
+ "hasDynamicHelp": false,
2569
+ "multiple": false,
2570
+ "type": "option"
2571
+ },
2711
2572
  "workspace": {
2712
2573
  "char": "w",
2713
2574
  "description": "Workspace ID (uses profile workspace if not provided)",
@@ -2720,7 +2581,7 @@
2720
2581
  },
2721
2582
  "hasDynamicHelp": false,
2722
2583
  "hiddenAliases": [],
2723
- "id": "tenant:delete",
2584
+ "id": "release:export",
2724
2585
  "pluginAlias": "@xano/cli",
2725
2586
  "pluginName": "@xano/cli",
2726
2587
  "pluginType": "core",
@@ -2730,24 +2591,25 @@
2730
2591
  "relativePath": [
2731
2592
  "dist",
2732
2593
  "commands",
2733
- "tenant",
2734
- "delete",
2594
+ "release",
2595
+ "export",
2735
2596
  "index.js"
2736
2597
  ]
2737
2598
  },
2738
- "tenant:deploy_platform": {
2599
+ "tenant:delete": {
2739
2600
  "aliases": [],
2740
2601
  "args": {
2741
2602
  "tenant_name": {
2742
- "description": "Tenant name to deploy to",
2603
+ "description": "Tenant name to delete",
2743
2604
  "name": "tenant_name",
2744
2605
  "required": true
2745
2606
  }
2746
2607
  },
2747
- "description": "Deploy a platform version to a tenant",
2608
+ "description": "Delete a tenant permanently. This destroys all associated infrastructure and cannot be undone.",
2748
2609
  "examples": [
2749
- "$ xano tenant deploy_platform t1234-abcd-xyz1 --platform_id 5\nDeployed platform 5 to tenant: My Tenant (my-tenant)\n",
2750
- "$ xano tenant deploy_platform t1234-abcd-xyz1 --platform_id 5 -o json"
2610
+ "$ xano tenant delete t1234-abcd-xyz1\nAre you sure you want to delete tenant t1234-abcd-xyz1? This action cannot be undone. (y/N) y\nDeleted tenant t1234-abcd-xyz1\n",
2611
+ "$ xano tenant delete t1234-abcd-xyz1 --force\nDeleted tenant t1234-abcd-xyz1\n",
2612
+ "$ xano tenant delete t1234-abcd-xyz1 -f -o json"
2751
2613
  ],
2752
2614
  "flags": {
2753
2615
  "profile": {
@@ -2769,6 +2631,14 @@
2769
2631
  "allowNo": false,
2770
2632
  "type": "boolean"
2771
2633
  },
2634
+ "force": {
2635
+ "char": "f",
2636
+ "description": "Skip confirmation prompt",
2637
+ "name": "force",
2638
+ "required": false,
2639
+ "allowNo": false,
2640
+ "type": "boolean"
2641
+ },
2772
2642
  "output": {
2773
2643
  "char": "o",
2774
2644
  "description": "Output format",
@@ -2783,14 +2653,6 @@
2783
2653
  ],
2784
2654
  "type": "option"
2785
2655
  },
2786
- "platform_id": {
2787
- "description": "Platform ID to deploy",
2788
- "name": "platform_id",
2789
- "required": true,
2790
- "hasDynamicHelp": false,
2791
- "multiple": false,
2792
- "type": "option"
2793
- },
2794
2656
  "workspace": {
2795
2657
  "char": "w",
2796
2658
  "description": "Workspace ID (uses profile workspace if not provided)",
@@ -2803,7 +2665,7 @@
2803
2665
  },
2804
2666
  "hasDynamicHelp": false,
2805
2667
  "hiddenAliases": [],
2806
- "id": "tenant:deploy_platform",
2668
+ "id": "tenant:delete",
2807
2669
  "pluginAlias": "@xano/cli",
2808
2670
  "pluginName": "@xano/cli",
2809
2671
  "pluginType": "core",
@@ -2814,23 +2676,23 @@
2814
2676
  "dist",
2815
2677
  "commands",
2816
2678
  "tenant",
2817
- "deploy_platform",
2679
+ "delete",
2818
2680
  "index.js"
2819
2681
  ]
2820
2682
  },
2821
- "tenant:edit": {
2683
+ "tenant:create": {
2822
2684
  "aliases": [],
2823
2685
  "args": {
2824
- "tenant_name": {
2825
- "description": "Tenant name to edit",
2826
- "name": "tenant_name",
2686
+ "display": {
2687
+ "description": "Display name for the tenant",
2688
+ "name": "display",
2827
2689
  "required": true
2828
2690
  }
2829
2691
  },
2830
- "description": "Edit an existing tenant",
2692
+ "description": "Create a new tenant in a workspace",
2831
2693
  "examples": [
2832
- "$ xano tenant edit t1234-abcd-xyz1 --display \"New Name\" --description \"Updated description\"\nUpdated tenant: New Name (my-tenant) - ID: 42\n",
2833
- "$ xano tenant edit t1234-abcd-xyz1 --no-tasks --no-ingress -o json"
2694
+ "$ xano tenant create \"Production\"\nCreated tenant: Production (production) - ID: 42\n",
2695
+ "$ xano tenant create \"Staging\" --description \"Staging env\" --cluster_id 1 --platform_id 1 --license tier2 -o json"
2834
2696
  ],
2835
2697
  "flags": {
2836
2698
  "profile": {
@@ -2852,38 +2714,57 @@
2852
2714
  "allowNo": false,
2853
2715
  "type": "boolean"
2854
2716
  },
2855
- "description": {
2856
- "char": "d",
2857
- "description": "New description",
2858
- "name": "description",
2717
+ "cluster_id": {
2718
+ "description": "Cluster ID to deploy to (required for tier2/tier3)",
2719
+ "name": "cluster_id",
2859
2720
  "required": false,
2860
2721
  "hasDynamicHelp": false,
2861
2722
  "multiple": false,
2862
2723
  "type": "option"
2863
2724
  },
2864
- "display": {
2865
- "description": "New display name",
2866
- "name": "display",
2725
+ "description": {
2726
+ "char": "d",
2727
+ "description": "Tenant description",
2728
+ "name": "description",
2867
2729
  "required": false,
2868
2730
  "hasDynamicHelp": false,
2869
2731
  "multiple": false,
2870
2732
  "type": "option"
2871
2733
  },
2872
2734
  "domain": {
2873
- "description": "Custom domain",
2735
+ "description": "Custom domain for the tenant",
2874
2736
  "name": "domain",
2875
2737
  "required": false,
2876
2738
  "hasDynamicHelp": false,
2877
2739
  "multiple": false,
2878
2740
  "type": "option"
2879
2741
  },
2742
+ "ephemeral": {
2743
+ "description": "Mark tenant as ephemeral (allows push operations)",
2744
+ "name": "ephemeral",
2745
+ "allowNo": false,
2746
+ "type": "boolean"
2747
+ },
2880
2748
  "ingress": {
2881
- "description": "Enable/disable ingress",
2749
+ "description": "Enable ingress",
2882
2750
  "name": "ingress",
2883
- "required": false,
2884
2751
  "allowNo": true,
2885
2752
  "type": "boolean"
2886
2753
  },
2754
+ "license": {
2755
+ "description": "License tier",
2756
+ "name": "license",
2757
+ "required": false,
2758
+ "default": "tier1",
2759
+ "hasDynamicHelp": false,
2760
+ "multiple": false,
2761
+ "options": [
2762
+ "tier1",
2763
+ "tier2",
2764
+ "tier3"
2765
+ ],
2766
+ "type": "option"
2767
+ },
2887
2768
  "output": {
2888
2769
  "char": "o",
2889
2770
  "description": "Output format",
@@ -2898,25 +2779,17 @@
2898
2779
  ],
2899
2780
  "type": "option"
2900
2781
  },
2901
- "proxy": {
2902
- "description": "Proxy URL",
2903
- "name": "proxy",
2782
+ "platform_id": {
2783
+ "description": "Platform ID to use",
2784
+ "name": "platform_id",
2904
2785
  "required": false,
2905
2786
  "hasDynamicHelp": false,
2906
2787
  "multiple": false,
2907
2788
  "type": "option"
2908
2789
  },
2909
- "rbac": {
2910
- "description": "Enable/disable RBAC",
2911
- "name": "rbac",
2912
- "required": false,
2913
- "allowNo": true,
2914
- "type": "boolean"
2915
- },
2916
2790
  "tasks": {
2917
- "description": "Enable/disable background tasks",
2791
+ "description": "Enable background tasks",
2918
2792
  "name": "tasks",
2919
- "required": false,
2920
2793
  "allowNo": true,
2921
2794
  "type": "boolean"
2922
2795
  },
@@ -2932,7 +2805,7 @@
2932
2805
  },
2933
2806
  "hasDynamicHelp": false,
2934
2807
  "hiddenAliases": [],
2935
- "id": "tenant:edit",
2808
+ "id": "tenant:create",
2936
2809
  "pluginAlias": "@xano/cli",
2937
2810
  "pluginName": "@xano/cli",
2938
2811
  "pluginType": "core",
@@ -2943,7 +2816,7 @@
2943
2816
  "dist",
2944
2817
  "commands",
2945
2818
  "tenant",
2946
- "edit",
2819
+ "create",
2947
2820
  "index.js"
2948
2821
  ]
2949
2822
  },
@@ -3031,19 +2904,19 @@
3031
2904
  "index.js"
3032
2905
  ]
3033
2906
  },
3034
- "tenant:get": {
2907
+ "tenant:edit": {
3035
2908
  "aliases": [],
3036
2909
  "args": {
3037
2910
  "tenant_name": {
3038
- "description": "Tenant name to retrieve",
2911
+ "description": "Tenant name to edit",
3039
2912
  "name": "tenant_name",
3040
2913
  "required": true
3041
2914
  }
3042
2915
  },
3043
- "description": "Get details of a specific tenant",
2916
+ "description": "Edit an existing tenant",
3044
2917
  "examples": [
3045
- "$ xano tenant get t1234-abcd-xyz1\nTenant: My Tenant (my-tenant)\n State: ok\n License: tier1\n Domain: my-tenant.xano.io\n Cluster: default\n Release: v1.0\n",
3046
- "$ xano tenant get t1234-abcd-xyz1 -w 5 -o json"
2918
+ "$ xano tenant edit t1234-abcd-xyz1 --display \"New Name\" --description \"Updated description\"\nUpdated tenant: New Name (my-tenant) - ID: 42\n",
2919
+ "$ xano tenant edit t1234-abcd-xyz1 --no-tasks --no-ingress -o json"
3047
2920
  ],
3048
2921
  "flags": {
3049
2922
  "profile": {
@@ -3065,6 +2938,38 @@
3065
2938
  "allowNo": false,
3066
2939
  "type": "boolean"
3067
2940
  },
2941
+ "description": {
2942
+ "char": "d",
2943
+ "description": "New description",
2944
+ "name": "description",
2945
+ "required": false,
2946
+ "hasDynamicHelp": false,
2947
+ "multiple": false,
2948
+ "type": "option"
2949
+ },
2950
+ "display": {
2951
+ "description": "New display name",
2952
+ "name": "display",
2953
+ "required": false,
2954
+ "hasDynamicHelp": false,
2955
+ "multiple": false,
2956
+ "type": "option"
2957
+ },
2958
+ "domain": {
2959
+ "description": "Custom domain",
2960
+ "name": "domain",
2961
+ "required": false,
2962
+ "hasDynamicHelp": false,
2963
+ "multiple": false,
2964
+ "type": "option"
2965
+ },
2966
+ "ingress": {
2967
+ "description": "Enable/disable ingress",
2968
+ "name": "ingress",
2969
+ "required": false,
2970
+ "allowNo": true,
2971
+ "type": "boolean"
2972
+ },
3068
2973
  "output": {
3069
2974
  "char": "o",
3070
2975
  "description": "Output format",
@@ -3079,6 +2984,28 @@
3079
2984
  ],
3080
2985
  "type": "option"
3081
2986
  },
2987
+ "proxy": {
2988
+ "description": "Proxy URL",
2989
+ "name": "proxy",
2990
+ "required": false,
2991
+ "hasDynamicHelp": false,
2992
+ "multiple": false,
2993
+ "type": "option"
2994
+ },
2995
+ "rbac": {
2996
+ "description": "Enable/disable RBAC",
2997
+ "name": "rbac",
2998
+ "required": false,
2999
+ "allowNo": true,
3000
+ "type": "boolean"
3001
+ },
3002
+ "tasks": {
3003
+ "description": "Enable/disable background tasks",
3004
+ "name": "tasks",
3005
+ "required": false,
3006
+ "allowNo": true,
3007
+ "type": "boolean"
3008
+ },
3082
3009
  "workspace": {
3083
3010
  "char": "w",
3084
3011
  "description": "Workspace ID (uses profile workspace if not provided)",
@@ -3091,7 +3018,7 @@
3091
3018
  },
3092
3019
  "hasDynamicHelp": false,
3093
3020
  "hiddenAliases": [],
3094
- "id": "tenant:get",
3021
+ "id": "tenant:edit",
3095
3022
  "pluginAlias": "@xano/cli",
3096
3023
  "pluginName": "@xano/cli",
3097
3024
  "pluginType": "core",
@@ -3102,23 +3029,23 @@
3102
3029
  "dist",
3103
3030
  "commands",
3104
3031
  "tenant",
3105
- "get",
3032
+ "edit",
3106
3033
  "index.js"
3107
3034
  ]
3108
3035
  },
3109
- "tenant:impersonate": {
3036
+ "tenant:get": {
3110
3037
  "aliases": [],
3111
3038
  "args": {
3112
3039
  "tenant_name": {
3113
- "description": "Tenant name to impersonate",
3040
+ "description": "Tenant name to retrieve",
3114
3041
  "name": "tenant_name",
3115
3042
  "required": true
3116
3043
  }
3117
3044
  },
3118
- "description": "Impersonate a tenant and open it in the browser",
3045
+ "description": "Get details of a specific tenant",
3119
3046
  "examples": [
3120
- "$ xano tenant impersonate my-tenant\nOpening browser...\nImpersonation successful!\n",
3121
- "$ xano tenant impersonate my-tenant -o json"
3047
+ "$ xano tenant get t1234-abcd-xyz1\nTenant: My Tenant (my-tenant)\n State: ok\n License: tier1\n Domain: my-tenant.xano.io\n Cluster: default\n Release: v1.0\n",
3048
+ "$ xano tenant get t1234-abcd-xyz1 -w 5 -o json"
3122
3049
  ],
3123
3050
  "flags": {
3124
3051
  "profile": {
@@ -3154,14 +3081,6 @@
3154
3081
  ],
3155
3082
  "type": "option"
3156
3083
  },
3157
- "url-only": {
3158
- "char": "u",
3159
- "description": "Print the URL without opening the browser",
3160
- "name": "url-only",
3161
- "required": false,
3162
- "allowNo": false,
3163
- "type": "boolean"
3164
- },
3165
3084
  "workspace": {
3166
3085
  "char": "w",
3167
3086
  "description": "Workspace ID (uses profile workspace if not provided)",
@@ -3174,7 +3093,7 @@
3174
3093
  },
3175
3094
  "hasDynamicHelp": false,
3176
3095
  "hiddenAliases": [],
3177
- "id": "tenant:impersonate",
3096
+ "id": "tenant:get",
3178
3097
  "pluginAlias": "@xano/cli",
3179
3098
  "pluginName": "@xano/cli",
3180
3099
  "pluginType": "core",
@@ -3185,24 +3104,23 @@
3185
3104
  "dist",
3186
3105
  "commands",
3187
3106
  "tenant",
3188
- "impersonate",
3107
+ "get",
3189
3108
  "index.js"
3190
3109
  ]
3191
3110
  },
3192
- "release:pull": {
3111
+ "tenant:deploy_platform": {
3193
3112
  "aliases": [],
3194
3113
  "args": {
3195
- "directory": {
3196
- "description": "Output directory for pulled documents",
3197
- "name": "directory",
3114
+ "tenant_name": {
3115
+ "description": "Tenant name to deploy to",
3116
+ "name": "tenant_name",
3198
3117
  "required": true
3199
3118
  }
3200
3119
  },
3201
- "description": "Pull a release multidoc from the Xano Metadata API and split into individual files",
3120
+ "description": "Deploy a platform version to a tenant",
3202
3121
  "examples": [
3203
- "$ xano release pull ./my-release -r v1.0\nPulled 42 documents from release 'v1.0' to ./my-release\n",
3204
- "$ xano release pull ./output -r v1.0 -w 40\nPulled 15 documents from release 'v1.0' to ./output\n",
3205
- "$ xano release pull ./backup -r v1.0 --profile production --env --records\nPulled 58 documents from release 'v1.0' to ./backup\n"
3122
+ "$ xano tenant deploy_platform t1234-abcd-xyz1 --platform_id 5\nDeployed platform 5 to tenant: My Tenant (my-tenant)\n",
3123
+ "$ xano tenant deploy_platform t1234-abcd-xyz1 --platform_id 5 -o json"
3206
3124
  ],
3207
3125
  "flags": {
3208
3126
  "profile": {
@@ -3224,24 +3142,23 @@
3224
3142
  "allowNo": false,
3225
3143
  "type": "boolean"
3226
3144
  },
3227
- "env": {
3228
- "description": "Include environment variables",
3229
- "name": "env",
3230
- "required": false,
3231
- "allowNo": false,
3232
- "type": "boolean"
3233
- },
3234
- "records": {
3235
- "description": "Include records",
3236
- "name": "records",
3145
+ "output": {
3146
+ "char": "o",
3147
+ "description": "Output format",
3148
+ "name": "output",
3237
3149
  "required": false,
3238
- "allowNo": false,
3239
- "type": "boolean"
3150
+ "default": "summary",
3151
+ "hasDynamicHelp": false,
3152
+ "multiple": false,
3153
+ "options": [
3154
+ "summary",
3155
+ "json"
3156
+ ],
3157
+ "type": "option"
3240
3158
  },
3241
- "release": {
3242
- "char": "r",
3243
- "description": "Release name to pull from",
3244
- "name": "release",
3159
+ "platform_id": {
3160
+ "description": "Platform ID to deploy",
3161
+ "name": "platform_id",
3245
3162
  "required": true,
3246
3163
  "hasDynamicHelp": false,
3247
3164
  "multiple": false,
@@ -3249,7 +3166,7 @@
3249
3166
  },
3250
3167
  "workspace": {
3251
3168
  "char": "w",
3252
- "description": "Workspace ID (optional if set in profile)",
3169
+ "description": "Workspace ID (uses profile workspace if not provided)",
3253
3170
  "name": "workspace",
3254
3171
  "required": false,
3255
3172
  "hasDynamicHelp": false,
@@ -3259,7 +3176,7 @@
3259
3176
  },
3260
3177
  "hasDynamicHelp": false,
3261
3178
  "hiddenAliases": [],
3262
- "id": "release:pull",
3179
+ "id": "tenant:deploy_platform",
3263
3180
  "pluginAlias": "@xano/cli",
3264
3181
  "pluginName": "@xano/cli",
3265
3182
  "pluginType": "core",
@@ -3269,28 +3186,24 @@
3269
3186
  "relativePath": [
3270
3187
  "dist",
3271
3188
  "commands",
3272
- "release",
3273
- "pull",
3189
+ "tenant",
3190
+ "deploy_platform",
3274
3191
  "index.js"
3275
3192
  ]
3276
3193
  },
3277
- "tenant:push": {
3194
+ "tenant:impersonate": {
3278
3195
  "aliases": [],
3279
3196
  "args": {
3280
- "directory": {
3281
- "description": "Directory containing documents to push (as produced by tenant pull or workspace pull)",
3282
- "name": "directory",
3197
+ "tenant_name": {
3198
+ "description": "Tenant name to impersonate",
3199
+ "name": "tenant_name",
3283
3200
  "required": true
3284
3201
  }
3285
3202
  },
3286
- "description": "Push local documents to a tenant via the Xano Metadata API multidoc endpoint",
3203
+ "description": "Impersonate a tenant and open it in the browser",
3287
3204
  "examples": [
3288
- "$ xano tenant push ./my-workspace -t my-tenant\nPushed 42 documents to tenant my-tenant from ./my-workspace\n",
3289
- "$ xano tenant push ./output -t my-tenant -w 40\nPushed 15 documents to tenant my-tenant from ./output\n",
3290
- "$ xano tenant push ./backup -t my-tenant --profile production\nPushed 58 documents to tenant my-tenant from ./backup\n",
3291
- "$ xano tenant push ./my-workspace -t my-tenant --no-records\nPush schema only, skip importing table records\n",
3292
- "$ xano tenant push ./my-workspace -t my-tenant --no-env\nPush without overwriting environment variables\n",
3293
- "$ xano tenant push ./my-workspace -t my-tenant --truncate\nTruncate all table records before importing\n"
3205
+ "$ xano tenant impersonate my-tenant\nOpening browser...\nImpersonation successful!\n",
3206
+ "$ xano tenant impersonate my-tenant -o json"
3294
3207
  ],
3295
3208
  "flags": {
3296
3209
  "profile": {
@@ -3312,39 +3225,31 @@
3312
3225
  "allowNo": false,
3313
3226
  "type": "boolean"
3314
3227
  },
3315
- "env": {
3316
- "description": "Include environment variables in import (default: true, use --no-env to exclude)",
3317
- "name": "env",
3318
- "required": false,
3319
- "allowNo": true,
3320
- "type": "boolean"
3321
- },
3322
- "records": {
3323
- "description": "Include records in import (default: true, use --no-records to exclude)",
3324
- "name": "records",
3228
+ "output": {
3229
+ "char": "o",
3230
+ "description": "Output format",
3231
+ "name": "output",
3325
3232
  "required": false,
3326
- "allowNo": true,
3327
- "type": "boolean"
3328
- },
3329
- "tenant": {
3330
- "char": "t",
3331
- "description": "Tenant name to push to",
3332
- "name": "tenant",
3333
- "required": true,
3233
+ "default": "summary",
3334
3234
  "hasDynamicHelp": false,
3335
3235
  "multiple": false,
3236
+ "options": [
3237
+ "summary",
3238
+ "json"
3239
+ ],
3336
3240
  "type": "option"
3337
3241
  },
3338
- "truncate": {
3339
- "description": "Truncate all table records before importing",
3340
- "name": "truncate",
3242
+ "url-only": {
3243
+ "char": "u",
3244
+ "description": "Print the URL without opening the browser",
3245
+ "name": "url-only",
3341
3246
  "required": false,
3342
3247
  "allowNo": false,
3343
3248
  "type": "boolean"
3344
3249
  },
3345
3250
  "workspace": {
3346
3251
  "char": "w",
3347
- "description": "Workspace ID (optional if set in profile)",
3252
+ "description": "Workspace ID (uses profile workspace if not provided)",
3348
3253
  "name": "workspace",
3349
3254
  "required": false,
3350
3255
  "hasDynamicHelp": false,
@@ -3354,7 +3259,7 @@
3354
3259
  },
3355
3260
  "hasDynamicHelp": false,
3356
3261
  "hiddenAliases": [],
3357
- "id": "tenant:push",
3262
+ "id": "tenant:impersonate",
3358
3263
  "pluginAlias": "@xano/cli",
3359
3264
  "pluginName": "@xano/cli",
3360
3265
  "pluginType": "core",
@@ -3365,25 +3270,17 @@
3365
3270
  "dist",
3366
3271
  "commands",
3367
3272
  "tenant",
3368
- "push",
3273
+ "impersonate",
3369
3274
  "index.js"
3370
3275
  ]
3371
3276
  },
3372
- "tenant:pull": {
3277
+ "tenant:list": {
3373
3278
  "aliases": [],
3374
- "args": {
3375
- "directory": {
3376
- "description": "Output directory for pulled documents",
3377
- "name": "directory",
3378
- "required": true
3379
- }
3380
- },
3381
- "description": "Pull a tenant multidoc from the Xano Metadata API and split into individual files",
3279
+ "args": {},
3280
+ "description": "List all tenants in a workspace",
3382
3281
  "examples": [
3383
- "$ xano tenant pull ./my-tenant -t my-tenant\nPulled 42 documents from tenant my-tenant to ./my-tenant\n",
3384
- "$ xano tenant pull ./output -t my-tenant -w 40\nPulled 15 documents from tenant my-tenant to ./output\n",
3385
- "$ xano tenant pull ./backup -t my-tenant --profile production --env --records\nPulled 58 documents from tenant my-tenant to ./backup\n",
3386
- "$ xano tenant pull ./my-tenant -t my-tenant --draft\nPulled 42 documents from tenant my-tenant to ./my-tenant\n"
3282
+ "$ xano tenant list\nTenants in workspace 5:\n - My Tenant (my-tenant) [ok] - tier1\n - Staging (staging) [ok] - tier1\n",
3283
+ "$ xano tenant list -w 5 --output json"
3387
3284
  ],
3388
3285
  "flags": {
3389
3286
  "profile": {
@@ -3405,39 +3302,23 @@
3405
3302
  "allowNo": false,
3406
3303
  "type": "boolean"
3407
3304
  },
3408
- "draft": {
3409
- "description": "Include draft versions",
3410
- "name": "draft",
3411
- "required": false,
3412
- "allowNo": false,
3413
- "type": "boolean"
3414
- },
3415
- "env": {
3416
- "description": "Include environment variables",
3417
- "name": "env",
3418
- "required": false,
3419
- "allowNo": false,
3420
- "type": "boolean"
3421
- },
3422
- "records": {
3423
- "description": "Include records",
3424
- "name": "records",
3305
+ "output": {
3306
+ "char": "o",
3307
+ "description": "Output format",
3308
+ "name": "output",
3425
3309
  "required": false,
3426
- "allowNo": false,
3427
- "type": "boolean"
3428
- },
3429
- "tenant": {
3430
- "char": "t",
3431
- "description": "Tenant name to pull from",
3432
- "name": "tenant",
3433
- "required": true,
3310
+ "default": "summary",
3434
3311
  "hasDynamicHelp": false,
3435
3312
  "multiple": false,
3313
+ "options": [
3314
+ "summary",
3315
+ "json"
3316
+ ],
3436
3317
  "type": "option"
3437
3318
  },
3438
3319
  "workspace": {
3439
3320
  "char": "w",
3440
- "description": "Workspace ID (optional if set in profile)",
3321
+ "description": "Workspace ID (uses profile workspace if not provided)",
3441
3322
  "name": "workspace",
3442
3323
  "required": false,
3443
3324
  "hasDynamicHelp": false,
@@ -3447,7 +3328,7 @@
3447
3328
  },
3448
3329
  "hasDynamicHelp": false,
3449
3330
  "hiddenAliases": [],
3450
- "id": "tenant:pull",
3331
+ "id": "tenant:list",
3451
3332
  "pluginAlias": "@xano/cli",
3452
3333
  "pluginName": "@xano/cli",
3453
3334
  "pluginType": "core",
@@ -3458,17 +3339,18 @@
3458
3339
  "dist",
3459
3340
  "commands",
3460
3341
  "tenant",
3461
- "pull",
3342
+ "list",
3462
3343
  "index.js"
3463
3344
  ]
3464
3345
  },
3465
- "tenant:list": {
3346
+ "unit_test:list": {
3466
3347
  "aliases": [],
3467
3348
  "args": {},
3468
- "description": "List all tenants in a workspace",
3349
+ "description": "List all unit tests in a workspace",
3469
3350
  "examples": [
3470
- "$ xano tenant list\nTenants in workspace 5:\n - My Tenant (my-tenant) [ok] - tier1\n - Staging (staging) [ok] - tier1\n",
3471
- "$ xano tenant list -w 5 --output json"
3351
+ "$ xano unit-test list\nUnit tests in workspace 5:\n - my-test (ID: abc-123) [function: math]\n - auth-check (ID: def-456) [query: /user/login]\n",
3352
+ "$ xano unit-test list -w 5 --output json",
3353
+ "$ xano unit-test list --obj-type function"
3472
3354
  ],
3473
3355
  "flags": {
3474
3356
  "profile": {
@@ -3490,6 +3372,28 @@
3490
3372
  "allowNo": false,
3491
3373
  "type": "boolean"
3492
3374
  },
3375
+ "branch": {
3376
+ "char": "b",
3377
+ "description": "Filter by branch name",
3378
+ "name": "branch",
3379
+ "required": false,
3380
+ "hasDynamicHelp": false,
3381
+ "multiple": false,
3382
+ "type": "option"
3383
+ },
3384
+ "obj-type": {
3385
+ "description": "Filter by object type",
3386
+ "name": "obj-type",
3387
+ "required": false,
3388
+ "hasDynamicHelp": false,
3389
+ "multiple": false,
3390
+ "options": [
3391
+ "function",
3392
+ "query",
3393
+ "middleware"
3394
+ ],
3395
+ "type": "option"
3396
+ },
3493
3397
  "output": {
3494
3398
  "char": "o",
3495
3399
  "description": "Output format",
@@ -3516,7 +3420,7 @@
3516
3420
  },
3517
3421
  "hasDynamicHelp": false,
3518
3422
  "hiddenAliases": [],
3519
- "id": "tenant:list",
3423
+ "id": "unit_test:list",
3520
3424
  "pluginAlias": "@xano/cli",
3521
3425
  "pluginName": "@xano/cli",
3522
3426
  "pluginType": "core",
@@ -3526,19 +3430,28 @@
3526
3430
  "relativePath": [
3527
3431
  "dist",
3528
3432
  "commands",
3529
- "tenant",
3433
+ "unit_test",
3530
3434
  "list",
3531
3435
  "index.js"
3532
3436
  ]
3533
3437
  },
3534
- "unit_test:list": {
3438
+ "tenant:push": {
3535
3439
  "aliases": [],
3536
- "args": {},
3537
- "description": "List all unit tests in a workspace",
3440
+ "args": {
3441
+ "directory": {
3442
+ "description": "Directory containing documents to push (as produced by tenant pull or workspace pull)",
3443
+ "name": "directory",
3444
+ "required": true
3445
+ }
3446
+ },
3447
+ "description": "Push local documents to a tenant via the Xano Metadata API multidoc endpoint",
3538
3448
  "examples": [
3539
- "$ xano unit-test list\nUnit tests in workspace 5:\n - my-test (ID: abc-123) [function: math]\n - auth-check (ID: def-456) [query: /user/login]\n",
3540
- "$ xano unit-test list -w 5 --output json",
3541
- "$ xano unit-test list --obj-type function"
3449
+ "$ xano tenant push ./my-workspace -t my-tenant\nPushed 42 documents to tenant my-tenant from ./my-workspace\n",
3450
+ "$ xano tenant push ./output -t my-tenant -w 40\nPushed 15 documents to tenant my-tenant from ./output\n",
3451
+ "$ xano tenant push ./backup -t my-tenant --profile production\nPushed 58 documents to tenant my-tenant from ./backup\n",
3452
+ "$ xano tenant push ./my-workspace -t my-tenant --no-records\nPush schema only, skip importing table records\n",
3453
+ "$ xano tenant push ./my-workspace -t my-tenant --no-env\nPush without overwriting environment variables\n",
3454
+ "$ xano tenant push ./my-workspace -t my-tenant --truncate\nTruncate all table records before importing\n"
3542
3455
  ],
3543
3456
  "flags": {
3544
3457
  "profile": {
@@ -3560,45 +3473,39 @@
3560
3473
  "allowNo": false,
3561
3474
  "type": "boolean"
3562
3475
  },
3563
- "branch": {
3564
- "char": "b",
3565
- "description": "Filter by branch name",
3566
- "name": "branch",
3567
- "required": false,
3568
- "hasDynamicHelp": false,
3569
- "multiple": false,
3570
- "type": "option"
3571
- },
3572
- "obj-type": {
3573
- "description": "Filter by object type",
3574
- "name": "obj-type",
3476
+ "env": {
3477
+ "description": "Include environment variables in import (default: true, use --no-env to exclude)",
3478
+ "name": "env",
3575
3479
  "required": false,
3576
- "hasDynamicHelp": false,
3577
- "multiple": false,
3578
- "options": [
3579
- "function",
3580
- "query",
3581
- "middleware"
3582
- ],
3583
- "type": "option"
3480
+ "allowNo": true,
3481
+ "type": "boolean"
3584
3482
  },
3585
- "output": {
3586
- "char": "o",
3587
- "description": "Output format",
3588
- "name": "output",
3483
+ "records": {
3484
+ "description": "Include records in import (default: true, use --no-records to exclude)",
3485
+ "name": "records",
3589
3486
  "required": false,
3590
- "default": "summary",
3487
+ "allowNo": true,
3488
+ "type": "boolean"
3489
+ },
3490
+ "tenant": {
3491
+ "char": "t",
3492
+ "description": "Tenant name to push to",
3493
+ "name": "tenant",
3494
+ "required": true,
3591
3495
  "hasDynamicHelp": false,
3592
3496
  "multiple": false,
3593
- "options": [
3594
- "summary",
3595
- "json"
3596
- ],
3597
3497
  "type": "option"
3598
3498
  },
3499
+ "truncate": {
3500
+ "description": "Truncate all table records before importing",
3501
+ "name": "truncate",
3502
+ "required": false,
3503
+ "allowNo": false,
3504
+ "type": "boolean"
3505
+ },
3599
3506
  "workspace": {
3600
3507
  "char": "w",
3601
- "description": "Workspace ID (uses profile workspace if not provided)",
3508
+ "description": "Workspace ID (optional if set in profile)",
3602
3509
  "name": "workspace",
3603
3510
  "required": false,
3604
3511
  "hasDynamicHelp": false,
@@ -3608,7 +3515,7 @@
3608
3515
  },
3609
3516
  "hasDynamicHelp": false,
3610
3517
  "hiddenAliases": [],
3611
- "id": "unit_test:list",
3518
+ "id": "tenant:push",
3612
3519
  "pluginAlias": "@xano/cli",
3613
3520
  "pluginName": "@xano/cli",
3614
3521
  "pluginType": "core",
@@ -3618,8 +3525,8 @@
3618
3525
  "relativePath": [
3619
3526
  "dist",
3620
3527
  "commands",
3621
- "unit_test",
3622
- "list",
3528
+ "tenant",
3529
+ "push",
3623
3530
  "index.js"
3624
3531
  ]
3625
3532
  },
@@ -3956,6 +3863,99 @@
3956
3863
  "index.js"
3957
3864
  ]
3958
3865
  },
3866
+ "tenant:pull": {
3867
+ "aliases": [],
3868
+ "args": {
3869
+ "directory": {
3870
+ "description": "Output directory for pulled documents",
3871
+ "name": "directory",
3872
+ "required": true
3873
+ }
3874
+ },
3875
+ "description": "Pull a tenant multidoc from the Xano Metadata API and split into individual files",
3876
+ "examples": [
3877
+ "$ xano tenant pull ./my-tenant -t my-tenant\nPulled 42 documents from tenant my-tenant to ./my-tenant\n",
3878
+ "$ xano tenant pull ./output -t my-tenant -w 40\nPulled 15 documents from tenant my-tenant to ./output\n",
3879
+ "$ xano tenant pull ./backup -t my-tenant --profile production --env --records\nPulled 58 documents from tenant my-tenant to ./backup\n",
3880
+ "$ xano tenant pull ./my-tenant -t my-tenant --draft\nPulled 42 documents from tenant my-tenant to ./my-tenant\n"
3881
+ ],
3882
+ "flags": {
3883
+ "profile": {
3884
+ "char": "p",
3885
+ "description": "Profile to use (uses default profile if not specified)",
3886
+ "env": "XANO_PROFILE",
3887
+ "name": "profile",
3888
+ "required": false,
3889
+ "hasDynamicHelp": false,
3890
+ "multiple": false,
3891
+ "type": "option"
3892
+ },
3893
+ "verbose": {
3894
+ "char": "v",
3895
+ "description": "Show detailed request/response information",
3896
+ "env": "XANO_VERBOSE",
3897
+ "name": "verbose",
3898
+ "required": false,
3899
+ "allowNo": false,
3900
+ "type": "boolean"
3901
+ },
3902
+ "draft": {
3903
+ "description": "Include draft versions",
3904
+ "name": "draft",
3905
+ "required": false,
3906
+ "allowNo": false,
3907
+ "type": "boolean"
3908
+ },
3909
+ "env": {
3910
+ "description": "Include environment variables",
3911
+ "name": "env",
3912
+ "required": false,
3913
+ "allowNo": false,
3914
+ "type": "boolean"
3915
+ },
3916
+ "records": {
3917
+ "description": "Include records",
3918
+ "name": "records",
3919
+ "required": false,
3920
+ "allowNo": false,
3921
+ "type": "boolean"
3922
+ },
3923
+ "tenant": {
3924
+ "char": "t",
3925
+ "description": "Tenant name to pull from",
3926
+ "name": "tenant",
3927
+ "required": true,
3928
+ "hasDynamicHelp": false,
3929
+ "multiple": false,
3930
+ "type": "option"
3931
+ },
3932
+ "workspace": {
3933
+ "char": "w",
3934
+ "description": "Workspace ID (optional if set in profile)",
3935
+ "name": "workspace",
3936
+ "required": false,
3937
+ "hasDynamicHelp": false,
3938
+ "multiple": false,
3939
+ "type": "option"
3940
+ }
3941
+ },
3942
+ "hasDynamicHelp": false,
3943
+ "hiddenAliases": [],
3944
+ "id": "tenant:pull",
3945
+ "pluginAlias": "@xano/cli",
3946
+ "pluginName": "@xano/cli",
3947
+ "pluginType": "core",
3948
+ "strict": true,
3949
+ "enableJsonFlag": false,
3950
+ "isESM": true,
3951
+ "relativePath": [
3952
+ "dist",
3953
+ "commands",
3954
+ "tenant",
3955
+ "pull",
3956
+ "index.js"
3957
+ ]
3958
+ },
3959
3959
  "workflow_test:list": {
3960
3960
  "aliases": [],
3961
3961
  "args": {},
@@ -4113,20 +4113,19 @@
4113
4113
  "index.js"
4114
4114
  ]
4115
4115
  },
4116
- "workspace:create": {
4116
+ "workflow_test:run": {
4117
4117
  "aliases": [],
4118
4118
  "args": {
4119
- "name": {
4120
- "description": "Name of the workspace",
4121
- "name": "name",
4119
+ "workflow_test_id": {
4120
+ "description": "ID of the workflow test to run",
4121
+ "name": "workflow_test_id",
4122
4122
  "required": true
4123
4123
  }
4124
4124
  },
4125
- "description": "Create a new workspace via the Xano Metadata API",
4125
+ "description": "Run a workflow test",
4126
4126
  "examples": [
4127
- "$ xano workspace create my-workspace\nCreated workspace: my-workspace (ID: 123)\n",
4128
- "$ xano workspace create my-app --description \"My application workspace\"\nCreated workspace: my-app (ID: 456)\n Description: My application workspace\n",
4129
- "$ xano workspace create new-project -d \"New project workspace\" -o json\n{\n \"id\": 789,\n \"name\": \"new-project\",\n \"description\": \"New project workspace\"\n}\n"
4127
+ "$ xano workflow-test run 1\nRunning workflow test 1...\nResult: PASS (1.234s)\n",
4128
+ "$ xano workflow-test run 1 -o json"
4130
4129
  ],
4131
4130
  "flags": {
4132
4131
  "profile": {
@@ -4148,15 +4147,6 @@
4148
4147
  "allowNo": false,
4149
4148
  "type": "boolean"
4150
4149
  },
4151
- "description": {
4152
- "char": "d",
4153
- "description": "Description for the workspace",
4154
- "name": "description",
4155
- "required": false,
4156
- "hasDynamicHelp": false,
4157
- "multiple": false,
4158
- "type": "option"
4159
- },
4160
4150
  "output": {
4161
4151
  "char": "o",
4162
4152
  "description": "Output format",
@@ -4170,11 +4160,20 @@
4170
4160
  "json"
4171
4161
  ],
4172
4162
  "type": "option"
4163
+ },
4164
+ "workspace": {
4165
+ "char": "w",
4166
+ "description": "Workspace ID (uses profile workspace if not provided)",
4167
+ "name": "workspace",
4168
+ "required": false,
4169
+ "hasDynamicHelp": false,
4170
+ "multiple": false,
4171
+ "type": "option"
4173
4172
  }
4174
4173
  },
4175
4174
  "hasDynamicHelp": false,
4176
4175
  "hiddenAliases": [],
4177
- "id": "workspace:create",
4176
+ "id": "workflow_test:run",
4178
4177
  "pluginAlias": "@xano/cli",
4179
4178
  "pluginName": "@xano/cli",
4180
4179
  "pluginType": "core",
@@ -4184,8 +4183,8 @@
4184
4183
  "relativePath": [
4185
4184
  "dist",
4186
4185
  "commands",
4187
- "workspace",
4188
- "create",
4186
+ "workflow_test",
4187
+ "run",
4189
4188
  "index.js"
4190
4189
  ]
4191
4190
  },
@@ -4264,21 +4263,20 @@
4264
4263
  "index.js"
4265
4264
  ]
4266
4265
  },
4267
- "workspace:edit": {
4266
+ "workspace:get": {
4268
4267
  "aliases": [],
4269
4268
  "args": {
4270
4269
  "workspace_id": {
4271
- "description": "Workspace ID to edit (uses profile workspace if not provided)",
4270
+ "description": "Workspace ID to get details for (uses profile workspace if not provided)",
4272
4271
  "name": "workspace_id",
4273
4272
  "required": false
4274
4273
  }
4275
4274
  },
4276
- "description": "Edit an existing workspace via the Xano Metadata API",
4275
+ "description": "Get details of a specific workspace from the Xano Metadata API",
4277
4276
  "examples": [
4278
- "$ xano workspace edit 123 --name \"new-name\"\nUpdated workspace: new-name (ID: 123)\n",
4279
- "$ xano workspace edit --name \"updated-workspace\" --description \"Updated description\"\nUpdated workspace: updated-workspace (ID: 123)\n Description: Updated description\n",
4280
- "$ xano workspace edit 123 --swagger --require-token\nUpdated workspace: my-workspace (ID: 123)\n Swagger: enabled\n Require Token: true\n",
4281
- "$ xano workspace edit 123 --no-swagger -o json\n{\n \"id\": 123,\n \"name\": \"my-workspace\",\n \"swagger\": false\n}\n"
4277
+ "$ xano workspace get 123\nWorkspace: my-workspace (ID: 123)\n Description: My workspace description\n Created: 2024-01-15\n",
4278
+ "$ xano workspace get --output json\n{\n \"id\": 123,\n \"name\": \"my-workspace\",\n \"description\": \"My workspace description\"\n}\n",
4279
+ "$ xano workspace get 456 -p production -o json\n{\n \"id\": 456,\n \"name\": \"production-workspace\"\n}\n"
4282
4280
  ],
4283
4281
  "flags": {
4284
4282
  "profile": {
@@ -4300,19 +4298,77 @@
4300
4298
  "allowNo": false,
4301
4299
  "type": "boolean"
4302
4300
  },
4303
- "description": {
4304
- "char": "d",
4305
- "description": "New description for the workspace",
4306
- "name": "description",
4301
+ "output": {
4302
+ "char": "o",
4303
+ "description": "Output format",
4304
+ "name": "output",
4307
4305
  "required": false,
4306
+ "default": "summary",
4308
4307
  "hasDynamicHelp": false,
4309
4308
  "multiple": false,
4309
+ "options": [
4310
+ "summary",
4311
+ "json"
4312
+ ],
4310
4313
  "type": "option"
4311
- },
4314
+ }
4315
+ },
4316
+ "hasDynamicHelp": false,
4317
+ "hiddenAliases": [],
4318
+ "id": "workspace:get",
4319
+ "pluginAlias": "@xano/cli",
4320
+ "pluginName": "@xano/cli",
4321
+ "pluginType": "core",
4322
+ "strict": true,
4323
+ "enableJsonFlag": false,
4324
+ "isESM": true,
4325
+ "relativePath": [
4326
+ "dist",
4327
+ "commands",
4328
+ "workspace",
4329
+ "get",
4330
+ "index.js"
4331
+ ]
4332
+ },
4333
+ "workspace:create": {
4334
+ "aliases": [],
4335
+ "args": {
4312
4336
  "name": {
4313
- "char": "n",
4314
- "description": "New name for the workspace",
4337
+ "description": "Name of the workspace",
4315
4338
  "name": "name",
4339
+ "required": true
4340
+ }
4341
+ },
4342
+ "description": "Create a new workspace via the Xano Metadata API",
4343
+ "examples": [
4344
+ "$ xano workspace create my-workspace\nCreated workspace: my-workspace (ID: 123)\n",
4345
+ "$ xano workspace create my-app --description \"My application workspace\"\nCreated workspace: my-app (ID: 456)\n Description: My application workspace\n",
4346
+ "$ 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"
4347
+ ],
4348
+ "flags": {
4349
+ "profile": {
4350
+ "char": "p",
4351
+ "description": "Profile to use (uses default profile if not specified)",
4352
+ "env": "XANO_PROFILE",
4353
+ "name": "profile",
4354
+ "required": false,
4355
+ "hasDynamicHelp": false,
4356
+ "multiple": false,
4357
+ "type": "option"
4358
+ },
4359
+ "verbose": {
4360
+ "char": "v",
4361
+ "description": "Show detailed request/response information",
4362
+ "env": "XANO_VERBOSE",
4363
+ "name": "verbose",
4364
+ "required": false,
4365
+ "allowNo": false,
4366
+ "type": "boolean"
4367
+ },
4368
+ "description": {
4369
+ "char": "d",
4370
+ "description": "Description for the workspace",
4371
+ "name": "description",
4316
4372
  "required": false,
4317
4373
  "hasDynamicHelp": false,
4318
4374
  "multiple": false,
@@ -4331,25 +4387,11 @@
4331
4387
  "json"
4332
4388
  ],
4333
4389
  "type": "option"
4334
- },
4335
- "require-token": {
4336
- "description": "Whether to require a token for documentation access",
4337
- "name": "require-token",
4338
- "required": false,
4339
- "allowNo": true,
4340
- "type": "boolean"
4341
- },
4342
- "swagger": {
4343
- "description": "Enable or disable swagger documentation",
4344
- "name": "swagger",
4345
- "required": false,
4346
- "allowNo": true,
4347
- "type": "boolean"
4348
4390
  }
4349
4391
  },
4350
4392
  "hasDynamicHelp": false,
4351
4393
  "hiddenAliases": [],
4352
- "id": "workspace:edit",
4394
+ "id": "workspace:create",
4353
4395
  "pluginAlias": "@xano/cli",
4354
4396
  "pluginName": "@xano/cli",
4355
4397
  "pluginType": "core",
@@ -4360,24 +4402,25 @@
4360
4402
  "dist",
4361
4403
  "commands",
4362
4404
  "workspace",
4363
- "edit",
4405
+ "create",
4364
4406
  "index.js"
4365
4407
  ]
4366
4408
  },
4367
- "workspace:get": {
4409
+ "workspace:edit": {
4368
4410
  "aliases": [],
4369
4411
  "args": {
4370
4412
  "workspace_id": {
4371
- "description": "Workspace ID to get details for (uses profile workspace if not provided)",
4413
+ "description": "Workspace ID to edit (uses profile workspace if not provided)",
4372
4414
  "name": "workspace_id",
4373
4415
  "required": false
4374
4416
  }
4375
4417
  },
4376
- "description": "Get details of a specific workspace from the Xano Metadata API",
4418
+ "description": "Edit an existing workspace via the Xano Metadata API",
4377
4419
  "examples": [
4378
- "$ xano workspace get 123\nWorkspace: my-workspace (ID: 123)\n Description: My workspace description\n Created: 2024-01-15\n",
4379
- "$ xano workspace get --output json\n{\n \"id\": 123,\n \"name\": \"my-workspace\",\n \"description\": \"My workspace description\"\n}\n",
4380
- "$ xano workspace get 456 -p production -o json\n{\n \"id\": 456,\n \"name\": \"production-workspace\"\n}\n"
4420
+ "$ xano workspace edit 123 --name \"new-name\"\nUpdated workspace: new-name (ID: 123)\n",
4421
+ "$ xano workspace edit --name \"updated-workspace\" --description \"Updated description\"\nUpdated workspace: updated-workspace (ID: 123)\n Description: Updated description\n",
4422
+ "$ xano workspace edit 123 --swagger --require-token\nUpdated workspace: my-workspace (ID: 123)\n Swagger: enabled\n Require Token: true\n",
4423
+ "$ xano workspace edit 123 --no-swagger -o json\n{\n \"id\": 123,\n \"name\": \"my-workspace\",\n \"swagger\": false\n}\n"
4381
4424
  ],
4382
4425
  "flags": {
4383
4426
  "profile": {
@@ -4399,6 +4442,24 @@
4399
4442
  "allowNo": false,
4400
4443
  "type": "boolean"
4401
4444
  },
4445
+ "description": {
4446
+ "char": "d",
4447
+ "description": "New description for the workspace",
4448
+ "name": "description",
4449
+ "required": false,
4450
+ "hasDynamicHelp": false,
4451
+ "multiple": false,
4452
+ "type": "option"
4453
+ },
4454
+ "name": {
4455
+ "char": "n",
4456
+ "description": "New name for the workspace",
4457
+ "name": "name",
4458
+ "required": false,
4459
+ "hasDynamicHelp": false,
4460
+ "multiple": false,
4461
+ "type": "option"
4462
+ },
4402
4463
  "output": {
4403
4464
  "char": "o",
4404
4465
  "description": "Output format",
@@ -4412,11 +4473,25 @@
4412
4473
  "json"
4413
4474
  ],
4414
4475
  "type": "option"
4476
+ },
4477
+ "require-token": {
4478
+ "description": "Whether to require a token for documentation access",
4479
+ "name": "require-token",
4480
+ "required": false,
4481
+ "allowNo": true,
4482
+ "type": "boolean"
4483
+ },
4484
+ "swagger": {
4485
+ "description": "Enable or disable swagger documentation",
4486
+ "name": "swagger",
4487
+ "required": false,
4488
+ "allowNo": true,
4489
+ "type": "boolean"
4415
4490
  }
4416
4491
  },
4417
4492
  "hasDynamicHelp": false,
4418
4493
  "hiddenAliases": [],
4419
- "id": "workspace:get",
4494
+ "id": "workspace:edit",
4420
4495
  "pluginAlias": "@xano/cli",
4421
4496
  "pluginName": "@xano/cli",
4422
4497
  "pluginType": "core",
@@ -4427,7 +4502,7 @@
4427
4502
  "dist",
4428
4503
  "commands",
4429
4504
  "workspace",
4430
- "get",
4505
+ "edit",
4431
4506
  "index.js"
4432
4507
  ]
4433
4508
  },
@@ -4587,28 +4662,13 @@
4587
4662
  "index.js"
4588
4663
  ]
4589
4664
  },
4590
- "workspace:push": {
4665
+ "profile:workspace:set": {
4591
4666
  "aliases": [],
4592
- "args": {
4593
- "directory": {
4594
- "description": "Directory containing documents to push (as produced by workspace pull)",
4595
- "name": "directory",
4596
- "required": true
4597
- }
4598
- },
4599
- "description": "Push local documents to a workspace via the Xano Metadata API multidoc endpoint",
4667
+ "args": {},
4668
+ "description": "Interactively select a workspace for a profile",
4600
4669
  "examples": [
4601
- "$ xano workspace push ./my-workspace\nPushed 42 documents from ./my-workspace\n",
4602
- "$ xano workspace push ./output -w 40\nPushed 15 documents from ./output\n",
4603
- "$ xano workspace push ./backup --profile production\nPushed 58 documents from ./backup\n",
4604
- "$ xano workspace push ./my-workspace -b dev\nPushed 42 documents from ./my-workspace\n",
4605
- "$ xano workspace push ./my-functions --partial\nPush some files without a workspace block (implies --no-delete)\n",
4606
- "$ xano workspace push ./my-workspace --no-delete\nPatch files without deleting existing workspace objects\n",
4607
- "$ xano workspace push ./my-workspace --no-records\nPush schema only, skip importing table records\n",
4608
- "$ xano workspace push ./my-workspace --no-env\nPush without overwriting environment variables\n",
4609
- "$ xano workspace push ./my-workspace --truncate\nTruncate all table records before importing\n",
4610
- "$ xano workspace push ./my-workspace --truncate --no-records\nTruncate all table records without importing new ones\n",
4611
- "$ xano workspace push ./my-workspace --no-records --no-env\nPush schema only, skip records and environment variables\n"
4670
+ "$ xano profile workspace set\nFetching workspaces...\n? Select a workspace: My Workspace\nWorkspace updated to 'My Workspace' (abc123) on profile 'default'\n",
4671
+ "$ xano profile workspace set -p production\nFetching workspaces...\n? Select a workspace: Production API\nWorkspace updated to 'Production API' (xyz789) on profile 'production'\n"
4612
4672
  ],
4613
4673
  "flags": {
4614
4674
  "profile": {
@@ -4629,71 +4689,11 @@
4629
4689
  "required": false,
4630
4690
  "allowNo": false,
4631
4691
  "type": "boolean"
4632
- },
4633
- "branch": {
4634
- "char": "b",
4635
- "description": "Branch name (optional if set in profile, defaults to live)",
4636
- "name": "branch",
4637
- "required": false,
4638
- "hasDynamicHelp": false,
4639
- "multiple": false,
4640
- "type": "option"
4641
- },
4642
- "delete": {
4643
- "description": "Delete workspace objects not included in the push (default: false)",
4644
- "name": "delete",
4645
- "required": false,
4646
- "allowNo": true,
4647
- "type": "boolean"
4648
- },
4649
- "env": {
4650
- "description": "Include environment variables in import (default: true, use --no-env to exclude)",
4651
- "name": "env",
4652
- "required": false,
4653
- "allowNo": true,
4654
- "type": "boolean"
4655
- },
4656
- "partial": {
4657
- "description": "Partial push — workspace block is not required, existing objects are kept (implies --no-delete)",
4658
- "name": "partial",
4659
- "required": false,
4660
- "allowNo": false,
4661
- "type": "boolean"
4662
- },
4663
- "records": {
4664
- "description": "Include records in import (default: true, use --no-records to exclude)",
4665
- "name": "records",
4666
- "required": false,
4667
- "allowNo": true,
4668
- "type": "boolean"
4669
- },
4670
- "sync-guids": {
4671
- "description": "Write server-assigned GUIDs back to local files (use --no-sync-guids to skip)",
4672
- "name": "sync-guids",
4673
- "required": false,
4674
- "allowNo": true,
4675
- "type": "boolean"
4676
- },
4677
- "truncate": {
4678
- "description": "Truncate all table records before importing",
4679
- "name": "truncate",
4680
- "required": false,
4681
- "allowNo": false,
4682
- "type": "boolean"
4683
- },
4684
- "workspace": {
4685
- "char": "w",
4686
- "description": "Workspace ID (optional if set in profile)",
4687
- "name": "workspace",
4688
- "required": false,
4689
- "hasDynamicHelp": false,
4690
- "multiple": false,
4691
- "type": "option"
4692
4692
  }
4693
4693
  },
4694
4694
  "hasDynamicHelp": false,
4695
4695
  "hiddenAliases": [],
4696
- "id": "workspace:push",
4696
+ "id": "profile:workspace:set",
4697
4697
  "pluginAlias": "@xano/cli",
4698
4698
  "pluginName": "@xano/cli",
4699
4699
  "pluginType": "core",
@@ -4703,8 +4703,9 @@
4703
4703
  "relativePath": [
4704
4704
  "dist",
4705
4705
  "commands",
4706
+ "profile",
4706
4707
  "workspace",
4707
- "push",
4708
+ "set",
4708
4709
  "index.js"
4709
4710
  ]
4710
4711
  },
@@ -4991,19 +4992,20 @@
4991
4992
  "index.js"
4992
4993
  ]
4993
4994
  },
4994
- "workflow_test:run": {
4995
+ "tenant:backup:delete": {
4995
4996
  "aliases": [],
4996
4997
  "args": {
4997
- "workflow_test_id": {
4998
- "description": "ID of the workflow test to run",
4999
- "name": "workflow_test_id",
4998
+ "tenant_name": {
4999
+ "description": "Tenant name that owns the backup",
5000
+ "name": "tenant_name",
5000
5001
  "required": true
5001
5002
  }
5002
5003
  },
5003
- "description": "Run a workflow test",
5004
+ "description": "Delete a tenant backup permanently. This action cannot be undone.",
5004
5005
  "examples": [
5005
- "$ xano workflow-test run 1\nRunning workflow test 1...\nResult: PASS (1.234s)\n",
5006
- "$ xano workflow-test run 1 -o json"
5006
+ "$ xano tenant backup delete t1234-abcd-xyz1 --backup_id 10\nAre you sure you want to delete backup #10? This action cannot be undone. (y/N) y\nDeleted backup #10\n",
5007
+ "$ xano tenant backup delete t1234-abcd-xyz1 --backup_id 10 --force",
5008
+ "$ xano tenant backup delete t1234-abcd-xyz1 --backup_id 10 -o json"
5007
5009
  ],
5008
5010
  "flags": {
5009
5011
  "profile": {
@@ -5025,6 +5027,22 @@
5025
5027
  "allowNo": false,
5026
5028
  "type": "boolean"
5027
5029
  },
5030
+ "backup_id": {
5031
+ "description": "Backup ID to delete",
5032
+ "name": "backup_id",
5033
+ "required": true,
5034
+ "hasDynamicHelp": false,
5035
+ "multiple": false,
5036
+ "type": "option"
5037
+ },
5038
+ "force": {
5039
+ "char": "f",
5040
+ "description": "Skip confirmation prompt",
5041
+ "name": "force",
5042
+ "required": false,
5043
+ "allowNo": false,
5044
+ "type": "boolean"
5045
+ },
5028
5046
  "output": {
5029
5047
  "char": "o",
5030
5048
  "description": "Output format",
@@ -5051,7 +5069,7 @@
5051
5069
  },
5052
5070
  "hasDynamicHelp": false,
5053
5071
  "hiddenAliases": [],
5054
- "id": "workflow_test:run",
5072
+ "id": "tenant:backup:delete",
5055
5073
  "pluginAlias": "@xano/cli",
5056
5074
  "pluginName": "@xano/cli",
5057
5075
  "pluginType": "core",
@@ -5061,8 +5079,9 @@
5061
5079
  "relativePath": [
5062
5080
  "dist",
5063
5081
  "commands",
5064
- "workflow_test",
5065
- "run",
5082
+ "tenant",
5083
+ "backup",
5084
+ "delete",
5066
5085
  "index.js"
5067
5086
  ]
5068
5087
  },
@@ -5152,20 +5171,20 @@
5152
5171
  "index.js"
5153
5172
  ]
5154
5173
  },
5155
- "tenant:backup:delete": {
5174
+ "tenant:backup:export": {
5156
5175
  "aliases": [],
5157
5176
  "args": {
5158
5177
  "tenant_name": {
5159
- "description": "Tenant name that owns the backup",
5178
+ "description": "Tenant name to export backup from",
5160
5179
  "name": "tenant_name",
5161
5180
  "required": true
5162
5181
  }
5163
5182
  },
5164
- "description": "Delete a tenant backup permanently. This action cannot be undone.",
5183
+ "description": "Export (download) a tenant backup to a local file",
5165
5184
  "examples": [
5166
- "$ xano tenant backup delete t1234-abcd-xyz1 --backup_id 10\nAre you sure you want to delete backup #10? This action cannot be undone. (y/N) y\nDeleted backup #10\n",
5167
- "$ xano tenant backup delete t1234-abcd-xyz1 --backup_id 10 --force",
5168
- "$ xano tenant backup delete t1234-abcd-xyz1 --backup_id 10 -o json"
5185
+ "$ xano tenant backup export t1234-abcd-xyz1 --backup_id 10\nDownloaded backup #10 to ./tenant-t1234-abcd-xyz1-backup-10.tar.gz\n",
5186
+ "$ xano tenant backup export t1234-abcd-xyz1 --backup_id 10 --output ./backups/my-backup.tar.gz",
5187
+ "$ xano tenant backup export t1234-abcd-xyz1 --backup_id 10 -o json"
5169
5188
  ],
5170
5189
  "flags": {
5171
5190
  "profile": {
@@ -5188,25 +5207,17 @@
5188
5207
  "type": "boolean"
5189
5208
  },
5190
5209
  "backup_id": {
5191
- "description": "Backup ID to delete",
5210
+ "description": "Backup ID to export",
5192
5211
  "name": "backup_id",
5193
5212
  "required": true,
5194
5213
  "hasDynamicHelp": false,
5195
5214
  "multiple": false,
5196
5215
  "type": "option"
5197
5216
  },
5198
- "force": {
5199
- "char": "f",
5200
- "description": "Skip confirmation prompt",
5201
- "name": "force",
5202
- "required": false,
5203
- "allowNo": false,
5204
- "type": "boolean"
5205
- },
5206
- "output": {
5217
+ "format": {
5207
5218
  "char": "o",
5208
5219
  "description": "Output format",
5209
- "name": "output",
5220
+ "name": "format",
5210
5221
  "required": false,
5211
5222
  "default": "summary",
5212
5223
  "hasDynamicHelp": false,
@@ -5217,6 +5228,14 @@
5217
5228
  ],
5218
5229
  "type": "option"
5219
5230
  },
5231
+ "output": {
5232
+ "description": "Output file path (defaults to ./tenant-{name}-backup-{backup_id}.tar.gz)",
5233
+ "name": "output",
5234
+ "required": false,
5235
+ "hasDynamicHelp": false,
5236
+ "multiple": false,
5237
+ "type": "option"
5238
+ },
5220
5239
  "workspace": {
5221
5240
  "char": "w",
5222
5241
  "description": "Workspace ID (uses profile workspace if not provided)",
@@ -5229,7 +5248,7 @@
5229
5248
  },
5230
5249
  "hasDynamicHelp": false,
5231
5250
  "hiddenAliases": [],
5232
- "id": "tenant:backup:delete",
5251
+ "id": "tenant:backup:export",
5233
5252
  "pluginAlias": "@xano/cli",
5234
5253
  "pluginName": "@xano/cli",
5235
5254
  "pluginType": "core",
@@ -5241,24 +5260,23 @@
5241
5260
  "commands",
5242
5261
  "tenant",
5243
5262
  "backup",
5244
- "delete",
5263
+ "export",
5245
5264
  "index.js"
5246
5265
  ]
5247
5266
  },
5248
- "tenant:backup:export": {
5267
+ "tenant:backup:import": {
5249
5268
  "aliases": [],
5250
5269
  "args": {
5251
5270
  "tenant_name": {
5252
- "description": "Tenant name to export backup from",
5271
+ "description": "Tenant name to import backup into",
5253
5272
  "name": "tenant_name",
5254
5273
  "required": true
5255
5274
  }
5256
5275
  },
5257
- "description": "Export (download) a tenant backup to a local file",
5276
+ "description": "Import a backup file into a tenant",
5258
5277
  "examples": [
5259
- "$ xano tenant backup export t1234-abcd-xyz1 --backup_id 10\nDownloaded backup #10 to ./tenant-t1234-abcd-xyz1-backup-10.tar.gz\n",
5260
- "$ xano tenant backup export t1234-abcd-xyz1 --backup_id 10 --output ./backups/my-backup.tar.gz",
5261
- "$ xano tenant backup export t1234-abcd-xyz1 --backup_id 10 -o json"
5278
+ "$ xano tenant backup import t1234-abcd-xyz1 --file ./my-backup.tar.gz\nImported backup as #15 for tenant t1234-abcd-xyz1\n",
5279
+ "$ xano tenant backup import t1234-abcd-xyz1 --file ./my-backup.tar.gz --description \"Restored from production\" -o json"
5262
5280
  ],
5263
5281
  "flags": {
5264
5282
  "profile": {
@@ -5280,18 +5298,29 @@
5280
5298
  "allowNo": false,
5281
5299
  "type": "boolean"
5282
5300
  },
5283
- "backup_id": {
5284
- "description": "Backup ID to export",
5285
- "name": "backup_id",
5301
+ "description": {
5302
+ "char": "d",
5303
+ "description": "Backup description",
5304
+ "name": "description",
5305
+ "required": false,
5306
+ "default": "",
5307
+ "hasDynamicHelp": false,
5308
+ "multiple": false,
5309
+ "type": "option"
5310
+ },
5311
+ "file": {
5312
+ "char": "f",
5313
+ "description": "Path to the backup file (.tar.gz)",
5314
+ "name": "file",
5286
5315
  "required": true,
5287
5316
  "hasDynamicHelp": false,
5288
5317
  "multiple": false,
5289
5318
  "type": "option"
5290
5319
  },
5291
- "format": {
5320
+ "output": {
5292
5321
  "char": "o",
5293
5322
  "description": "Output format",
5294
- "name": "format",
5323
+ "name": "output",
5295
5324
  "required": false,
5296
5325
  "default": "summary",
5297
5326
  "hasDynamicHelp": false,
@@ -5302,14 +5331,6 @@
5302
5331
  ],
5303
5332
  "type": "option"
5304
5333
  },
5305
- "output": {
5306
- "description": "Output file path (defaults to ./tenant-{name}-backup-{backup_id}.tar.gz)",
5307
- "name": "output",
5308
- "required": false,
5309
- "hasDynamicHelp": false,
5310
- "multiple": false,
5311
- "type": "option"
5312
- },
5313
5334
  "workspace": {
5314
5335
  "char": "w",
5315
5336
  "description": "Workspace ID (uses profile workspace if not provided)",
@@ -5322,7 +5343,7 @@
5322
5343
  },
5323
5344
  "hasDynamicHelp": false,
5324
5345
  "hiddenAliases": [],
5325
- "id": "tenant:backup:export",
5346
+ "id": "tenant:backup:import",
5326
5347
  "pluginAlias": "@xano/cli",
5327
5348
  "pluginName": "@xano/cli",
5328
5349
  "pluginType": "core",
@@ -5334,23 +5355,32 @@
5334
5355
  "commands",
5335
5356
  "tenant",
5336
5357
  "backup",
5337
- "export",
5358
+ "import",
5338
5359
  "index.js"
5339
5360
  ]
5340
5361
  },
5341
- "tenant:backup:import": {
5362
+ "workspace:push": {
5342
5363
  "aliases": [],
5343
5364
  "args": {
5344
- "tenant_name": {
5345
- "description": "Tenant name to import backup into",
5346
- "name": "tenant_name",
5365
+ "directory": {
5366
+ "description": "Directory containing documents to push (as produced by workspace pull)",
5367
+ "name": "directory",
5347
5368
  "required": true
5348
5369
  }
5349
5370
  },
5350
- "description": "Import a backup file into a tenant",
5371
+ "description": "Push local documents to a workspace via the Xano Metadata API multidoc endpoint",
5351
5372
  "examples": [
5352
- "$ xano tenant backup import t1234-abcd-xyz1 --file ./my-backup.tar.gz\nImported backup as #15 for tenant t1234-abcd-xyz1\n",
5353
- "$ xano tenant backup import t1234-abcd-xyz1 --file ./my-backup.tar.gz --description \"Restored from production\" -o json"
5373
+ "$ xano workspace push ./my-workspace\nPushed 42 documents from ./my-workspace\n",
5374
+ "$ xano workspace push ./output -w 40\nPushed 15 documents from ./output\n",
5375
+ "$ xano workspace push ./backup --profile production\nPushed 58 documents from ./backup\n",
5376
+ "$ xano workspace push ./my-workspace -b dev\nPushed 42 documents from ./my-workspace\n",
5377
+ "$ xano workspace push ./my-functions --partial\nPush some files without a workspace block (implies --no-delete)\n",
5378
+ "$ xano workspace push ./my-workspace --no-delete\nPatch files without deleting existing workspace objects\n",
5379
+ "$ xano workspace push ./my-workspace --no-records\nPush schema only, skip importing table records\n",
5380
+ "$ xano workspace push ./my-workspace --no-env\nPush without overwriting environment variables\n",
5381
+ "$ xano workspace push ./my-workspace --truncate\nTruncate all table records before importing\n",
5382
+ "$ xano workspace push ./my-workspace --truncate --no-records\nTruncate all table records without importing new ones\n",
5383
+ "$ xano workspace push ./my-workspace --no-records --no-env\nPush schema only, skip records and environment variables\n"
5354
5384
  ],
5355
5385
  "flags": {
5356
5386
  "profile": {
@@ -5372,42 +5402,60 @@
5372
5402
  "allowNo": false,
5373
5403
  "type": "boolean"
5374
5404
  },
5375
- "description": {
5376
- "char": "d",
5377
- "description": "Backup description",
5378
- "name": "description",
5405
+ "branch": {
5406
+ "char": "b",
5407
+ "description": "Branch name (optional if set in profile, defaults to live)",
5408
+ "name": "branch",
5379
5409
  "required": false,
5380
- "default": "",
5381
5410
  "hasDynamicHelp": false,
5382
5411
  "multiple": false,
5383
5412
  "type": "option"
5384
5413
  },
5385
- "file": {
5386
- "char": "f",
5387
- "description": "Path to the backup file (.tar.gz)",
5388
- "name": "file",
5389
- "required": true,
5390
- "hasDynamicHelp": false,
5391
- "multiple": false,
5392
- "type": "option"
5414
+ "delete": {
5415
+ "description": "Delete workspace objects not included in the push (default: false)",
5416
+ "name": "delete",
5417
+ "required": false,
5418
+ "allowNo": true,
5419
+ "type": "boolean"
5393
5420
  },
5394
- "output": {
5395
- "char": "o",
5396
- "description": "Output format",
5397
- "name": "output",
5421
+ "env": {
5422
+ "description": "Include environment variables in import (default: true, use --no-env to exclude)",
5423
+ "name": "env",
5398
5424
  "required": false,
5399
- "default": "summary",
5400
- "hasDynamicHelp": false,
5401
- "multiple": false,
5402
- "options": [
5403
- "summary",
5404
- "json"
5405
- ],
5406
- "type": "option"
5425
+ "allowNo": true,
5426
+ "type": "boolean"
5427
+ },
5428
+ "partial": {
5429
+ "description": "Partial push — workspace block is not required, existing objects are kept (implies --no-delete)",
5430
+ "name": "partial",
5431
+ "required": false,
5432
+ "allowNo": false,
5433
+ "type": "boolean"
5434
+ },
5435
+ "records": {
5436
+ "description": "Include records in import (default: true, use --no-records to exclude)",
5437
+ "name": "records",
5438
+ "required": false,
5439
+ "allowNo": true,
5440
+ "type": "boolean"
5441
+ },
5442
+ "sync-guids": {
5443
+ "description": "Write server-assigned GUIDs back to local files (use --no-sync-guids to skip)",
5444
+ "name": "sync-guids",
5445
+ "required": false,
5446
+ "allowNo": true,
5447
+ "type": "boolean"
5448
+ },
5449
+ "truncate": {
5450
+ "description": "Truncate all table records before importing",
5451
+ "name": "truncate",
5452
+ "required": false,
5453
+ "allowNo": false,
5454
+ "type": "boolean"
5407
5455
  },
5408
5456
  "workspace": {
5409
5457
  "char": "w",
5410
- "description": "Workspace ID (uses profile workspace if not provided)",
5458
+ "description": "Workspace ID (optional if set in profile)",
5411
5459
  "name": "workspace",
5412
5460
  "required": false,
5413
5461
  "hasDynamicHelp": false,
@@ -5417,7 +5465,7 @@
5417
5465
  },
5418
5466
  "hasDynamicHelp": false,
5419
5467
  "hiddenAliases": [],
5420
- "id": "tenant:backup:import",
5468
+ "id": "workspace:push",
5421
5469
  "pluginAlias": "@xano/cli",
5422
5470
  "pluginName": "@xano/cli",
5423
5471
  "pluginType": "core",
@@ -5427,9 +5475,8 @@
5427
5475
  "relativePath": [
5428
5476
  "dist",
5429
5477
  "commands",
5430
- "tenant",
5431
- "backup",
5432
- "import",
5478
+ "workspace",
5479
+ "push",
5433
5480
  "index.js"
5434
5481
  ]
5435
5482
  },
@@ -5732,20 +5779,19 @@
5732
5779
  "index.js"
5733
5780
  ]
5734
5781
  },
5735
- "tenant:cluster:delete": {
5782
+ "tenant:cluster:edit": {
5736
5783
  "aliases": [],
5737
5784
  "args": {
5738
5785
  "cluster_id": {
5739
- "description": "Cluster ID to delete",
5786
+ "description": "Cluster ID to edit",
5740
5787
  "name": "cluster_id",
5741
5788
  "required": true
5742
5789
  }
5743
5790
  },
5744
- "description": "Delete a tenant cluster. This action cannot be undone.",
5791
+ "description": "Update an existing tenant cluster",
5745
5792
  "examples": [
5746
- "$ 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",
5747
- "$ xano tenant cluster delete 3 --force\nTenant cluster 3 deleted successfully\n",
5748
- "$ xano tenant cluster delete 3 -f -o json"
5793
+ "$ xano tenant cluster edit 1 --name \"us-east-1-updated\" --description \"Updated cluster\" --domain \"us-east.xano.io\" --type standard\nUpdated tenant cluster: us-east-1-updated (standard) - ID: 1\n",
5794
+ "$ xano tenant cluster edit 1 --name \"eu-west\" --description \"\" --domain \"\" --type run -o json"
5749
5795
  ],
5750
5796
  "flags": {
5751
5797
  "profile": {
@@ -5767,13 +5813,31 @@
5767
5813
  "allowNo": false,
5768
5814
  "type": "boolean"
5769
5815
  },
5770
- "force": {
5771
- "char": "f",
5772
- "description": "Skip confirmation prompt",
5773
- "name": "force",
5774
- "required": false,
5775
- "allowNo": false,
5776
- "type": "boolean"
5816
+ "description": {
5817
+ "char": "d",
5818
+ "description": "Cluster description",
5819
+ "name": "description",
5820
+ "required": true,
5821
+ "hasDynamicHelp": false,
5822
+ "multiple": false,
5823
+ "type": "option"
5824
+ },
5825
+ "domain": {
5826
+ "description": "Custom domain for the cluster",
5827
+ "name": "domain",
5828
+ "required": true,
5829
+ "hasDynamicHelp": false,
5830
+ "multiple": false,
5831
+ "type": "option"
5832
+ },
5833
+ "name": {
5834
+ "char": "n",
5835
+ "description": "Cluster name",
5836
+ "name": "name",
5837
+ "required": true,
5838
+ "hasDynamicHelp": false,
5839
+ "multiple": false,
5840
+ "type": "option"
5777
5841
  },
5778
5842
  "output": {
5779
5843
  "char": "o",
@@ -5788,11 +5852,23 @@
5788
5852
  "json"
5789
5853
  ],
5790
5854
  "type": "option"
5855
+ },
5856
+ "type": {
5857
+ "description": "Cluster type",
5858
+ "name": "type",
5859
+ "required": true,
5860
+ "hasDynamicHelp": false,
5861
+ "multiple": false,
5862
+ "options": [
5863
+ "standard",
5864
+ "run"
5865
+ ],
5866
+ "type": "option"
5791
5867
  }
5792
5868
  },
5793
5869
  "hasDynamicHelp": false,
5794
5870
  "hiddenAliases": [],
5795
- "id": "tenant:cluster:delete",
5871
+ "id": "tenant:cluster:edit",
5796
5872
  "pluginAlias": "@xano/cli",
5797
5873
  "pluginName": "@xano/cli",
5798
5874
  "pluginType": "core",
@@ -5804,23 +5880,24 @@
5804
5880
  "commands",
5805
5881
  "tenant",
5806
5882
  "cluster",
5807
- "delete",
5883
+ "edit",
5808
5884
  "index.js"
5809
5885
  ]
5810
5886
  },
5811
- "tenant:cluster:edit": {
5887
+ "tenant:cluster:delete": {
5812
5888
  "aliases": [],
5813
5889
  "args": {
5814
5890
  "cluster_id": {
5815
- "description": "Cluster ID to edit",
5891
+ "description": "Cluster ID to delete",
5816
5892
  "name": "cluster_id",
5817
5893
  "required": true
5818
5894
  }
5819
5895
  },
5820
- "description": "Update an existing tenant cluster",
5896
+ "description": "Delete a tenant cluster. This action cannot be undone.",
5821
5897
  "examples": [
5822
- "$ xano tenant cluster edit 1 --name \"us-east-1-updated\" --description \"Updated cluster\" --domain \"us-east.xano.io\" --type standard\nUpdated tenant cluster: us-east-1-updated (standard) - ID: 1\n",
5823
- "$ xano tenant cluster edit 1 --name \"eu-west\" --description \"\" --domain \"\" --type run -o json"
5898
+ "$ 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",
5899
+ "$ xano tenant cluster delete 3 --force\nTenant cluster 3 deleted successfully\n",
5900
+ "$ xano tenant cluster delete 3 -f -o json"
5824
5901
  ],
5825
5902
  "flags": {
5826
5903
  "profile": {
@@ -5842,31 +5919,13 @@
5842
5919
  "allowNo": false,
5843
5920
  "type": "boolean"
5844
5921
  },
5845
- "description": {
5846
- "char": "d",
5847
- "description": "Cluster description",
5848
- "name": "description",
5849
- "required": true,
5850
- "hasDynamicHelp": false,
5851
- "multiple": false,
5852
- "type": "option"
5853
- },
5854
- "domain": {
5855
- "description": "Custom domain for the cluster",
5856
- "name": "domain",
5857
- "required": true,
5858
- "hasDynamicHelp": false,
5859
- "multiple": false,
5860
- "type": "option"
5861
- },
5862
- "name": {
5863
- "char": "n",
5864
- "description": "Cluster name",
5865
- "name": "name",
5866
- "required": true,
5867
- "hasDynamicHelp": false,
5868
- "multiple": false,
5869
- "type": "option"
5922
+ "force": {
5923
+ "char": "f",
5924
+ "description": "Skip confirmation prompt",
5925
+ "name": "force",
5926
+ "required": false,
5927
+ "allowNo": false,
5928
+ "type": "boolean"
5870
5929
  },
5871
5930
  "output": {
5872
5931
  "char": "o",
@@ -5881,23 +5940,11 @@
5881
5940
  "json"
5882
5941
  ],
5883
5942
  "type": "option"
5884
- },
5885
- "type": {
5886
- "description": "Cluster type",
5887
- "name": "type",
5888
- "required": true,
5889
- "hasDynamicHelp": false,
5890
- "multiple": false,
5891
- "options": [
5892
- "standard",
5893
- "run"
5894
- ],
5895
- "type": "option"
5896
5943
  }
5897
5944
  },
5898
5945
  "hasDynamicHelp": false,
5899
5946
  "hiddenAliases": [],
5900
- "id": "tenant:cluster:edit",
5947
+ "id": "tenant:cluster:delete",
5901
5948
  "pluginAlias": "@xano/cli",
5902
5949
  "pluginName": "@xano/cli",
5903
5950
  "pluginType": "core",
@@ -5909,7 +5956,7 @@
5909
5956
  "commands",
5910
5957
  "tenant",
5911
5958
  "cluster",
5912
- "edit",
5959
+ "delete",
5913
5960
  "index.js"
5914
5961
  ]
5915
5962
  },
@@ -6041,7 +6088,7 @@
6041
6088
  "index.js"
6042
6089
  ]
6043
6090
  },
6044
- "tenant:env:delete": {
6091
+ "tenant:env:get": {
6045
6092
  "aliases": [],
6046
6093
  "args": {
6047
6094
  "tenant_name": {
@@ -6050,11 +6097,10 @@
6050
6097
  "required": true
6051
6098
  }
6052
6099
  },
6053
- "description": "Delete an environment variable from a tenant",
6100
+ "description": "Get a single environment variable for a tenant",
6054
6101
  "examples": [
6055
- "$ 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",
6056
- "$ xano tenant env delete my-tenant --name DATABASE_URL --force\nEnvironment variable 'DATABASE_URL' deleted from tenant my-tenant\n",
6057
- "$ xano tenant env delete my-tenant --name DATABASE_URL -f -w 5 -o json"
6102
+ "$ xano tenant env get my-tenant --name DATABASE_URL\npostgres://localhost:5432/mydb\n",
6103
+ "$ xano tenant env get my-tenant --name DATABASE_URL -w 5 -o json"
6058
6104
  ],
6059
6105
  "flags": {
6060
6106
  "profile": {
@@ -6076,14 +6122,6 @@
6076
6122
  "allowNo": false,
6077
6123
  "type": "boolean"
6078
6124
  },
6079
- "force": {
6080
- "char": "f",
6081
- "description": "Skip confirmation prompt",
6082
- "name": "force",
6083
- "required": false,
6084
- "allowNo": false,
6085
- "type": "boolean"
6086
- },
6087
6125
  "name": {
6088
6126
  "char": "n",
6089
6127
  "description": "Environment variable name",
@@ -6119,7 +6157,7 @@
6119
6157
  },
6120
6158
  "hasDynamicHelp": false,
6121
6159
  "hiddenAliases": [],
6122
- "id": "tenant:env:delete",
6160
+ "id": "tenant:env:get",
6123
6161
  "pluginAlias": "@xano/cli",
6124
6162
  "pluginName": "@xano/cli",
6125
6163
  "pluginType": "core",
@@ -6131,11 +6169,11 @@
6131
6169
  "commands",
6132
6170
  "tenant",
6133
6171
  "env",
6134
- "delete",
6172
+ "get",
6135
6173
  "index.js"
6136
6174
  ]
6137
6175
  },
6138
- "tenant:env:get": {
6176
+ "tenant:env:delete": {
6139
6177
  "aliases": [],
6140
6178
  "args": {
6141
6179
  "tenant_name": {
@@ -6144,10 +6182,11 @@
6144
6182
  "required": true
6145
6183
  }
6146
6184
  },
6147
- "description": "Get a single environment variable for a tenant",
6185
+ "description": "Delete an environment variable from a tenant",
6148
6186
  "examples": [
6149
- "$ xano tenant env get my-tenant --name DATABASE_URL\npostgres://localhost:5432/mydb\n",
6150
- "$ xano tenant env get my-tenant --name DATABASE_URL -w 5 -o json"
6187
+ "$ 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",
6188
+ "$ xano tenant env delete my-tenant --name DATABASE_URL --force\nEnvironment variable 'DATABASE_URL' deleted from tenant my-tenant\n",
6189
+ "$ xano tenant env delete my-tenant --name DATABASE_URL -f -w 5 -o json"
6151
6190
  ],
6152
6191
  "flags": {
6153
6192
  "profile": {
@@ -6169,6 +6208,14 @@
6169
6208
  "allowNo": false,
6170
6209
  "type": "boolean"
6171
6210
  },
6211
+ "force": {
6212
+ "char": "f",
6213
+ "description": "Skip confirmation prompt",
6214
+ "name": "force",
6215
+ "required": false,
6216
+ "allowNo": false,
6217
+ "type": "boolean"
6218
+ },
6172
6219
  "name": {
6173
6220
  "char": "n",
6174
6221
  "description": "Environment variable name",
@@ -6204,7 +6251,7 @@
6204
6251
  },
6205
6252
  "hasDynamicHelp": false,
6206
6253
  "hiddenAliases": [],
6207
- "id": "tenant:env:get",
6254
+ "id": "tenant:env:delete",
6208
6255
  "pluginAlias": "@xano/cli",
6209
6256
  "pluginName": "@xano/cli",
6210
6257
  "pluginType": "core",
@@ -6216,7 +6263,7 @@
6216
6263
  "commands",
6217
6264
  "tenant",
6218
6265
  "env",
6219
- "get",
6266
+ "delete",
6220
6267
  "index.js"
6221
6268
  ]
6222
6269
  },
@@ -6670,6 +6717,118 @@
6670
6717
  "index.js"
6671
6718
  ]
6672
6719
  },
6720
+ "tenant:license:set": {
6721
+ "aliases": [],
6722
+ "args": {
6723
+ "tenant_name": {
6724
+ "description": "Tenant name",
6725
+ "name": "tenant_name",
6726
+ "required": true
6727
+ }
6728
+ },
6729
+ "description": "Set/update the license for a tenant",
6730
+ "examples": [
6731
+ "$ xano tenant license set my-tenant\nReads from license_my-tenant.yaml\n",
6732
+ "$ xano tenant license set my-tenant --file ./license.yaml",
6733
+ "$ xano tenant license set my-tenant --value 'key: value'",
6734
+ "$ xano tenant license set my-tenant -o json"
6735
+ ],
6736
+ "flags": {
6737
+ "profile": {
6738
+ "char": "p",
6739
+ "description": "Profile to use (uses default profile if not specified)",
6740
+ "env": "XANO_PROFILE",
6741
+ "name": "profile",
6742
+ "required": false,
6743
+ "hasDynamicHelp": false,
6744
+ "multiple": false,
6745
+ "type": "option"
6746
+ },
6747
+ "verbose": {
6748
+ "char": "v",
6749
+ "description": "Show detailed request/response information",
6750
+ "env": "XANO_VERBOSE",
6751
+ "name": "verbose",
6752
+ "required": false,
6753
+ "allowNo": false,
6754
+ "type": "boolean"
6755
+ },
6756
+ "clean": {
6757
+ "description": "Remove the source file after successful upload",
6758
+ "exclusive": [
6759
+ "value"
6760
+ ],
6761
+ "name": "clean",
6762
+ "required": false,
6763
+ "allowNo": false,
6764
+ "type": "boolean"
6765
+ },
6766
+ "file": {
6767
+ "char": "f",
6768
+ "description": "Path to license file (default: license_<tenant_name>.yaml)",
6769
+ "exclusive": [
6770
+ "value"
6771
+ ],
6772
+ "name": "file",
6773
+ "required": false,
6774
+ "hasDynamicHelp": false,
6775
+ "multiple": false,
6776
+ "type": "option"
6777
+ },
6778
+ "output": {
6779
+ "char": "o",
6780
+ "description": "Output format",
6781
+ "name": "output",
6782
+ "required": false,
6783
+ "default": "summary",
6784
+ "hasDynamicHelp": false,
6785
+ "multiple": false,
6786
+ "options": [
6787
+ "summary",
6788
+ "json"
6789
+ ],
6790
+ "type": "option"
6791
+ },
6792
+ "value": {
6793
+ "description": "Inline license value",
6794
+ "exclusive": [
6795
+ "file",
6796
+ "clean"
6797
+ ],
6798
+ "name": "value",
6799
+ "required": false,
6800
+ "hasDynamicHelp": false,
6801
+ "multiple": false,
6802
+ "type": "option"
6803
+ },
6804
+ "workspace": {
6805
+ "char": "w",
6806
+ "description": "Workspace ID (uses profile workspace if not provided)",
6807
+ "name": "workspace",
6808
+ "required": false,
6809
+ "hasDynamicHelp": false,
6810
+ "multiple": false,
6811
+ "type": "option"
6812
+ }
6813
+ },
6814
+ "hasDynamicHelp": false,
6815
+ "hiddenAliases": [],
6816
+ "id": "tenant:license:set",
6817
+ "pluginAlias": "@xano/cli",
6818
+ "pluginName": "@xano/cli",
6819
+ "pluginType": "core",
6820
+ "strict": true,
6821
+ "enableJsonFlag": false,
6822
+ "isESM": true,
6823
+ "relativePath": [
6824
+ "dist",
6825
+ "commands",
6826
+ "tenant",
6827
+ "license",
6828
+ "set",
6829
+ "index.js"
6830
+ ]
6831
+ },
6673
6832
  "workspace:git:pull": {
6674
6833
  "aliases": [],
6675
6834
  "args": {
@@ -6764,21 +6923,21 @@
6764
6923
  "index.js"
6765
6924
  ]
6766
6925
  },
6767
- "tenant:license:set": {
6926
+ "tenant:cluster:license:set": {
6768
6927
  "aliases": [],
6769
6928
  "args": {
6770
- "tenant_name": {
6771
- "description": "Tenant name",
6772
- "name": "tenant_name",
6929
+ "cluster_id": {
6930
+ "description": "Tenant cluster ID",
6931
+ "name": "cluster_id",
6773
6932
  "required": true
6774
6933
  }
6775
6934
  },
6776
- "description": "Set/update the license for a tenant",
6935
+ "description": "Set/update the license (kubeconfig) for a tenant cluster",
6777
6936
  "examples": [
6778
- "$ xano tenant license set my-tenant\nReads from license_my-tenant.yaml\n",
6779
- "$ xano tenant license set my-tenant --file ./license.yaml",
6780
- "$ xano tenant license set my-tenant --value 'key: value'",
6781
- "$ xano tenant license set my-tenant -o json"
6937
+ "$ xano tenant cluster license set 1\nReads from kubeconfig-1.yaml\n",
6938
+ "$ xano tenant cluster license set 1 --file ./kubeconfig.yaml",
6939
+ "$ xano tenant cluster license set 1 --value 'apiVersion: v1...'",
6940
+ "$ xano tenant cluster license set 1 -o json"
6782
6941
  ],
6783
6942
  "flags": {
6784
6943
  "profile": {
@@ -6812,7 +6971,7 @@
6812
6971
  },
6813
6972
  "file": {
6814
6973
  "char": "f",
6815
- "description": "Path to license file (default: license_<tenant_name>.yaml)",
6974
+ "description": "Path to kubeconfig file (default: kubeconfig_<cluster_id>.yaml)",
6816
6975
  "exclusive": [
6817
6976
  "value"
6818
6977
  ],
@@ -6837,7 +6996,7 @@
6837
6996
  "type": "option"
6838
6997
  },
6839
6998
  "value": {
6840
- "description": "Inline license value",
6999
+ "description": "Inline kubeconfig YAML value",
6841
7000
  "exclusive": [
6842
7001
  "file",
6843
7002
  "clean"
@@ -6847,20 +7006,11 @@
6847
7006
  "hasDynamicHelp": false,
6848
7007
  "multiple": false,
6849
7008
  "type": "option"
6850
- },
6851
- "workspace": {
6852
- "char": "w",
6853
- "description": "Workspace ID (uses profile workspace if not provided)",
6854
- "name": "workspace",
6855
- "required": false,
6856
- "hasDynamicHelp": false,
6857
- "multiple": false,
6858
- "type": "option"
6859
7009
  }
6860
7010
  },
6861
7011
  "hasDynamicHelp": false,
6862
7012
  "hiddenAliases": [],
6863
- "id": "tenant:license:set",
7013
+ "id": "tenant:cluster:license:set",
6864
7014
  "pluginAlias": "@xano/cli",
6865
7015
  "pluginName": "@xano/cli",
6866
7016
  "pluginType": "core",
@@ -6871,6 +7021,7 @@
6871
7021
  "dist",
6872
7022
  "commands",
6873
7023
  "tenant",
7024
+ "cluster",
6874
7025
  "license",
6875
7026
  "set",
6876
7027
  "index.js"
@@ -6961,111 +7112,7 @@
6961
7112
  "get",
6962
7113
  "index.js"
6963
7114
  ]
6964
- },
6965
- "tenant:cluster:license:set": {
6966
- "aliases": [],
6967
- "args": {
6968
- "cluster_id": {
6969
- "description": "Tenant cluster ID",
6970
- "name": "cluster_id",
6971
- "required": true
6972
- }
6973
- },
6974
- "description": "Set/update the license (kubeconfig) for a tenant cluster",
6975
- "examples": [
6976
- "$ xano tenant cluster license set 1\nReads from kubeconfig-1.yaml\n",
6977
- "$ xano tenant cluster license set 1 --file ./kubeconfig.yaml",
6978
- "$ xano tenant cluster license set 1 --value 'apiVersion: v1...'",
6979
- "$ xano tenant cluster license set 1 -o json"
6980
- ],
6981
- "flags": {
6982
- "profile": {
6983
- "char": "p",
6984
- "description": "Profile to use (uses default profile if not specified)",
6985
- "env": "XANO_PROFILE",
6986
- "name": "profile",
6987
- "required": false,
6988
- "hasDynamicHelp": false,
6989
- "multiple": false,
6990
- "type": "option"
6991
- },
6992
- "verbose": {
6993
- "char": "v",
6994
- "description": "Show detailed request/response information",
6995
- "env": "XANO_VERBOSE",
6996
- "name": "verbose",
6997
- "required": false,
6998
- "allowNo": false,
6999
- "type": "boolean"
7000
- },
7001
- "clean": {
7002
- "description": "Remove the source file after successful upload",
7003
- "exclusive": [
7004
- "value"
7005
- ],
7006
- "name": "clean",
7007
- "required": false,
7008
- "allowNo": false,
7009
- "type": "boolean"
7010
- },
7011
- "file": {
7012
- "char": "f",
7013
- "description": "Path to kubeconfig file (default: kubeconfig_<cluster_id>.yaml)",
7014
- "exclusive": [
7015
- "value"
7016
- ],
7017
- "name": "file",
7018
- "required": false,
7019
- "hasDynamicHelp": false,
7020
- "multiple": false,
7021
- "type": "option"
7022
- },
7023
- "output": {
7024
- "char": "o",
7025
- "description": "Output format",
7026
- "name": "output",
7027
- "required": false,
7028
- "default": "summary",
7029
- "hasDynamicHelp": false,
7030
- "multiple": false,
7031
- "options": [
7032
- "summary",
7033
- "json"
7034
- ],
7035
- "type": "option"
7036
- },
7037
- "value": {
7038
- "description": "Inline kubeconfig YAML value",
7039
- "exclusive": [
7040
- "file",
7041
- "clean"
7042
- ],
7043
- "name": "value",
7044
- "required": false,
7045
- "hasDynamicHelp": false,
7046
- "multiple": false,
7047
- "type": "option"
7048
- }
7049
- },
7050
- "hasDynamicHelp": false,
7051
- "hiddenAliases": [],
7052
- "id": "tenant:cluster:license:set",
7053
- "pluginAlias": "@xano/cli",
7054
- "pluginName": "@xano/cli",
7055
- "pluginType": "core",
7056
- "strict": true,
7057
- "enableJsonFlag": false,
7058
- "isESM": true,
7059
- "relativePath": [
7060
- "dist",
7061
- "commands",
7062
- "tenant",
7063
- "cluster",
7064
- "license",
7065
- "set",
7066
- "index.js"
7067
- ]
7068
7115
  }
7069
7116
  },
7070
- "version": "0.0.66"
7117
+ "version": "0.0.68"
7071
7118
  }