@xano/cli 0.0.95-beta.12 → 0.0.95-beta.15

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.
@@ -394,20 +394,20 @@
394
394
  "index.js"
395
395
  ]
396
396
  },
397
- "branch:get": {
397
+ "branch:list": {
398
398
  "aliases": [],
399
399
  "args": {
400
- "branch_label": {
401
- "description": "Branch label (e.g., \"v1\", \"dev\")",
402
- "name": "branch_label",
403
- "required": true
400
+ "workspace_id": {
401
+ "description": "Workspace ID (uses profile workspace if not provided)",
402
+ "name": "workspace_id",
403
+ "required": false
404
404
  }
405
405
  },
406
- "description": "Get details for a specific branch",
406
+ "description": "List all branches in a workspace",
407
407
  "examples": [
408
- "$ xano branch get v1\nBranch: v1 (live)\n Created: 2024-01-15\n",
409
- "$ xano branch get dev -w 123\nBranch: dev\n Created: 2024-02-01\n",
410
- "$ 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"
408
+ "$ xano branch list\nAvailable branches:\n - v1 (live)\n - dev\n - staging\n",
409
+ "$ xano branch list 123\nAvailable branches:\n - v1 (live)\n - feature-auth\n",
410
+ "$ xano branch list --output json\n[\n {\n \"created_at\": \"2024-01-15T10:30:00Z\",\n \"label\": \"v1\",\n \"backup\": false,\n \"live\": true\n }\n]\n"
411
411
  ],
412
412
  "flags": {
413
413
  "profile": {
@@ -442,20 +442,11 @@
442
442
  "json"
443
443
  ],
444
444
  "type": "option"
445
- },
446
- "workspace": {
447
- "char": "w",
448
- "description": "Workspace ID (uses profile workspace if not provided)",
449
- "name": "workspace",
450
- "required": false,
451
- "hasDynamicHelp": false,
452
- "multiple": false,
453
- "type": "option"
454
445
  }
455
446
  },
456
447
  "hasDynamicHelp": false,
457
448
  "hiddenAliases": [],
458
- "id": "branch:get",
449
+ "id": "branch:list",
459
450
  "pluginAlias": "@xano/cli",
460
451
  "pluginName": "@xano/cli",
461
452
  "pluginType": "core",
@@ -466,7 +457,7 @@
466
457
  "dist",
467
458
  "commands",
468
459
  "branch",
469
- "get",
460
+ "list",
470
461
  "index.js"
471
462
  ]
472
463
  },
@@ -779,23 +770,15 @@
779
770
  "index.js"
780
771
  ]
781
772
  },
782
- "function:get": {
773
+ "function:list": {
783
774
  "aliases": [],
784
- "args": {
785
- "function_id": {
786
- "description": "Function ID",
787
- "name": "function_id",
788
- "required": false
789
- }
790
- },
791
- "description": "Get a specific function from a workspace",
775
+ "args": {},
776
+ "description": "List all functions in a workspace from the Xano Metadata API",
792
777
  "examples": [
793
- "$ xano function:get 145 -w 40\nFunction: yo (ID: 145)\nCreated: 2025-10-10 10:30:00\nDescription: Sample function\n",
794
- "$ xano function:get 145 --profile production\nFunction: yo (ID: 145)\nCreated: 2025-10-10 10:30:00\n",
795
- "$ xano function:get\nSelect a function:\n ❯ yo (ID: 145) - Sample function\n another-func (ID: 146)\n",
796
- "$ xano function:get 145 -w 40 --output json\n{\n \"id\": 145,\n \"name\": \"yo\",\n \"description\": \"Sample function\"\n}\n",
797
- "$ xano function:get 145 -p staging -o json --include_draft\n{\n \"id\": 145,\n \"name\": \"yo\"\n}\n",
798
- "$ xano function:get 145 -p staging -o xs\nfunction yo {\n input {\n }\n stack {\n }\n response = null\n}\n"
778
+ "$ xano function:list -w 40\nAvailable functions:\n - function-1 (ID: 1)\n - function-2 (ID: 2)\n - function-3 (ID: 3)\n",
779
+ "$ xano function:list --profile production\nAvailable functions:\n - my-function (ID: 1)\n - another-function (ID: 2)\n",
780
+ "$ xano function:list -w 40 --output json\n[\n {\n \"id\": 1,\n \"name\": \"function-1\"\n }\n]\n",
781
+ "$ xano function:list -p staging -o json --include_draft\n[\n {\n \"id\": 1,\n \"name\": \"function-1\"\n }\n]\n"
799
782
  ],
800
783
  "flags": {
801
784
  "profile": {
@@ -818,7 +801,7 @@
818
801
  "type": "boolean"
819
802
  },
820
803
  "include_draft": {
821
- "description": "Include draft version",
804
+ "description": "Include draft functions",
822
805
  "name": "include_draft",
823
806
  "required": false,
824
807
  "allowNo": false,
@@ -831,6 +814,19 @@
831
814
  "allowNo": false,
832
815
  "type": "boolean"
833
816
  },
817
+ "order": {
818
+ "description": "Sort order",
819
+ "name": "order",
820
+ "required": false,
821
+ "default": "desc",
822
+ "hasDynamicHelp": false,
823
+ "multiple": false,
824
+ "options": [
825
+ "asc",
826
+ "desc"
827
+ ],
828
+ "type": "option"
829
+ },
834
830
  "output": {
835
831
  "char": "o",
836
832
  "description": "Output format",
@@ -841,11 +837,37 @@
841
837
  "multiple": false,
842
838
  "options": [
843
839
  "summary",
844
- "json",
845
- "xs"
840
+ "json"
846
841
  ],
847
842
  "type": "option"
848
843
  },
844
+ "page": {
845
+ "description": "Page number for pagination",
846
+ "name": "page",
847
+ "required": false,
848
+ "default": 1,
849
+ "hasDynamicHelp": false,
850
+ "multiple": false,
851
+ "type": "option"
852
+ },
853
+ "per_page": {
854
+ "description": "Number of results per page",
855
+ "name": "per_page",
856
+ "required": false,
857
+ "default": 50,
858
+ "hasDynamicHelp": false,
859
+ "multiple": false,
860
+ "type": "option"
861
+ },
862
+ "sort": {
863
+ "description": "Sort field",
864
+ "name": "sort",
865
+ "required": false,
866
+ "default": "created_at",
867
+ "hasDynamicHelp": false,
868
+ "multiple": false,
869
+ "type": "option"
870
+ },
849
871
  "workspace": {
850
872
  "char": "w",
851
873
  "description": "Workspace ID (optional if set in profile)",
@@ -858,7 +880,7 @@
858
880
  },
859
881
  "hasDynamicHelp": false,
860
882
  "hiddenAliases": [],
861
- "id": "function:get",
883
+ "id": "function:list",
862
884
  "pluginAlias": "@xano/cli",
863
885
  "pluginName": "@xano/cli",
864
886
  "pluginType": "core",
@@ -869,19 +891,27 @@
869
891
  "dist",
870
892
  "commands",
871
893
  "function",
872
- "get",
894
+ "list",
873
895
  "index.js"
874
896
  ]
875
897
  },
876
- "function:list": {
898
+ "function:get": {
877
899
  "aliases": [],
878
- "args": {},
879
- "description": "List all functions in a workspace from the Xano Metadata API",
900
+ "args": {
901
+ "function_id": {
902
+ "description": "Function ID",
903
+ "name": "function_id",
904
+ "required": false
905
+ }
906
+ },
907
+ "description": "Get a specific function from a workspace",
880
908
  "examples": [
881
- "$ xano function:list -w 40\nAvailable functions:\n - function-1 (ID: 1)\n - function-2 (ID: 2)\n - function-3 (ID: 3)\n",
882
- "$ xano function:list --profile production\nAvailable functions:\n - my-function (ID: 1)\n - another-function (ID: 2)\n",
883
- "$ xano function:list -w 40 --output json\n[\n {\n \"id\": 1,\n \"name\": \"function-1\"\n }\n]\n",
884
- "$ xano function:list -p staging -o json --include_draft\n[\n {\n \"id\": 1,\n \"name\": \"function-1\"\n }\n]\n"
909
+ "$ xano function:get 145 -w 40\nFunction: yo (ID: 145)\nCreated: 2025-10-10 10:30:00\nDescription: Sample function\n",
910
+ "$ xano function:get 145 --profile production\nFunction: yo (ID: 145)\nCreated: 2025-10-10 10:30:00\n",
911
+ "$ xano function:get\nSelect a function:\n ❯ yo (ID: 145) - Sample function\n another-func (ID: 146)\n",
912
+ "$ xano function:get 145 -w 40 --output json\n{\n \"id\": 145,\n \"name\": \"yo\",\n \"description\": \"Sample function\"\n}\n",
913
+ "$ xano function:get 145 -p staging -o json --include_draft\n{\n \"id\": 145,\n \"name\": \"yo\"\n}\n",
914
+ "$ xano function:get 145 -p staging -o xs\nfunction yo {\n input {\n }\n stack {\n }\n response = null\n}\n"
885
915
  ],
886
916
  "flags": {
887
917
  "profile": {
@@ -904,7 +934,7 @@
904
934
  "type": "boolean"
905
935
  },
906
936
  "include_draft": {
907
- "description": "Include draft functions",
937
+ "description": "Include draft version",
908
938
  "name": "include_draft",
909
939
  "required": false,
910
940
  "allowNo": false,
@@ -917,19 +947,6 @@
917
947
  "allowNo": false,
918
948
  "type": "boolean"
919
949
  },
920
- "order": {
921
- "description": "Sort order",
922
- "name": "order",
923
- "required": false,
924
- "default": "desc",
925
- "hasDynamicHelp": false,
926
- "multiple": false,
927
- "options": [
928
- "asc",
929
- "desc"
930
- ],
931
- "type": "option"
932
- },
933
950
  "output": {
934
951
  "char": "o",
935
952
  "description": "Output format",
@@ -940,37 +957,11 @@
940
957
  "multiple": false,
941
958
  "options": [
942
959
  "summary",
943
- "json"
960
+ "json",
961
+ "xs"
944
962
  ],
945
963
  "type": "option"
946
964
  },
947
- "page": {
948
- "description": "Page number for pagination",
949
- "name": "page",
950
- "required": false,
951
- "default": 1,
952
- "hasDynamicHelp": false,
953
- "multiple": false,
954
- "type": "option"
955
- },
956
- "per_page": {
957
- "description": "Number of results per page",
958
- "name": "per_page",
959
- "required": false,
960
- "default": 50,
961
- "hasDynamicHelp": false,
962
- "multiple": false,
963
- "type": "option"
964
- },
965
- "sort": {
966
- "description": "Sort field",
967
- "name": "sort",
968
- "required": false,
969
- "default": "created_at",
970
- "hasDynamicHelp": false,
971
- "multiple": false,
972
- "type": "option"
973
- },
974
965
  "workspace": {
975
966
  "char": "w",
976
967
  "description": "Workspace ID (optional if set in profile)",
@@ -983,7 +974,7 @@
983
974
  },
984
975
  "hasDynamicHelp": false,
985
976
  "hiddenAliases": [],
986
- "id": "function:list",
977
+ "id": "function:get",
987
978
  "pluginAlias": "@xano/cli",
988
979
  "pluginName": "@xano/cli",
989
980
  "pluginType": "core",
@@ -994,7 +985,7 @@
994
985
  "dist",
995
986
  "commands",
996
987
  "function",
997
- "list",
988
+ "get",
998
989
  "index.js"
999
990
  ]
1000
991
  },
@@ -1262,6 +1253,67 @@
1262
1253
  "index.js"
1263
1254
  ]
1264
1255
  },
1256
+ "profile:list": {
1257
+ "aliases": [],
1258
+ "args": {},
1259
+ "description": "List all available profile configurations",
1260
+ "examples": [
1261
+ "$ xano profile:list\nAvailable profiles:\n - default\n - production\n - staging\n - development\n",
1262
+ "$ 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",
1263
+ "$ 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"
1264
+ ],
1265
+ "flags": {
1266
+ "details": {
1267
+ "char": "d",
1268
+ "description": "Show detailed information for each profile",
1269
+ "name": "details",
1270
+ "required": false,
1271
+ "allowNo": false,
1272
+ "type": "boolean"
1273
+ }
1274
+ },
1275
+ "hasDynamicHelp": false,
1276
+ "hiddenAliases": [],
1277
+ "id": "profile:list",
1278
+ "pluginAlias": "@xano/cli",
1279
+ "pluginName": "@xano/cli",
1280
+ "pluginType": "core",
1281
+ "strict": true,
1282
+ "enableJsonFlag": false,
1283
+ "isESM": true,
1284
+ "relativePath": [
1285
+ "dist",
1286
+ "commands",
1287
+ "profile",
1288
+ "list",
1289
+ "index.js"
1290
+ ]
1291
+ },
1292
+ "profile:get": {
1293
+ "aliases": [],
1294
+ "args": {},
1295
+ "description": "Get the current default profile name",
1296
+ "examples": [
1297
+ "$ xano profile get\nproduction\n"
1298
+ ],
1299
+ "flags": {},
1300
+ "hasDynamicHelp": false,
1301
+ "hiddenAliases": [],
1302
+ "id": "profile:get",
1303
+ "pluginAlias": "@xano/cli",
1304
+ "pluginName": "@xano/cli",
1305
+ "pluginType": "core",
1306
+ "strict": true,
1307
+ "enableJsonFlag": false,
1308
+ "isESM": true,
1309
+ "relativePath": [
1310
+ "dist",
1311
+ "commands",
1312
+ "profile",
1313
+ "get",
1314
+ "index.js"
1315
+ ]
1316
+ },
1265
1317
  "profile:edit": {
1266
1318
  "aliases": [],
1267
1319
  "args": {
@@ -1392,75 +1444,14 @@
1392
1444
  "index.js"
1393
1445
  ]
1394
1446
  },
1395
- "profile:get": {
1447
+ "profile:me": {
1396
1448
  "aliases": [],
1397
1449
  "args": {},
1398
- "description": "Get the current default profile name",
1450
+ "description": "Get information about the currently authenticated user",
1399
1451
  "examples": [
1400
- "$ xano profile get\nproduction\n"
1401
- ],
1402
- "flags": {},
1403
- "hasDynamicHelp": false,
1404
- "hiddenAliases": [],
1405
- "id": "profile:get",
1406
- "pluginAlias": "@xano/cli",
1407
- "pluginName": "@xano/cli",
1408
- "pluginType": "core",
1409
- "strict": true,
1410
- "enableJsonFlag": false,
1411
- "isESM": true,
1412
- "relativePath": [
1413
- "dist",
1414
- "commands",
1415
- "profile",
1416
- "get",
1417
- "index.js"
1418
- ]
1419
- },
1420
- "profile:list": {
1421
- "aliases": [],
1422
- "args": {},
1423
- "description": "List all available profile configurations",
1424
- "examples": [
1425
- "$ xano profile:list\nAvailable profiles:\n - default\n - production\n - staging\n - development\n",
1426
- "$ 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",
1427
- "$ 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"
1428
- ],
1429
- "flags": {
1430
- "details": {
1431
- "char": "d",
1432
- "description": "Show detailed information for each profile",
1433
- "name": "details",
1434
- "required": false,
1435
- "allowNo": false,
1436
- "type": "boolean"
1437
- }
1438
- },
1439
- "hasDynamicHelp": false,
1440
- "hiddenAliases": [],
1441
- "id": "profile:list",
1442
- "pluginAlias": "@xano/cli",
1443
- "pluginName": "@xano/cli",
1444
- "pluginType": "core",
1445
- "strict": true,
1446
- "enableJsonFlag": false,
1447
- "isESM": true,
1448
- "relativePath": [
1449
- "dist",
1450
- "commands",
1451
- "profile",
1452
- "list",
1453
- "index.js"
1454
- ]
1455
- },
1456
- "profile:me": {
1457
- "aliases": [],
1458
- "args": {},
1459
- "description": "Get information about the currently authenticated user",
1460
- "examples": [
1461
- "$ xano profile:me\nUser Information:\n ID: 1\n Name: John Doe\n Email: john@example.com\n",
1462
- "$ xano profile:me --profile production\nUser Information:\n ID: 42\n Name: Admin User\n Email: admin@example.com\n",
1463
- "$ xano profile:me --output json\n{\n \"id\": 1,\n \"name\": \"John Doe\",\n \"email\": \"john@example.com\"\n}\n"
1452
+ "$ xano profile:me\nUser Information:\n ID: 1\n Name: John Doe\n Email: john@example.com\n",
1453
+ "$ xano profile:me --profile production\nUser Information:\n ID: 42\n Name: Admin User\n Email: admin@example.com\n",
1454
+ "$ xano profile:me --output json\n{\n \"id\": 1,\n \"name\": \"John Doe\",\n \"email\": \"john@example.com\"\n}\n"
1464
1455
  ],
1465
1456
  "flags": {
1466
1457
  "profile": {
@@ -1571,6 +1562,82 @@
1571
1562
  "index.js"
1572
1563
  ]
1573
1564
  },
1565
+ "branch:get": {
1566
+ "aliases": [],
1567
+ "args": {
1568
+ "branch_label": {
1569
+ "description": "Branch label (e.g., \"v1\", \"dev\")",
1570
+ "name": "branch_label",
1571
+ "required": true
1572
+ }
1573
+ },
1574
+ "description": "Get details for a specific branch",
1575
+ "examples": [
1576
+ "$ xano branch get v1\nBranch: v1 (live)\n Created: 2024-01-15\n",
1577
+ "$ xano branch get dev -w 123\nBranch: dev\n Created: 2024-02-01\n",
1578
+ "$ 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"
1579
+ ],
1580
+ "flags": {
1581
+ "profile": {
1582
+ "char": "p",
1583
+ "description": "Profile to use (uses default profile if not specified)",
1584
+ "env": "XANO_PROFILE",
1585
+ "name": "profile",
1586
+ "required": false,
1587
+ "hasDynamicHelp": false,
1588
+ "multiple": false,
1589
+ "type": "option"
1590
+ },
1591
+ "verbose": {
1592
+ "char": "v",
1593
+ "description": "Show detailed request/response information",
1594
+ "env": "XANO_VERBOSE",
1595
+ "name": "verbose",
1596
+ "required": false,
1597
+ "allowNo": false,
1598
+ "type": "boolean"
1599
+ },
1600
+ "output": {
1601
+ "char": "o",
1602
+ "description": "Output format",
1603
+ "name": "output",
1604
+ "required": false,
1605
+ "default": "summary",
1606
+ "hasDynamicHelp": false,
1607
+ "multiple": false,
1608
+ "options": [
1609
+ "summary",
1610
+ "json"
1611
+ ],
1612
+ "type": "option"
1613
+ },
1614
+ "workspace": {
1615
+ "char": "w",
1616
+ "description": "Workspace ID (uses profile workspace if not provided)",
1617
+ "name": "workspace",
1618
+ "required": false,
1619
+ "hasDynamicHelp": false,
1620
+ "multiple": false,
1621
+ "type": "option"
1622
+ }
1623
+ },
1624
+ "hasDynamicHelp": false,
1625
+ "hiddenAliases": [],
1626
+ "id": "branch:get",
1627
+ "pluginAlias": "@xano/cli",
1628
+ "pluginName": "@xano/cli",
1629
+ "pluginType": "core",
1630
+ "strict": true,
1631
+ "enableJsonFlag": false,
1632
+ "isESM": true,
1633
+ "relativePath": [
1634
+ "dist",
1635
+ "commands",
1636
+ "branch",
1637
+ "get",
1638
+ "index.js"
1639
+ ]
1640
+ },
1574
1641
  "profile:wizard": {
1575
1642
  "aliases": [],
1576
1643
  "args": {},
@@ -1624,6 +1691,32 @@
1624
1691
  "index.js"
1625
1692
  ]
1626
1693
  },
1694
+ "profile:workspace": {
1695
+ "aliases": [],
1696
+ "args": {},
1697
+ "description": "Print the workspace ID for the default profile",
1698
+ "examples": [
1699
+ "$ xano profile:workspace\nabc123-workspace-id\n",
1700
+ "$ xano profile:workspace | pbcopy\n# Copies the workspace ID to clipboard on macOS\n"
1701
+ ],
1702
+ "flags": {},
1703
+ "hasDynamicHelp": false,
1704
+ "hiddenAliases": [],
1705
+ "id": "profile:workspace",
1706
+ "pluginAlias": "@xano/cli",
1707
+ "pluginName": "@xano/cli",
1708
+ "pluginType": "core",
1709
+ "strict": true,
1710
+ "enableJsonFlag": false,
1711
+ "isESM": true,
1712
+ "relativePath": [
1713
+ "dist",
1714
+ "commands",
1715
+ "profile",
1716
+ "workspace",
1717
+ "index.js"
1718
+ ]
1719
+ },
1627
1720
  "release:create": {
1628
1721
  "aliases": [],
1629
1722
  "args": {},
@@ -1735,46 +1828,20 @@
1735
1828
  "index.js"
1736
1829
  ]
1737
1830
  },
1738
- "profile:workspace": {
1739
- "aliases": [],
1740
- "args": {},
1741
- "description": "Print the workspace ID for the default profile",
1742
- "examples": [
1743
- "$ xano profile:workspace\nabc123-workspace-id\n",
1744
- "$ xano profile:workspace | pbcopy\n# Copies the workspace ID to clipboard on macOS\n"
1745
- ],
1746
- "flags": {},
1747
- "hasDynamicHelp": false,
1748
- "hiddenAliases": [],
1749
- "id": "profile:workspace",
1750
- "pluginAlias": "@xano/cli",
1751
- "pluginName": "@xano/cli",
1752
- "pluginType": "core",
1753
- "strict": true,
1754
- "enableJsonFlag": false,
1755
- "isESM": true,
1756
- "relativePath": [
1757
- "dist",
1758
- "commands",
1759
- "profile",
1760
- "workspace",
1761
- "index.js"
1762
- ]
1763
- },
1764
- "release:delete": {
1831
+ "release:deploy": {
1765
1832
  "aliases": [],
1766
1833
  "args": {
1767
1834
  "release_name": {
1768
- "description": "Release name to delete",
1835
+ "description": "Name of the release to deploy",
1769
1836
  "name": "release_name",
1770
1837
  "required": true
1771
1838
  }
1772
1839
  },
1773
- "description": "Delete a release permanently. This action cannot be undone.",
1840
+ "description": "Deploy a release to its workspace as a new branch",
1774
1841
  "examples": [
1775
- "$ xano release delete v1.0\nAre you sure you want to delete release 'v1.0'? This action cannot be undone. (y/N) y\nDeleted release 'v1.0'\n",
1776
- "$ xano release delete v1.0 --force\nDeleted release 'v1.0'\n",
1777
- "$ xano release delete v1.0 -f -o json"
1842
+ "$ xano release deploy \"v1.0\"\nDeployed release \"v1.0\" to workspace 40 (branch: v1.0, set live)\n",
1843
+ "$ xano release deploy \"v1.0\" --branch \"restore-v1\" --no-set_live",
1844
+ "$ xano release deploy \"v1.0\" -w 40 -o json"
1778
1845
  ],
1779
1846
  "flags": {
1780
1847
  "profile": {
@@ -1796,13 +1863,14 @@
1796
1863
  "allowNo": false,
1797
1864
  "type": "boolean"
1798
1865
  },
1799
- "force": {
1800
- "char": "f",
1801
- "description": "Skip confirmation prompt",
1802
- "name": "force",
1866
+ "branch": {
1867
+ "char": "b",
1868
+ "description": "Branch label for the new branch (defaults to release branch name)",
1869
+ "name": "branch",
1803
1870
  "required": false,
1804
- "allowNo": false,
1805
- "type": "boolean"
1871
+ "hasDynamicHelp": false,
1872
+ "multiple": false,
1873
+ "type": "option"
1806
1874
  },
1807
1875
  "output": {
1808
1876
  "char": "o",
@@ -1818,6 +1886,13 @@
1818
1886
  ],
1819
1887
  "type": "option"
1820
1888
  },
1889
+ "set_live": {
1890
+ "description": "Set the new branch as live",
1891
+ "name": "set_live",
1892
+ "required": false,
1893
+ "allowNo": false,
1894
+ "type": "boolean"
1895
+ },
1821
1896
  "workspace": {
1822
1897
  "char": "w",
1823
1898
  "description": "Workspace ID (uses profile workspace if not provided)",
@@ -1830,7 +1905,7 @@
1830
1905
  },
1831
1906
  "hasDynamicHelp": false,
1832
1907
  "hiddenAliases": [],
1833
- "id": "release:delete",
1908
+ "id": "release:deploy",
1834
1909
  "pluginAlias": "@xano/cli",
1835
1910
  "pluginName": "@xano/cli",
1836
1911
  "pluginType": "core",
@@ -1841,24 +1916,23 @@
1841
1916
  "dist",
1842
1917
  "commands",
1843
1918
  "release",
1844
- "delete",
1919
+ "deploy",
1845
1920
  "index.js"
1846
1921
  ]
1847
1922
  },
1848
- "release:deploy": {
1923
+ "release:edit": {
1849
1924
  "aliases": [],
1850
1925
  "args": {
1851
1926
  "release_name": {
1852
- "description": "Name of the release to deploy",
1927
+ "description": "Release name to edit",
1853
1928
  "name": "release_name",
1854
1929
  "required": true
1855
1930
  }
1856
1931
  },
1857
- "description": "Deploy a release to its workspace as a new branch",
1932
+ "description": "Edit an existing release",
1858
1933
  "examples": [
1859
- "$ xano release deploy \"v1.0\"\nDeployed release \"v1.0\" to workspace 40 (branch: v1.0, set live)\n",
1860
- "$ xano release deploy \"v1.0\" --branch \"restore-v1\" --no-set_live",
1861
- "$ xano release deploy \"v1.0\" -w 40 -o json"
1934
+ "$ xano release edit v1.0 --name \"v1.0-final\" --description \"Updated description\"\nUpdated release: v1.0-final - ID: 10\n",
1935
+ "$ xano release edit v1.0 --description \"New description\" -o json"
1862
1936
  ],
1863
1937
  "flags": {
1864
1938
  "profile": {
@@ -1880,10 +1954,19 @@
1880
1954
  "allowNo": false,
1881
1955
  "type": "boolean"
1882
1956
  },
1883
- "branch": {
1884
- "char": "b",
1885
- "description": "Branch label for the new branch (defaults to release branch name)",
1886
- "name": "branch",
1957
+ "description": {
1958
+ "char": "d",
1959
+ "description": "New description",
1960
+ "name": "description",
1961
+ "required": false,
1962
+ "hasDynamicHelp": false,
1963
+ "multiple": false,
1964
+ "type": "option"
1965
+ },
1966
+ "name": {
1967
+ "char": "n",
1968
+ "description": "New name for the release",
1969
+ "name": "name",
1887
1970
  "required": false,
1888
1971
  "hasDynamicHelp": false,
1889
1972
  "multiple": false,
@@ -1903,13 +1986,6 @@
1903
1986
  ],
1904
1987
  "type": "option"
1905
1988
  },
1906
- "set_live": {
1907
- "description": "Set the new branch as live",
1908
- "name": "set_live",
1909
- "required": false,
1910
- "allowNo": false,
1911
- "type": "boolean"
1912
- },
1913
1989
  "workspace": {
1914
1990
  "char": "w",
1915
1991
  "description": "Workspace ID (uses profile workspace if not provided)",
@@ -1922,7 +1998,7 @@
1922
1998
  },
1923
1999
  "hasDynamicHelp": false,
1924
2000
  "hiddenAliases": [],
1925
- "id": "release:deploy",
2001
+ "id": "release:edit",
1926
2002
  "pluginAlias": "@xano/cli",
1927
2003
  "pluginName": "@xano/cli",
1928
2004
  "pluginType": "core",
@@ -1933,23 +2009,23 @@
1933
2009
  "dist",
1934
2010
  "commands",
1935
2011
  "release",
1936
- "deploy",
2012
+ "edit",
1937
2013
  "index.js"
1938
2014
  ]
1939
2015
  },
1940
- "release:edit": {
2016
+ "release:get": {
1941
2017
  "aliases": [],
1942
2018
  "args": {
1943
2019
  "release_name": {
1944
- "description": "Release name to edit",
2020
+ "description": "Release name to retrieve",
1945
2021
  "name": "release_name",
1946
2022
  "required": true
1947
2023
  }
1948
2024
  },
1949
- "description": "Edit an existing release",
2025
+ "description": "Get details of a specific release",
1950
2026
  "examples": [
1951
- "$ xano release edit v1.0 --name \"v1.0-final\" --description \"Updated description\"\nUpdated release: v1.0-final - ID: 10\n",
1952
- "$ xano release edit v1.0 --description \"New description\" -o json"
2027
+ "$ xano release get v1.0\nRelease: v1.0 - ID: 10\n Branch: main\n Description: Initial release\n Hotfix: false\n",
2028
+ "$ xano release get v1.0 -w 5 -o json"
1953
2029
  ],
1954
2030
  "flags": {
1955
2031
  "profile": {
@@ -1971,24 +2047,6 @@
1971
2047
  "allowNo": false,
1972
2048
  "type": "boolean"
1973
2049
  },
1974
- "description": {
1975
- "char": "d",
1976
- "description": "New description",
1977
- "name": "description",
1978
- "required": false,
1979
- "hasDynamicHelp": false,
1980
- "multiple": false,
1981
- "type": "option"
1982
- },
1983
- "name": {
1984
- "char": "n",
1985
- "description": "New name for the release",
1986
- "name": "name",
1987
- "required": false,
1988
- "hasDynamicHelp": false,
1989
- "multiple": false,
1990
- "type": "option"
1991
- },
1992
2050
  "output": {
1993
2051
  "char": "o",
1994
2052
  "description": "Output format",
@@ -2015,7 +2073,7 @@
2015
2073
  },
2016
2074
  "hasDynamicHelp": false,
2017
2075
  "hiddenAliases": [],
2018
- "id": "release:edit",
2076
+ "id": "release:get",
2019
2077
  "pluginAlias": "@xano/cli",
2020
2078
  "pluginName": "@xano/cli",
2021
2079
  "pluginType": "core",
@@ -2026,7 +2084,7 @@
2026
2084
  "dist",
2027
2085
  "commands",
2028
2086
  "release",
2029
- "edit",
2087
+ "get",
2030
2088
  "index.js"
2031
2089
  ]
2032
2090
  },
@@ -2114,19 +2172,13 @@
2114
2172
  "index.js"
2115
2173
  ]
2116
2174
  },
2117
- "release:get": {
2175
+ "release:import": {
2118
2176
  "aliases": [],
2119
- "args": {
2120
- "release_name": {
2121
- "description": "Release name to retrieve",
2122
- "name": "release_name",
2123
- "required": true
2124
- }
2125
- },
2126
- "description": "Get details of a specific release",
2177
+ "args": {},
2178
+ "description": "Import a release file into a workspace",
2127
2179
  "examples": [
2128
- "$ xano release get v1.0\nRelease: v1.0 - ID: 10\n Branch: main\n Description: Initial release\n Hotfix: false\n",
2129
- "$ xano release get v1.0 -w 5 -o json"
2180
+ "$ xano release import --file ./my-release.tar.gz\nImported release as #15\n",
2181
+ "$ xano release import --file ./my-release.tar.gz -o json"
2130
2182
  ],
2131
2183
  "flags": {
2132
2184
  "profile": {
@@ -2148,6 +2200,15 @@
2148
2200
  "allowNo": false,
2149
2201
  "type": "boolean"
2150
2202
  },
2203
+ "file": {
2204
+ "char": "f",
2205
+ "description": "Path to the release file (.tar.gz)",
2206
+ "name": "file",
2207
+ "required": true,
2208
+ "hasDynamicHelp": false,
2209
+ "multiple": false,
2210
+ "type": "option"
2211
+ },
2151
2212
  "output": {
2152
2213
  "char": "o",
2153
2214
  "description": "Output format",
@@ -2174,7 +2235,7 @@
2174
2235
  },
2175
2236
  "hasDynamicHelp": false,
2176
2237
  "hiddenAliases": [],
2177
- "id": "release:get",
2238
+ "id": "release:import",
2178
2239
  "pluginAlias": "@xano/cli",
2179
2240
  "pluginName": "@xano/cli",
2180
2241
  "pluginType": "core",
@@ -2185,17 +2246,17 @@
2185
2246
  "dist",
2186
2247
  "commands",
2187
2248
  "release",
2188
- "get",
2249
+ "import",
2189
2250
  "index.js"
2190
2251
  ]
2191
2252
  },
2192
- "release:import": {
2253
+ "release:list": {
2193
2254
  "aliases": [],
2194
2255
  "args": {},
2195
- "description": "Import a release file into a workspace",
2256
+ "description": "List all releases in a workspace",
2196
2257
  "examples": [
2197
- "$ xano release import --file ./my-release.tar.gz\nImported release as #15\n",
2198
- "$ xano release import --file ./my-release.tar.gz -o json"
2258
+ "$ xano release list\nReleases in workspace 5:\n - v1.0 (ID: 10) - main\n - v1.1-hotfix (ID: 11) - main [hotfix]\n",
2259
+ "$ xano release list -w 5 --output json"
2199
2260
  ],
2200
2261
  "flags": {
2201
2262
  "profile": {
@@ -2217,15 +2278,6 @@
2217
2278
  "allowNo": false,
2218
2279
  "type": "boolean"
2219
2280
  },
2220
- "file": {
2221
- "char": "f",
2222
- "description": "Path to the release file (.tar.gz)",
2223
- "name": "file",
2224
- "required": true,
2225
- "hasDynamicHelp": false,
2226
- "multiple": false,
2227
- "type": "option"
2228
- },
2229
2281
  "output": {
2230
2282
  "char": "o",
2231
2283
  "description": "Output format",
@@ -2252,7 +2304,7 @@
2252
2304
  },
2253
2305
  "hasDynamicHelp": false,
2254
2306
  "hiddenAliases": [],
2255
- "id": "release:import",
2307
+ "id": "release:list",
2256
2308
  "pluginAlias": "@xano/cli",
2257
2309
  "pluginName": "@xano/cli",
2258
2310
  "pluginType": "core",
@@ -2263,17 +2315,24 @@
2263
2315
  "dist",
2264
2316
  "commands",
2265
2317
  "release",
2266
- "import",
2318
+ "list",
2267
2319
  "index.js"
2268
2320
  ]
2269
2321
  },
2270
- "release:list": {
2322
+ "release:pull": {
2271
2323
  "aliases": [],
2272
- "args": {},
2273
- "description": "List all releases in a workspace",
2324
+ "args": {
2325
+ "directory": {
2326
+ "description": "Output directory for pulled documents",
2327
+ "name": "directory",
2328
+ "required": true
2329
+ }
2330
+ },
2331
+ "description": "Pull a release multidoc from the Xano Metadata API and split into individual files",
2274
2332
  "examples": [
2275
- "$ xano release list\nReleases in workspace 5:\n - v1.0 (ID: 10) - main\n - v1.1-hotfix (ID: 11) - main [hotfix]\n",
2276
- "$ xano release list -w 5 --output json"
2333
+ "$ xano release pull ./my-release -r v1.0\nPulled 42 documents from release 'v1.0' to ./my-release\n",
2334
+ "$ xano release pull ./output -r v1.0 -w 40\nPulled 15 documents from release 'v1.0' to ./output\n",
2335
+ "$ xano release pull ./backup -r v1.0 --profile production --env --records\nPulled 58 documents from release 'v1.0' to ./backup\n"
2277
2336
  ],
2278
2337
  "flags": {
2279
2338
  "profile": {
@@ -2295,23 +2354,32 @@
2295
2354
  "allowNo": false,
2296
2355
  "type": "boolean"
2297
2356
  },
2298
- "output": {
2299
- "char": "o",
2300
- "description": "Output format",
2301
- "name": "output",
2357
+ "env": {
2358
+ "description": "Include environment variables",
2359
+ "name": "env",
2302
2360
  "required": false,
2303
- "default": "summary",
2361
+ "allowNo": false,
2362
+ "type": "boolean"
2363
+ },
2364
+ "records": {
2365
+ "description": "Include records",
2366
+ "name": "records",
2367
+ "required": false,
2368
+ "allowNo": false,
2369
+ "type": "boolean"
2370
+ },
2371
+ "release": {
2372
+ "char": "r",
2373
+ "description": "Release name to pull from",
2374
+ "name": "release",
2375
+ "required": true,
2304
2376
  "hasDynamicHelp": false,
2305
2377
  "multiple": false,
2306
- "options": [
2307
- "summary",
2308
- "json"
2309
- ],
2310
2378
  "type": "option"
2311
2379
  },
2312
2380
  "workspace": {
2313
2381
  "char": "w",
2314
- "description": "Workspace ID (uses profile workspace if not provided)",
2382
+ "description": "Workspace ID (optional if set in profile)",
2315
2383
  "name": "workspace",
2316
2384
  "required": false,
2317
2385
  "hasDynamicHelp": false,
@@ -2321,7 +2389,7 @@
2321
2389
  },
2322
2390
  "hasDynamicHelp": false,
2323
2391
  "hiddenAliases": [],
2324
- "id": "release:list",
2392
+ "id": "release:pull",
2325
2393
  "pluginAlias": "@xano/cli",
2326
2394
  "pluginName": "@xano/cli",
2327
2395
  "pluginType": "core",
@@ -2332,24 +2400,24 @@
2332
2400
  "dist",
2333
2401
  "commands",
2334
2402
  "release",
2335
- "list",
2403
+ "pull",
2336
2404
  "index.js"
2337
2405
  ]
2338
2406
  },
2339
- "release:pull": {
2407
+ "release:delete": {
2340
2408
  "aliases": [],
2341
2409
  "args": {
2342
- "directory": {
2343
- "description": "Output directory for pulled documents",
2344
- "name": "directory",
2410
+ "release_name": {
2411
+ "description": "Release name to delete",
2412
+ "name": "release_name",
2345
2413
  "required": true
2346
2414
  }
2347
2415
  },
2348
- "description": "Pull a release multidoc from the Xano Metadata API and split into individual files",
2416
+ "description": "Delete a release permanently. This action cannot be undone.",
2349
2417
  "examples": [
2350
- "$ xano release pull ./my-release -r v1.0\nPulled 42 documents from release 'v1.0' to ./my-release\n",
2351
- "$ xano release pull ./output -r v1.0 -w 40\nPulled 15 documents from release 'v1.0' to ./output\n",
2352
- "$ xano release pull ./backup -r v1.0 --profile production --env --records\nPulled 58 documents from release 'v1.0' to ./backup\n"
2418
+ "$ xano release delete v1.0\nAre you sure you want to delete release 'v1.0'? This action cannot be undone. (y/N) y\nDeleted release 'v1.0'\n",
2419
+ "$ xano release delete v1.0 --force\nDeleted release 'v1.0'\n",
2420
+ "$ xano release delete v1.0 -f -o json"
2353
2421
  ],
2354
2422
  "flags": {
2355
2423
  "profile": {
@@ -2371,32 +2439,31 @@
2371
2439
  "allowNo": false,
2372
2440
  "type": "boolean"
2373
2441
  },
2374
- "env": {
2375
- "description": "Include environment variables",
2376
- "name": "env",
2442
+ "force": {
2443
+ "char": "f",
2444
+ "description": "Skip confirmation prompt",
2445
+ "name": "force",
2377
2446
  "required": false,
2378
2447
  "allowNo": false,
2379
2448
  "type": "boolean"
2380
2449
  },
2381
- "records": {
2382
- "description": "Include records",
2383
- "name": "records",
2450
+ "output": {
2451
+ "char": "o",
2452
+ "description": "Output format",
2453
+ "name": "output",
2384
2454
  "required": false,
2385
- "allowNo": false,
2386
- "type": "boolean"
2387
- },
2388
- "release": {
2389
- "char": "r",
2390
- "description": "Release name to pull from",
2391
- "name": "release",
2392
- "required": true,
2455
+ "default": "summary",
2393
2456
  "hasDynamicHelp": false,
2394
2457
  "multiple": false,
2458
+ "options": [
2459
+ "summary",
2460
+ "json"
2461
+ ],
2395
2462
  "type": "option"
2396
2463
  },
2397
2464
  "workspace": {
2398
2465
  "char": "w",
2399
- "description": "Workspace ID (optional if set in profile)",
2466
+ "description": "Workspace ID (uses profile workspace if not provided)",
2400
2467
  "name": "workspace",
2401
2468
  "required": false,
2402
2469
  "hasDynamicHelp": false,
@@ -2406,7 +2473,7 @@
2406
2473
  },
2407
2474
  "hasDynamicHelp": false,
2408
2475
  "hiddenAliases": [],
2409
- "id": "release:pull",
2476
+ "id": "release:delete",
2410
2477
  "pluginAlias": "@xano/cli",
2411
2478
  "pluginName": "@xano/cli",
2412
2479
  "pluginType": "core",
@@ -2417,7 +2484,7 @@
2417
2484
  "dist",
2418
2485
  "commands",
2419
2486
  "release",
2420
- "pull",
2487
+ "delete",
2421
2488
  "index.js"
2422
2489
  ]
2423
2490
  },
@@ -2593,66 +2660,6 @@
2593
2660
  "index.js"
2594
2661
  ]
2595
2662
  },
2596
- "sandbox:get": {
2597
- "aliases": [],
2598
- "args": {},
2599
- "description": "Get your sandbox environment (creates one if it does not exist)",
2600
- "examples": [
2601
- "$ xano sandbox get\nSandbox Environment: (tc24-abcd-x1y2)\n State: ok\n License: tier1\n",
2602
- "$ xano sandbox get -o json"
2603
- ],
2604
- "flags": {
2605
- "profile": {
2606
- "char": "p",
2607
- "description": "Profile to use (uses default profile if not specified)",
2608
- "env": "XANO_PROFILE",
2609
- "name": "profile",
2610
- "required": false,
2611
- "hasDynamicHelp": false,
2612
- "multiple": false,
2613
- "type": "option"
2614
- },
2615
- "verbose": {
2616
- "char": "v",
2617
- "description": "Show detailed request/response information",
2618
- "env": "XANO_VERBOSE",
2619
- "name": "verbose",
2620
- "required": false,
2621
- "allowNo": false,
2622
- "type": "boolean"
2623
- },
2624
- "output": {
2625
- "char": "o",
2626
- "description": "Output format",
2627
- "name": "output",
2628
- "required": false,
2629
- "default": "summary",
2630
- "hasDynamicHelp": false,
2631
- "multiple": false,
2632
- "options": [
2633
- "summary",
2634
- "json"
2635
- ],
2636
- "type": "option"
2637
- }
2638
- },
2639
- "hasDynamicHelp": false,
2640
- "hiddenAliases": [],
2641
- "id": "sandbox:get",
2642
- "pluginAlias": "@xano/cli",
2643
- "pluginName": "@xano/cli",
2644
- "pluginType": "core",
2645
- "strict": true,
2646
- "enableJsonFlag": false,
2647
- "isESM": true,
2648
- "relativePath": [
2649
- "dist",
2650
- "commands",
2651
- "sandbox",
2652
- "get",
2653
- "index.js"
2654
- ]
2655
- },
2656
2663
  "sandbox:impersonate": {
2657
2664
  "aliases": [],
2658
2665
  "args": {},
@@ -2796,20 +2803,13 @@
2796
2803
  "index.js"
2797
2804
  ]
2798
2805
  },
2799
- "sandbox:push": {
2806
+ "sandbox:get": {
2800
2807
  "aliases": [],
2801
- "args": {
2802
- "directory": {
2803
- "description": "Directory containing documents to push (as produced by sandbox pull or workspace pull)",
2804
- "name": "directory",
2805
- "required": true
2806
- }
2807
- },
2808
- "description": "Push local documents to your sandbox environment via multidoc import",
2808
+ "args": {},
2809
+ "description": "Get your sandbox environment (creates one if it does not exist)",
2809
2810
  "examples": [
2810
- "$ xano sandbox push ./my-workspace\nPushed 42 documents to sandbox environment from ./my-workspace\n",
2811
- "$ xano sandbox push ./backup --records --env",
2812
- "$ xano sandbox push ./my-workspace --truncate"
2811
+ "$ xano sandbox get\nSandbox Environment: (tc24-abcd-x1y2)\n State: ok\n License: tier1\n",
2812
+ "$ xano sandbox get -o json"
2813
2813
  ],
2814
2814
  "flags": {
2815
2815
  "profile": {
@@ -2831,8 +2831,75 @@
2831
2831
  "allowNo": false,
2832
2832
  "type": "boolean"
2833
2833
  },
2834
- "env": {
2835
- "description": "Include environment variables in import",
2834
+ "output": {
2835
+ "char": "o",
2836
+ "description": "Output format",
2837
+ "name": "output",
2838
+ "required": false,
2839
+ "default": "summary",
2840
+ "hasDynamicHelp": false,
2841
+ "multiple": false,
2842
+ "options": [
2843
+ "summary",
2844
+ "json"
2845
+ ],
2846
+ "type": "option"
2847
+ }
2848
+ },
2849
+ "hasDynamicHelp": false,
2850
+ "hiddenAliases": [],
2851
+ "id": "sandbox:get",
2852
+ "pluginAlias": "@xano/cli",
2853
+ "pluginName": "@xano/cli",
2854
+ "pluginType": "core",
2855
+ "strict": true,
2856
+ "enableJsonFlag": false,
2857
+ "isESM": true,
2858
+ "relativePath": [
2859
+ "dist",
2860
+ "commands",
2861
+ "sandbox",
2862
+ "get",
2863
+ "index.js"
2864
+ ]
2865
+ },
2866
+ "sandbox:push": {
2867
+ "aliases": [],
2868
+ "args": {
2869
+ "directory": {
2870
+ "description": "Directory containing documents to push (as produced by sandbox pull or workspace pull)",
2871
+ "name": "directory",
2872
+ "required": true
2873
+ }
2874
+ },
2875
+ "description": "Push local documents to your sandbox environment via multidoc import",
2876
+ "examples": [
2877
+ "$ xano sandbox push ./my-workspace\nPushed 42 documents to sandbox environment from ./my-workspace\n",
2878
+ "$ xano sandbox push ./backup --records --env",
2879
+ "$ xano sandbox push ./my-workspace --truncate"
2880
+ ],
2881
+ "flags": {
2882
+ "profile": {
2883
+ "char": "p",
2884
+ "description": "Profile to use (uses default profile if not specified)",
2885
+ "env": "XANO_PROFILE",
2886
+ "name": "profile",
2887
+ "required": false,
2888
+ "hasDynamicHelp": false,
2889
+ "multiple": false,
2890
+ "type": "option"
2891
+ },
2892
+ "verbose": {
2893
+ "char": "v",
2894
+ "description": "Show detailed request/response information",
2895
+ "env": "XANO_VERBOSE",
2896
+ "name": "verbose",
2897
+ "required": false,
2898
+ "allowNo": false,
2899
+ "type": "boolean"
2900
+ },
2901
+ "env": {
2902
+ "description": "Include environment variables in import",
2836
2903
  "name": "env",
2837
2904
  "required": false,
2838
2905
  "allowNo": false,
@@ -3089,6 +3156,90 @@
3089
3156
  "index.js"
3090
3157
  ]
3091
3158
  },
3159
+ "tenant:delete": {
3160
+ "aliases": [],
3161
+ "args": {
3162
+ "tenant_name": {
3163
+ "description": "Tenant name to delete",
3164
+ "name": "tenant_name",
3165
+ "required": true
3166
+ }
3167
+ },
3168
+ "description": "Delete a tenant permanently. This destroys all associated infrastructure and cannot be undone.",
3169
+ "examples": [
3170
+ "$ 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",
3171
+ "$ xano tenant delete t1234-abcd-xyz1 --force\nDeleted tenant t1234-abcd-xyz1\n",
3172
+ "$ xano tenant delete t1234-abcd-xyz1 -f -o json"
3173
+ ],
3174
+ "flags": {
3175
+ "profile": {
3176
+ "char": "p",
3177
+ "description": "Profile to use (uses default profile if not specified)",
3178
+ "env": "XANO_PROFILE",
3179
+ "name": "profile",
3180
+ "required": false,
3181
+ "hasDynamicHelp": false,
3182
+ "multiple": false,
3183
+ "type": "option"
3184
+ },
3185
+ "verbose": {
3186
+ "char": "v",
3187
+ "description": "Show detailed request/response information",
3188
+ "env": "XANO_VERBOSE",
3189
+ "name": "verbose",
3190
+ "required": false,
3191
+ "allowNo": false,
3192
+ "type": "boolean"
3193
+ },
3194
+ "force": {
3195
+ "char": "f",
3196
+ "description": "Skip confirmation prompt",
3197
+ "name": "force",
3198
+ "required": false,
3199
+ "allowNo": false,
3200
+ "type": "boolean"
3201
+ },
3202
+ "output": {
3203
+ "char": "o",
3204
+ "description": "Output format",
3205
+ "name": "output",
3206
+ "required": false,
3207
+ "default": "summary",
3208
+ "hasDynamicHelp": false,
3209
+ "multiple": false,
3210
+ "options": [
3211
+ "summary",
3212
+ "json"
3213
+ ],
3214
+ "type": "option"
3215
+ },
3216
+ "workspace": {
3217
+ "char": "w",
3218
+ "description": "Workspace ID (uses profile workspace if not provided)",
3219
+ "name": "workspace",
3220
+ "required": false,
3221
+ "hasDynamicHelp": false,
3222
+ "multiple": false,
3223
+ "type": "option"
3224
+ }
3225
+ },
3226
+ "hasDynamicHelp": false,
3227
+ "hiddenAliases": [],
3228
+ "id": "tenant:delete",
3229
+ "pluginAlias": "@xano/cli",
3230
+ "pluginName": "@xano/cli",
3231
+ "pluginType": "core",
3232
+ "strict": true,
3233
+ "enableJsonFlag": false,
3234
+ "isESM": true,
3235
+ "relativePath": [
3236
+ "dist",
3237
+ "commands",
3238
+ "tenant",
3239
+ "delete",
3240
+ "index.js"
3241
+ ]
3242
+ },
3092
3243
  "tenant:create": {
3093
3244
  "aliases": [],
3094
3245
  "args": {
@@ -3233,7 +3384,7 @@
3233
3384
  "index.js"
3234
3385
  ]
3235
3386
  },
3236
- "tenant:deploy_platform": {
3387
+ "tenant:deploy_release": {
3237
3388
  "aliases": [],
3238
3389
  "args": {
3239
3390
  "tenant_name": {
@@ -3242,11 +3393,10 @@
3242
3393
  "required": true
3243
3394
  }
3244
3395
  },
3245
- "description": "Deploy a platform version to a tenant",
3396
+ "description": "Deploy a release to a tenant",
3246
3397
  "examples": [
3247
- "$ xano tenant deploy_platform t1234-abcd-xyz1 --platform_id 5\nDeployed platform 5 to tenant: My Tenant (my-tenant)\n",
3248
- "$ xano tenant deploy_platform t1234-abcd-xyz1 --platform_id 5 -o json",
3249
- "$ xano tenant deploy_platform t1234-abcd-xyz1 --platform_id 5 --license ./license.yaml"
3398
+ "$ xano tenant deploy_release t1234-abcd-xyz1 --release v1.0\nDeployed release \"v1.0\" to tenant: My Tenant (my-tenant)\n",
3399
+ "$ xano tenant deploy_release t1234-abcd-xyz1 --release v1.0 -o json"
3250
3400
  ],
3251
3401
  "flags": {
3252
3402
  "profile": {
@@ -3268,15 +3418,6 @@
3268
3418
  "allowNo": false,
3269
3419
  "type": "boolean"
3270
3420
  },
3271
- "license": {
3272
- "char": "l",
3273
- "description": "Path to a license override file to apply after deploy",
3274
- "name": "license",
3275
- "required": false,
3276
- "hasDynamicHelp": false,
3277
- "multiple": false,
3278
- "type": "option"
3279
- },
3280
3421
  "output": {
3281
3422
  "char": "o",
3282
3423
  "description": "Output format",
@@ -3291,9 +3432,10 @@
3291
3432
  ],
3292
3433
  "type": "option"
3293
3434
  },
3294
- "platform_id": {
3295
- "description": "Platform ID to deploy",
3296
- "name": "platform_id",
3435
+ "release": {
3436
+ "char": "r",
3437
+ "description": "Release name to deploy",
3438
+ "name": "release",
3297
3439
  "required": true,
3298
3440
  "hasDynamicHelp": false,
3299
3441
  "multiple": false,
@@ -3311,7 +3453,7 @@
3311
3453
  },
3312
3454
  "hasDynamicHelp": false,
3313
3455
  "hiddenAliases": [],
3314
- "id": "tenant:deploy_platform",
3456
+ "id": "tenant:deploy_release",
3315
3457
  "pluginAlias": "@xano/cli",
3316
3458
  "pluginName": "@xano/cli",
3317
3459
  "pluginType": "core",
@@ -3322,24 +3464,23 @@
3322
3464
  "dist",
3323
3465
  "commands",
3324
3466
  "tenant",
3325
- "deploy_platform",
3467
+ "deploy_release",
3326
3468
  "index.js"
3327
3469
  ]
3328
3470
  },
3329
- "tenant:delete": {
3471
+ "tenant:edit": {
3330
3472
  "aliases": [],
3331
3473
  "args": {
3332
3474
  "tenant_name": {
3333
- "description": "Tenant name to delete",
3475
+ "description": "Tenant name to edit",
3334
3476
  "name": "tenant_name",
3335
3477
  "required": true
3336
3478
  }
3337
3479
  },
3338
- "description": "Delete a tenant permanently. This destroys all associated infrastructure and cannot be undone.",
3480
+ "description": "Edit an existing tenant",
3339
3481
  "examples": [
3340
- "$ 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",
3341
- "$ xano tenant delete t1234-abcd-xyz1 --force\nDeleted tenant t1234-abcd-xyz1\n",
3342
- "$ xano tenant delete t1234-abcd-xyz1 -f -o json"
3482
+ "$ xano tenant edit t1234-abcd-xyz1 --display \"New Name\" --description \"Updated description\"\nUpdated tenant: New Name (my-tenant) - ID: 42\n",
3483
+ "$ xano tenant edit t1234-abcd-xyz1 --no-tasks --no-ingress -o json"
3343
3484
  ],
3344
3485
  "flags": {
3345
3486
  "profile": {
@@ -3361,12 +3502,36 @@
3361
3502
  "allowNo": false,
3362
3503
  "type": "boolean"
3363
3504
  },
3364
- "force": {
3365
- "char": "f",
3366
- "description": "Skip confirmation prompt",
3367
- "name": "force",
3505
+ "description": {
3506
+ "char": "d",
3507
+ "description": "New description",
3508
+ "name": "description",
3368
3509
  "required": false,
3369
- "allowNo": false,
3510
+ "hasDynamicHelp": false,
3511
+ "multiple": false,
3512
+ "type": "option"
3513
+ },
3514
+ "display": {
3515
+ "description": "New display name",
3516
+ "name": "display",
3517
+ "required": false,
3518
+ "hasDynamicHelp": false,
3519
+ "multiple": false,
3520
+ "type": "option"
3521
+ },
3522
+ "domain": {
3523
+ "description": "Custom domain",
3524
+ "name": "domain",
3525
+ "required": false,
3526
+ "hasDynamicHelp": false,
3527
+ "multiple": false,
3528
+ "type": "option"
3529
+ },
3530
+ "ingress": {
3531
+ "description": "Enable/disable ingress",
3532
+ "name": "ingress",
3533
+ "required": false,
3534
+ "allowNo": true,
3370
3535
  "type": "boolean"
3371
3536
  },
3372
3537
  "output": {
@@ -3383,6 +3548,28 @@
3383
3548
  ],
3384
3549
  "type": "option"
3385
3550
  },
3551
+ "proxy": {
3552
+ "description": "Proxy URL",
3553
+ "name": "proxy",
3554
+ "required": false,
3555
+ "hasDynamicHelp": false,
3556
+ "multiple": false,
3557
+ "type": "option"
3558
+ },
3559
+ "rbac": {
3560
+ "description": "Enable/disable RBAC",
3561
+ "name": "rbac",
3562
+ "required": false,
3563
+ "allowNo": true,
3564
+ "type": "boolean"
3565
+ },
3566
+ "tasks": {
3567
+ "description": "Enable/disable background tasks",
3568
+ "name": "tasks",
3569
+ "required": false,
3570
+ "allowNo": true,
3571
+ "type": "boolean"
3572
+ },
3386
3573
  "workspace": {
3387
3574
  "char": "w",
3388
3575
  "description": "Workspace ID (uses profile workspace if not provided)",
@@ -3395,7 +3582,7 @@
3395
3582
  },
3396
3583
  "hasDynamicHelp": false,
3397
3584
  "hiddenAliases": [],
3398
- "id": "tenant:delete",
3585
+ "id": "tenant:edit",
3399
3586
  "pluginAlias": "@xano/cli",
3400
3587
  "pluginName": "@xano/cli",
3401
3588
  "pluginType": "core",
@@ -3406,23 +3593,23 @@
3406
3593
  "dist",
3407
3594
  "commands",
3408
3595
  "tenant",
3409
- "delete",
3596
+ "edit",
3410
3597
  "index.js"
3411
3598
  ]
3412
3599
  },
3413
- "tenant:deploy_release": {
3600
+ "tenant:get": {
3414
3601
  "aliases": [],
3415
3602
  "args": {
3416
3603
  "tenant_name": {
3417
- "description": "Tenant name to deploy to",
3604
+ "description": "Tenant name to retrieve",
3418
3605
  "name": "tenant_name",
3419
3606
  "required": true
3420
3607
  }
3421
3608
  },
3422
- "description": "Deploy a release to a tenant",
3609
+ "description": "Get details of a specific tenant",
3423
3610
  "examples": [
3424
- "$ xano tenant deploy_release t1234-abcd-xyz1 --release v1.0\nDeployed release \"v1.0\" to tenant: My Tenant (my-tenant)\n",
3425
- "$ xano tenant deploy_release t1234-abcd-xyz1 --release v1.0 -o json"
3611
+ "$ 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",
3612
+ "$ xano tenant get t1234-abcd-xyz1 -w 5 -o json"
3426
3613
  ],
3427
3614
  "flags": {
3428
3615
  "profile": {
@@ -3458,15 +3645,6 @@
3458
3645
  ],
3459
3646
  "type": "option"
3460
3647
  },
3461
- "release": {
3462
- "char": "r",
3463
- "description": "Release name to deploy",
3464
- "name": "release",
3465
- "required": true,
3466
- "hasDynamicHelp": false,
3467
- "multiple": false,
3468
- "type": "option"
3469
- },
3470
3648
  "workspace": {
3471
3649
  "char": "w",
3472
3650
  "description": "Workspace ID (uses profile workspace if not provided)",
@@ -3479,7 +3657,7 @@
3479
3657
  },
3480
3658
  "hasDynamicHelp": false,
3481
3659
  "hiddenAliases": [],
3482
- "id": "tenant:deploy_release",
3660
+ "id": "tenant:get",
3483
3661
  "pluginAlias": "@xano/cli",
3484
3662
  "pluginName": "@xano/cli",
3485
3663
  "pluginType": "core",
@@ -3490,23 +3668,24 @@
3490
3668
  "dist",
3491
3669
  "commands",
3492
3670
  "tenant",
3493
- "deploy_release",
3671
+ "get",
3494
3672
  "index.js"
3495
3673
  ]
3496
3674
  },
3497
- "tenant:edit": {
3675
+ "tenant:deploy_platform": {
3498
3676
  "aliases": [],
3499
3677
  "args": {
3500
3678
  "tenant_name": {
3501
- "description": "Tenant name to edit",
3679
+ "description": "Tenant name to deploy to",
3502
3680
  "name": "tenant_name",
3503
3681
  "required": true
3504
3682
  }
3505
3683
  },
3506
- "description": "Edit an existing tenant",
3684
+ "description": "Deploy a platform version to a tenant",
3507
3685
  "examples": [
3508
- "$ xano tenant edit t1234-abcd-xyz1 --display \"New Name\" --description \"Updated description\"\nUpdated tenant: New Name (my-tenant) - ID: 42\n",
3509
- "$ xano tenant edit t1234-abcd-xyz1 --no-tasks --no-ingress -o json"
3686
+ "$ xano tenant deploy_platform t1234-abcd-xyz1 --platform_id 5\nDeployed platform 5 to tenant: My Tenant (my-tenant)\n",
3687
+ "$ xano tenant deploy_platform t1234-abcd-xyz1 --platform_id 5 -o json",
3688
+ "$ xano tenant deploy_platform t1234-abcd-xyz1 --platform_id 5 --license ./license.yaml"
3510
3689
  ],
3511
3690
  "flags": {
3512
3691
  "profile": {
@@ -3528,38 +3707,15 @@
3528
3707
  "allowNo": false,
3529
3708
  "type": "boolean"
3530
3709
  },
3531
- "description": {
3532
- "char": "d",
3533
- "description": "New description",
3534
- "name": "description",
3535
- "required": false,
3536
- "hasDynamicHelp": false,
3537
- "multiple": false,
3538
- "type": "option"
3539
- },
3540
- "display": {
3541
- "description": "New display name",
3542
- "name": "display",
3543
- "required": false,
3544
- "hasDynamicHelp": false,
3545
- "multiple": false,
3546
- "type": "option"
3547
- },
3548
- "domain": {
3549
- "description": "Custom domain",
3550
- "name": "domain",
3710
+ "license": {
3711
+ "char": "l",
3712
+ "description": "Path to a license override file to apply after deploy",
3713
+ "name": "license",
3551
3714
  "required": false,
3552
3715
  "hasDynamicHelp": false,
3553
3716
  "multiple": false,
3554
3717
  "type": "option"
3555
3718
  },
3556
- "ingress": {
3557
- "description": "Enable/disable ingress",
3558
- "name": "ingress",
3559
- "required": false,
3560
- "allowNo": true,
3561
- "type": "boolean"
3562
- },
3563
3719
  "output": {
3564
3720
  "char": "o",
3565
3721
  "description": "Output format",
@@ -3574,28 +3730,14 @@
3574
3730
  ],
3575
3731
  "type": "option"
3576
3732
  },
3577
- "proxy": {
3578
- "description": "Proxy URL",
3579
- "name": "proxy",
3580
- "required": false,
3733
+ "platform_id": {
3734
+ "description": "Platform ID to deploy",
3735
+ "name": "platform_id",
3736
+ "required": true,
3581
3737
  "hasDynamicHelp": false,
3582
3738
  "multiple": false,
3583
3739
  "type": "option"
3584
3740
  },
3585
- "rbac": {
3586
- "description": "Enable/disable RBAC",
3587
- "name": "rbac",
3588
- "required": false,
3589
- "allowNo": true,
3590
- "type": "boolean"
3591
- },
3592
- "tasks": {
3593
- "description": "Enable/disable background tasks",
3594
- "name": "tasks",
3595
- "required": false,
3596
- "allowNo": true,
3597
- "type": "boolean"
3598
- },
3599
3741
  "workspace": {
3600
3742
  "char": "w",
3601
3743
  "description": "Workspace ID (uses profile workspace if not provided)",
@@ -3608,7 +3750,7 @@
3608
3750
  },
3609
3751
  "hasDynamicHelp": false,
3610
3752
  "hiddenAliases": [],
3611
- "id": "tenant:edit",
3753
+ "id": "tenant:deploy_platform",
3612
3754
  "pluginAlias": "@xano/cli",
3613
3755
  "pluginName": "@xano/cli",
3614
3756
  "pluginType": "core",
@@ -3619,23 +3761,23 @@
3619
3761
  "dist",
3620
3762
  "commands",
3621
3763
  "tenant",
3622
- "edit",
3764
+ "deploy_platform",
3623
3765
  "index.js"
3624
3766
  ]
3625
3767
  },
3626
- "tenant:get": {
3768
+ "tenant:impersonate": {
3627
3769
  "aliases": [],
3628
3770
  "args": {
3629
3771
  "tenant_name": {
3630
- "description": "Tenant name to retrieve",
3772
+ "description": "Tenant name to impersonate",
3631
3773
  "name": "tenant_name",
3632
3774
  "required": true
3633
3775
  }
3634
3776
  },
3635
- "description": "Get details of a specific tenant",
3777
+ "description": "Impersonate a tenant and open it in the browser",
3636
3778
  "examples": [
3637
- "$ 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",
3638
- "$ xano tenant get t1234-abcd-xyz1 -w 5 -o json"
3779
+ "$ xano tenant impersonate my-tenant\nOpening browser...\nImpersonation successful!\n",
3780
+ "$ xano tenant impersonate my-tenant -o json"
3639
3781
  ],
3640
3782
  "flags": {
3641
3783
  "profile": {
@@ -3671,6 +3813,14 @@
3671
3813
  ],
3672
3814
  "type": "option"
3673
3815
  },
3816
+ "url-only": {
3817
+ "char": "u",
3818
+ "description": "Print the URL without opening the browser",
3819
+ "name": "url-only",
3820
+ "required": false,
3821
+ "allowNo": false,
3822
+ "type": "boolean"
3823
+ },
3674
3824
  "workspace": {
3675
3825
  "char": "w",
3676
3826
  "description": "Workspace ID (uses profile workspace if not provided)",
@@ -3683,7 +3833,7 @@
3683
3833
  },
3684
3834
  "hasDynamicHelp": false,
3685
3835
  "hiddenAliases": [],
3686
- "id": "tenant:get",
3836
+ "id": "tenant:impersonate",
3687
3837
  "pluginAlias": "@xano/cli",
3688
3838
  "pluginName": "@xano/cli",
3689
3839
  "pluginType": "core",
@@ -3694,23 +3844,17 @@
3694
3844
  "dist",
3695
3845
  "commands",
3696
3846
  "tenant",
3697
- "get",
3847
+ "impersonate",
3698
3848
  "index.js"
3699
3849
  ]
3700
3850
  },
3701
- "tenant:impersonate": {
3851
+ "tenant:list": {
3702
3852
  "aliases": [],
3703
- "args": {
3704
- "tenant_name": {
3705
- "description": "Tenant name to impersonate",
3706
- "name": "tenant_name",
3707
- "required": true
3708
- }
3709
- },
3710
- "description": "Impersonate a tenant and open it in the browser",
3853
+ "args": {},
3854
+ "description": "List all tenants in a workspace",
3711
3855
  "examples": [
3712
- "$ xano tenant impersonate my-tenant\nOpening browser...\nImpersonation successful!\n",
3713
- "$ xano tenant impersonate my-tenant -o json"
3856
+ "$ xano tenant list\nTenants in workspace 5:\n - My Tenant (my-tenant) [ok] - tier1\n Cluster: us-central\n Release: r1\n Platform: default\n - Staging (staging) [ok] - tier1\n Cluster: us-central\n Release: r1\n",
3857
+ "$ xano tenant list -w 5 --output json"
3714
3858
  ],
3715
3859
  "flags": {
3716
3860
  "profile": {
@@ -3746,14 +3890,6 @@
3746
3890
  ],
3747
3891
  "type": "option"
3748
3892
  },
3749
- "url-only": {
3750
- "char": "u",
3751
- "description": "Print the URL without opening the browser",
3752
- "name": "url-only",
3753
- "required": false,
3754
- "allowNo": false,
3755
- "type": "boolean"
3756
- },
3757
3893
  "workspace": {
3758
3894
  "char": "w",
3759
3895
  "description": "Workspace ID (uses profile workspace if not provided)",
@@ -3766,7 +3902,7 @@
3766
3902
  },
3767
3903
  "hasDynamicHelp": false,
3768
3904
  "hiddenAliases": [],
3769
- "id": "tenant:impersonate",
3905
+ "id": "tenant:list",
3770
3906
  "pluginAlias": "@xano/cli",
3771
3907
  "pluginName": "@xano/cli",
3772
3908
  "pluginType": "core",
@@ -3777,24 +3913,27 @@
3777
3913
  "dist",
3778
3914
  "commands",
3779
3915
  "tenant",
3780
- "impersonate",
3916
+ "list",
3781
3917
  "index.js"
3782
3918
  ]
3783
3919
  },
3784
- "branch:list": {
3920
+ "tenant:push": {
3785
3921
  "aliases": [],
3786
3922
  "args": {
3787
- "workspace_id": {
3788
- "description": "Workspace ID (uses profile workspace if not provided)",
3789
- "name": "workspace_id",
3790
- "required": false
3923
+ "directory": {
3924
+ "description": "Directory containing documents to push (as produced by tenant pull or workspace pull)",
3925
+ "name": "directory",
3926
+ "required": true
3791
3927
  }
3792
3928
  },
3793
- "description": "List all branches in a workspace",
3929
+ "description": "Push local documents to a tenant via the Xano Metadata API multidoc endpoint",
3794
3930
  "examples": [
3795
- "$ xano branch list\nAvailable branches:\n - v1 (live)\n - dev\n - staging\n",
3796
- "$ xano branch list 123\nAvailable branches:\n - v1 (live)\n - feature-auth\n",
3797
- "$ xano branch list --output json\n[\n {\n \"created_at\": \"2024-01-15T10:30:00Z\",\n \"label\": \"v1\",\n \"backup\": false,\n \"live\": true\n }\n]\n"
3931
+ "$ xano tenant push ./my-workspace -t my-tenant\nPushed 42 documents to tenant my-tenant from ./my-workspace\n",
3932
+ "$ xano tenant push ./output -t my-tenant -w 40\nPushed 15 documents to tenant my-tenant from ./output\n",
3933
+ "$ xano tenant push ./backup -t my-tenant --profile production\nPushed 58 documents to tenant my-tenant from ./backup\n",
3934
+ "$ xano tenant push ./my-workspace -t my-tenant --records\nInclude table records in import\n",
3935
+ "$ xano tenant push ./my-workspace -t my-tenant --env\nInclude environment variables in import\n",
3936
+ "$ xano tenant push ./my-workspace -t my-tenant --truncate\nTruncate all table records before importing\n"
3798
3937
  ],
3799
3938
  "flags": {
3800
3939
  "profile": {
@@ -3816,24 +3955,56 @@
3816
3955
  "allowNo": false,
3817
3956
  "type": "boolean"
3818
3957
  },
3819
- "output": {
3820
- "char": "o",
3821
- "description": "Output format",
3822
- "name": "output",
3958
+ "env": {
3959
+ "description": "Include environment variables in import",
3960
+ "name": "env",
3961
+ "required": false,
3962
+ "allowNo": false,
3963
+ "type": "boolean"
3964
+ },
3965
+ "records": {
3966
+ "description": "Include records in import",
3967
+ "name": "records",
3968
+ "required": false,
3969
+ "allowNo": false,
3970
+ "type": "boolean"
3971
+ },
3972
+ "tenant": {
3973
+ "char": "t",
3974
+ "description": "Tenant name to push to",
3975
+ "name": "tenant",
3976
+ "required": true,
3977
+ "hasDynamicHelp": false,
3978
+ "multiple": false,
3979
+ "type": "option"
3980
+ },
3981
+ "transaction": {
3982
+ "description": "Wrap import in a database transaction (use --no-transaction for debugging purposes)",
3983
+ "name": "transaction",
3984
+ "required": false,
3985
+ "allowNo": true,
3986
+ "type": "boolean"
3987
+ },
3988
+ "truncate": {
3989
+ "description": "Truncate all table records before importing",
3990
+ "name": "truncate",
3991
+ "required": false,
3992
+ "allowNo": false,
3993
+ "type": "boolean"
3994
+ },
3995
+ "workspace": {
3996
+ "char": "w",
3997
+ "description": "Workspace ID (optional if set in profile)",
3998
+ "name": "workspace",
3823
3999
  "required": false,
3824
- "default": "summary",
3825
4000
  "hasDynamicHelp": false,
3826
4001
  "multiple": false,
3827
- "options": [
3828
- "summary",
3829
- "json"
3830
- ],
3831
4002
  "type": "option"
3832
4003
  }
3833
4004
  },
3834
4005
  "hasDynamicHelp": false,
3835
4006
  "hiddenAliases": [],
3836
- "id": "branch:list",
4007
+ "id": "tenant:push",
3837
4008
  "pluginAlias": "@xano/cli",
3838
4009
  "pluginName": "@xano/cli",
3839
4010
  "pluginType": "core",
@@ -3843,18 +4014,19 @@
3843
4014
  "relativePath": [
3844
4015
  "dist",
3845
4016
  "commands",
3846
- "branch",
3847
- "list",
4017
+ "tenant",
4018
+ "push",
3848
4019
  "index.js"
3849
4020
  ]
3850
4021
  },
3851
- "tenant:list": {
4022
+ "unit_test:list": {
3852
4023
  "aliases": [],
3853
4024
  "args": {},
3854
- "description": "List all tenants in a workspace",
4025
+ "description": "List all unit tests in a workspace",
3855
4026
  "examples": [
3856
- "$ xano tenant list\nTenants in workspace 5:\n - My Tenant (my-tenant) [ok] - tier1\n Cluster: us-central\n Release: r1\n Platform: default\n - Staging (staging) [ok] - tier1\n Cluster: us-central\n Release: r1\n",
3857
- "$ xano tenant list -w 5 --output json"
4027
+ "$ 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",
4028
+ "$ xano unit-test list -w 5 --output json",
4029
+ "$ xano unit-test list --obj-type function"
3858
4030
  ],
3859
4031
  "flags": {
3860
4032
  "profile": {
@@ -3876,6 +4048,28 @@
3876
4048
  "allowNo": false,
3877
4049
  "type": "boolean"
3878
4050
  },
4051
+ "branch": {
4052
+ "char": "b",
4053
+ "description": "Filter by branch name",
4054
+ "name": "branch",
4055
+ "required": false,
4056
+ "hasDynamicHelp": false,
4057
+ "multiple": false,
4058
+ "type": "option"
4059
+ },
4060
+ "obj-type": {
4061
+ "description": "Filter by object type",
4062
+ "name": "obj-type",
4063
+ "required": false,
4064
+ "hasDynamicHelp": false,
4065
+ "multiple": false,
4066
+ "options": [
4067
+ "function",
4068
+ "query",
4069
+ "middleware"
4070
+ ],
4071
+ "type": "option"
4072
+ },
3879
4073
  "output": {
3880
4074
  "char": "o",
3881
4075
  "description": "Output format",
@@ -3902,7 +4096,7 @@
3902
4096
  },
3903
4097
  "hasDynamicHelp": false,
3904
4098
  "hiddenAliases": [],
3905
- "id": "tenant:list",
4099
+ "id": "unit_test:list",
3906
4100
  "pluginAlias": "@xano/cli",
3907
4101
  "pluginName": "@xano/cli",
3908
4102
  "pluginType": "core",
@@ -3912,26 +4106,24 @@
3912
4106
  "relativePath": [
3913
4107
  "dist",
3914
4108
  "commands",
3915
- "tenant",
4109
+ "unit_test",
3916
4110
  "list",
3917
4111
  "index.js"
3918
4112
  ]
3919
4113
  },
3920
- "tenant:pull": {
4114
+ "unit_test:run": {
3921
4115
  "aliases": [],
3922
4116
  "args": {
3923
- "directory": {
3924
- "description": "Output directory for pulled documents",
3925
- "name": "directory",
3926
- "required": true
4117
+ "unit_test_id": {
4118
+ "description": "ID of the unit test to run",
4119
+ "name": "unit_test_id",
4120
+ "required": true
3927
4121
  }
3928
4122
  },
3929
- "description": "Pull a tenant multidoc from the Xano Metadata API and split into individual files",
4123
+ "description": "Run a unit test",
3930
4124
  "examples": [
3931
- "$ xano tenant pull ./my-tenant -t my-tenant\nPulled 42 documents from tenant my-tenant to ./my-tenant\n",
3932
- "$ xano tenant pull ./output -t my-tenant -w 40\nPulled 15 documents from tenant my-tenant to ./output\n",
3933
- "$ xano tenant pull ./backup -t my-tenant --profile production --env --records\nPulled 58 documents from tenant my-tenant to ./backup\n",
3934
- "$ xano tenant pull ./my-tenant -t my-tenant --draft\nPulled 42 documents from tenant my-tenant to ./my-tenant\n"
4125
+ "$ xano unit-test run abc-123\nRunning unit test abc-123...\nResult: PASS\n",
4126
+ "$ xano unit-test run abc-123 -o json"
3935
4127
  ],
3936
4128
  "flags": {
3937
4129
  "profile": {
@@ -3953,39 +4145,23 @@
3953
4145
  "allowNo": false,
3954
4146
  "type": "boolean"
3955
4147
  },
3956
- "draft": {
3957
- "description": "Include draft versions",
3958
- "name": "draft",
3959
- "required": false,
3960
- "allowNo": false,
3961
- "type": "boolean"
3962
- },
3963
- "env": {
3964
- "description": "Include environment variables",
3965
- "name": "env",
3966
- "required": false,
3967
- "allowNo": false,
3968
- "type": "boolean"
3969
- },
3970
- "records": {
3971
- "description": "Include records",
3972
- "name": "records",
4148
+ "output": {
4149
+ "char": "o",
4150
+ "description": "Output format",
4151
+ "name": "output",
3973
4152
  "required": false,
3974
- "allowNo": false,
3975
- "type": "boolean"
3976
- },
3977
- "tenant": {
3978
- "char": "t",
3979
- "description": "Tenant name to pull from",
3980
- "name": "tenant",
3981
- "required": true,
4153
+ "default": "summary",
3982
4154
  "hasDynamicHelp": false,
3983
4155
  "multiple": false,
4156
+ "options": [
4157
+ "summary",
4158
+ "json"
4159
+ ],
3984
4160
  "type": "option"
3985
4161
  },
3986
4162
  "workspace": {
3987
4163
  "char": "w",
3988
- "description": "Workspace ID (optional if set in profile)",
4164
+ "description": "Workspace ID (uses profile workspace if not provided)",
3989
4165
  "name": "workspace",
3990
4166
  "required": false,
3991
4167
  "hasDynamicHelp": false,
@@ -3995,7 +4171,7 @@
3995
4171
  },
3996
4172
  "hasDynamicHelp": false,
3997
4173
  "hiddenAliases": [],
3998
- "id": "tenant:pull",
4174
+ "id": "unit_test:run",
3999
4175
  "pluginAlias": "@xano/cli",
4000
4176
  "pluginName": "@xano/cli",
4001
4177
  "pluginType": "core",
@@ -4005,19 +4181,26 @@
4005
4181
  "relativePath": [
4006
4182
  "dist",
4007
4183
  "commands",
4008
- "tenant",
4009
- "pull",
4184
+ "unit_test",
4185
+ "run",
4010
4186
  "index.js"
4011
4187
  ]
4012
4188
  },
4013
- "unit_test:list": {
4189
+ "tenant:pull": {
4014
4190
  "aliases": [],
4015
- "args": {},
4016
- "description": "List all unit tests in a workspace",
4191
+ "args": {
4192
+ "directory": {
4193
+ "description": "Output directory for pulled documents",
4194
+ "name": "directory",
4195
+ "required": true
4196
+ }
4197
+ },
4198
+ "description": "Pull a tenant multidoc from the Xano Metadata API and split into individual files",
4017
4199
  "examples": [
4018
- "$ 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",
4019
- "$ xano unit-test list -w 5 --output json",
4020
- "$ xano unit-test list --obj-type function"
4200
+ "$ xano tenant pull ./my-tenant -t my-tenant\nPulled 42 documents from tenant my-tenant to ./my-tenant\n",
4201
+ "$ xano tenant pull ./output -t my-tenant -w 40\nPulled 15 documents from tenant my-tenant to ./output\n",
4202
+ "$ xano tenant pull ./backup -t my-tenant --profile production --env --records\nPulled 58 documents from tenant my-tenant to ./backup\n",
4203
+ "$ xano tenant pull ./my-tenant -t my-tenant --draft\nPulled 42 documents from tenant my-tenant to ./my-tenant\n"
4021
4204
  ],
4022
4205
  "flags": {
4023
4206
  "profile": {
@@ -4039,45 +4222,39 @@
4039
4222
  "allowNo": false,
4040
4223
  "type": "boolean"
4041
4224
  },
4042
- "branch": {
4043
- "char": "b",
4044
- "description": "Filter by branch name",
4045
- "name": "branch",
4225
+ "draft": {
4226
+ "description": "Include draft versions",
4227
+ "name": "draft",
4046
4228
  "required": false,
4047
- "hasDynamicHelp": false,
4048
- "multiple": false,
4049
- "type": "option"
4229
+ "allowNo": false,
4230
+ "type": "boolean"
4050
4231
  },
4051
- "obj-type": {
4052
- "description": "Filter by object type",
4053
- "name": "obj-type",
4232
+ "env": {
4233
+ "description": "Include environment variables",
4234
+ "name": "env",
4054
4235
  "required": false,
4055
- "hasDynamicHelp": false,
4056
- "multiple": false,
4057
- "options": [
4058
- "function",
4059
- "query",
4060
- "middleware"
4061
- ],
4062
- "type": "option"
4236
+ "allowNo": false,
4237
+ "type": "boolean"
4063
4238
  },
4064
- "output": {
4065
- "char": "o",
4066
- "description": "Output format",
4067
- "name": "output",
4239
+ "records": {
4240
+ "description": "Include records",
4241
+ "name": "records",
4068
4242
  "required": false,
4069
- "default": "summary",
4243
+ "allowNo": false,
4244
+ "type": "boolean"
4245
+ },
4246
+ "tenant": {
4247
+ "char": "t",
4248
+ "description": "Tenant name to pull from",
4249
+ "name": "tenant",
4250
+ "required": true,
4070
4251
  "hasDynamicHelp": false,
4071
4252
  "multiple": false,
4072
- "options": [
4073
- "summary",
4074
- "json"
4075
- ],
4076
4253
  "type": "option"
4077
4254
  },
4078
4255
  "workspace": {
4079
4256
  "char": "w",
4080
- "description": "Workspace ID (uses profile workspace if not provided)",
4257
+ "description": "Workspace ID (optional if set in profile)",
4081
4258
  "name": "workspace",
4082
4259
  "required": false,
4083
4260
  "hasDynamicHelp": false,
@@ -4087,7 +4264,7 @@
4087
4264
  },
4088
4265
  "hasDynamicHelp": false,
4089
4266
  "hiddenAliases": [],
4090
- "id": "unit_test:list",
4267
+ "id": "tenant:pull",
4091
4268
  "pluginAlias": "@xano/cli",
4092
4269
  "pluginName": "@xano/cli",
4093
4270
  "pluginType": "core",
@@ -4097,8 +4274,8 @@
4097
4274
  "relativePath": [
4098
4275
  "dist",
4099
4276
  "commands",
4100
- "unit_test",
4101
- "list",
4277
+ "tenant",
4278
+ "pull",
4102
4279
  "index.js"
4103
4280
  ]
4104
4281
  },
@@ -4193,19 +4370,19 @@
4193
4370
  "index.js"
4194
4371
  ]
4195
4372
  },
4196
- "unit_test:run": {
4373
+ "workflow_test:delete": {
4197
4374
  "aliases": [],
4198
4375
  "args": {
4199
- "unit_test_id": {
4200
- "description": "ID of the unit test to run",
4201
- "name": "unit_test_id",
4376
+ "workflow_test_id": {
4377
+ "description": "ID of the workflow test to delete",
4378
+ "name": "workflow_test_id",
4202
4379
  "required": true
4203
4380
  }
4204
4381
  },
4205
- "description": "Run a unit test",
4382
+ "description": "Delete a workflow test",
4206
4383
  "examples": [
4207
- "$ xano unit-test run abc-123\nRunning unit test abc-123...\nResult: PASS\n",
4208
- "$ xano unit-test run abc-123 -o json"
4384
+ "$ xano workflow-test delete 1\nAre you sure you want to delete workflow test 1? (y/N) y\nDeleted workflow test 1\n",
4385
+ "$ xano workflow-test delete 1 --force"
4209
4386
  ],
4210
4387
  "flags": {
4211
4388
  "profile": {
@@ -4227,6 +4404,14 @@
4227
4404
  "allowNo": false,
4228
4405
  "type": "boolean"
4229
4406
  },
4407
+ "force": {
4408
+ "char": "f",
4409
+ "description": "Skip confirmation prompt",
4410
+ "name": "force",
4411
+ "required": false,
4412
+ "allowNo": false,
4413
+ "type": "boolean"
4414
+ },
4230
4415
  "output": {
4231
4416
  "char": "o",
4232
4417
  "description": "Output format",
@@ -4253,7 +4438,7 @@
4253
4438
  },
4254
4439
  "hasDynamicHelp": false,
4255
4440
  "hiddenAliases": [],
4256
- "id": "unit_test:run",
4441
+ "id": "workflow_test:delete",
4257
4442
  "pluginAlias": "@xano/cli",
4258
4443
  "pluginName": "@xano/cli",
4259
4444
  "pluginType": "core",
@@ -4263,24 +4448,25 @@
4263
4448
  "relativePath": [
4264
4449
  "dist",
4265
4450
  "commands",
4266
- "unit_test",
4267
- "run",
4451
+ "workflow_test",
4452
+ "delete",
4268
4453
  "index.js"
4269
4454
  ]
4270
4455
  },
4271
- "workflow_test:delete": {
4456
+ "workflow_test:get": {
4272
4457
  "aliases": [],
4273
4458
  "args": {
4274
4459
  "workflow_test_id": {
4275
- "description": "ID of the workflow test to delete",
4460
+ "description": "ID of the workflow test",
4276
4461
  "name": "workflow_test_id",
4277
4462
  "required": true
4278
4463
  }
4279
4464
  },
4280
- "description": "Delete a workflow test",
4465
+ "description": "Get a specific workflow test",
4281
4466
  "examples": [
4282
- "$ xano workflow-test delete 1\nAre you sure you want to delete workflow test 1? (y/N) y\nDeleted workflow test 1\n",
4283
- "$ xano workflow-test delete 1 --force"
4467
+ "$ xano workflow-test get 1\nWorkflow Test: my-test (ID: 1)\n Description: Validates auth endpoints\n Branch: main\n",
4468
+ "$ xano workflow-test get 1 -o xs",
4469
+ "$ xano workflow-test get 1 -o json"
4284
4470
  ],
4285
4471
  "flags": {
4286
4472
  "profile": {
@@ -4302,10 +4488,9 @@
4302
4488
  "allowNo": false,
4303
4489
  "type": "boolean"
4304
4490
  },
4305
- "force": {
4306
- "char": "f",
4307
- "description": "Skip confirmation prompt",
4308
- "name": "force",
4491
+ "include-draft": {
4492
+ "description": "Include draft version",
4493
+ "name": "include-draft",
4309
4494
  "required": false,
4310
4495
  "allowNo": false,
4311
4496
  "type": "boolean"
@@ -4320,7 +4505,8 @@
4320
4505
  "multiple": false,
4321
4506
  "options": [
4322
4507
  "summary",
4323
- "json"
4508
+ "json",
4509
+ "xs"
4324
4510
  ],
4325
4511
  "type": "option"
4326
4512
  },
@@ -4336,7 +4522,7 @@
4336
4522
  },
4337
4523
  "hasDynamicHelp": false,
4338
4524
  "hiddenAliases": [],
4339
- "id": "workflow_test:delete",
4525
+ "id": "workflow_test:get",
4340
4526
  "pluginAlias": "@xano/cli",
4341
4527
  "pluginName": "@xano/cli",
4342
4528
  "pluginType": "core",
@@ -4347,18 +4533,24 @@
4347
4533
  "dist",
4348
4534
  "commands",
4349
4535
  "workflow_test",
4350
- "delete",
4536
+ "get",
4351
4537
  "index.js"
4352
4538
  ]
4353
4539
  },
4354
- "workflow_test:list": {
4540
+ "workspace:create": {
4355
4541
  "aliases": [],
4356
- "args": {},
4357
- "description": "List all workflow tests in a workspace",
4542
+ "args": {
4543
+ "name": {
4544
+ "description": "Name of the workspace",
4545
+ "name": "name",
4546
+ "required": true
4547
+ }
4548
+ },
4549
+ "description": "Create a new workspace via the Xano Metadata API",
4358
4550
  "examples": [
4359
- "$ xano workflow-test list\nWorkflow tests in workspace 5:\n - my-test (ID: 1)\n - auth-flow (ID: 2) - Validates auth endpoints\n",
4360
- "$ xano workflow-test list -w 5 --output json",
4361
- "$ xano workflow-test list --branch main"
4551
+ "$ xano workspace create my-workspace\nCreated workspace: my-workspace (ID: 123)\n",
4552
+ "$ xano workspace create my-app --description \"My application workspace\"\nCreated workspace: my-app (ID: 456)\n Description: My application workspace\n",
4553
+ "$ 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"
4362
4554
  ],
4363
4555
  "flags": {
4364
4556
  "profile": {
@@ -4380,10 +4572,10 @@
4380
4572
  "allowNo": false,
4381
4573
  "type": "boolean"
4382
4574
  },
4383
- "branch": {
4384
- "char": "b",
4385
- "description": "Filter by branch name",
4386
- "name": "branch",
4575
+ "description": {
4576
+ "char": "d",
4577
+ "description": "Description for the workspace",
4578
+ "name": "description",
4387
4579
  "required": false,
4388
4580
  "hasDynamicHelp": false,
4389
4581
  "multiple": false,
@@ -4402,20 +4594,11 @@
4402
4594
  "json"
4403
4595
  ],
4404
4596
  "type": "option"
4405
- },
4406
- "workspace": {
4407
- "char": "w",
4408
- "description": "Workspace ID (uses profile workspace if not provided)",
4409
- "name": "workspace",
4410
- "required": false,
4411
- "hasDynamicHelp": false,
4412
- "multiple": false,
4413
- "type": "option"
4414
4597
  }
4415
4598
  },
4416
4599
  "hasDynamicHelp": false,
4417
4600
  "hiddenAliases": [],
4418
- "id": "workflow_test:list",
4601
+ "id": "workspace:create",
4419
4602
  "pluginAlias": "@xano/cli",
4420
4603
  "pluginName": "@xano/cli",
4421
4604
  "pluginType": "core",
@@ -4425,25 +4608,24 @@
4425
4608
  "relativePath": [
4426
4609
  "dist",
4427
4610
  "commands",
4428
- "workflow_test",
4429
- "list",
4611
+ "workspace",
4612
+ "create",
4430
4613
  "index.js"
4431
4614
  ]
4432
4615
  },
4433
- "workflow_test:get": {
4616
+ "workflow_test:run": {
4434
4617
  "aliases": [],
4435
4618
  "args": {
4436
4619
  "workflow_test_id": {
4437
- "description": "ID of the workflow test",
4620
+ "description": "ID of the workflow test to run",
4438
4621
  "name": "workflow_test_id",
4439
4622
  "required": true
4440
4623
  }
4441
4624
  },
4442
- "description": "Get a specific workflow test",
4625
+ "description": "Run a workflow test",
4443
4626
  "examples": [
4444
- "$ xano workflow-test get 1\nWorkflow Test: my-test (ID: 1)\n Description: Validates auth endpoints\n Branch: main\n",
4445
- "$ xano workflow-test get 1 -o xs",
4446
- "$ xano workflow-test get 1 -o json"
4627
+ "$ xano workflow-test run 1\nRunning workflow test 1...\nResult: PASS (1.234s)\n",
4628
+ "$ xano workflow-test run 1 -o json"
4447
4629
  ],
4448
4630
  "flags": {
4449
4631
  "profile": {
@@ -4465,13 +4647,6 @@
4465
4647
  "allowNo": false,
4466
4648
  "type": "boolean"
4467
4649
  },
4468
- "include-draft": {
4469
- "description": "Include draft version",
4470
- "name": "include-draft",
4471
- "required": false,
4472
- "allowNo": false,
4473
- "type": "boolean"
4474
- },
4475
4650
  "output": {
4476
4651
  "char": "o",
4477
4652
  "description": "Output format",
@@ -4482,8 +4657,7 @@
4482
4657
  "multiple": false,
4483
4658
  "options": [
4484
4659
  "summary",
4485
- "json",
4486
- "xs"
4660
+ "json"
4487
4661
  ],
4488
4662
  "type": "option"
4489
4663
  },
@@ -4499,7 +4673,7 @@
4499
4673
  },
4500
4674
  "hasDynamicHelp": false,
4501
4675
  "hiddenAliases": [],
4502
- "id": "workflow_test:get",
4676
+ "id": "workflow_test:run",
4503
4677
  "pluginAlias": "@xano/cli",
4504
4678
  "pluginName": "@xano/cli",
4505
4679
  "pluginType": "core",
@@ -4510,23 +4684,17 @@
4510
4684
  "dist",
4511
4685
  "commands",
4512
4686
  "workflow_test",
4513
- "get",
4687
+ "run",
4514
4688
  "index.js"
4515
4689
  ]
4516
4690
  },
4517
- "workflow_test:run": {
4691
+ "workflow_test:run_all": {
4518
4692
  "aliases": [],
4519
- "args": {
4520
- "workflow_test_id": {
4521
- "description": "ID of the workflow test to run",
4522
- "name": "workflow_test_id",
4523
- "required": true
4524
- }
4525
- },
4526
- "description": "Run a workflow test",
4693
+ "args": {},
4694
+ "description": "Run all workflow tests in a workspace",
4527
4695
  "examples": [
4528
- "$ xano workflow-test run 1\nRunning workflow test 1...\nResult: PASS (1.234s)\n",
4529
- "$ xano workflow-test run 1 -o json"
4696
+ "$ xano workflow-test run-all\nRunning 3 workflow tests...\n\nPASS my-test (1.234s)\nPASS auth-flow (0.567s)\nFAIL data-validation (0.890s)\n Error: assertion failed at step 3\n\nResults: 2 passed, 1 failed (2.691s total)\n",
4697
+ "$ xano workflow-test run-all --branch main -o json"
4530
4698
  ],
4531
4699
  "flags": {
4532
4700
  "profile": {
@@ -4548,6 +4716,15 @@
4548
4716
  "allowNo": false,
4549
4717
  "type": "boolean"
4550
4718
  },
4719
+ "branch": {
4720
+ "char": "b",
4721
+ "description": "Filter by branch name",
4722
+ "name": "branch",
4723
+ "required": false,
4724
+ "hasDynamicHelp": false,
4725
+ "multiple": false,
4726
+ "type": "option"
4727
+ },
4551
4728
  "output": {
4552
4729
  "char": "o",
4553
4730
  "description": "Output format",
@@ -4574,7 +4751,7 @@
4574
4751
  },
4575
4752
  "hasDynamicHelp": false,
4576
4753
  "hiddenAliases": [],
4577
- "id": "workflow_test:run",
4754
+ "id": "workflow_test:run_all",
4578
4755
  "pluginAlias": "@xano/cli",
4579
4756
  "pluginName": "@xano/cli",
4580
4757
  "pluginType": "core",
@@ -4585,17 +4762,18 @@
4585
4762
  "dist",
4586
4763
  "commands",
4587
4764
  "workflow_test",
4588
- "run",
4765
+ "run_all",
4589
4766
  "index.js"
4590
4767
  ]
4591
4768
  },
4592
- "workflow_test:run_all": {
4769
+ "workflow_test:list": {
4593
4770
  "aliases": [],
4594
4771
  "args": {},
4595
- "description": "Run all workflow tests in a workspace",
4772
+ "description": "List all workflow tests in a workspace",
4596
4773
  "examples": [
4597
- "$ xano workflow-test run-all\nRunning 3 workflow tests...\n\nPASS my-test (1.234s)\nPASS auth-flow (0.567s)\nFAIL data-validation (0.890s)\n Error: assertion failed at step 3\n\nResults: 2 passed, 1 failed (2.691s total)\n",
4598
- "$ xano workflow-test run-all --branch main -o json"
4774
+ "$ xano workflow-test list\nWorkflow tests in workspace 5:\n - my-test (ID: 1)\n - auth-flow (ID: 2) - Validates auth endpoints\n",
4775
+ "$ xano workflow-test list -w 5 --output json",
4776
+ "$ xano workflow-test list --branch main"
4599
4777
  ],
4600
4778
  "flags": {
4601
4779
  "profile": {
@@ -4652,7 +4830,7 @@
4652
4830
  },
4653
4831
  "hasDynamicHelp": false,
4654
4832
  "hiddenAliases": [],
4655
- "id": "workflow_test:run_all",
4833
+ "id": "workflow_test:list",
4656
4834
  "pluginAlias": "@xano/cli",
4657
4835
  "pluginName": "@xano/cli",
4658
4836
  "pluginType": "core",
@@ -4663,24 +4841,25 @@
4663
4841
  "dist",
4664
4842
  "commands",
4665
4843
  "workflow_test",
4666
- "run_all",
4844
+ "list",
4667
4845
  "index.js"
4668
4846
  ]
4669
4847
  },
4670
- "workspace:create": {
4848
+ "workspace:edit": {
4671
4849
  "aliases": [],
4672
4850
  "args": {
4673
- "name": {
4674
- "description": "Name of the workspace",
4675
- "name": "name",
4676
- "required": true
4851
+ "workspace_id": {
4852
+ "description": "Workspace ID to edit (uses profile workspace if not provided)",
4853
+ "name": "workspace_id",
4854
+ "required": false
4677
4855
  }
4678
4856
  },
4679
- "description": "Create a new workspace via the Xano Metadata API",
4857
+ "description": "Edit an existing workspace via the Xano Metadata API",
4680
4858
  "examples": [
4681
- "$ xano workspace create my-workspace\nCreated workspace: my-workspace (ID: 123)\n",
4682
- "$ xano workspace create my-app --description \"My application workspace\"\nCreated workspace: my-app (ID: 456)\n Description: My application workspace\n",
4683
- "$ 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"
4859
+ "$ xano workspace edit 123 --name \"new-name\"\nUpdated workspace: new-name (ID: 123)\n",
4860
+ "$ xano workspace edit --name \"updated-workspace\" --description \"Updated description\"\nUpdated workspace: updated-workspace (ID: 123)\n Description: Updated description\n",
4861
+ "$ xano workspace edit 123 --swagger --require-token\nUpdated workspace: my-workspace (ID: 123)\n Swagger: enabled\n Require Token: true\n",
4862
+ "$ xano workspace edit 123 --no-swagger -o json\n{\n \"id\": 123,\n \"name\": \"my-workspace\",\n \"swagger\": false\n}\n"
4684
4863
  ],
4685
4864
  "flags": {
4686
4865
  "profile": {
@@ -4702,15 +4881,31 @@
4702
4881
  "allowNo": false,
4703
4882
  "type": "boolean"
4704
4883
  },
4884
+ "allow-push": {
4885
+ "description": "Enable or disable direct CLI push to this workspace (not applicable on Free plan)",
4886
+ "name": "allow-push",
4887
+ "required": false,
4888
+ "allowNo": true,
4889
+ "type": "boolean"
4890
+ },
4705
4891
  "description": {
4706
4892
  "char": "d",
4707
- "description": "Description for the workspace",
4893
+ "description": "New description for the workspace",
4708
4894
  "name": "description",
4709
4895
  "required": false,
4710
4896
  "hasDynamicHelp": false,
4711
4897
  "multiple": false,
4712
4898
  "type": "option"
4713
4899
  },
4900
+ "name": {
4901
+ "char": "n",
4902
+ "description": "New name for the workspace",
4903
+ "name": "name",
4904
+ "required": false,
4905
+ "hasDynamicHelp": false,
4906
+ "multiple": false,
4907
+ "type": "option"
4908
+ },
4714
4909
  "output": {
4715
4910
  "char": "o",
4716
4911
  "description": "Output format",
@@ -4724,11 +4919,25 @@
4724
4919
  "json"
4725
4920
  ],
4726
4921
  "type": "option"
4922
+ },
4923
+ "require-token": {
4924
+ "description": "Whether to require a token for documentation access",
4925
+ "name": "require-token",
4926
+ "required": false,
4927
+ "allowNo": true,
4928
+ "type": "boolean"
4929
+ },
4930
+ "swagger": {
4931
+ "description": "Enable or disable swagger documentation",
4932
+ "name": "swagger",
4933
+ "required": false,
4934
+ "allowNo": true,
4935
+ "type": "boolean"
4727
4936
  }
4728
4937
  },
4729
4938
  "hasDynamicHelp": false,
4730
4939
  "hiddenAliases": [],
4731
- "id": "workspace:create",
4940
+ "id": "workspace:edit",
4732
4941
  "pluginAlias": "@xano/cli",
4733
4942
  "pluginName": "@xano/cli",
4734
4943
  "pluginType": "core",
@@ -4739,7 +4948,7 @@
4739
4948
  "dist",
4740
4949
  "commands",
4741
4950
  "workspace",
4742
- "create",
4951
+ "edit",
4743
4952
  "index.js"
4744
4953
  ]
4745
4954
  },
@@ -4818,21 +5027,20 @@
4818
5027
  "index.js"
4819
5028
  ]
4820
5029
  },
4821
- "workspace:edit": {
5030
+ "workspace:get": {
4822
5031
  "aliases": [],
4823
5032
  "args": {
4824
5033
  "workspace_id": {
4825
- "description": "Workspace ID to edit (uses profile workspace if not provided)",
5034
+ "description": "Workspace ID to get details for (uses profile workspace if not provided)",
4826
5035
  "name": "workspace_id",
4827
5036
  "required": false
4828
5037
  }
4829
5038
  },
4830
- "description": "Edit an existing workspace via the Xano Metadata API",
5039
+ "description": "Get details of a specific workspace from the Xano Metadata API",
4831
5040
  "examples": [
4832
- "$ xano workspace edit 123 --name \"new-name\"\nUpdated workspace: new-name (ID: 123)\n",
4833
- "$ xano workspace edit --name \"updated-workspace\" --description \"Updated description\"\nUpdated workspace: updated-workspace (ID: 123)\n Description: Updated description\n",
4834
- "$ xano workspace edit 123 --swagger --require-token\nUpdated workspace: my-workspace (ID: 123)\n Swagger: enabled\n Require Token: true\n",
4835
- "$ xano workspace edit 123 --no-swagger -o json\n{\n \"id\": 123,\n \"name\": \"my-workspace\",\n \"swagger\": false\n}\n"
5041
+ "$ xano workspace get 123\nWorkspace: my-workspace (ID: 123)\n Description: My workspace description\n Created: 2024-01-15\n",
5042
+ "$ xano workspace get --output json\n{\n \"id\": 123,\n \"name\": \"my-workspace\",\n \"description\": \"My workspace description\"\n}\n",
5043
+ "$ xano workspace get 456 -p production -o json\n{\n \"id\": 456,\n \"name\": \"production-workspace\"\n}\n"
4836
5044
  ],
4837
5045
  "flags": {
4838
5046
  "profile": {
@@ -4854,31 +5062,6 @@
4854
5062
  "allowNo": false,
4855
5063
  "type": "boolean"
4856
5064
  },
4857
- "allow-push": {
4858
- "description": "Enable or disable direct CLI push to this workspace (not applicable on Free plan)",
4859
- "name": "allow-push",
4860
- "required": false,
4861
- "allowNo": true,
4862
- "type": "boolean"
4863
- },
4864
- "description": {
4865
- "char": "d",
4866
- "description": "New description for the workspace",
4867
- "name": "description",
4868
- "required": false,
4869
- "hasDynamicHelp": false,
4870
- "multiple": false,
4871
- "type": "option"
4872
- },
4873
- "name": {
4874
- "char": "n",
4875
- "description": "New name for the workspace",
4876
- "name": "name",
4877
- "required": false,
4878
- "hasDynamicHelp": false,
4879
- "multiple": false,
4880
- "type": "option"
4881
- },
4882
5065
  "output": {
4883
5066
  "char": "o",
4884
5067
  "description": "Output format",
@@ -4892,25 +5075,11 @@
4892
5075
  "json"
4893
5076
  ],
4894
5077
  "type": "option"
4895
- },
4896
- "require-token": {
4897
- "description": "Whether to require a token for documentation access",
4898
- "name": "require-token",
4899
- "required": false,
4900
- "allowNo": true,
4901
- "type": "boolean"
4902
- },
4903
- "swagger": {
4904
- "description": "Enable or disable swagger documentation",
4905
- "name": "swagger",
4906
- "required": false,
4907
- "allowNo": true,
4908
- "type": "boolean"
4909
5078
  }
4910
5079
  },
4911
5080
  "hasDynamicHelp": false,
4912
5081
  "hiddenAliases": [],
4913
- "id": "workspace:edit",
5082
+ "id": "workspace:get",
4914
5083
  "pluginAlias": "@xano/cli",
4915
5084
  "pluginName": "@xano/cli",
4916
5085
  "pluginType": "core",
@@ -4921,24 +5090,19 @@
4921
5090
  "dist",
4922
5091
  "commands",
4923
5092
  "workspace",
4924
- "edit",
5093
+ "get",
4925
5094
  "index.js"
4926
5095
  ]
4927
5096
  },
4928
- "workspace:get": {
5097
+ "workspace:list": {
4929
5098
  "aliases": [],
4930
- "args": {
4931
- "workspace_id": {
4932
- "description": "Workspace ID to get details for (uses profile workspace if not provided)",
4933
- "name": "workspace_id",
4934
- "required": false
4935
- }
4936
- },
4937
- "description": "Get details of a specific workspace from the Xano Metadata API",
5099
+ "args": {},
5100
+ "description": "List all workspaces from the Xano Metadata API",
4938
5101
  "examples": [
4939
- "$ xano workspace get 123\nWorkspace: my-workspace (ID: 123)\n Description: My workspace description\n Created: 2024-01-15\n",
4940
- "$ xano workspace get --output json\n{\n \"id\": 123,\n \"name\": \"my-workspace\",\n \"description\": \"My workspace description\"\n}\n",
4941
- "$ xano workspace get 456 -p production -o json\n{\n \"id\": 456,\n \"name\": \"production-workspace\"\n}\n"
5102
+ "$ xano workspace:list\nAvailable workspaces:\n - workspace-1 (ID: 1)\n - workspace-2 (ID: 2)\n - workspace-3 (ID: 3)\n",
5103
+ "$ xano workspace:list --profile production\nAvailable workspaces:\n - my-app (ID: 1)\n - staging-env (ID: 2)\n",
5104
+ "$ xano workspace:list --output json\n{\n \"workspaces\": [\n {\n \"id\": 1,\n \"name\": \"workspace-1\"\n },\n {\n \"id\": 2,\n \"name\": \"workspace-2\"\n }\n ]\n}\n",
5105
+ "$ xano workspace:list -p staging -o json\n{\n \"workspaces\": [\n {\n \"id\": 1,\n \"name\": \"my-app\"\n }\n ]\n}\n"
4942
5106
  ],
4943
5107
  "flags": {
4944
5108
  "profile": {
@@ -4960,6 +5124,12 @@
4960
5124
  "allowNo": false,
4961
5125
  "type": "boolean"
4962
5126
  },
5127
+ "latest": {
5128
+ "description": "Sort by newest first (descending ID)",
5129
+ "name": "latest",
5130
+ "allowNo": false,
5131
+ "type": "boolean"
5132
+ },
4963
5133
  "output": {
4964
5134
  "char": "o",
4965
5135
  "description": "Output format",
@@ -4977,7 +5147,7 @@
4977
5147
  },
4978
5148
  "hasDynamicHelp": false,
4979
5149
  "hiddenAliases": [],
4980
- "id": "workspace:get",
5150
+ "id": "workspace:list",
4981
5151
  "pluginAlias": "@xano/cli",
4982
5152
  "pluginName": "@xano/cli",
4983
5153
  "pluginType": "core",
@@ -4988,19 +5158,26 @@
4988
5158
  "dist",
4989
5159
  "commands",
4990
5160
  "workspace",
4991
- "get",
5161
+ "list",
4992
5162
  "index.js"
4993
5163
  ]
4994
5164
  },
4995
- "workspace:list": {
5165
+ "workspace:pull": {
4996
5166
  "aliases": [],
4997
- "args": {},
4998
- "description": "List all workspaces from the Xano Metadata API",
5167
+ "args": {
5168
+ "directory": {
5169
+ "description": "Output directory for pulled documents",
5170
+ "name": "directory",
5171
+ "required": true
5172
+ }
5173
+ },
5174
+ "description": "Pull a workspace multidoc from the Xano Metadata API and split into individual files",
4999
5175
  "examples": [
5000
- "$ xano workspace:list\nAvailable workspaces:\n - workspace-1 (ID: 1)\n - workspace-2 (ID: 2)\n - workspace-3 (ID: 3)\n",
5001
- "$ xano workspace:list --profile production\nAvailable workspaces:\n - my-app (ID: 1)\n - staging-env (ID: 2)\n",
5002
- "$ xano workspace:list --output json\n{\n \"workspaces\": [\n {\n \"id\": 1,\n \"name\": \"workspace-1\"\n },\n {\n \"id\": 2,\n \"name\": \"workspace-2\"\n }\n ]\n}\n",
5003
- "$ xano workspace:list -p staging -o json\n{\n \"workspaces\": [\n {\n \"id\": 1,\n \"name\": \"my-app\"\n }\n ]\n}\n"
5176
+ "$ xano workspace pull ./my-workspace\nPulled 42 documents to ./my-workspace\n",
5177
+ "$ xano workspace pull ./output -w 40\nPulled 15 documents to ./output\n",
5178
+ "$ xano workspace pull ./backup --profile production --env --records\nPulled 58 documents to ./backup\n",
5179
+ "$ xano workspace pull ./my-workspace --draft\nPulled 42 documents to ./my-workspace\n",
5180
+ "$ xano workspace pull ./my-workspace -b dev\nPulled 42 documents to ./my-workspace\n"
5004
5181
  ],
5005
5182
  "flags": {
5006
5183
  "profile": {
@@ -5022,30 +5199,49 @@
5022
5199
  "allowNo": false,
5023
5200
  "type": "boolean"
5024
5201
  },
5025
- "latest": {
5026
- "description": "Sort by newest first (descending ID)",
5027
- "name": "latest",
5202
+ "branch": {
5203
+ "char": "b",
5204
+ "description": "Branch name (optional if set in profile, defaults to live)",
5205
+ "name": "branch",
5206
+ "required": false,
5207
+ "hasDynamicHelp": false,
5208
+ "multiple": false,
5209
+ "type": "option"
5210
+ },
5211
+ "env": {
5212
+ "description": "Include environment variables",
5213
+ "name": "env",
5214
+ "required": false,
5028
5215
  "allowNo": false,
5029
5216
  "type": "boolean"
5030
5217
  },
5031
- "output": {
5032
- "char": "o",
5033
- "description": "Output format",
5034
- "name": "output",
5218
+ "draft": {
5219
+ "description": "Include draft versions",
5220
+ "name": "draft",
5221
+ "required": false,
5222
+ "allowNo": false,
5223
+ "type": "boolean"
5224
+ },
5225
+ "records": {
5226
+ "description": "Include records",
5227
+ "name": "records",
5228
+ "required": false,
5229
+ "allowNo": false,
5230
+ "type": "boolean"
5231
+ },
5232
+ "workspace": {
5233
+ "char": "w",
5234
+ "description": "Workspace ID (optional if set in profile)",
5235
+ "name": "workspace",
5035
5236
  "required": false,
5036
- "default": "summary",
5037
5237
  "hasDynamicHelp": false,
5038
5238
  "multiple": false,
5039
- "options": [
5040
- "summary",
5041
- "json"
5042
- ],
5043
5239
  "type": "option"
5044
5240
  }
5045
5241
  },
5046
5242
  "hasDynamicHelp": false,
5047
5243
  "hiddenAliases": [],
5048
- "id": "workspace:list",
5244
+ "id": "workspace:pull",
5049
5245
  "pluginAlias": "@xano/cli",
5050
5246
  "pluginName": "@xano/cli",
5051
5247
  "pluginType": "core",
@@ -5056,7 +5252,7 @@
5056
5252
  "dist",
5057
5253
  "commands",
5058
5254
  "workspace",
5059
- "list",
5255
+ "pull",
5060
5256
  "index.js"
5061
5257
  ]
5062
5258
  },
@@ -5224,104 +5420,10 @@
5224
5420
  "index.js"
5225
5421
  ]
5226
5422
  },
5227
- "workspace:pull": {
5423
+ "profile:workspace:set": {
5228
5424
  "aliases": [],
5229
- "args": {
5230
- "directory": {
5231
- "description": "Output directory for pulled documents",
5232
- "name": "directory",
5233
- "required": true
5234
- }
5235
- },
5236
- "description": "Pull a workspace multidoc from the Xano Metadata API and split into individual files",
5237
- "examples": [
5238
- "$ xano workspace pull ./my-workspace\nPulled 42 documents to ./my-workspace\n",
5239
- "$ xano workspace pull ./output -w 40\nPulled 15 documents to ./output\n",
5240
- "$ xano workspace pull ./backup --profile production --env --records\nPulled 58 documents to ./backup\n",
5241
- "$ xano workspace pull ./my-workspace --draft\nPulled 42 documents to ./my-workspace\n",
5242
- "$ xano workspace pull ./my-workspace -b dev\nPulled 42 documents to ./my-workspace\n"
5243
- ],
5244
- "flags": {
5245
- "profile": {
5246
- "char": "p",
5247
- "description": "Profile to use (uses default profile if not specified)",
5248
- "env": "XANO_PROFILE",
5249
- "name": "profile",
5250
- "required": false,
5251
- "hasDynamicHelp": false,
5252
- "multiple": false,
5253
- "type": "option"
5254
- },
5255
- "verbose": {
5256
- "char": "v",
5257
- "description": "Show detailed request/response information",
5258
- "env": "XANO_VERBOSE",
5259
- "name": "verbose",
5260
- "required": false,
5261
- "allowNo": false,
5262
- "type": "boolean"
5263
- },
5264
- "branch": {
5265
- "char": "b",
5266
- "description": "Branch name (optional if set in profile, defaults to live)",
5267
- "name": "branch",
5268
- "required": false,
5269
- "hasDynamicHelp": false,
5270
- "multiple": false,
5271
- "type": "option"
5272
- },
5273
- "env": {
5274
- "description": "Include environment variables",
5275
- "name": "env",
5276
- "required": false,
5277
- "allowNo": false,
5278
- "type": "boolean"
5279
- },
5280
- "draft": {
5281
- "description": "Include draft versions",
5282
- "name": "draft",
5283
- "required": false,
5284
- "allowNo": false,
5285
- "type": "boolean"
5286
- },
5287
- "records": {
5288
- "description": "Include records",
5289
- "name": "records",
5290
- "required": false,
5291
- "allowNo": false,
5292
- "type": "boolean"
5293
- },
5294
- "workspace": {
5295
- "char": "w",
5296
- "description": "Workspace ID (optional if set in profile)",
5297
- "name": "workspace",
5298
- "required": false,
5299
- "hasDynamicHelp": false,
5300
- "multiple": false,
5301
- "type": "option"
5302
- }
5303
- },
5304
- "hasDynamicHelp": false,
5305
- "hiddenAliases": [],
5306
- "id": "workspace:pull",
5307
- "pluginAlias": "@xano/cli",
5308
- "pluginName": "@xano/cli",
5309
- "pluginType": "core",
5310
- "strict": true,
5311
- "enableJsonFlag": false,
5312
- "isESM": true,
5313
- "relativePath": [
5314
- "dist",
5315
- "commands",
5316
- "workspace",
5317
- "pull",
5318
- "index.js"
5319
- ]
5320
- },
5321
- "profile:workspace:set": {
5322
- "aliases": [],
5323
- "args": {},
5324
- "description": "Interactively select a workspace for a profile",
5425
+ "args": {},
5426
+ "description": "Interactively select a workspace for a profile",
5325
5427
  "examples": [
5326
5428
  "$ xano profile workspace set\nFetching workspaces...\n? Select a workspace: My Workspace\nWorkspace updated to 'My Workspace' (abc123) on profile 'default'\n",
5327
5429
  "$ xano profile workspace set -p production\nFetching workspaces...\n? Select a workspace: Production API\nWorkspace updated to 'Production API' (xyz789) on profile 'production'\n"
@@ -5986,13 +6088,13 @@
5986
6088
  "index.js"
5987
6089
  ]
5988
6090
  },
5989
- "sandbox:unit_test:list": {
6091
+ "sandbox:workflow_test:list": {
5990
6092
  "aliases": [],
5991
6093
  "args": {},
5992
- "description": "List all unit tests for a sandbox environment",
6094
+ "description": "List workflow tests for a sandbox environment",
5993
6095
  "examples": [
5994
- "$ xano sandbox unit-test list\nUnit tests:\n - my-test (ID: abc-123) [function: math]\n",
5995
- "$ xano sandbox unit-test list -o json"
6096
+ "$ xano sandbox workflow-test list\nWorkflow tests:\n - my-test (ID: 1)\n",
6097
+ "$ xano sandbox workflow-test list -o json"
5996
6098
  ],
5997
6099
  "flags": {
5998
6100
  "profile": {
@@ -6023,19 +6125,6 @@
6023
6125
  "multiple": false,
6024
6126
  "type": "option"
6025
6127
  },
6026
- "obj-type": {
6027
- "description": "Filter by object type",
6028
- "name": "obj-type",
6029
- "required": false,
6030
- "hasDynamicHelp": false,
6031
- "multiple": false,
6032
- "options": [
6033
- "function",
6034
- "query",
6035
- "middleware"
6036
- ],
6037
- "type": "option"
6038
- },
6039
6128
  "output": {
6040
6129
  "char": "o",
6041
6130
  "description": "Output format",
@@ -6053,7 +6142,7 @@
6053
6142
  },
6054
6143
  "hasDynamicHelp": false,
6055
6144
  "hiddenAliases": [],
6056
- "id": "sandbox:unit_test:list",
6145
+ "id": "sandbox:workflow_test:list",
6057
6146
  "pluginAlias": "@xano/cli",
6058
6147
  "pluginName": "@xano/cli",
6059
6148
  "pluginType": "core",
@@ -6064,24 +6153,24 @@
6064
6153
  "dist",
6065
6154
  "commands",
6066
6155
  "sandbox",
6067
- "unit_test",
6156
+ "workflow_test",
6068
6157
  "list",
6069
6158
  "index.js"
6070
6159
  ]
6071
6160
  },
6072
- "sandbox:unit_test:run": {
6161
+ "sandbox:workflow_test:run": {
6073
6162
  "aliases": [],
6074
6163
  "args": {
6075
- "unit_test_id": {
6076
- "description": "ID of the unit test to run",
6077
- "name": "unit_test_id",
6164
+ "workflow_test_id": {
6165
+ "description": "ID of the workflow test to run",
6166
+ "name": "workflow_test_id",
6078
6167
  "required": true
6079
6168
  }
6080
6169
  },
6081
- "description": "Run a unit test for a sandbox environment",
6170
+ "description": "Run a workflow test for a sandbox environment",
6082
6171
  "examples": [
6083
- "$ xano sandbox unit-test run abc-123\nRunning unit test abc-123...\nResult: PASS\n",
6084
- "$ xano sandbox unit-test run abc-123 -o json"
6172
+ "$ xano sandbox workflow-test run 42\nRunning workflow test 42...\nResult: PASS (0.25s)\n",
6173
+ "$ xano sandbox workflow-test run 42 -o json"
6085
6174
  ],
6086
6175
  "flags": {
6087
6176
  "profile": {
@@ -6120,7 +6209,7 @@
6120
6209
  },
6121
6210
  "hasDynamicHelp": false,
6122
6211
  "hiddenAliases": [],
6123
- "id": "sandbox:unit_test:run",
6212
+ "id": "sandbox:workflow_test:run",
6124
6213
  "pluginAlias": "@xano/cli",
6125
6214
  "pluginName": "@xano/cli",
6126
6215
  "pluginType": "core",
@@ -6131,18 +6220,18 @@
6131
6220
  "dist",
6132
6221
  "commands",
6133
6222
  "sandbox",
6134
- "unit_test",
6223
+ "workflow_test",
6135
6224
  "run",
6136
6225
  "index.js"
6137
6226
  ]
6138
6227
  },
6139
- "sandbox:unit_test:run_all": {
6228
+ "sandbox:workflow_test:run_all": {
6140
6229
  "aliases": [],
6141
6230
  "args": {},
6142
- "description": "Run all unit tests for a sandbox environment",
6231
+ "description": "Run all workflow tests for a sandbox environment",
6143
6232
  "examples": [
6144
- "$ xano sandbox unit-test run-all\nRunning 5 unit tests...\n\nPASS my-test [function: math]\nFAIL data-validation [function: validate]\n Error: assertion failed\n\nResults: 4 passed, 1 failed\n",
6145
- "$ xano sandbox unit-test run-all -o json"
6233
+ "$ xano sandbox workflow-test run-all\nRunning 3 workflow tests...\n\nPASS my-test (0.25s)\nFAIL data-check (0.10s)\n Error: assertion failed\n\nResults: 2 passed, 1 failed\n",
6234
+ "$ xano sandbox workflow-test run-all -o json"
6146
6235
  ],
6147
6236
  "flags": {
6148
6237
  "profile": {
@@ -6173,19 +6262,6 @@
6173
6262
  "multiple": false,
6174
6263
  "type": "option"
6175
6264
  },
6176
- "obj-type": {
6177
- "description": "Filter by object type",
6178
- "name": "obj-type",
6179
- "required": false,
6180
- "hasDynamicHelp": false,
6181
- "multiple": false,
6182
- "options": [
6183
- "function",
6184
- "query",
6185
- "middleware"
6186
- ],
6187
- "type": "option"
6188
- },
6189
6265
  "output": {
6190
6266
  "char": "o",
6191
6267
  "description": "Output format",
@@ -6203,7 +6279,7 @@
6203
6279
  },
6204
6280
  "hasDynamicHelp": false,
6205
6281
  "hiddenAliases": [],
6206
- "id": "sandbox:unit_test:run_all",
6282
+ "id": "sandbox:workflow_test:run_all",
6207
6283
  "pluginAlias": "@xano/cli",
6208
6284
  "pluginName": "@xano/cli",
6209
6285
  "pluginType": "core",
@@ -6214,24 +6290,25 @@
6214
6290
  "dist",
6215
6291
  "commands",
6216
6292
  "sandbox",
6217
- "unit_test",
6293
+ "workflow_test",
6218
6294
  "run_all",
6219
6295
  "index.js"
6220
6296
  ]
6221
6297
  },
6222
- "sandbox:workflow_test:delete": {
6298
+ "static_host:build:create": {
6223
6299
  "aliases": [],
6224
6300
  "args": {
6225
- "workflow_test_id": {
6226
- "description": "ID of the workflow test to delete",
6227
- "name": "workflow_test_id",
6301
+ "static_host": {
6302
+ "description": "Static Host name",
6303
+ "name": "static_host",
6228
6304
  "required": true
6229
6305
  }
6230
6306
  },
6231
- "description": "Delete a workflow test for a sandbox environment",
6307
+ "description": "Create a new build for a static host",
6232
6308
  "examples": [
6233
- "$ xano sandbox workflow-test delete 42\nDeleted workflow test 42\n",
6234
- "$ xano sandbox workflow-test delete 42 -o json"
6309
+ "$ xano static_host:build:create default -f ./build.zip -n \"v1.0.0\"\nBuild created successfully!\nID: 123\nName: v1.0.0\nStatus: pending\n",
6310
+ "$ xano static_host:build:create default -w 40 -f ./dist.zip -n \"production\" -d \"Production build\"\nBuild created successfully!\nID: 124\nName: production\nDescription: Production build\n",
6311
+ "$ xano static_host:build:create myhost -f ./app.zip -n \"release-1.2\" -o json\n{\n \"id\": 125,\n \"name\": \"release-1.2\",\n \"status\": \"pending\"\n}\n"
6235
6312
  ],
6236
6313
  "flags": {
6237
6314
  "profile": {
@@ -6253,6 +6330,33 @@
6253
6330
  "allowNo": false,
6254
6331
  "type": "boolean"
6255
6332
  },
6333
+ "description": {
6334
+ "char": "d",
6335
+ "description": "Build description",
6336
+ "name": "description",
6337
+ "required": false,
6338
+ "hasDynamicHelp": false,
6339
+ "multiple": false,
6340
+ "type": "option"
6341
+ },
6342
+ "file": {
6343
+ "char": "f",
6344
+ "description": "Path to zip file to upload",
6345
+ "name": "file",
6346
+ "required": true,
6347
+ "hasDynamicHelp": false,
6348
+ "multiple": false,
6349
+ "type": "option"
6350
+ },
6351
+ "name": {
6352
+ "char": "n",
6353
+ "description": "Build name",
6354
+ "name": "name",
6355
+ "required": true,
6356
+ "hasDynamicHelp": false,
6357
+ "multiple": false,
6358
+ "type": "option"
6359
+ },
6256
6360
  "output": {
6257
6361
  "char": "o",
6258
6362
  "description": "Output format",
@@ -6266,11 +6370,20 @@
6266
6370
  "json"
6267
6371
  ],
6268
6372
  "type": "option"
6373
+ },
6374
+ "workspace": {
6375
+ "char": "w",
6376
+ "description": "Workspace ID (optional if set in profile)",
6377
+ "name": "workspace",
6378
+ "required": false,
6379
+ "hasDynamicHelp": false,
6380
+ "multiple": false,
6381
+ "type": "option"
6269
6382
  }
6270
6383
  },
6271
6384
  "hasDynamicHelp": false,
6272
6385
  "hiddenAliases": [],
6273
- "id": "sandbox:workflow_test:delete",
6386
+ "id": "static_host:build:create",
6274
6387
  "pluginAlias": "@xano/cli",
6275
6388
  "pluginName": "@xano/cli",
6276
6389
  "pluginType": "core",
@@ -6280,25 +6393,32 @@
6280
6393
  "relativePath": [
6281
6394
  "dist",
6282
6395
  "commands",
6283
- "sandbox",
6284
- "workflow_test",
6285
- "delete",
6396
+ "static_host",
6397
+ "build",
6398
+ "create",
6286
6399
  "index.js"
6287
6400
  ]
6288
6401
  },
6289
- "sandbox:workflow_test:get": {
6402
+ "static_host:build:get": {
6290
6403
  "aliases": [],
6291
6404
  "args": {
6292
- "workflow_test_id": {
6293
- "description": "ID of the workflow test",
6294
- "name": "workflow_test_id",
6405
+ "build_id": {
6406
+ "description": "Build ID",
6407
+ "name": "build_id",
6408
+ "required": true
6409
+ },
6410
+ "static_host": {
6411
+ "description": "Static Host name",
6412
+ "name": "static_host",
6295
6413
  "required": true
6296
6414
  }
6297
6415
  },
6298
- "description": "Get a workflow test for a sandbox environment",
6416
+ "description": "Get details of a specific build for a static host",
6299
6417
  "examples": [
6300
- "$ xano sandbox workflow-test get 42",
6301
- "$ xano sandbox workflow-test get 42 -o json"
6418
+ "$ xano static_host:build:get default 52\nBuild Details:\nID: 52\nName: v1.0.0\nStatus: completed\n",
6419
+ "$ xano static_host:build:get default 52 -w 40\nBuild Details:\nID: 52\nName: v1.0.0\nStatus: completed\n",
6420
+ "$ xano static_host:build:get myhost 123 --profile production\nBuild Details:\nID: 123\nName: production-build\n",
6421
+ "$ xano static_host:build:get default 52 -o json\n{\n \"id\": 52,\n \"name\": \"v1.0.0\",\n \"status\": \"completed\"\n}\n"
6302
6422
  ],
6303
6423
  "flags": {
6304
6424
  "profile": {
@@ -6333,11 +6453,20 @@
6333
6453
  "json"
6334
6454
  ],
6335
6455
  "type": "option"
6456
+ },
6457
+ "workspace": {
6458
+ "char": "w",
6459
+ "description": "Workspace ID (optional if set in profile)",
6460
+ "name": "workspace",
6461
+ "required": false,
6462
+ "hasDynamicHelp": false,
6463
+ "multiple": false,
6464
+ "type": "option"
6336
6465
  }
6337
6466
  },
6338
6467
  "hasDynamicHelp": false,
6339
6468
  "hiddenAliases": [],
6340
- "id": "sandbox:workflow_test:get",
6469
+ "id": "static_host:build:get",
6341
6470
  "pluginAlias": "@xano/cli",
6342
6471
  "pluginName": "@xano/cli",
6343
6472
  "pluginType": "core",
@@ -6347,22 +6476,30 @@
6347
6476
  "relativePath": [
6348
6477
  "dist",
6349
6478
  "commands",
6350
- "sandbox",
6351
- "workflow_test",
6479
+ "static_host",
6480
+ "build",
6352
6481
  "get",
6353
6482
  "index.js"
6354
6483
  ]
6355
6484
  },
6356
- "sandbox:workflow_test:list": {
6485
+ "static_host:build:list": {
6357
6486
  "aliases": [],
6358
- "args": {},
6359
- "description": "List workflow tests for a sandbox environment",
6487
+ "args": {
6488
+ "static_host": {
6489
+ "description": "Static Host name",
6490
+ "name": "static_host",
6491
+ "required": true
6492
+ }
6493
+ },
6494
+ "description": "List all builds for a static host",
6360
6495
  "examples": [
6361
- "$ xano sandbox workflow-test list\nWorkflow tests:\n - my-test (ID: 1)\n",
6362
- "$ xano sandbox workflow-test list -o json"
6363
- ],
6364
- "flags": {
6365
- "profile": {
6496
+ "$ xano static_host:build:list default -w 40\nAvailable builds:\n - v1.0.0 (ID: 1) - Status: completed\n - v1.0.1 (ID: 2) - Status: pending\n",
6497
+ "$ xano static_host:build:list myhost --profile production\nAvailable builds:\n - production (ID: 1) - Status: completed\n - staging (ID: 2) - Status: completed\n",
6498
+ "$ xano static_host:build:list default -w 40 --output json\n[\n {\n \"id\": 1,\n \"name\": \"v1.0.0\",\n \"status\": \"completed\"\n }\n]\n",
6499
+ "$ xano static_host:build:list default -p staging -o json --page 2\n[\n {\n \"id\": 3,\n \"name\": \"v1.0.2\"\n }\n]\n"
6500
+ ],
6501
+ "flags": {
6502
+ "profile": {
6366
6503
  "char": "p",
6367
6504
  "description": "Profile to use (uses default profile if not specified)",
6368
6505
  "env": "XANO_PROFILE",
@@ -6381,15 +6518,6 @@
6381
6518
  "allowNo": false,
6382
6519
  "type": "boolean"
6383
6520
  },
6384
- "branch": {
6385
- "char": "b",
6386
- "description": "Filter by branch name",
6387
- "name": "branch",
6388
- "required": false,
6389
- "hasDynamicHelp": false,
6390
- "multiple": false,
6391
- "type": "option"
6392
- },
6393
6521
  "output": {
6394
6522
  "char": "o",
6395
6523
  "description": "Output format",
@@ -6403,78 +6531,38 @@
6403
6531
  "json"
6404
6532
  ],
6405
6533
  "type": "option"
6406
- }
6407
- },
6408
- "hasDynamicHelp": false,
6409
- "hiddenAliases": [],
6410
- "id": "sandbox:workflow_test:list",
6411
- "pluginAlias": "@xano/cli",
6412
- "pluginName": "@xano/cli",
6413
- "pluginType": "core",
6414
- "strict": true,
6415
- "enableJsonFlag": false,
6416
- "isESM": true,
6417
- "relativePath": [
6418
- "dist",
6419
- "commands",
6420
- "sandbox",
6421
- "workflow_test",
6422
- "list",
6423
- "index.js"
6424
- ]
6425
- },
6426
- "sandbox:workflow_test:run": {
6427
- "aliases": [],
6428
- "args": {
6429
- "workflow_test_id": {
6430
- "description": "ID of the workflow test to run",
6431
- "name": "workflow_test_id",
6432
- "required": true
6433
- }
6434
- },
6435
- "description": "Run a workflow test for a sandbox environment",
6436
- "examples": [
6437
- "$ xano sandbox workflow-test run 42\nRunning workflow test 42...\nResult: PASS (0.25s)\n",
6438
- "$ xano sandbox workflow-test run 42 -o json"
6439
- ],
6440
- "flags": {
6441
- "profile": {
6442
- "char": "p",
6443
- "description": "Profile to use (uses default profile if not specified)",
6444
- "env": "XANO_PROFILE",
6445
- "name": "profile",
6534
+ },
6535
+ "page": {
6536
+ "description": "Page number for pagination",
6537
+ "name": "page",
6446
6538
  "required": false,
6539
+ "default": 1,
6447
6540
  "hasDynamicHelp": false,
6448
6541
  "multiple": false,
6449
6542
  "type": "option"
6450
6543
  },
6451
- "verbose": {
6452
- "char": "v",
6453
- "description": "Show detailed request/response information",
6454
- "env": "XANO_VERBOSE",
6455
- "name": "verbose",
6544
+ "per_page": {
6545
+ "description": "Number of results per page",
6546
+ "name": "per_page",
6456
6547
  "required": false,
6457
- "allowNo": false,
6458
- "type": "boolean"
6548
+ "default": 50,
6549
+ "hasDynamicHelp": false,
6550
+ "multiple": false,
6551
+ "type": "option"
6459
6552
  },
6460
- "output": {
6461
- "char": "o",
6462
- "description": "Output format",
6463
- "name": "output",
6553
+ "workspace": {
6554
+ "char": "w",
6555
+ "description": "Workspace ID (optional if set in profile)",
6556
+ "name": "workspace",
6464
6557
  "required": false,
6465
- "default": "summary",
6466
6558
  "hasDynamicHelp": false,
6467
6559
  "multiple": false,
6468
- "options": [
6469
- "summary",
6470
- "json"
6471
- ],
6472
6560
  "type": "option"
6473
6561
  }
6474
6562
  },
6475
6563
  "hasDynamicHelp": false,
6476
6564
  "hiddenAliases": [],
6477
- "id": "sandbox:workflow_test:run",
6565
+ "id": "static_host:build:list",
6478
6566
  "pluginAlias": "@xano/cli",
6479
6567
  "pluginName": "@xano/cli",
6480
6568
  "pluginType": "core",
@@ -6484,26 +6572,25 @@
6484
6572
  "relativePath": [
6485
6573
  "dist",
6486
6574
  "commands",
6487
- "sandbox",
6488
- "workflow_test",
6489
- "run",
6575
+ "static_host",
6576
+ "build",
6577
+ "list",
6490
6578
  "index.js"
6491
6579
  ]
6492
6580
  },
6493
- "static_host:build:create": {
6581
+ "tenant:backup:create": {
6494
6582
  "aliases": [],
6495
6583
  "args": {
6496
- "static_host": {
6497
- "description": "Static Host name",
6498
- "name": "static_host",
6584
+ "tenant_name": {
6585
+ "description": "Tenant name to back up",
6586
+ "name": "tenant_name",
6499
6587
  "required": true
6500
6588
  }
6501
6589
  },
6502
- "description": "Create a new build for a static host",
6590
+ "description": "Create a backup for a tenant",
6503
6591
  "examples": [
6504
- "$ xano static_host:build:create default -f ./build.zip -n \"v1.0.0\"\nBuild created successfully!\nID: 123\nName: v1.0.0\nStatus: pending\n",
6505
- "$ xano static_host:build:create default -w 40 -f ./dist.zip -n \"production\" -d \"Production build\"\nBuild created successfully!\nID: 124\nName: production\nDescription: Production build\n",
6506
- "$ xano static_host:build:create myhost -f ./app.zip -n \"release-1.2\" -o json\n{\n \"id\": 125,\n \"name\": \"release-1.2\",\n \"status\": \"pending\"\n}\n"
6592
+ "$ xano tenant backup create t1234-abcd-xyz1 --description \"Pre-deploy backup\"\nCreated backup #15 for tenant t1234-abcd-xyz1\n",
6593
+ "$ xano tenant backup create t1234-abcd-xyz1 -d \"Daily backup\" -o json"
6507
6594
  ],
6508
6595
  "flags": {
6509
6596
  "profile": {
@@ -6527,27 +6614,10 @@
6527
6614
  },
6528
6615
  "description": {
6529
6616
  "char": "d",
6530
- "description": "Build description",
6617
+ "description": "Backup description",
6531
6618
  "name": "description",
6532
6619
  "required": false,
6533
- "hasDynamicHelp": false,
6534
- "multiple": false,
6535
- "type": "option"
6536
- },
6537
- "file": {
6538
- "char": "f",
6539
- "description": "Path to zip file to upload",
6540
- "name": "file",
6541
- "required": true,
6542
- "hasDynamicHelp": false,
6543
- "multiple": false,
6544
- "type": "option"
6545
- },
6546
- "name": {
6547
- "char": "n",
6548
- "description": "Build name",
6549
- "name": "name",
6550
- "required": true,
6620
+ "default": "",
6551
6621
  "hasDynamicHelp": false,
6552
6622
  "multiple": false,
6553
6623
  "type": "option"
@@ -6568,7 +6638,7 @@
6568
6638
  },
6569
6639
  "workspace": {
6570
6640
  "char": "w",
6571
- "description": "Workspace ID (optional if set in profile)",
6641
+ "description": "Workspace ID (uses profile workspace if not provided)",
6572
6642
  "name": "workspace",
6573
6643
  "required": false,
6574
6644
  "hasDynamicHelp": false,
@@ -6578,7 +6648,7 @@
6578
6648
  },
6579
6649
  "hasDynamicHelp": false,
6580
6650
  "hiddenAliases": [],
6581
- "id": "static_host:build:create",
6651
+ "id": "tenant:backup:create",
6582
6652
  "pluginAlias": "@xano/cli",
6583
6653
  "pluginName": "@xano/cli",
6584
6654
  "pluginType": "core",
@@ -6588,19 +6658,26 @@
6588
6658
  "relativePath": [
6589
6659
  "dist",
6590
6660
  "commands",
6591
- "static_host",
6592
- "build",
6661
+ "tenant",
6662
+ "backup",
6593
6663
  "create",
6594
6664
  "index.js"
6595
6665
  ]
6596
6666
  },
6597
- "sandbox:workflow_test:run_all": {
6667
+ "tenant:backup:delete": {
6598
6668
  "aliases": [],
6599
- "args": {},
6600
- "description": "Run all workflow tests for a sandbox environment",
6669
+ "args": {
6670
+ "tenant_name": {
6671
+ "description": "Tenant name that owns the backup",
6672
+ "name": "tenant_name",
6673
+ "required": true
6674
+ }
6675
+ },
6676
+ "description": "Delete a tenant backup permanently. This action cannot be undone.",
6601
6677
  "examples": [
6602
- "$ xano sandbox workflow-test run-all\nRunning 3 workflow tests...\n\nPASS my-test (0.25s)\nFAIL data-check (0.10s)\n Error: assertion failed\n\nResults: 2 passed, 1 failed\n",
6603
- "$ xano sandbox workflow-test run-all -o json"
6678
+ "$ 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",
6679
+ "$ xano tenant backup delete t1234-abcd-xyz1 --backup_id 10 --force",
6680
+ "$ xano tenant backup delete t1234-abcd-xyz1 --backup_id 10 -o json"
6604
6681
  ],
6605
6682
  "flags": {
6606
6683
  "profile": {
@@ -6622,85 +6699,18 @@
6622
6699
  "allowNo": false,
6623
6700
  "type": "boolean"
6624
6701
  },
6625
- "branch": {
6626
- "char": "b",
6627
- "description": "Filter by branch name",
6628
- "name": "branch",
6629
- "required": false,
6630
- "hasDynamicHelp": false,
6631
- "multiple": false,
6632
- "type": "option"
6633
- },
6634
- "output": {
6635
- "char": "o",
6636
- "description": "Output format",
6637
- "name": "output",
6638
- "required": false,
6639
- "default": "summary",
6640
- "hasDynamicHelp": false,
6641
- "multiple": false,
6642
- "options": [
6643
- "summary",
6644
- "json"
6645
- ],
6646
- "type": "option"
6647
- }
6648
- },
6649
- "hasDynamicHelp": false,
6650
- "hiddenAliases": [],
6651
- "id": "sandbox:workflow_test:run_all",
6652
- "pluginAlias": "@xano/cli",
6653
- "pluginName": "@xano/cli",
6654
- "pluginType": "core",
6655
- "strict": true,
6656
- "enableJsonFlag": false,
6657
- "isESM": true,
6658
- "relativePath": [
6659
- "dist",
6660
- "commands",
6661
- "sandbox",
6662
- "workflow_test",
6663
- "run_all",
6664
- "index.js"
6665
- ]
6666
- },
6667
- "static_host:build:get": {
6668
- "aliases": [],
6669
- "args": {
6670
- "build_id": {
6671
- "description": "Build ID",
6672
- "name": "build_id",
6673
- "required": true
6674
- },
6675
- "static_host": {
6676
- "description": "Static Host name",
6677
- "name": "static_host",
6678
- "required": true
6679
- }
6680
- },
6681
- "description": "Get details of a specific build for a static host",
6682
- "examples": [
6683
- "$ xano static_host:build:get default 52\nBuild Details:\nID: 52\nName: v1.0.0\nStatus: completed\n",
6684
- "$ xano static_host:build:get default 52 -w 40\nBuild Details:\nID: 52\nName: v1.0.0\nStatus: completed\n",
6685
- "$ xano static_host:build:get myhost 123 --profile production\nBuild Details:\nID: 123\nName: production-build\n",
6686
- "$ xano static_host:build:get default 52 -o json\n{\n \"id\": 52,\n \"name\": \"v1.0.0\",\n \"status\": \"completed\"\n}\n"
6687
- ],
6688
- "flags": {
6689
- "profile": {
6690
- "char": "p",
6691
- "description": "Profile to use (uses default profile if not specified)",
6692
- "env": "XANO_PROFILE",
6693
- "name": "profile",
6694
- "required": false,
6702
+ "backup_id": {
6703
+ "description": "Backup ID to delete",
6704
+ "name": "backup_id",
6705
+ "required": true,
6695
6706
  "hasDynamicHelp": false,
6696
6707
  "multiple": false,
6697
6708
  "type": "option"
6698
6709
  },
6699
- "verbose": {
6700
- "char": "v",
6701
- "description": "Show detailed request/response information",
6702
- "env": "XANO_VERBOSE",
6703
- "name": "verbose",
6710
+ "force": {
6711
+ "char": "f",
6712
+ "description": "Skip confirmation prompt",
6713
+ "name": "force",
6704
6714
  "required": false,
6705
6715
  "allowNo": false,
6706
6716
  "type": "boolean"
@@ -6721,7 +6731,7 @@
6721
6731
  },
6722
6732
  "workspace": {
6723
6733
  "char": "w",
6724
- "description": "Workspace ID (optional if set in profile)",
6734
+ "description": "Workspace ID (uses profile workspace if not provided)",
6725
6735
  "name": "workspace",
6726
6736
  "required": false,
6727
6737
  "hasDynamicHelp": false,
@@ -6731,7 +6741,7 @@
6731
6741
  },
6732
6742
  "hasDynamicHelp": false,
6733
6743
  "hiddenAliases": [],
6734
- "id": "static_host:build:get",
6744
+ "id": "tenant:backup:delete",
6735
6745
  "pluginAlias": "@xano/cli",
6736
6746
  "pluginName": "@xano/cli",
6737
6747
  "pluginType": "core",
@@ -6741,27 +6751,26 @@
6741
6751
  "relativePath": [
6742
6752
  "dist",
6743
6753
  "commands",
6744
- "static_host",
6745
- "build",
6746
- "get",
6754
+ "tenant",
6755
+ "backup",
6756
+ "delete",
6747
6757
  "index.js"
6748
6758
  ]
6749
6759
  },
6750
- "static_host:build:list": {
6760
+ "tenant:backup:export": {
6751
6761
  "aliases": [],
6752
6762
  "args": {
6753
- "static_host": {
6754
- "description": "Static Host name",
6755
- "name": "static_host",
6763
+ "tenant_name": {
6764
+ "description": "Tenant name to export backup from",
6765
+ "name": "tenant_name",
6756
6766
  "required": true
6757
6767
  }
6758
6768
  },
6759
- "description": "List all builds for a static host",
6769
+ "description": "Export (download) a tenant backup to a local file",
6760
6770
  "examples": [
6761
- "$ xano static_host:build:list default -w 40\nAvailable builds:\n - v1.0.0 (ID: 1) - Status: completed\n - v1.0.1 (ID: 2) - Status: pending\n",
6762
- "$ xano static_host:build:list myhost --profile production\nAvailable builds:\n - production (ID: 1) - Status: completed\n - staging (ID: 2) - Status: completed\n",
6763
- "$ xano static_host:build:list default -w 40 --output json\n[\n {\n \"id\": 1,\n \"name\": \"v1.0.0\",\n \"status\": \"completed\"\n }\n]\n",
6764
- "$ xano static_host:build:list default -p staging -o json --page 2\n[\n {\n \"id\": 3,\n \"name\": \"v1.0.2\"\n }\n]\n"
6771
+ "$ xano tenant backup export t1234-abcd-xyz1 --backup_id 10\nDownloaded backup #10 to ./tenant-t1234-abcd-xyz1-backup-10.tar.gz\n",
6772
+ "$ xano tenant backup export t1234-abcd-xyz1 --backup_id 10 --output ./backups/my-backup.tar.gz",
6773
+ "$ xano tenant backup export t1234-abcd-xyz1 --backup_id 10 -o json"
6765
6774
  ],
6766
6775
  "flags": {
6767
6776
  "profile": {
@@ -6783,10 +6792,18 @@
6783
6792
  "allowNo": false,
6784
6793
  "type": "boolean"
6785
6794
  },
6786
- "output": {
6795
+ "backup_id": {
6796
+ "description": "Backup ID to export",
6797
+ "name": "backup_id",
6798
+ "required": true,
6799
+ "hasDynamicHelp": false,
6800
+ "multiple": false,
6801
+ "type": "option"
6802
+ },
6803
+ "format": {
6787
6804
  "char": "o",
6788
6805
  "description": "Output format",
6789
- "name": "output",
6806
+ "name": "format",
6790
6807
  "required": false,
6791
6808
  "default": "summary",
6792
6809
  "hasDynamicHelp": false,
@@ -6797,27 +6814,17 @@
6797
6814
  ],
6798
6815
  "type": "option"
6799
6816
  },
6800
- "page": {
6801
- "description": "Page number for pagination",
6802
- "name": "page",
6803
- "required": false,
6804
- "default": 1,
6805
- "hasDynamicHelp": false,
6806
- "multiple": false,
6807
- "type": "option"
6808
- },
6809
- "per_page": {
6810
- "description": "Number of results per page",
6811
- "name": "per_page",
6817
+ "output": {
6818
+ "description": "Output file path (defaults to ./tenant-{name}-backup-{backup_id}.tar.gz)",
6819
+ "name": "output",
6812
6820
  "required": false,
6813
- "default": 50,
6814
6821
  "hasDynamicHelp": false,
6815
6822
  "multiple": false,
6816
6823
  "type": "option"
6817
6824
  },
6818
6825
  "workspace": {
6819
6826
  "char": "w",
6820
- "description": "Workspace ID (optional if set in profile)",
6827
+ "description": "Workspace ID (uses profile workspace if not provided)",
6821
6828
  "name": "workspace",
6822
6829
  "required": false,
6823
6830
  "hasDynamicHelp": false,
@@ -6827,7 +6834,7 @@
6827
6834
  },
6828
6835
  "hasDynamicHelp": false,
6829
6836
  "hiddenAliases": [],
6830
- "id": "static_host:build:list",
6837
+ "id": "tenant:backup:export",
6831
6838
  "pluginAlias": "@xano/cli",
6832
6839
  "pluginName": "@xano/cli",
6833
6840
  "pluginType": "core",
@@ -6837,26 +6844,25 @@
6837
6844
  "relativePath": [
6838
6845
  "dist",
6839
6846
  "commands",
6840
- "static_host",
6841
- "build",
6842
- "list",
6847
+ "tenant",
6848
+ "backup",
6849
+ "export",
6843
6850
  "index.js"
6844
6851
  ]
6845
6852
  },
6846
- "tenant:backup:delete": {
6853
+ "tenant:backup:import": {
6847
6854
  "aliases": [],
6848
6855
  "args": {
6849
6856
  "tenant_name": {
6850
- "description": "Tenant name that owns the backup",
6857
+ "description": "Tenant name to import backup into",
6851
6858
  "name": "tenant_name",
6852
6859
  "required": true
6853
6860
  }
6854
6861
  },
6855
- "description": "Delete a tenant backup permanently. This action cannot be undone.",
6862
+ "description": "Import a backup file into a tenant",
6856
6863
  "examples": [
6857
- "$ 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",
6858
- "$ xano tenant backup delete t1234-abcd-xyz1 --backup_id 10 --force",
6859
- "$ xano tenant backup delete t1234-abcd-xyz1 --backup_id 10 -o json"
6864
+ "$ xano tenant backup import t1234-abcd-xyz1 --file ./my-backup.tar.gz\nImported backup as #15 for tenant t1234-abcd-xyz1\n",
6865
+ "$ xano tenant backup import t1234-abcd-xyz1 --file ./my-backup.tar.gz --description \"Restored from production\" -o json"
6860
6866
  ],
6861
6867
  "flags": {
6862
6868
  "profile": {
@@ -6878,21 +6884,24 @@
6878
6884
  "allowNo": false,
6879
6885
  "type": "boolean"
6880
6886
  },
6881
- "backup_id": {
6882
- "description": "Backup ID to delete",
6883
- "name": "backup_id",
6884
- "required": true,
6887
+ "description": {
6888
+ "char": "d",
6889
+ "description": "Backup description",
6890
+ "name": "description",
6891
+ "required": false,
6892
+ "default": "",
6885
6893
  "hasDynamicHelp": false,
6886
6894
  "multiple": false,
6887
6895
  "type": "option"
6888
6896
  },
6889
- "force": {
6897
+ "file": {
6890
6898
  "char": "f",
6891
- "description": "Skip confirmation prompt",
6892
- "name": "force",
6893
- "required": false,
6894
- "allowNo": false,
6895
- "type": "boolean"
6899
+ "description": "Path to the backup file (.tar.gz)",
6900
+ "name": "file",
6901
+ "required": true,
6902
+ "hasDynamicHelp": false,
6903
+ "multiple": false,
6904
+ "type": "option"
6896
6905
  },
6897
6906
  "output": {
6898
6907
  "char": "o",
@@ -6920,7 +6929,7 @@
6920
6929
  },
6921
6930
  "hasDynamicHelp": false,
6922
6931
  "hiddenAliases": [],
6923
- "id": "tenant:backup:delete",
6932
+ "id": "tenant:backup:import",
6924
6933
  "pluginAlias": "@xano/cli",
6925
6934
  "pluginName": "@xano/cli",
6926
6935
  "pluginType": "core",
@@ -6932,23 +6941,23 @@
6932
6941
  "commands",
6933
6942
  "tenant",
6934
6943
  "backup",
6935
- "delete",
6944
+ "import",
6936
6945
  "index.js"
6937
6946
  ]
6938
6947
  },
6939
- "tenant:backup:create": {
6948
+ "tenant:backup:list": {
6940
6949
  "aliases": [],
6941
6950
  "args": {
6942
6951
  "tenant_name": {
6943
- "description": "Tenant name to back up",
6952
+ "description": "Tenant name to list backups for",
6944
6953
  "name": "tenant_name",
6945
6954
  "required": true
6946
6955
  }
6947
6956
  },
6948
- "description": "Create a backup for a tenant",
6957
+ "description": "List backups for a tenant",
6949
6958
  "examples": [
6950
- "$ xano tenant backup create t1234-abcd-xyz1 --description \"Pre-deploy backup\"\nCreated backup #15 for tenant t1234-abcd-xyz1\n",
6951
- "$ xano tenant backup create t1234-abcd-xyz1 -d \"Daily backup\" -o json"
6959
+ "$ xano tenant backup list t1234-abcd-xyz1\nBackups for tenant t1234-abcd-xyz1:\n - #1 - Pre-deploy backup (2024-01-15)\n - #2 - Daily backup (2024-01-16)\n",
6960
+ "$ xano tenant backup list t1234-abcd-xyz1 -o json"
6952
6961
  ],
6953
6962
  "flags": {
6954
6963
  "profile": {
@@ -6970,16 +6979,6 @@
6970
6979
  "allowNo": false,
6971
6980
  "type": "boolean"
6972
6981
  },
6973
- "description": {
6974
- "char": "d",
6975
- "description": "Backup description",
6976
- "name": "description",
6977
- "required": false,
6978
- "default": "",
6979
- "hasDynamicHelp": false,
6980
- "multiple": false,
6981
- "type": "option"
6982
- },
6983
6982
  "output": {
6984
6983
  "char": "o",
6985
6984
  "description": "Output format",
@@ -6994,6 +6993,15 @@
6994
6993
  ],
6995
6994
  "type": "option"
6996
6995
  },
6996
+ "page": {
6997
+ "description": "Page number for pagination",
6998
+ "name": "page",
6999
+ "required": false,
7000
+ "default": 1,
7001
+ "hasDynamicHelp": false,
7002
+ "multiple": false,
7003
+ "type": "option"
7004
+ },
6997
7005
  "workspace": {
6998
7006
  "char": "w",
6999
7007
  "description": "Workspace ID (uses profile workspace if not provided)",
@@ -7006,7 +7014,7 @@
7006
7014
  },
7007
7015
  "hasDynamicHelp": false,
7008
7016
  "hiddenAliases": [],
7009
- "id": "tenant:backup:create",
7017
+ "id": "tenant:backup:list",
7010
7018
  "pluginAlias": "@xano/cli",
7011
7019
  "pluginName": "@xano/cli",
7012
7020
  "pluginType": "core",
@@ -7018,24 +7026,23 @@
7018
7026
  "commands",
7019
7027
  "tenant",
7020
7028
  "backup",
7021
- "create",
7029
+ "list",
7022
7030
  "index.js"
7023
7031
  ]
7024
7032
  },
7025
- "tenant:backup:export": {
7033
+ "tenant:backup:restore": {
7026
7034
  "aliases": [],
7027
7035
  "args": {
7028
7036
  "tenant_name": {
7029
- "description": "Tenant name to export backup from",
7037
+ "description": "Tenant name to restore",
7030
7038
  "name": "tenant_name",
7031
7039
  "required": true
7032
7040
  }
7033
7041
  },
7034
- "description": "Export (download) a tenant backup to a local file",
7042
+ "description": "Restore a tenant from a backup. This replaces the current tenant data.",
7035
7043
  "examples": [
7036
- "$ xano tenant backup export t1234-abcd-xyz1 --backup_id 10\nDownloaded backup #10 to ./tenant-t1234-abcd-xyz1-backup-10.tar.gz\n",
7037
- "$ xano tenant backup export t1234-abcd-xyz1 --backup_id 10 --output ./backups/my-backup.tar.gz",
7038
- "$ xano tenant backup export t1234-abcd-xyz1 --backup_id 10 -o json"
7044
+ "$ xano tenant backup restore t1234-abcd-xyz1 --backup_id 10\nAre you sure you want to restore tenant t1234-abcd-xyz1 from backup 10? This will replace current data. (y/N) y\nRestored tenant t1234-abcd-xyz1 from backup #10\n",
7045
+ "$ xano tenant backup restore t1234-abcd-xyz1 --backup_id 10 --force -o json"
7039
7046
  ],
7040
7047
  "flags": {
7041
7048
  "profile": {
@@ -7058,17 +7065,25 @@
7058
7065
  "type": "boolean"
7059
7066
  },
7060
7067
  "backup_id": {
7061
- "description": "Backup ID to export",
7068
+ "description": "Backup ID to restore from",
7062
7069
  "name": "backup_id",
7063
7070
  "required": true,
7064
7071
  "hasDynamicHelp": false,
7065
7072
  "multiple": false,
7066
7073
  "type": "option"
7067
7074
  },
7068
- "format": {
7075
+ "force": {
7076
+ "char": "f",
7077
+ "description": "Skip confirmation prompt",
7078
+ "name": "force",
7079
+ "required": false,
7080
+ "allowNo": false,
7081
+ "type": "boolean"
7082
+ },
7083
+ "output": {
7069
7084
  "char": "o",
7070
7085
  "description": "Output format",
7071
- "name": "format",
7086
+ "name": "output",
7072
7087
  "required": false,
7073
7088
  "default": "summary",
7074
7089
  "hasDynamicHelp": false,
@@ -7079,14 +7094,6 @@
7079
7094
  ],
7080
7095
  "type": "option"
7081
7096
  },
7082
- "output": {
7083
- "description": "Output file path (defaults to ./tenant-{name}-backup-{backup_id}.tar.gz)",
7084
- "name": "output",
7085
- "required": false,
7086
- "hasDynamicHelp": false,
7087
- "multiple": false,
7088
- "type": "option"
7089
- },
7090
7097
  "workspace": {
7091
7098
  "char": "w",
7092
7099
  "description": "Workspace ID (uses profile workspace if not provided)",
@@ -7099,7 +7106,7 @@
7099
7106
  },
7100
7107
  "hasDynamicHelp": false,
7101
7108
  "hiddenAliases": [],
7102
- "id": "tenant:backup:export",
7109
+ "id": "tenant:backup:restore",
7103
7110
  "pluginAlias": "@xano/cli",
7104
7111
  "pluginName": "@xano/cli",
7105
7112
  "pluginType": "core",
@@ -7111,23 +7118,17 @@
7111
7118
  "commands",
7112
7119
  "tenant",
7113
7120
  "backup",
7114
- "export",
7121
+ "restore",
7115
7122
  "index.js"
7116
7123
  ]
7117
7124
  },
7118
- "tenant:backup:import": {
7125
+ "sandbox:unit_test:list": {
7119
7126
  "aliases": [],
7120
- "args": {
7121
- "tenant_name": {
7122
- "description": "Tenant name to import backup into",
7123
- "name": "tenant_name",
7124
- "required": true
7125
- }
7126
- },
7127
- "description": "Import a backup file into a tenant",
7127
+ "args": {},
7128
+ "description": "List all unit tests for a sandbox environment",
7128
7129
  "examples": [
7129
- "$ xano tenant backup import t1234-abcd-xyz1 --file ./my-backup.tar.gz\nImported backup as #15 for tenant t1234-abcd-xyz1\n",
7130
- "$ xano tenant backup import t1234-abcd-xyz1 --file ./my-backup.tar.gz --description \"Restored from production\" -o json"
7130
+ "$ xano sandbox unit-test list\nUnit tests:\n - my-test (ID: abc-123) [function: math]\n",
7131
+ "$ xano sandbox unit-test list -o json"
7131
7132
  ],
7132
7133
  "flags": {
7133
7134
  "profile": {
@@ -7149,23 +7150,26 @@
7149
7150
  "allowNo": false,
7150
7151
  "type": "boolean"
7151
7152
  },
7152
- "description": {
7153
- "char": "d",
7154
- "description": "Backup description",
7155
- "name": "description",
7153
+ "branch": {
7154
+ "char": "b",
7155
+ "description": "Filter by branch name",
7156
+ "name": "branch",
7156
7157
  "required": false,
7157
- "default": "",
7158
7158
  "hasDynamicHelp": false,
7159
7159
  "multiple": false,
7160
7160
  "type": "option"
7161
7161
  },
7162
- "file": {
7163
- "char": "f",
7164
- "description": "Path to the backup file (.tar.gz)",
7165
- "name": "file",
7166
- "required": true,
7162
+ "obj-type": {
7163
+ "description": "Filter by object type",
7164
+ "name": "obj-type",
7165
+ "required": false,
7167
7166
  "hasDynamicHelp": false,
7168
7167
  "multiple": false,
7168
+ "options": [
7169
+ "function",
7170
+ "query",
7171
+ "middleware"
7172
+ ],
7169
7173
  "type": "option"
7170
7174
  },
7171
7175
  "output": {
@@ -7181,20 +7185,11 @@
7181
7185
  "json"
7182
7186
  ],
7183
7187
  "type": "option"
7184
- },
7185
- "workspace": {
7186
- "char": "w",
7187
- "description": "Workspace ID (uses profile workspace if not provided)",
7188
- "name": "workspace",
7189
- "required": false,
7190
- "hasDynamicHelp": false,
7191
- "multiple": false,
7192
- "type": "option"
7193
7188
  }
7194
7189
  },
7195
7190
  "hasDynamicHelp": false,
7196
7191
  "hiddenAliases": [],
7197
- "id": "tenant:backup:import",
7192
+ "id": "sandbox:unit_test:list",
7198
7193
  "pluginAlias": "@xano/cli",
7199
7194
  "pluginName": "@xano/cli",
7200
7195
  "pluginType": "core",
@@ -7204,25 +7199,25 @@
7204
7199
  "relativePath": [
7205
7200
  "dist",
7206
7201
  "commands",
7207
- "tenant",
7208
- "backup",
7209
- "import",
7202
+ "sandbox",
7203
+ "unit_test",
7204
+ "list",
7210
7205
  "index.js"
7211
7206
  ]
7212
7207
  },
7213
- "tenant:backup:list": {
7208
+ "sandbox:unit_test:run": {
7214
7209
  "aliases": [],
7215
7210
  "args": {
7216
- "tenant_name": {
7217
- "description": "Tenant name to list backups for",
7218
- "name": "tenant_name",
7211
+ "unit_test_id": {
7212
+ "description": "ID of the unit test to run",
7213
+ "name": "unit_test_id",
7219
7214
  "required": true
7220
7215
  }
7221
7216
  },
7222
- "description": "List backups for a tenant",
7217
+ "description": "Run a unit test for a sandbox environment",
7223
7218
  "examples": [
7224
- "$ xano tenant backup list t1234-abcd-xyz1\nBackups for tenant t1234-abcd-xyz1:\n - #1 - Pre-deploy backup (2024-01-15)\n - #2 - Daily backup (2024-01-16)\n",
7225
- "$ xano tenant backup list t1234-abcd-xyz1 -o json"
7219
+ "$ xano sandbox unit-test run abc-123\nRunning unit test abc-123...\nResult: PASS\n",
7220
+ "$ xano sandbox unit-test run abc-123 -o json"
7226
7221
  ],
7227
7222
  "flags": {
7228
7223
  "profile": {
@@ -7246,40 +7241,22 @@
7246
7241
  },
7247
7242
  "output": {
7248
7243
  "char": "o",
7249
- "description": "Output format",
7250
- "name": "output",
7251
- "required": false,
7252
- "default": "summary",
7253
- "hasDynamicHelp": false,
7254
- "multiple": false,
7255
- "options": [
7256
- "summary",
7257
- "json"
7258
- ],
7259
- "type": "option"
7260
- },
7261
- "page": {
7262
- "description": "Page number for pagination",
7263
- "name": "page",
7264
- "required": false,
7265
- "default": 1,
7266
- "hasDynamicHelp": false,
7267
- "multiple": false,
7268
- "type": "option"
7269
- },
7270
- "workspace": {
7271
- "char": "w",
7272
- "description": "Workspace ID (uses profile workspace if not provided)",
7273
- "name": "workspace",
7244
+ "description": "Output format",
7245
+ "name": "output",
7274
7246
  "required": false,
7247
+ "default": "summary",
7275
7248
  "hasDynamicHelp": false,
7276
7249
  "multiple": false,
7250
+ "options": [
7251
+ "summary",
7252
+ "json"
7253
+ ],
7277
7254
  "type": "option"
7278
7255
  }
7279
7256
  },
7280
7257
  "hasDynamicHelp": false,
7281
7258
  "hiddenAliases": [],
7282
- "id": "tenant:backup:list",
7259
+ "id": "sandbox:unit_test:run",
7283
7260
  "pluginAlias": "@xano/cli",
7284
7261
  "pluginName": "@xano/cli",
7285
7262
  "pluginType": "core",
@@ -7289,25 +7266,19 @@
7289
7266
  "relativePath": [
7290
7267
  "dist",
7291
7268
  "commands",
7292
- "tenant",
7293
- "backup",
7294
- "list",
7269
+ "sandbox",
7270
+ "unit_test",
7271
+ "run",
7295
7272
  "index.js"
7296
7273
  ]
7297
7274
  },
7298
- "tenant:backup:restore": {
7275
+ "sandbox:unit_test:run_all": {
7299
7276
  "aliases": [],
7300
- "args": {
7301
- "tenant_name": {
7302
- "description": "Tenant name to restore",
7303
- "name": "tenant_name",
7304
- "required": true
7305
- }
7306
- },
7307
- "description": "Restore a tenant from a backup. This replaces the current tenant data.",
7277
+ "args": {},
7278
+ "description": "Run all unit tests for a sandbox environment",
7308
7279
  "examples": [
7309
- "$ xano tenant backup restore t1234-abcd-xyz1 --backup_id 10\nAre you sure you want to restore tenant t1234-abcd-xyz1 from backup 10? This will replace current data. (y/N) y\nRestored tenant t1234-abcd-xyz1 from backup #10\n",
7310
- "$ xano tenant backup restore t1234-abcd-xyz1 --backup_id 10 --force -o json"
7280
+ "$ xano sandbox unit-test run-all\nRunning 5 unit tests...\n\nPASS my-test [function: math]\nFAIL data-validation [function: validate]\n Error: assertion failed\n\nResults: 4 passed, 1 failed\n",
7281
+ "$ xano sandbox unit-test run-all -o json"
7311
7282
  ],
7312
7283
  "flags": {
7313
7284
  "profile": {
@@ -7329,21 +7300,27 @@
7329
7300
  "allowNo": false,
7330
7301
  "type": "boolean"
7331
7302
  },
7332
- "backup_id": {
7333
- "description": "Backup ID to restore from",
7334
- "name": "backup_id",
7335
- "required": true,
7303
+ "branch": {
7304
+ "char": "b",
7305
+ "description": "Filter by branch name",
7306
+ "name": "branch",
7307
+ "required": false,
7336
7308
  "hasDynamicHelp": false,
7337
7309
  "multiple": false,
7338
7310
  "type": "option"
7339
7311
  },
7340
- "force": {
7341
- "char": "f",
7342
- "description": "Skip confirmation prompt",
7343
- "name": "force",
7312
+ "obj-type": {
7313
+ "description": "Filter by object type",
7314
+ "name": "obj-type",
7344
7315
  "required": false,
7345
- "allowNo": false,
7346
- "type": "boolean"
7316
+ "hasDynamicHelp": false,
7317
+ "multiple": false,
7318
+ "options": [
7319
+ "function",
7320
+ "query",
7321
+ "middleware"
7322
+ ],
7323
+ "type": "option"
7347
7324
  },
7348
7325
  "output": {
7349
7326
  "char": "o",
@@ -7358,20 +7335,11 @@
7358
7335
  "json"
7359
7336
  ],
7360
7337
  "type": "option"
7361
- },
7362
- "workspace": {
7363
- "char": "w",
7364
- "description": "Workspace ID (uses profile workspace if not provided)",
7365
- "name": "workspace",
7366
- "required": false,
7367
- "hasDynamicHelp": false,
7368
- "multiple": false,
7369
- "type": "option"
7370
7338
  }
7371
7339
  },
7372
7340
  "hasDynamicHelp": false,
7373
7341
  "hiddenAliases": [],
7374
- "id": "tenant:backup:restore",
7342
+ "id": "sandbox:unit_test:run_all",
7375
7343
  "pluginAlias": "@xano/cli",
7376
7344
  "pluginName": "@xano/cli",
7377
7345
  "pluginType": "core",
@@ -7381,9 +7349,9 @@
7381
7349
  "relativePath": [
7382
7350
  "dist",
7383
7351
  "commands",
7384
- "tenant",
7385
- "backup",
7386
- "restore",
7352
+ "sandbox",
7353
+ "unit_test",
7354
+ "run_all",
7387
7355
  "index.js"
7388
7356
  ]
7389
7357
  },
@@ -7585,108 +7553,6 @@
7585
7553
  "index.js"
7586
7554
  ]
7587
7555
  },
7588
- "tenant:push": {
7589
- "aliases": [],
7590
- "args": {
7591
- "directory": {
7592
- "description": "Directory containing documents to push (as produced by tenant pull or workspace pull)",
7593
- "name": "directory",
7594
- "required": true
7595
- }
7596
- },
7597
- "description": "Push local documents to a tenant via the Xano Metadata API multidoc endpoint",
7598
- "examples": [
7599
- "$ xano tenant push ./my-workspace -t my-tenant\nPushed 42 documents to tenant my-tenant from ./my-workspace\n",
7600
- "$ xano tenant push ./output -t my-tenant -w 40\nPushed 15 documents to tenant my-tenant from ./output\n",
7601
- "$ xano tenant push ./backup -t my-tenant --profile production\nPushed 58 documents to tenant my-tenant from ./backup\n",
7602
- "$ xano tenant push ./my-workspace -t my-tenant --records\nInclude table records in import\n",
7603
- "$ xano tenant push ./my-workspace -t my-tenant --env\nInclude environment variables in import\n",
7604
- "$ xano tenant push ./my-workspace -t my-tenant --truncate\nTruncate all table records before importing\n"
7605
- ],
7606
- "flags": {
7607
- "profile": {
7608
- "char": "p",
7609
- "description": "Profile to use (uses default profile if not specified)",
7610
- "env": "XANO_PROFILE",
7611
- "name": "profile",
7612
- "required": false,
7613
- "hasDynamicHelp": false,
7614
- "multiple": false,
7615
- "type": "option"
7616
- },
7617
- "verbose": {
7618
- "char": "v",
7619
- "description": "Show detailed request/response information",
7620
- "env": "XANO_VERBOSE",
7621
- "name": "verbose",
7622
- "required": false,
7623
- "allowNo": false,
7624
- "type": "boolean"
7625
- },
7626
- "env": {
7627
- "description": "Include environment variables in import",
7628
- "name": "env",
7629
- "required": false,
7630
- "allowNo": false,
7631
- "type": "boolean"
7632
- },
7633
- "records": {
7634
- "description": "Include records in import",
7635
- "name": "records",
7636
- "required": false,
7637
- "allowNo": false,
7638
- "type": "boolean"
7639
- },
7640
- "tenant": {
7641
- "char": "t",
7642
- "description": "Tenant name to push to",
7643
- "name": "tenant",
7644
- "required": true,
7645
- "hasDynamicHelp": false,
7646
- "multiple": false,
7647
- "type": "option"
7648
- },
7649
- "transaction": {
7650
- "description": "Wrap import in a database transaction (use --no-transaction for debugging purposes)",
7651
- "name": "transaction",
7652
- "required": false,
7653
- "allowNo": true,
7654
- "type": "boolean"
7655
- },
7656
- "truncate": {
7657
- "description": "Truncate all table records before importing",
7658
- "name": "truncate",
7659
- "required": false,
7660
- "allowNo": false,
7661
- "type": "boolean"
7662
- },
7663
- "workspace": {
7664
- "char": "w",
7665
- "description": "Workspace ID (optional if set in profile)",
7666
- "name": "workspace",
7667
- "required": false,
7668
- "hasDynamicHelp": false,
7669
- "multiple": false,
7670
- "type": "option"
7671
- }
7672
- },
7673
- "hasDynamicHelp": false,
7674
- "hiddenAliases": [],
7675
- "id": "tenant:push",
7676
- "pluginAlias": "@xano/cli",
7677
- "pluginName": "@xano/cli",
7678
- "pluginType": "core",
7679
- "strict": true,
7680
- "enableJsonFlag": false,
7681
- "isESM": true,
7682
- "relativePath": [
7683
- "dist",
7684
- "commands",
7685
- "tenant",
7686
- "push",
7687
- "index.js"
7688
- ]
7689
- },
7690
7556
  "tenant:cluster:edit": {
7691
7557
  "aliases": [],
7692
7558
  "args": {
@@ -9033,91 +8899,6 @@
9033
8899
  "index.js"
9034
8900
  ]
9035
8901
  },
9036
- "tenant:workflow_test:get": {
9037
- "aliases": [],
9038
- "args": {
9039
- "workflow_test_id": {
9040
- "description": "ID of the workflow test",
9041
- "name": "workflow_test_id",
9042
- "required": true
9043
- }
9044
- },
9045
- "description": "Get a workflow test for a tenant",
9046
- "examples": [
9047
- "$ xano tenant workflow-test get 42 -t my-tenant",
9048
- "$ xano tenant workflow-test get 42 -t my-tenant -o json"
9049
- ],
9050
- "flags": {
9051
- "profile": {
9052
- "char": "p",
9053
- "description": "Profile to use (uses default profile if not specified)",
9054
- "env": "XANO_PROFILE",
9055
- "name": "profile",
9056
- "required": false,
9057
- "hasDynamicHelp": false,
9058
- "multiple": false,
9059
- "type": "option"
9060
- },
9061
- "verbose": {
9062
- "char": "v",
9063
- "description": "Show detailed request/response information",
9064
- "env": "XANO_VERBOSE",
9065
- "name": "verbose",
9066
- "required": false,
9067
- "allowNo": false,
9068
- "type": "boolean"
9069
- },
9070
- "output": {
9071
- "char": "o",
9072
- "description": "Output format",
9073
- "name": "output",
9074
- "required": false,
9075
- "default": "summary",
9076
- "hasDynamicHelp": false,
9077
- "multiple": false,
9078
- "options": [
9079
- "summary",
9080
- "json"
9081
- ],
9082
- "type": "option"
9083
- },
9084
- "tenant": {
9085
- "char": "t",
9086
- "description": "Tenant name",
9087
- "name": "tenant",
9088
- "required": true,
9089
- "hasDynamicHelp": false,
9090
- "multiple": false,
9091
- "type": "option"
9092
- },
9093
- "workspace": {
9094
- "char": "w",
9095
- "description": "Workspace ID (uses profile workspace if not provided)",
9096
- "name": "workspace",
9097
- "required": false,
9098
- "hasDynamicHelp": false,
9099
- "multiple": false,
9100
- "type": "option"
9101
- }
9102
- },
9103
- "hasDynamicHelp": false,
9104
- "hiddenAliases": [],
9105
- "id": "tenant:workflow_test:get",
9106
- "pluginAlias": "@xano/cli",
9107
- "pluginName": "@xano/cli",
9108
- "pluginType": "core",
9109
- "strict": true,
9110
- "enableJsonFlag": false,
9111
- "isESM": true,
9112
- "relativePath": [
9113
- "dist",
9114
- "commands",
9115
- "tenant",
9116
- "workflow_test",
9117
- "get",
9118
- "index.js"
9119
- ]
9120
- },
9121
8902
  "tenant:workflow_test:list": {
9122
8903
  "aliases": [],
9123
8904
  "args": {},
@@ -9664,5 +9445,5 @@
9664
9445
  ]
9665
9446
  }
9666
9447
  },
9667
- "version": "0.0.95-beta.12"
9448
+ "version": "0.0.95-beta.15"
9668
9449
  }