@xano/cli 0.0.95-beta.13 → 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.
@@ -770,23 +770,15 @@
770
770
  "index.js"
771
771
  ]
772
772
  },
773
- "function:get": {
773
+ "function:list": {
774
774
  "aliases": [],
775
- "args": {
776
- "function_id": {
777
- "description": "Function ID",
778
- "name": "function_id",
779
- "required": false
780
- }
781
- },
782
- "description": "Get a specific function from a workspace",
775
+ "args": {},
776
+ "description": "List all functions in a workspace from the Xano Metadata API",
783
777
  "examples": [
784
- "$ xano function:get 145 -w 40\nFunction: yo (ID: 145)\nCreated: 2025-10-10 10:30:00\nDescription: Sample function\n",
785
- "$ xano function:get 145 --profile production\nFunction: yo (ID: 145)\nCreated: 2025-10-10 10:30:00\n",
786
- "$ xano function:get\nSelect a function:\n ❯ yo (ID: 145) - Sample function\n another-func (ID: 146)\n",
787
- "$ xano function:get 145 -w 40 --output json\n{\n \"id\": 145,\n \"name\": \"yo\",\n \"description\": \"Sample function\"\n}\n",
788
- "$ xano function:get 145 -p staging -o json --include_draft\n{\n \"id\": 145,\n \"name\": \"yo\"\n}\n",
789
- "$ 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"
790
782
  ],
791
783
  "flags": {
792
784
  "profile": {
@@ -809,7 +801,7 @@
809
801
  "type": "boolean"
810
802
  },
811
803
  "include_draft": {
812
- "description": "Include draft version",
804
+ "description": "Include draft functions",
813
805
  "name": "include_draft",
814
806
  "required": false,
815
807
  "allowNo": false,
@@ -822,6 +814,19 @@
822
814
  "allowNo": false,
823
815
  "type": "boolean"
824
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
+ },
825
830
  "output": {
826
831
  "char": "o",
827
832
  "description": "Output format",
@@ -832,11 +837,37 @@
832
837
  "multiple": false,
833
838
  "options": [
834
839
  "summary",
835
- "json",
836
- "xs"
840
+ "json"
837
841
  ],
838
842
  "type": "option"
839
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
+ },
840
871
  "workspace": {
841
872
  "char": "w",
842
873
  "description": "Workspace ID (optional if set in profile)",
@@ -849,7 +880,7 @@
849
880
  },
850
881
  "hasDynamicHelp": false,
851
882
  "hiddenAliases": [],
852
- "id": "function:get",
883
+ "id": "function:list",
853
884
  "pluginAlias": "@xano/cli",
854
885
  "pluginName": "@xano/cli",
855
886
  "pluginType": "core",
@@ -860,19 +891,27 @@
860
891
  "dist",
861
892
  "commands",
862
893
  "function",
863
- "get",
894
+ "list",
864
895
  "index.js"
865
896
  ]
866
897
  },
867
- "function:list": {
898
+ "function:get": {
868
899
  "aliases": [],
869
- "args": {},
870
- "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",
871
908
  "examples": [
872
- "$ xano function:list -w 40\nAvailable functions:\n - function-1 (ID: 1)\n - function-2 (ID: 2)\n - function-3 (ID: 3)\n",
873
- "$ xano function:list --profile production\nAvailable functions:\n - my-function (ID: 1)\n - another-function (ID: 2)\n",
874
- "$ xano function:list -w 40 --output json\n[\n {\n \"id\": 1,\n \"name\": \"function-1\"\n }\n]\n",
875
- "$ 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"
876
915
  ],
877
916
  "flags": {
878
917
  "profile": {
@@ -895,7 +934,7 @@
895
934
  "type": "boolean"
896
935
  },
897
936
  "include_draft": {
898
- "description": "Include draft functions",
937
+ "description": "Include draft version",
899
938
  "name": "include_draft",
900
939
  "required": false,
901
940
  "allowNo": false,
@@ -908,19 +947,6 @@
908
947
  "allowNo": false,
909
948
  "type": "boolean"
910
949
  },
911
- "order": {
912
- "description": "Sort order",
913
- "name": "order",
914
- "required": false,
915
- "default": "desc",
916
- "hasDynamicHelp": false,
917
- "multiple": false,
918
- "options": [
919
- "asc",
920
- "desc"
921
- ],
922
- "type": "option"
923
- },
924
950
  "output": {
925
951
  "char": "o",
926
952
  "description": "Output format",
@@ -931,37 +957,11 @@
931
957
  "multiple": false,
932
958
  "options": [
933
959
  "summary",
934
- "json"
960
+ "json",
961
+ "xs"
935
962
  ],
936
963
  "type": "option"
937
964
  },
938
- "page": {
939
- "description": "Page number for pagination",
940
- "name": "page",
941
- "required": false,
942
- "default": 1,
943
- "hasDynamicHelp": false,
944
- "multiple": false,
945
- "type": "option"
946
- },
947
- "per_page": {
948
- "description": "Number of results per page",
949
- "name": "per_page",
950
- "required": false,
951
- "default": 50,
952
- "hasDynamicHelp": false,
953
- "multiple": false,
954
- "type": "option"
955
- },
956
- "sort": {
957
- "description": "Sort field",
958
- "name": "sort",
959
- "required": false,
960
- "default": "created_at",
961
- "hasDynamicHelp": false,
962
- "multiple": false,
963
- "type": "option"
964
- },
965
965
  "workspace": {
966
966
  "char": "w",
967
967
  "description": "Workspace ID (optional if set in profile)",
@@ -974,7 +974,7 @@
974
974
  },
975
975
  "hasDynamicHelp": false,
976
976
  "hiddenAliases": [],
977
- "id": "function:list",
977
+ "id": "function:get",
978
978
  "pluginAlias": "@xano/cli",
979
979
  "pluginName": "@xano/cli",
980
980
  "pluginType": "core",
@@ -985,7 +985,7 @@
985
985
  "dist",
986
986
  "commands",
987
987
  "function",
988
- "list",
988
+ "get",
989
989
  "index.js"
990
990
  ]
991
991
  },
@@ -1211,68 +1211,34 @@
1211
1211
  "index.js"
1212
1212
  ]
1213
1213
  },
1214
- "branch:get": {
1214
+ "profile:delete": {
1215
1215
  "aliases": [],
1216
1216
  "args": {
1217
- "branch_label": {
1218
- "description": "Branch label (e.g., \"v1\", \"dev\")",
1219
- "name": "branch_label",
1217
+ "name": {
1218
+ "description": "Profile name to delete",
1219
+ "name": "name",
1220
1220
  "required": true
1221
1221
  }
1222
1222
  },
1223
- "description": "Get details for a specific branch",
1223
+ "description": "Delete a profile configuration",
1224
1224
  "examples": [
1225
- "$ xano branch get v1\nBranch: v1 (live)\n Created: 2024-01-15\n",
1226
- "$ xano branch get dev -w 123\nBranch: dev\n Created: 2024-02-01\n",
1227
- "$ 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"
1225
+ "$ xano profile:delete old-profile\nAre you sure you want to delete profile 'old-profile'? (y/n): y\nProfile 'old-profile' deleted successfully from ~/.xano/credentials.yaml\n",
1226
+ "$ xano profile:delete old-profile --force\nProfile 'old-profile' deleted successfully from ~/.xano/credentials.yaml\n",
1227
+ "$ xano profile:delete old-profile -f\nProfile 'old-profile' deleted successfully from ~/.xano/credentials.yaml\n"
1228
1228
  ],
1229
1229
  "flags": {
1230
- "profile": {
1231
- "char": "p",
1232
- "description": "Profile to use (uses default profile if not specified)",
1233
- "env": "XANO_PROFILE",
1234
- "name": "profile",
1235
- "required": false,
1236
- "hasDynamicHelp": false,
1237
- "multiple": false,
1238
- "type": "option"
1239
- },
1240
- "verbose": {
1241
- "char": "v",
1242
- "description": "Show detailed request/response information",
1243
- "env": "XANO_VERBOSE",
1244
- "name": "verbose",
1230
+ "force": {
1231
+ "char": "f",
1232
+ "description": "Skip confirmation prompt",
1233
+ "name": "force",
1245
1234
  "required": false,
1246
1235
  "allowNo": false,
1247
1236
  "type": "boolean"
1248
- },
1249
- "output": {
1250
- "char": "o",
1251
- "description": "Output format",
1252
- "name": "output",
1253
- "required": false,
1254
- "default": "summary",
1255
- "hasDynamicHelp": false,
1256
- "multiple": false,
1257
- "options": [
1258
- "summary",
1259
- "json"
1260
- ],
1261
- "type": "option"
1262
- },
1263
- "workspace": {
1264
- "char": "w",
1265
- "description": "Workspace ID (uses profile workspace if not provided)",
1266
- "name": "workspace",
1267
- "required": false,
1268
- "hasDynamicHelp": false,
1269
- "multiple": false,
1270
- "type": "option"
1271
1237
  }
1272
1238
  },
1273
1239
  "hasDynamicHelp": false,
1274
1240
  "hiddenAliases": [],
1275
- "id": "branch:get",
1241
+ "id": "profile:delete",
1276
1242
  "pluginAlias": "@xano/cli",
1277
1243
  "pluginName": "@xano/cli",
1278
1244
  "pluginType": "core",
@@ -1282,31 +1248,25 @@
1282
1248
  "relativePath": [
1283
1249
  "dist",
1284
1250
  "commands",
1285
- "branch",
1286
- "get",
1251
+ "profile",
1252
+ "delete",
1287
1253
  "index.js"
1288
1254
  ]
1289
1255
  },
1290
- "profile:delete": {
1256
+ "profile:list": {
1291
1257
  "aliases": [],
1292
- "args": {
1293
- "name": {
1294
- "description": "Profile name to delete",
1295
- "name": "name",
1296
- "required": true
1297
- }
1298
- },
1299
- "description": "Delete a profile configuration",
1258
+ "args": {},
1259
+ "description": "List all available profile configurations",
1300
1260
  "examples": [
1301
- "$ xano profile:delete old-profile\nAre you sure you want to delete profile 'old-profile'? (y/n): y\nProfile 'old-profile' deleted successfully from ~/.xano/credentials.yaml\n",
1302
- "$ xano profile:delete old-profile --force\nProfile 'old-profile' deleted successfully from ~/.xano/credentials.yaml\n",
1303
- "$ xano profile:delete old-profile -f\nProfile 'old-profile' deleted successfully from ~/.xano/credentials.yaml\n"
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"
1304
1264
  ],
1305
1265
  "flags": {
1306
- "force": {
1307
- "char": "f",
1308
- "description": "Skip confirmation prompt",
1309
- "name": "force",
1266
+ "details": {
1267
+ "char": "d",
1268
+ "description": "Show detailed information for each profile",
1269
+ "name": "details",
1310
1270
  "required": false,
1311
1271
  "allowNo": false,
1312
1272
  "type": "boolean"
@@ -1314,7 +1274,7 @@
1314
1274
  },
1315
1275
  "hasDynamicHelp": false,
1316
1276
  "hiddenAliases": [],
1317
- "id": "profile:delete",
1277
+ "id": "profile:list",
1318
1278
  "pluginAlias": "@xano/cli",
1319
1279
  "pluginName": "@xano/cli",
1320
1280
  "pluginType": "core",
@@ -1325,28 +1285,53 @@
1325
1285
  "dist",
1326
1286
  "commands",
1327
1287
  "profile",
1328
- "delete",
1288
+ "list",
1329
1289
  "index.js"
1330
1290
  ]
1331
1291
  },
1332
- "profile:edit": {
1292
+ "profile:get": {
1333
1293
  "aliases": [],
1334
- "args": {
1335
- "name": {
1336
- "description": "Profile name to edit (uses default profile if not specified)",
1337
- "name": "name",
1338
- "required": false
1339
- }
1340
- },
1341
- "description": "Edit an existing profile configuration",
1294
+ "args": {},
1295
+ "description": "Get the current default profile name",
1342
1296
  "examples": [
1343
- "$ xano profile:edit --access_token new_token123\nProfile 'default' updated successfully at ~/.xano/credentials.yaml\n",
1344
- "$ xano profile:edit production --access_token new_token123\nProfile 'production' updated successfully at ~/.xano/credentials.yaml\n",
1345
- "$ xano profile:edit staging -i https://new-staging-instance.xano.com -t new_token456\nProfile 'staging' updated successfully at ~/.xano/credentials.yaml\n",
1346
- "$ xano profile:edit -b new-branch\nProfile 'default' updated successfully at ~/.xano/credentials.yaml\n",
1347
- "$ xano profile:edit --remove-branch\nProfile 'default' updated successfully at ~/.xano/credentials.yaml\n",
1348
- "$ xano profile:edit --insecure\nProfile 'default' updated successfully at ~/.xano/credentials.yaml\n",
1349
- "$ xano profile:edit --remove-insecure\nProfile 'default' updated successfully at ~/.xano/credentials.yaml\n"
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
+ },
1317
+ "profile:edit": {
1318
+ "aliases": [],
1319
+ "args": {
1320
+ "name": {
1321
+ "description": "Profile name to edit (uses default profile if not specified)",
1322
+ "name": "name",
1323
+ "required": false
1324
+ }
1325
+ },
1326
+ "description": "Edit an existing profile configuration",
1327
+ "examples": [
1328
+ "$ xano profile:edit --access_token new_token123\nProfile 'default' updated successfully at ~/.xano/credentials.yaml\n",
1329
+ "$ xano profile:edit production --access_token new_token123\nProfile 'production' updated successfully at ~/.xano/credentials.yaml\n",
1330
+ "$ xano profile:edit staging -i https://new-staging-instance.xano.com -t new_token456\nProfile 'staging' updated successfully at ~/.xano/credentials.yaml\n",
1331
+ "$ xano profile:edit -b new-branch\nProfile 'default' updated successfully at ~/.xano/credentials.yaml\n",
1332
+ "$ xano profile:edit --remove-branch\nProfile 'default' updated successfully at ~/.xano/credentials.yaml\n",
1333
+ "$ xano profile:edit --insecure\nProfile 'default' updated successfully at ~/.xano/credentials.yaml\n",
1334
+ "$ xano profile:edit --remove-insecure\nProfile 'default' updated successfully at ~/.xano/credentials.yaml\n"
1350
1335
  ],
1351
1336
  "flags": {
1352
1337
  "profile": {
@@ -1459,31 +1444,6 @@
1459
1444
  "index.js"
1460
1445
  ]
1461
1446
  },
1462
- "profile:get": {
1463
- "aliases": [],
1464
- "args": {},
1465
- "description": "Get the current default profile name",
1466
- "examples": [
1467
- "$ xano profile get\nproduction\n"
1468
- ],
1469
- "flags": {},
1470
- "hasDynamicHelp": false,
1471
- "hiddenAliases": [],
1472
- "id": "profile:get",
1473
- "pluginAlias": "@xano/cli",
1474
- "pluginName": "@xano/cli",
1475
- "pluginType": "core",
1476
- "strict": true,
1477
- "enableJsonFlag": false,
1478
- "isESM": true,
1479
- "relativePath": [
1480
- "dist",
1481
- "commands",
1482
- "profile",
1483
- "get",
1484
- "index.js"
1485
- ]
1486
- },
1487
1447
  "profile:me": {
1488
1448
  "aliases": [],
1489
1449
  "args": {},
@@ -1602,13 +1562,20 @@
1602
1562
  "index.js"
1603
1563
  ]
1604
1564
  },
1605
- "release:create": {
1565
+ "branch:get": {
1606
1566
  "aliases": [],
1607
- "args": {},
1608
- "description": "Create a new release in a workspace",
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",
1609
1575
  "examples": [
1610
- "$ xano release create --name \"v1.0\" --branch main\nCreated release: v1.0 - ID: 10\n",
1611
- "$ xano release create --name \"v1.1-hotfix\" --branch main --hotfix --description \"Critical fix\" -o json"
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"
1612
1579
  ],
1613
1580
  "flags": {
1614
1581
  "profile": {
@@ -1630,40 +1597,6 @@
1630
1597
  "allowNo": false,
1631
1598
  "type": "boolean"
1632
1599
  },
1633
- "branch": {
1634
- "char": "b",
1635
- "description": "Branch to create the release from",
1636
- "name": "branch",
1637
- "required": true,
1638
- "hasDynamicHelp": false,
1639
- "multiple": false,
1640
- "type": "option"
1641
- },
1642
- "description": {
1643
- "char": "d",
1644
- "description": "Release description",
1645
- "name": "description",
1646
- "required": false,
1647
- "hasDynamicHelp": false,
1648
- "multiple": false,
1649
- "type": "option"
1650
- },
1651
- "hotfix": {
1652
- "description": "Mark as a hotfix release",
1653
- "name": "hotfix",
1654
- "required": false,
1655
- "allowNo": false,
1656
- "type": "boolean"
1657
- },
1658
- "name": {
1659
- "char": "n",
1660
- "description": "Name for the release",
1661
- "name": "name",
1662
- "required": true,
1663
- "hasDynamicHelp": false,
1664
- "multiple": false,
1665
- "type": "option"
1666
- },
1667
1600
  "output": {
1668
1601
  "char": "o",
1669
1602
  "description": "Output format",
@@ -1678,14 +1611,6 @@
1678
1611
  ],
1679
1612
  "type": "option"
1680
1613
  },
1681
- "table-ids": {
1682
- "description": "Comma-separated table IDs to include",
1683
- "name": "table-ids",
1684
- "required": false,
1685
- "hasDynamicHelp": false,
1686
- "multiple": false,
1687
- "type": "option"
1688
- },
1689
1614
  "workspace": {
1690
1615
  "char": "w",
1691
1616
  "description": "Workspace ID (uses profile workspace if not provided)",
@@ -1698,33 +1623,7 @@
1698
1623
  },
1699
1624
  "hasDynamicHelp": false,
1700
1625
  "hiddenAliases": [],
1701
- "id": "release:create",
1702
- "pluginAlias": "@xano/cli",
1703
- "pluginName": "@xano/cli",
1704
- "pluginType": "core",
1705
- "strict": true,
1706
- "enableJsonFlag": false,
1707
- "isESM": true,
1708
- "relativePath": [
1709
- "dist",
1710
- "commands",
1711
- "release",
1712
- "create",
1713
- "index.js"
1714
- ]
1715
- },
1716
- "profile:workspace": {
1717
- "aliases": [],
1718
- "args": {},
1719
- "description": "Print the workspace ID for the default profile",
1720
- "examples": [
1721
- "$ xano profile:workspace\nabc123-workspace-id\n",
1722
- "$ xano profile:workspace | pbcopy\n# Copies the workspace ID to clipboard on macOS\n"
1723
- ],
1724
- "flags": {},
1725
- "hasDynamicHelp": false,
1726
- "hiddenAliases": [],
1727
- "id": "profile:workspace",
1626
+ "id": "branch:get",
1728
1627
  "pluginAlias": "@xano/cli",
1729
1628
  "pluginName": "@xano/cli",
1730
1629
  "pluginType": "core",
@@ -1734,8 +1633,8 @@
1734
1633
  "relativePath": [
1735
1634
  "dist",
1736
1635
  "commands",
1737
- "profile",
1738
- "workspace",
1636
+ "branch",
1637
+ "get",
1739
1638
  "index.js"
1740
1639
  ]
1741
1640
  },
@@ -1792,28 +1691,18 @@
1792
1691
  "index.js"
1793
1692
  ]
1794
1693
  },
1795
- "profile:list": {
1694
+ "profile:workspace": {
1796
1695
  "aliases": [],
1797
1696
  "args": {},
1798
- "description": "List all available profile configurations",
1697
+ "description": "Print the workspace ID for the default profile",
1799
1698
  "examples": [
1800
- "$ xano profile:list\nAvailable profiles:\n - default\n - production\n - staging\n - development\n",
1801
- "$ 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",
1802
- "$ 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"
1699
+ "$ xano profile:workspace\nabc123-workspace-id\n",
1700
+ "$ xano profile:workspace | pbcopy\n# Copies the workspace ID to clipboard on macOS\n"
1803
1701
  ],
1804
- "flags": {
1805
- "details": {
1806
- "char": "d",
1807
- "description": "Show detailed information for each profile",
1808
- "name": "details",
1809
- "required": false,
1810
- "allowNo": false,
1811
- "type": "boolean"
1812
- }
1813
- },
1702
+ "flags": {},
1814
1703
  "hasDynamicHelp": false,
1815
1704
  "hiddenAliases": [],
1816
- "id": "profile:list",
1705
+ "id": "profile:workspace",
1817
1706
  "pluginAlias": "@xano/cli",
1818
1707
  "pluginName": "@xano/cli",
1819
1708
  "pluginType": "core",
@@ -1824,24 +1713,17 @@
1824
1713
  "dist",
1825
1714
  "commands",
1826
1715
  "profile",
1827
- "list",
1716
+ "workspace",
1828
1717
  "index.js"
1829
1718
  ]
1830
1719
  },
1831
- "release:delete": {
1720
+ "release:create": {
1832
1721
  "aliases": [],
1833
- "args": {
1834
- "release_name": {
1835
- "description": "Release name to delete",
1836
- "name": "release_name",
1837
- "required": true
1838
- }
1839
- },
1840
- "description": "Delete a release permanently. This action cannot be undone.",
1722
+ "args": {},
1723
+ "description": "Create a new release in a workspace",
1841
1724
  "examples": [
1842
- "$ 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",
1843
- "$ xano release delete v1.0 --force\nDeleted release 'v1.0'\n",
1844
- "$ xano release delete v1.0 -f -o json"
1725
+ "$ xano release create --name \"v1.0\" --branch main\nCreated release: v1.0 - ID: 10\n",
1726
+ "$ xano release create --name \"v1.1-hotfix\" --branch main --hotfix --description \"Critical fix\" -o json"
1845
1727
  ],
1846
1728
  "flags": {
1847
1729
  "profile": {
@@ -1863,14 +1745,40 @@
1863
1745
  "allowNo": false,
1864
1746
  "type": "boolean"
1865
1747
  },
1866
- "force": {
1867
- "char": "f",
1868
- "description": "Skip confirmation prompt",
1869
- "name": "force",
1748
+ "branch": {
1749
+ "char": "b",
1750
+ "description": "Branch to create the release from",
1751
+ "name": "branch",
1752
+ "required": true,
1753
+ "hasDynamicHelp": false,
1754
+ "multiple": false,
1755
+ "type": "option"
1756
+ },
1757
+ "description": {
1758
+ "char": "d",
1759
+ "description": "Release description",
1760
+ "name": "description",
1761
+ "required": false,
1762
+ "hasDynamicHelp": false,
1763
+ "multiple": false,
1764
+ "type": "option"
1765
+ },
1766
+ "hotfix": {
1767
+ "description": "Mark as a hotfix release",
1768
+ "name": "hotfix",
1870
1769
  "required": false,
1871
1770
  "allowNo": false,
1872
1771
  "type": "boolean"
1873
1772
  },
1773
+ "name": {
1774
+ "char": "n",
1775
+ "description": "Name for the release",
1776
+ "name": "name",
1777
+ "required": true,
1778
+ "hasDynamicHelp": false,
1779
+ "multiple": false,
1780
+ "type": "option"
1781
+ },
1874
1782
  "output": {
1875
1783
  "char": "o",
1876
1784
  "description": "Output format",
@@ -1885,6 +1793,14 @@
1885
1793
  ],
1886
1794
  "type": "option"
1887
1795
  },
1796
+ "table-ids": {
1797
+ "description": "Comma-separated table IDs to include",
1798
+ "name": "table-ids",
1799
+ "required": false,
1800
+ "hasDynamicHelp": false,
1801
+ "multiple": false,
1802
+ "type": "option"
1803
+ },
1888
1804
  "workspace": {
1889
1805
  "char": "w",
1890
1806
  "description": "Workspace ID (uses profile workspace if not provided)",
@@ -1897,7 +1813,7 @@
1897
1813
  },
1898
1814
  "hasDynamicHelp": false,
1899
1815
  "hiddenAliases": [],
1900
- "id": "release:delete",
1816
+ "id": "release:create",
1901
1817
  "pluginAlias": "@xano/cli",
1902
1818
  "pluginName": "@xano/cli",
1903
1819
  "pluginType": "core",
@@ -1908,7 +1824,7 @@
1908
1824
  "dist",
1909
1825
  "commands",
1910
1826
  "release",
1911
- "delete",
1827
+ "create",
1912
1828
  "index.js"
1913
1829
  ]
1914
1830
  },
@@ -2172,15 +2088,22 @@
2172
2088
  "index.js"
2173
2089
  ]
2174
2090
  },
2175
- "release:list": {
2091
+ "release:export": {
2176
2092
  "aliases": [],
2177
- "args": {},
2178
- "description": "List all releases in a workspace",
2093
+ "args": {
2094
+ "release_name": {
2095
+ "description": "Release name to export",
2096
+ "name": "release_name",
2097
+ "required": true
2098
+ }
2099
+ },
2100
+ "description": "Export (download) a release to a local file",
2179
2101
  "examples": [
2180
- "$ xano release list\nReleases in workspace 5:\n - v1.0 (ID: 10) - main\n - v1.1-hotfix (ID: 11) - main [hotfix]\n",
2181
- "$ xano release list -w 5 --output json"
2182
- ],
2183
- "flags": {
2102
+ "$ xano release export v1.0\nDownloaded release 'v1.0' to ./release-v1.0.tar.gz\n",
2103
+ "$ xano release export v1.0 --output ./backups/my-release.tar.gz",
2104
+ "$ xano release export v1.0 -o json"
2105
+ ],
2106
+ "flags": {
2184
2107
  "profile": {
2185
2108
  "char": "p",
2186
2109
  "description": "Profile to use (uses default profile if not specified)",
@@ -2200,10 +2123,10 @@
2200
2123
  "allowNo": false,
2201
2124
  "type": "boolean"
2202
2125
  },
2203
- "output": {
2126
+ "format": {
2204
2127
  "char": "o",
2205
2128
  "description": "Output format",
2206
- "name": "output",
2129
+ "name": "format",
2207
2130
  "required": false,
2208
2131
  "default": "summary",
2209
2132
  "hasDynamicHelp": false,
@@ -2214,6 +2137,14 @@
2214
2137
  ],
2215
2138
  "type": "option"
2216
2139
  },
2140
+ "output": {
2141
+ "description": "Output file path (defaults to ./release-{name}.tar.gz)",
2142
+ "name": "output",
2143
+ "required": false,
2144
+ "hasDynamicHelp": false,
2145
+ "multiple": false,
2146
+ "type": "option"
2147
+ },
2217
2148
  "workspace": {
2218
2149
  "char": "w",
2219
2150
  "description": "Workspace ID (uses profile workspace if not provided)",
@@ -2226,7 +2157,7 @@
2226
2157
  },
2227
2158
  "hasDynamicHelp": false,
2228
2159
  "hiddenAliases": [],
2229
- "id": "release:list",
2160
+ "id": "release:export",
2230
2161
  "pluginAlias": "@xano/cli",
2231
2162
  "pluginName": "@xano/cli",
2232
2163
  "pluginType": "core",
@@ -2237,7 +2168,7 @@
2237
2168
  "dist",
2238
2169
  "commands",
2239
2170
  "release",
2240
- "list",
2171
+ "export",
2241
2172
  "index.js"
2242
2173
  ]
2243
2174
  },
@@ -2319,20 +2250,13 @@
2319
2250
  "index.js"
2320
2251
  ]
2321
2252
  },
2322
- "release:export": {
2253
+ "release:list": {
2323
2254
  "aliases": [],
2324
- "args": {
2325
- "release_name": {
2326
- "description": "Release name to export",
2327
- "name": "release_name",
2328
- "required": true
2329
- }
2330
- },
2331
- "description": "Export (download) a release to a local file",
2255
+ "args": {},
2256
+ "description": "List all releases in a workspace",
2332
2257
  "examples": [
2333
- "$ xano release export v1.0\nDownloaded release 'v1.0' to ./release-v1.0.tar.gz\n",
2334
- "$ xano release export v1.0 --output ./backups/my-release.tar.gz",
2335
- "$ xano release export v1.0 -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"
2336
2260
  ],
2337
2261
  "flags": {
2338
2262
  "profile": {
@@ -2354,10 +2278,10 @@
2354
2278
  "allowNo": false,
2355
2279
  "type": "boolean"
2356
2280
  },
2357
- "format": {
2281
+ "output": {
2358
2282
  "char": "o",
2359
2283
  "description": "Output format",
2360
- "name": "format",
2284
+ "name": "output",
2361
2285
  "required": false,
2362
2286
  "default": "summary",
2363
2287
  "hasDynamicHelp": false,
@@ -2368,14 +2292,6 @@
2368
2292
  ],
2369
2293
  "type": "option"
2370
2294
  },
2371
- "output": {
2372
- "description": "Output file path (defaults to ./release-{name}.tar.gz)",
2373
- "name": "output",
2374
- "required": false,
2375
- "hasDynamicHelp": false,
2376
- "multiple": false,
2377
- "type": "option"
2378
- },
2379
2295
  "workspace": {
2380
2296
  "char": "w",
2381
2297
  "description": "Workspace ID (uses profile workspace if not provided)",
@@ -2388,7 +2304,7 @@
2388
2304
  },
2389
2305
  "hasDynamicHelp": false,
2390
2306
  "hiddenAliases": [],
2391
- "id": "release:export",
2307
+ "id": "release:list",
2392
2308
  "pluginAlias": "@xano/cli",
2393
2309
  "pluginName": "@xano/cli",
2394
2310
  "pluginType": "core",
@@ -2399,7 +2315,7 @@
2399
2315
  "dist",
2400
2316
  "commands",
2401
2317
  "release",
2402
- "export",
2318
+ "list",
2403
2319
  "index.js"
2404
2320
  ]
2405
2321
  },
@@ -2488,13 +2404,20 @@
2488
2404
  "index.js"
2489
2405
  ]
2490
2406
  },
2491
- "sandbox:delete": {
2407
+ "release:delete": {
2492
2408
  "aliases": [],
2493
- "args": {},
2494
- "description": "Delete your sandbox environment completely (debugging only — it will be re-created on next access)",
2409
+ "args": {
2410
+ "release_name": {
2411
+ "description": "Release name to delete",
2412
+ "name": "release_name",
2413
+ "required": true
2414
+ }
2415
+ },
2416
+ "description": "Delete a release permanently. This action cannot be undone.",
2495
2417
  "examples": [
2496
- "$ xano sandbox delete\nAre you sure you want to DELETE your sandbox environment? This destroys all data. (y/N) y\nSandbox environment deleted.\n",
2497
- "$ xano sandbox delete --force"
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"
2498
2421
  ],
2499
2422
  "flags": {
2500
2423
  "profile": {
@@ -2523,11 +2446,34 @@
2523
2446
  "required": false,
2524
2447
  "allowNo": false,
2525
2448
  "type": "boolean"
2449
+ },
2450
+ "output": {
2451
+ "char": "o",
2452
+ "description": "Output format",
2453
+ "name": "output",
2454
+ "required": false,
2455
+ "default": "summary",
2456
+ "hasDynamicHelp": false,
2457
+ "multiple": false,
2458
+ "options": [
2459
+ "summary",
2460
+ "json"
2461
+ ],
2462
+ "type": "option"
2463
+ },
2464
+ "workspace": {
2465
+ "char": "w",
2466
+ "description": "Workspace ID (uses profile workspace if not provided)",
2467
+ "name": "workspace",
2468
+ "required": false,
2469
+ "hasDynamicHelp": false,
2470
+ "multiple": false,
2471
+ "type": "option"
2526
2472
  }
2527
2473
  },
2528
2474
  "hasDynamicHelp": false,
2529
2475
  "hiddenAliases": [],
2530
- "id": "sandbox:delete",
2476
+ "id": "release:delete",
2531
2477
  "pluginAlias": "@xano/cli",
2532
2478
  "pluginName": "@xano/cli",
2533
2479
  "pluginType": "core",
@@ -2537,7 +2483,7 @@
2537
2483
  "relativePath": [
2538
2484
  "dist",
2539
2485
  "commands",
2540
- "sandbox",
2486
+ "release",
2541
2487
  "delete",
2542
2488
  "index.js"
2543
2489
  ]
@@ -2660,13 +2606,13 @@
2660
2606
  "index.js"
2661
2607
  ]
2662
2608
  },
2663
- "sandbox:get": {
2609
+ "sandbox:delete": {
2664
2610
  "aliases": [],
2665
2611
  "args": {},
2666
- "description": "Get your sandbox environment (creates one if it does not exist)",
2612
+ "description": "Delete your sandbox environment completely (debugging only it will be re-created on next access)",
2667
2613
  "examples": [
2668
- "$ xano sandbox get\nSandbox Environment: (tc24-abcd-x1y2)\n State: ok\n License: tier1\n",
2669
- "$ xano sandbox get -o json"
2614
+ "$ xano sandbox delete\nAre you sure you want to DELETE your sandbox environment? This destroys all data. (y/N) y\nSandbox environment deleted.\n",
2615
+ "$ xano sandbox delete --force"
2670
2616
  ],
2671
2617
  "flags": {
2672
2618
  "profile": {
@@ -2688,24 +2634,18 @@
2688
2634
  "allowNo": false,
2689
2635
  "type": "boolean"
2690
2636
  },
2691
- "output": {
2692
- "char": "o",
2693
- "description": "Output format",
2694
- "name": "output",
2637
+ "force": {
2638
+ "char": "f",
2639
+ "description": "Skip confirmation prompt",
2640
+ "name": "force",
2695
2641
  "required": false,
2696
- "default": "summary",
2697
- "hasDynamicHelp": false,
2698
- "multiple": false,
2699
- "options": [
2700
- "summary",
2701
- "json"
2702
- ],
2703
- "type": "option"
2642
+ "allowNo": false,
2643
+ "type": "boolean"
2704
2644
  }
2705
2645
  },
2706
2646
  "hasDynamicHelp": false,
2707
2647
  "hiddenAliases": [],
2708
- "id": "sandbox:get",
2648
+ "id": "sandbox:delete",
2709
2649
  "pluginAlias": "@xano/cli",
2710
2650
  "pluginName": "@xano/cli",
2711
2651
  "pluginType": "core",
@@ -2716,7 +2656,7 @@
2716
2656
  "dist",
2717
2657
  "commands",
2718
2658
  "sandbox",
2719
- "get",
2659
+ "delete",
2720
2660
  "index.js"
2721
2661
  ]
2722
2662
  },
@@ -2790,13 +2730,19 @@
2790
2730
  "index.js"
2791
2731
  ]
2792
2732
  },
2793
- "sandbox:reset": {
2733
+ "sandbox:pull": {
2794
2734
  "aliases": [],
2795
- "args": {},
2796
- "description": "Reset your sandbox environment (clears all workspace data and drafts)",
2735
+ "args": {
2736
+ "directory": {
2737
+ "description": "Output directory for pulled documents",
2738
+ "name": "directory",
2739
+ "required": true
2740
+ }
2741
+ },
2742
+ "description": "Pull documents from your sandbox environment and split into individual files",
2797
2743
  "examples": [
2798
- "$ xano sandbox reset\nAre you sure you want to reset your sandbox environment? All workspace data and drafts will be cleared. (y/N) y\nSandbox environment has been reset.\n",
2799
- "$ xano sandbox reset --force"
2744
+ "$ xano sandbox pull ./my-sandbox\nPulled 42 documents from sandbox environment to ./my-sandbox\n",
2745
+ "$ xano sandbox pull ./backup --env --records"
2800
2746
  ],
2801
2747
  "flags": {
2802
2748
  "profile": {
@@ -2818,10 +2764,23 @@
2818
2764
  "allowNo": false,
2819
2765
  "type": "boolean"
2820
2766
  },
2821
- "force": {
2822
- "char": "f",
2823
- "description": "Skip confirmation prompt",
2824
- "name": "force",
2767
+ "draft": {
2768
+ "description": "Include draft versions",
2769
+ "name": "draft",
2770
+ "required": false,
2771
+ "allowNo": false,
2772
+ "type": "boolean"
2773
+ },
2774
+ "env": {
2775
+ "description": "Include environment variables",
2776
+ "name": "env",
2777
+ "required": false,
2778
+ "allowNo": false,
2779
+ "type": "boolean"
2780
+ },
2781
+ "records": {
2782
+ "description": "Include records",
2783
+ "name": "records",
2825
2784
  "required": false,
2826
2785
  "allowNo": false,
2827
2786
  "type": "boolean"
@@ -2829,7 +2788,7 @@
2829
2788
  },
2830
2789
  "hasDynamicHelp": false,
2831
2790
  "hiddenAliases": [],
2832
- "id": "sandbox:reset",
2791
+ "id": "sandbox:pull",
2833
2792
  "pluginAlias": "@xano/cli",
2834
2793
  "pluginName": "@xano/cli",
2835
2794
  "pluginType": "core",
@@ -2840,23 +2799,17 @@
2840
2799
  "dist",
2841
2800
  "commands",
2842
2801
  "sandbox",
2843
- "reset",
2802
+ "pull",
2844
2803
  "index.js"
2845
2804
  ]
2846
2805
  },
2847
- "sandbox:pull": {
2806
+ "sandbox:get": {
2848
2807
  "aliases": [],
2849
- "args": {
2850
- "directory": {
2851
- "description": "Output directory for pulled documents",
2852
- "name": "directory",
2853
- "required": true
2854
- }
2855
- },
2856
- "description": "Pull documents from your sandbox environment and split into individual files",
2808
+ "args": {},
2809
+ "description": "Get your sandbox environment (creates one if it does not exist)",
2857
2810
  "examples": [
2858
- "$ xano sandbox pull ./my-sandbox\nPulled 42 documents from sandbox environment to ./my-sandbox\n",
2859
- "$ xano sandbox pull ./backup --env --records"
2811
+ "$ xano sandbox get\nSandbox Environment: (tc24-abcd-x1y2)\n State: ok\n License: tier1\n",
2812
+ "$ xano sandbox get -o json"
2860
2813
  ],
2861
2814
  "flags": {
2862
2815
  "profile": {
@@ -2878,31 +2831,24 @@
2878
2831
  "allowNo": false,
2879
2832
  "type": "boolean"
2880
2833
  },
2881
- "draft": {
2882
- "description": "Include draft versions",
2883
- "name": "draft",
2884
- "required": false,
2885
- "allowNo": false,
2886
- "type": "boolean"
2887
- },
2888
- "env": {
2889
- "description": "Include environment variables",
2890
- "name": "env",
2891
- "required": false,
2892
- "allowNo": false,
2893
- "type": "boolean"
2894
- },
2895
- "records": {
2896
- "description": "Include records",
2897
- "name": "records",
2834
+ "output": {
2835
+ "char": "o",
2836
+ "description": "Output format",
2837
+ "name": "output",
2898
2838
  "required": false,
2899
- "allowNo": false,
2900
- "type": "boolean"
2839
+ "default": "summary",
2840
+ "hasDynamicHelp": false,
2841
+ "multiple": false,
2842
+ "options": [
2843
+ "summary",
2844
+ "json"
2845
+ ],
2846
+ "type": "option"
2901
2847
  }
2902
2848
  },
2903
2849
  "hasDynamicHelp": false,
2904
2850
  "hiddenAliases": [],
2905
- "id": "sandbox:pull",
2851
+ "id": "sandbox:get",
2906
2852
  "pluginAlias": "@xano/cli",
2907
2853
  "pluginName": "@xano/cli",
2908
2854
  "pluginType": "core",
@@ -2913,7 +2859,7 @@
2913
2859
  "dist",
2914
2860
  "commands",
2915
2861
  "sandbox",
2916
- "pull",
2862
+ "get",
2917
2863
  "index.js"
2918
2864
  ]
2919
2865
  },
@@ -2998,14 +2944,13 @@
2998
2944
  "index.js"
2999
2945
  ]
3000
2946
  },
3001
- "sandbox:review": {
2947
+ "sandbox:reset": {
3002
2948
  "aliases": [],
3003
2949
  "args": {},
3004
- "description": "Open your sandbox environment in the browser to review and promote changes",
2950
+ "description": "Reset your sandbox environment (clears all workspace data and drafts)",
3005
2951
  "examples": [
3006
- "$ xano sandbox review\nOpening browser...\nReview session started!\n",
3007
- "$ xano sandbox review -u",
3008
- "$ xano sandbox review -o json"
2952
+ "$ xano sandbox reset\nAre you sure you want to reset your sandbox environment? All workspace data and drafts will be cleared. (y/N) y\nSandbox environment has been reset.\n",
2953
+ "$ xano sandbox reset --force"
3009
2954
  ],
3010
2955
  "flags": {
3011
2956
  "profile": {
@@ -3027,24 +2972,10 @@
3027
2972
  "allowNo": false,
3028
2973
  "type": "boolean"
3029
2974
  },
3030
- "output": {
3031
- "char": "o",
3032
- "description": "Output format",
3033
- "name": "output",
3034
- "required": false,
3035
- "default": "summary",
3036
- "hasDynamicHelp": false,
3037
- "multiple": false,
3038
- "options": [
3039
- "summary",
3040
- "json"
3041
- ],
3042
- "type": "option"
3043
- },
3044
- "url-only": {
3045
- "char": "u",
3046
- "description": "Print the URL without opening the browser",
3047
- "name": "url-only",
2975
+ "force": {
2976
+ "char": "f",
2977
+ "description": "Skip confirmation prompt",
2978
+ "name": "force",
3048
2979
  "required": false,
3049
2980
  "allowNo": false,
3050
2981
  "type": "boolean"
@@ -3052,7 +2983,7 @@
3052
2983
  },
3053
2984
  "hasDynamicHelp": false,
3054
2985
  "hiddenAliases": [],
3055
- "id": "sandbox:review",
2986
+ "id": "sandbox:reset",
3056
2987
  "pluginAlias": "@xano/cli",
3057
2988
  "pluginName": "@xano/cli",
3058
2989
  "pluginType": "core",
@@ -3063,11 +2994,80 @@
3063
2994
  "dist",
3064
2995
  "commands",
3065
2996
  "sandbox",
3066
- "review",
2997
+ "reset",
3067
2998
  "index.js"
3068
2999
  ]
3069
3000
  },
3070
- "static_host:list": {
3001
+ "sandbox:review": {
3002
+ "aliases": [],
3003
+ "args": {},
3004
+ "description": "Open your sandbox environment in the browser to review and promote changes",
3005
+ "examples": [
3006
+ "$ xano sandbox review\nOpening browser...\nReview session started!\n",
3007
+ "$ xano sandbox review -u",
3008
+ "$ xano sandbox review -o json"
3009
+ ],
3010
+ "flags": {
3011
+ "profile": {
3012
+ "char": "p",
3013
+ "description": "Profile to use (uses default profile if not specified)",
3014
+ "env": "XANO_PROFILE",
3015
+ "name": "profile",
3016
+ "required": false,
3017
+ "hasDynamicHelp": false,
3018
+ "multiple": false,
3019
+ "type": "option"
3020
+ },
3021
+ "verbose": {
3022
+ "char": "v",
3023
+ "description": "Show detailed request/response information",
3024
+ "env": "XANO_VERBOSE",
3025
+ "name": "verbose",
3026
+ "required": false,
3027
+ "allowNo": false,
3028
+ "type": "boolean"
3029
+ },
3030
+ "output": {
3031
+ "char": "o",
3032
+ "description": "Output format",
3033
+ "name": "output",
3034
+ "required": false,
3035
+ "default": "summary",
3036
+ "hasDynamicHelp": false,
3037
+ "multiple": false,
3038
+ "options": [
3039
+ "summary",
3040
+ "json"
3041
+ ],
3042
+ "type": "option"
3043
+ },
3044
+ "url-only": {
3045
+ "char": "u",
3046
+ "description": "Print the URL without opening the browser",
3047
+ "name": "url-only",
3048
+ "required": false,
3049
+ "allowNo": false,
3050
+ "type": "boolean"
3051
+ }
3052
+ },
3053
+ "hasDynamicHelp": false,
3054
+ "hiddenAliases": [],
3055
+ "id": "sandbox:review",
3056
+ "pluginAlias": "@xano/cli",
3057
+ "pluginName": "@xano/cli",
3058
+ "pluginType": "core",
3059
+ "strict": true,
3060
+ "enableJsonFlag": false,
3061
+ "isESM": true,
3062
+ "relativePath": [
3063
+ "dist",
3064
+ "commands",
3065
+ "sandbox",
3066
+ "review",
3067
+ "index.js"
3068
+ ]
3069
+ },
3070
+ "static_host:list": {
3071
3071
  "aliases": [],
3072
3072
  "args": {},
3073
3073
  "description": "List all static hosts in a workspace from the Xano Metadata API",
@@ -3156,6 +3156,90 @@
3156
3156
  "index.js"
3157
3157
  ]
3158
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
+ },
3159
3243
  "tenant:create": {
3160
3244
  "aliases": [],
3161
3245
  "args": {
@@ -3300,20 +3384,19 @@
3300
3384
  "index.js"
3301
3385
  ]
3302
3386
  },
3303
- "tenant:delete": {
3387
+ "tenant:deploy_release": {
3304
3388
  "aliases": [],
3305
3389
  "args": {
3306
3390
  "tenant_name": {
3307
- "description": "Tenant name to delete",
3391
+ "description": "Tenant name to deploy to",
3308
3392
  "name": "tenant_name",
3309
3393
  "required": true
3310
3394
  }
3311
3395
  },
3312
- "description": "Delete a tenant permanently. This destroys all associated infrastructure and cannot be undone.",
3396
+ "description": "Deploy a release to a tenant",
3313
3397
  "examples": [
3314
- "$ 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",
3315
- "$ xano tenant delete t1234-abcd-xyz1 --force\nDeleted tenant t1234-abcd-xyz1\n",
3316
- "$ xano tenant delete t1234-abcd-xyz1 -f -o json"
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"
3317
3400
  ],
3318
3401
  "flags": {
3319
3402
  "profile": {
@@ -3335,14 +3418,6 @@
3335
3418
  "allowNo": false,
3336
3419
  "type": "boolean"
3337
3420
  },
3338
- "force": {
3339
- "char": "f",
3340
- "description": "Skip confirmation prompt",
3341
- "name": "force",
3342
- "required": false,
3343
- "allowNo": false,
3344
- "type": "boolean"
3345
- },
3346
3421
  "output": {
3347
3422
  "char": "o",
3348
3423
  "description": "Output format",
@@ -3357,6 +3432,15 @@
3357
3432
  ],
3358
3433
  "type": "option"
3359
3434
  },
3435
+ "release": {
3436
+ "char": "r",
3437
+ "description": "Release name to deploy",
3438
+ "name": "release",
3439
+ "required": true,
3440
+ "hasDynamicHelp": false,
3441
+ "multiple": false,
3442
+ "type": "option"
3443
+ },
3360
3444
  "workspace": {
3361
3445
  "char": "w",
3362
3446
  "description": "Workspace ID (uses profile workspace if not provided)",
@@ -3369,7 +3453,7 @@
3369
3453
  },
3370
3454
  "hasDynamicHelp": false,
3371
3455
  "hiddenAliases": [],
3372
- "id": "tenant:delete",
3456
+ "id": "tenant:deploy_release",
3373
3457
  "pluginAlias": "@xano/cli",
3374
3458
  "pluginName": "@xano/cli",
3375
3459
  "pluginType": "core",
@@ -3380,7 +3464,7 @@
3380
3464
  "dist",
3381
3465
  "commands",
3382
3466
  "tenant",
3383
- "delete",
3467
+ "deploy_release",
3384
3468
  "index.js"
3385
3469
  ]
3386
3470
  },
@@ -3513,19 +3597,19 @@
3513
3597
  "index.js"
3514
3598
  ]
3515
3599
  },
3516
- "tenant:deploy_release": {
3600
+ "tenant:get": {
3517
3601
  "aliases": [],
3518
3602
  "args": {
3519
3603
  "tenant_name": {
3520
- "description": "Tenant name to deploy to",
3604
+ "description": "Tenant name to retrieve",
3521
3605
  "name": "tenant_name",
3522
3606
  "required": true
3523
3607
  }
3524
3608
  },
3525
- "description": "Deploy a release to a tenant",
3609
+ "description": "Get details of a specific tenant",
3526
3610
  "examples": [
3527
- "$ xano tenant deploy_release t1234-abcd-xyz1 --release v1.0\nDeployed release \"v1.0\" to tenant: My Tenant (my-tenant)\n",
3528
- "$ 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"
3529
3613
  ],
3530
3614
  "flags": {
3531
3615
  "profile": {
@@ -3561,15 +3645,6 @@
3561
3645
  ],
3562
3646
  "type": "option"
3563
3647
  },
3564
- "release": {
3565
- "char": "r",
3566
- "description": "Release name to deploy",
3567
- "name": "release",
3568
- "required": true,
3569
- "hasDynamicHelp": false,
3570
- "multiple": false,
3571
- "type": "option"
3572
- },
3573
3648
  "workspace": {
3574
3649
  "char": "w",
3575
3650
  "description": "Workspace ID (uses profile workspace if not provided)",
@@ -3582,7 +3657,7 @@
3582
3657
  },
3583
3658
  "hasDynamicHelp": false,
3584
3659
  "hiddenAliases": [],
3585
- "id": "tenant:deploy_release",
3660
+ "id": "tenant:get",
3586
3661
  "pluginAlias": "@xano/cli",
3587
3662
  "pluginName": "@xano/cli",
3588
3663
  "pluginType": "core",
@@ -3593,7 +3668,7 @@
3593
3668
  "dist",
3594
3669
  "commands",
3595
3670
  "tenant",
3596
- "deploy_release",
3671
+ "get",
3597
3672
  "index.js"
3598
3673
  ]
3599
3674
  },
@@ -3690,19 +3765,19 @@
3690
3765
  "index.js"
3691
3766
  ]
3692
3767
  },
3693
- "tenant:get": {
3768
+ "tenant:impersonate": {
3694
3769
  "aliases": [],
3695
3770
  "args": {
3696
3771
  "tenant_name": {
3697
- "description": "Tenant name to retrieve",
3772
+ "description": "Tenant name to impersonate",
3698
3773
  "name": "tenant_name",
3699
3774
  "required": true
3700
3775
  }
3701
3776
  },
3702
- "description": "Get details of a specific tenant",
3777
+ "description": "Impersonate a tenant and open it in the browser",
3703
3778
  "examples": [
3704
- "$ 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",
3705
- "$ 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"
3706
3781
  ],
3707
3782
  "flags": {
3708
3783
  "profile": {
@@ -3738,6 +3813,14 @@
3738
3813
  ],
3739
3814
  "type": "option"
3740
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
+ },
3741
3824
  "workspace": {
3742
3825
  "char": "w",
3743
3826
  "description": "Workspace ID (uses profile workspace if not provided)",
@@ -3750,7 +3833,7 @@
3750
3833
  },
3751
3834
  "hasDynamicHelp": false,
3752
3835
  "hiddenAliases": [],
3753
- "id": "tenant:get",
3836
+ "id": "tenant:impersonate",
3754
3837
  "pluginAlias": "@xano/cli",
3755
3838
  "pluginName": "@xano/cli",
3756
3839
  "pluginType": "core",
@@ -3761,23 +3844,17 @@
3761
3844
  "dist",
3762
3845
  "commands",
3763
3846
  "tenant",
3764
- "get",
3847
+ "impersonate",
3765
3848
  "index.js"
3766
3849
  ]
3767
3850
  },
3768
- "tenant:impersonate": {
3851
+ "tenant:list": {
3769
3852
  "aliases": [],
3770
- "args": {
3771
- "tenant_name": {
3772
- "description": "Tenant name to impersonate",
3773
- "name": "tenant_name",
3774
- "required": true
3775
- }
3776
- },
3777
- "description": "Impersonate a tenant and open it in the browser",
3853
+ "args": {},
3854
+ "description": "List all tenants in a workspace",
3778
3855
  "examples": [
3779
- "$ xano tenant impersonate my-tenant\nOpening browser...\nImpersonation successful!\n",
3780
- "$ 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"
3781
3858
  ],
3782
3859
  "flags": {
3783
3860
  "profile": {
@@ -3813,14 +3890,6 @@
3813
3890
  ],
3814
3891
  "type": "option"
3815
3892
  },
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
- },
3824
3893
  "workspace": {
3825
3894
  "char": "w",
3826
3895
  "description": "Workspace ID (uses profile workspace if not provided)",
@@ -3833,100 +3902,7 @@
3833
3902
  },
3834
3903
  "hasDynamicHelp": false,
3835
3904
  "hiddenAliases": [],
3836
- "id": "tenant:impersonate",
3837
- "pluginAlias": "@xano/cli",
3838
- "pluginName": "@xano/cli",
3839
- "pluginType": "core",
3840
- "strict": true,
3841
- "enableJsonFlag": false,
3842
- "isESM": true,
3843
- "relativePath": [
3844
- "dist",
3845
- "commands",
3846
- "tenant",
3847
- "impersonate",
3848
- "index.js"
3849
- ]
3850
- },
3851
- "tenant:pull": {
3852
- "aliases": [],
3853
- "args": {
3854
- "directory": {
3855
- "description": "Output directory for pulled documents",
3856
- "name": "directory",
3857
- "required": true
3858
- }
3859
- },
3860
- "description": "Pull a tenant multidoc from the Xano Metadata API and split into individual files",
3861
- "examples": [
3862
- "$ xano tenant pull ./my-tenant -t my-tenant\nPulled 42 documents from tenant my-tenant to ./my-tenant\n",
3863
- "$ xano tenant pull ./output -t my-tenant -w 40\nPulled 15 documents from tenant my-tenant to ./output\n",
3864
- "$ xano tenant pull ./backup -t my-tenant --profile production --env --records\nPulled 58 documents from tenant my-tenant to ./backup\n",
3865
- "$ xano tenant pull ./my-tenant -t my-tenant --draft\nPulled 42 documents from tenant my-tenant to ./my-tenant\n"
3866
- ],
3867
- "flags": {
3868
- "profile": {
3869
- "char": "p",
3870
- "description": "Profile to use (uses default profile if not specified)",
3871
- "env": "XANO_PROFILE",
3872
- "name": "profile",
3873
- "required": false,
3874
- "hasDynamicHelp": false,
3875
- "multiple": false,
3876
- "type": "option"
3877
- },
3878
- "verbose": {
3879
- "char": "v",
3880
- "description": "Show detailed request/response information",
3881
- "env": "XANO_VERBOSE",
3882
- "name": "verbose",
3883
- "required": false,
3884
- "allowNo": false,
3885
- "type": "boolean"
3886
- },
3887
- "draft": {
3888
- "description": "Include draft versions",
3889
- "name": "draft",
3890
- "required": false,
3891
- "allowNo": false,
3892
- "type": "boolean"
3893
- },
3894
- "env": {
3895
- "description": "Include environment variables",
3896
- "name": "env",
3897
- "required": false,
3898
- "allowNo": false,
3899
- "type": "boolean"
3900
- },
3901
- "records": {
3902
- "description": "Include records",
3903
- "name": "records",
3904
- "required": false,
3905
- "allowNo": false,
3906
- "type": "boolean"
3907
- },
3908
- "tenant": {
3909
- "char": "t",
3910
- "description": "Tenant name to pull from",
3911
- "name": "tenant",
3912
- "required": true,
3913
- "hasDynamicHelp": false,
3914
- "multiple": false,
3915
- "type": "option"
3916
- },
3917
- "workspace": {
3918
- "char": "w",
3919
- "description": "Workspace ID (optional if set in profile)",
3920
- "name": "workspace",
3921
- "required": false,
3922
- "hasDynamicHelp": false,
3923
- "multiple": false,
3924
- "type": "option"
3925
- }
3926
- },
3927
- "hasDynamicHelp": false,
3928
- "hiddenAliases": [],
3929
- "id": "tenant:pull",
3905
+ "id": "tenant:list",
3930
3906
  "pluginAlias": "@xano/cli",
3931
3907
  "pluginName": "@xano/cli",
3932
3908
  "pluginType": "core",
@@ -3937,7 +3913,7 @@
3937
3913
  "dist",
3938
3914
  "commands",
3939
3915
  "tenant",
3940
- "pull",
3916
+ "list",
3941
3917
  "index.js"
3942
3918
  ]
3943
3919
  },
@@ -4043,13 +4019,14 @@
4043
4019
  "index.js"
4044
4020
  ]
4045
4021
  },
4046
- "tenant:list": {
4022
+ "unit_test:list": {
4047
4023
  "aliases": [],
4048
4024
  "args": {},
4049
- "description": "List all tenants in a workspace",
4025
+ "description": "List all unit tests in a workspace",
4050
4026
  "examples": [
4051
- "$ 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",
4052
- "$ 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"
4053
4030
  ],
4054
4031
  "flags": {
4055
4032
  "profile": {
@@ -4071,6 +4048,28 @@
4071
4048
  "allowNo": false,
4072
4049
  "type": "boolean"
4073
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
+ },
4074
4073
  "output": {
4075
4074
  "char": "o",
4076
4075
  "description": "Output format",
@@ -4097,7 +4096,7 @@
4097
4096
  },
4098
4097
  "hasDynamicHelp": false,
4099
4098
  "hiddenAliases": [],
4100
- "id": "tenant:list",
4099
+ "id": "unit_test:list",
4101
4100
  "pluginAlias": "@xano/cli",
4102
4101
  "pluginName": "@xano/cli",
4103
4102
  "pluginType": "core",
@@ -4107,19 +4106,24 @@
4107
4106
  "relativePath": [
4108
4107
  "dist",
4109
4108
  "commands",
4110
- "tenant",
4109
+ "unit_test",
4111
4110
  "list",
4112
4111
  "index.js"
4113
4112
  ]
4114
4113
  },
4115
- "unit_test:list": {
4114
+ "unit_test:run": {
4116
4115
  "aliases": [],
4117
- "args": {},
4118
- "description": "List all unit tests in a workspace",
4116
+ "args": {
4117
+ "unit_test_id": {
4118
+ "description": "ID of the unit test to run",
4119
+ "name": "unit_test_id",
4120
+ "required": true
4121
+ }
4122
+ },
4123
+ "description": "Run a unit test",
4119
4124
  "examples": [
4120
- "$ 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",
4121
- "$ xano unit-test list -w 5 --output json",
4122
- "$ xano unit-test list --obj-type function"
4125
+ "$ xano unit-test run abc-123\nRunning unit test abc-123...\nResult: PASS\n",
4126
+ "$ xano unit-test run abc-123 -o json"
4123
4127
  ],
4124
4128
  "flags": {
4125
4129
  "profile": {
@@ -4141,28 +4145,6 @@
4141
4145
  "allowNo": false,
4142
4146
  "type": "boolean"
4143
4147
  },
4144
- "branch": {
4145
- "char": "b",
4146
- "description": "Filter by branch name",
4147
- "name": "branch",
4148
- "required": false,
4149
- "hasDynamicHelp": false,
4150
- "multiple": false,
4151
- "type": "option"
4152
- },
4153
- "obj-type": {
4154
- "description": "Filter by object type",
4155
- "name": "obj-type",
4156
- "required": false,
4157
- "hasDynamicHelp": false,
4158
- "multiple": false,
4159
- "options": [
4160
- "function",
4161
- "query",
4162
- "middleware"
4163
- ],
4164
- "type": "option"
4165
- },
4166
4148
  "output": {
4167
4149
  "char": "o",
4168
4150
  "description": "Output format",
@@ -4189,7 +4171,7 @@
4189
4171
  },
4190
4172
  "hasDynamicHelp": false,
4191
4173
  "hiddenAliases": [],
4192
- "id": "unit_test:list",
4174
+ "id": "unit_test:run",
4193
4175
  "pluginAlias": "@xano/cli",
4194
4176
  "pluginName": "@xano/cli",
4195
4177
  "pluginType": "core",
@@ -4200,23 +4182,25 @@
4200
4182
  "dist",
4201
4183
  "commands",
4202
4184
  "unit_test",
4203
- "list",
4185
+ "run",
4204
4186
  "index.js"
4205
4187
  ]
4206
4188
  },
4207
- "unit_test:run": {
4189
+ "tenant:pull": {
4208
4190
  "aliases": [],
4209
4191
  "args": {
4210
- "unit_test_id": {
4211
- "description": "ID of the unit test to run",
4212
- "name": "unit_test_id",
4192
+ "directory": {
4193
+ "description": "Output directory for pulled documents",
4194
+ "name": "directory",
4213
4195
  "required": true
4214
4196
  }
4215
4197
  },
4216
- "description": "Run a unit test",
4198
+ "description": "Pull a tenant multidoc from the Xano Metadata API and split into individual files",
4217
4199
  "examples": [
4218
- "$ xano unit-test run abc-123\nRunning unit test abc-123...\nResult: PASS\n",
4219
- "$ xano unit-test run abc-123 -o json"
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"
4220
4204
  ],
4221
4205
  "flags": {
4222
4206
  "profile": {
@@ -4238,23 +4222,39 @@
4238
4222
  "allowNo": false,
4239
4223
  "type": "boolean"
4240
4224
  },
4241
- "output": {
4242
- "char": "o",
4243
- "description": "Output format",
4244
- "name": "output",
4225
+ "draft": {
4226
+ "description": "Include draft versions",
4227
+ "name": "draft",
4245
4228
  "required": false,
4246
- "default": "summary",
4229
+ "allowNo": false,
4230
+ "type": "boolean"
4231
+ },
4232
+ "env": {
4233
+ "description": "Include environment variables",
4234
+ "name": "env",
4235
+ "required": false,
4236
+ "allowNo": false,
4237
+ "type": "boolean"
4238
+ },
4239
+ "records": {
4240
+ "description": "Include records",
4241
+ "name": "records",
4242
+ "required": false,
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,
4247
4251
  "hasDynamicHelp": false,
4248
4252
  "multiple": false,
4249
- "options": [
4250
- "summary",
4251
- "json"
4252
- ],
4253
4253
  "type": "option"
4254
4254
  },
4255
4255
  "workspace": {
4256
4256
  "char": "w",
4257
- "description": "Workspace ID (uses profile workspace if not provided)",
4257
+ "description": "Workspace ID (optional if set in profile)",
4258
4258
  "name": "workspace",
4259
4259
  "required": false,
4260
4260
  "hasDynamicHelp": false,
@@ -4264,7 +4264,7 @@
4264
4264
  },
4265
4265
  "hasDynamicHelp": false,
4266
4266
  "hiddenAliases": [],
4267
- "id": "unit_test:run",
4267
+ "id": "tenant:pull",
4268
4268
  "pluginAlias": "@xano/cli",
4269
4269
  "pluginName": "@xano/cli",
4270
4270
  "pluginType": "core",
@@ -4274,8 +4274,8 @@
4274
4274
  "relativePath": [
4275
4275
  "dist",
4276
4276
  "commands",
4277
- "unit_test",
4278
- "run",
4277
+ "tenant",
4278
+ "pull",
4279
4279
  "index.js"
4280
4280
  ]
4281
4281
  },
@@ -4537,14 +4537,20 @@
4537
4537
  "index.js"
4538
4538
  ]
4539
4539
  },
4540
- "workflow_test:list": {
4540
+ "workspace:create": {
4541
4541
  "aliases": [],
4542
- "args": {},
4543
- "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",
4544
4550
  "examples": [
4545
- "$ xano workflow-test list\nWorkflow tests in workspace 5:\n - my-test (ID: 1)\n - auth-flow (ID: 2) - Validates auth endpoints\n",
4546
- "$ xano workflow-test list -w 5 --output json",
4547
- "$ 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"
4548
4554
  ],
4549
4555
  "flags": {
4550
4556
  "profile": {
@@ -4566,12 +4572,12 @@
4566
4572
  "allowNo": false,
4567
4573
  "type": "boolean"
4568
4574
  },
4569
- "branch": {
4570
- "char": "b",
4571
- "description": "Filter by branch name",
4572
- "name": "branch",
4573
- "required": false,
4574
- "hasDynamicHelp": false,
4575
+ "description": {
4576
+ "char": "d",
4577
+ "description": "Description for the workspace",
4578
+ "name": "description",
4579
+ "required": false,
4580
+ "hasDynamicHelp": false,
4575
4581
  "multiple": false,
4576
4582
  "type": "option"
4577
4583
  },
@@ -4588,20 +4594,11 @@
4588
4594
  "json"
4589
4595
  ],
4590
4596
  "type": "option"
4591
- },
4592
- "workspace": {
4593
- "char": "w",
4594
- "description": "Workspace ID (uses profile workspace if not provided)",
4595
- "name": "workspace",
4596
- "required": false,
4597
- "hasDynamicHelp": false,
4598
- "multiple": false,
4599
- "type": "option"
4600
4597
  }
4601
4598
  },
4602
4599
  "hasDynamicHelp": false,
4603
4600
  "hiddenAliases": [],
4604
- "id": "workflow_test:list",
4601
+ "id": "workspace:create",
4605
4602
  "pluginAlias": "@xano/cli",
4606
4603
  "pluginName": "@xano/cli",
4607
4604
  "pluginType": "core",
@@ -4611,18 +4608,24 @@
4611
4608
  "relativePath": [
4612
4609
  "dist",
4613
4610
  "commands",
4614
- "workflow_test",
4615
- "list",
4611
+ "workspace",
4612
+ "create",
4616
4613
  "index.js"
4617
4614
  ]
4618
4615
  },
4619
- "workflow_test:run_all": {
4616
+ "workflow_test:run": {
4620
4617
  "aliases": [],
4621
- "args": {},
4622
- "description": "Run all workflow tests in a workspace",
4618
+ "args": {
4619
+ "workflow_test_id": {
4620
+ "description": "ID of the workflow test to run",
4621
+ "name": "workflow_test_id",
4622
+ "required": true
4623
+ }
4624
+ },
4625
+ "description": "Run a workflow test",
4623
4626
  "examples": [
4624
- "$ 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",
4625
- "$ xano workflow-test run-all --branch main -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"
4626
4629
  ],
4627
4630
  "flags": {
4628
4631
  "profile": {
@@ -4644,15 +4647,6 @@
4644
4647
  "allowNo": false,
4645
4648
  "type": "boolean"
4646
4649
  },
4647
- "branch": {
4648
- "char": "b",
4649
- "description": "Filter by branch name",
4650
- "name": "branch",
4651
- "required": false,
4652
- "hasDynamicHelp": false,
4653
- "multiple": false,
4654
- "type": "option"
4655
- },
4656
4650
  "output": {
4657
4651
  "char": "o",
4658
4652
  "description": "Output format",
@@ -4679,7 +4673,7 @@
4679
4673
  },
4680
4674
  "hasDynamicHelp": false,
4681
4675
  "hiddenAliases": [],
4682
- "id": "workflow_test:run_all",
4676
+ "id": "workflow_test:run",
4683
4677
  "pluginAlias": "@xano/cli",
4684
4678
  "pluginName": "@xano/cli",
4685
4679
  "pluginType": "core",
@@ -4690,24 +4684,17 @@
4690
4684
  "dist",
4691
4685
  "commands",
4692
4686
  "workflow_test",
4693
- "run_all",
4687
+ "run",
4694
4688
  "index.js"
4695
4689
  ]
4696
4690
  },
4697
- "workspace:create": {
4691
+ "workflow_test:run_all": {
4698
4692
  "aliases": [],
4699
- "args": {
4700
- "name": {
4701
- "description": "Name of the workspace",
4702
- "name": "name",
4703
- "required": true
4704
- }
4705
- },
4706
- "description": "Create a new workspace via the Xano Metadata API",
4693
+ "args": {},
4694
+ "description": "Run all workflow tests in a workspace",
4707
4695
  "examples": [
4708
- "$ xano workspace create my-workspace\nCreated workspace: my-workspace (ID: 123)\n",
4709
- "$ xano workspace create my-app --description \"My application workspace\"\nCreated workspace: my-app (ID: 456)\n Description: My application workspace\n",
4710
- "$ 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"
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"
4711
4698
  ],
4712
4699
  "flags": {
4713
4700
  "profile": {
@@ -4729,10 +4716,10 @@
4729
4716
  "allowNo": false,
4730
4717
  "type": "boolean"
4731
4718
  },
4732
- "description": {
4733
- "char": "d",
4734
- "description": "Description for the workspace",
4735
- "name": "description",
4719
+ "branch": {
4720
+ "char": "b",
4721
+ "description": "Filter by branch name",
4722
+ "name": "branch",
4736
4723
  "required": false,
4737
4724
  "hasDynamicHelp": false,
4738
4725
  "multiple": false,
@@ -4751,11 +4738,20 @@
4751
4738
  "json"
4752
4739
  ],
4753
4740
  "type": "option"
4741
+ },
4742
+ "workspace": {
4743
+ "char": "w",
4744
+ "description": "Workspace ID (uses profile workspace if not provided)",
4745
+ "name": "workspace",
4746
+ "required": false,
4747
+ "hasDynamicHelp": false,
4748
+ "multiple": false,
4749
+ "type": "option"
4754
4750
  }
4755
4751
  },
4756
4752
  "hasDynamicHelp": false,
4757
4753
  "hiddenAliases": [],
4758
- "id": "workspace:create",
4754
+ "id": "workflow_test:run_all",
4759
4755
  "pluginAlias": "@xano/cli",
4760
4756
  "pluginName": "@xano/cli",
4761
4757
  "pluginType": "core",
@@ -4765,25 +4761,19 @@
4765
4761
  "relativePath": [
4766
4762
  "dist",
4767
4763
  "commands",
4768
- "workspace",
4769
- "create",
4764
+ "workflow_test",
4765
+ "run_all",
4770
4766
  "index.js"
4771
4767
  ]
4772
4768
  },
4773
- "workspace:delete": {
4769
+ "workflow_test:list": {
4774
4770
  "aliases": [],
4775
- "args": {
4776
- "workspace_id": {
4777
- "description": "Workspace ID to delete",
4778
- "name": "workspace_id",
4779
- "required": true
4780
- }
4781
- },
4782
- "description": "Delete a workspace via the Xano Metadata API. Cannot delete workspaces with active tenants.",
4771
+ "args": {},
4772
+ "description": "List all workflow tests in a workspace",
4783
4773
  "examples": [
4784
- "$ xano workspace delete 123\nAre you sure you want to delete workspace 123? This action cannot be undone. (y/N) y\nDeleted workspace 123\n",
4785
- "$ xano workspace delete 123 --force\nDeleted workspace 123\n",
4786
- "$ xano workspace delete 123 -f -o json\n{\n \"deleted\": true,\n \"workspace_id\": 123\n}\n"
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"
4787
4777
  ],
4788
4778
  "flags": {
4789
4779
  "profile": {
@@ -4805,13 +4795,14 @@
4805
4795
  "allowNo": false,
4806
4796
  "type": "boolean"
4807
4797
  },
4808
- "force": {
4809
- "char": "f",
4810
- "description": "Skip confirmation prompt",
4811
- "name": "force",
4798
+ "branch": {
4799
+ "char": "b",
4800
+ "description": "Filter by branch name",
4801
+ "name": "branch",
4812
4802
  "required": false,
4813
- "allowNo": false,
4814
- "type": "boolean"
4803
+ "hasDynamicHelp": false,
4804
+ "multiple": false,
4805
+ "type": "option"
4815
4806
  },
4816
4807
  "output": {
4817
4808
  "char": "o",
@@ -4826,11 +4817,20 @@
4826
4817
  "json"
4827
4818
  ],
4828
4819
  "type": "option"
4820
+ },
4821
+ "workspace": {
4822
+ "char": "w",
4823
+ "description": "Workspace ID (uses profile workspace if not provided)",
4824
+ "name": "workspace",
4825
+ "required": false,
4826
+ "hasDynamicHelp": false,
4827
+ "multiple": false,
4828
+ "type": "option"
4829
4829
  }
4830
4830
  },
4831
4831
  "hasDynamicHelp": false,
4832
4832
  "hiddenAliases": [],
4833
- "id": "workspace:delete",
4833
+ "id": "workflow_test:list",
4834
4834
  "pluginAlias": "@xano/cli",
4835
4835
  "pluginName": "@xano/cli",
4836
4836
  "pluginType": "core",
@@ -4840,8 +4840,8 @@
4840
4840
  "relativePath": [
4841
4841
  "dist",
4842
4842
  "commands",
4843
- "workspace",
4844
- "delete",
4843
+ "workflow_test",
4844
+ "list",
4845
4845
  "index.js"
4846
4846
  ]
4847
4847
  },
@@ -4952,20 +4952,20 @@
4952
4952
  "index.js"
4953
4953
  ]
4954
4954
  },
4955
- "workspace:get": {
4955
+ "workspace:delete": {
4956
4956
  "aliases": [],
4957
4957
  "args": {
4958
4958
  "workspace_id": {
4959
- "description": "Workspace ID to get details for (uses profile workspace if not provided)",
4959
+ "description": "Workspace ID to delete",
4960
4960
  "name": "workspace_id",
4961
- "required": false
4961
+ "required": true
4962
4962
  }
4963
4963
  },
4964
- "description": "Get details of a specific workspace from the Xano Metadata API",
4964
+ "description": "Delete a workspace via the Xano Metadata API. Cannot delete workspaces with active tenants.",
4965
4965
  "examples": [
4966
- "$ xano workspace get 123\nWorkspace: my-workspace (ID: 123)\n Description: My workspace description\n Created: 2024-01-15\n",
4967
- "$ xano workspace get --output json\n{\n \"id\": 123,\n \"name\": \"my-workspace\",\n \"description\": \"My workspace description\"\n}\n",
4968
- "$ xano workspace get 456 -p production -o json\n{\n \"id\": 456,\n \"name\": \"production-workspace\"\n}\n"
4966
+ "$ xano workspace delete 123\nAre you sure you want to delete workspace 123? This action cannot be undone. (y/N) y\nDeleted workspace 123\n",
4967
+ "$ xano workspace delete 123 --force\nDeleted workspace 123\n",
4968
+ "$ xano workspace delete 123 -f -o json\n{\n \"deleted\": true,\n \"workspace_id\": 123\n}\n"
4969
4969
  ],
4970
4970
  "flags": {
4971
4971
  "profile": {
@@ -4987,6 +4987,14 @@
4987
4987
  "allowNo": false,
4988
4988
  "type": "boolean"
4989
4989
  },
4990
+ "force": {
4991
+ "char": "f",
4992
+ "description": "Skip confirmation prompt",
4993
+ "name": "force",
4994
+ "required": false,
4995
+ "allowNo": false,
4996
+ "type": "boolean"
4997
+ },
4990
4998
  "output": {
4991
4999
  "char": "o",
4992
5000
  "description": "Output format",
@@ -5004,7 +5012,7 @@
5004
5012
  },
5005
5013
  "hasDynamicHelp": false,
5006
5014
  "hiddenAliases": [],
5007
- "id": "workspace:get",
5015
+ "id": "workspace:delete",
5008
5016
  "pluginAlias": "@xano/cli",
5009
5017
  "pluginName": "@xano/cli",
5010
5018
  "pluginType": "core",
@@ -5015,23 +5023,24 @@
5015
5023
  "dist",
5016
5024
  "commands",
5017
5025
  "workspace",
5018
- "get",
5026
+ "delete",
5019
5027
  "index.js"
5020
5028
  ]
5021
5029
  },
5022
- "workflow_test:run": {
5030
+ "workspace:get": {
5023
5031
  "aliases": [],
5024
5032
  "args": {
5025
- "workflow_test_id": {
5026
- "description": "ID of the workflow test to run",
5027
- "name": "workflow_test_id",
5028
- "required": true
5033
+ "workspace_id": {
5034
+ "description": "Workspace ID to get details for (uses profile workspace if not provided)",
5035
+ "name": "workspace_id",
5036
+ "required": false
5029
5037
  }
5030
5038
  },
5031
- "description": "Run a workflow test",
5039
+ "description": "Get details of a specific workspace from the Xano Metadata API",
5032
5040
  "examples": [
5033
- "$ xano workflow-test run 1\nRunning workflow test 1...\nResult: PASS (1.234s)\n",
5034
- "$ xano workflow-test run 1 -o json"
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"
5035
5044
  ],
5036
5045
  "flags": {
5037
5046
  "profile": {
@@ -5066,20 +5075,11 @@
5066
5075
  "json"
5067
5076
  ],
5068
5077
  "type": "option"
5069
- },
5070
- "workspace": {
5071
- "char": "w",
5072
- "description": "Workspace ID (uses profile workspace if not provided)",
5073
- "name": "workspace",
5074
- "required": false,
5075
- "hasDynamicHelp": false,
5076
- "multiple": false,
5077
- "type": "option"
5078
5078
  }
5079
5079
  },
5080
5080
  "hasDynamicHelp": false,
5081
5081
  "hiddenAliases": [],
5082
- "id": "workflow_test:run",
5082
+ "id": "workspace:get",
5083
5083
  "pluginAlias": "@xano/cli",
5084
5084
  "pluginName": "@xano/cli",
5085
5085
  "pluginType": "core",
@@ -5089,8 +5089,8 @@
5089
5089
  "relativePath": [
5090
5090
  "dist",
5091
5091
  "commands",
5092
- "workflow_test",
5093
- "run",
5092
+ "workspace",
5093
+ "get",
5094
5094
  "index.js"
5095
5095
  ]
5096
5096
  },
@@ -5420,15 +5420,13 @@
5420
5420
  "index.js"
5421
5421
  ]
5422
5422
  },
5423
- "sandbox:license:get": {
5423
+ "profile:workspace:set": {
5424
5424
  "aliases": [],
5425
5425
  "args": {},
5426
- "description": "Get the license for a sandbox environment",
5426
+ "description": "Interactively select a workspace for a profile",
5427
5427
  "examples": [
5428
- "$ xano sandbox license get\nLicense saved to license_<tenant>.yaml\n",
5429
- "$ xano sandbox license get --file ./my-license.yaml",
5430
- "$ xano sandbox license get --view",
5431
- "$ xano sandbox license get -o json"
5428
+ "$ xano profile workspace set\nFetching workspaces...\n? Select a workspace: My Workspace\nWorkspace updated to 'My Workspace' (abc123) on profile 'default'\n",
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"
5432
5430
  ],
5433
5431
  "flags": {
5434
5432
  "profile": {
@@ -5449,41 +5447,11 @@
5449
5447
  "required": false,
5450
5448
  "allowNo": false,
5451
5449
  "type": "boolean"
5452
- },
5453
- "file": {
5454
- "char": "f",
5455
- "description": "Output file path (default: license_<sandbox_name>.yaml)",
5456
- "name": "file",
5457
- "required": false,
5458
- "hasDynamicHelp": false,
5459
- "multiple": false,
5460
- "type": "option"
5461
- },
5462
- "output": {
5463
- "char": "o",
5464
- "description": "Output format",
5465
- "name": "output",
5466
- "required": false,
5467
- "default": "summary",
5468
- "hasDynamicHelp": false,
5469
- "multiple": false,
5470
- "options": [
5471
- "summary",
5472
- "json"
5473
- ],
5474
- "type": "option"
5475
- },
5476
- "view": {
5477
- "description": "Print license to stdout instead of saving to file",
5478
- "name": "view",
5479
- "required": false,
5480
- "allowNo": false,
5481
- "type": "boolean"
5482
5450
  }
5483
5451
  },
5484
5452
  "hasDynamicHelp": false,
5485
5453
  "hiddenAliases": [],
5486
- "id": "sandbox:license:get",
5454
+ "id": "profile:workspace:set",
5487
5455
  "pluginAlias": "@xano/cli",
5488
5456
  "pluginName": "@xano/cli",
5489
5457
  "pluginType": "core",
@@ -5493,21 +5461,20 @@
5493
5461
  "relativePath": [
5494
5462
  "dist",
5495
5463
  "commands",
5496
- "sandbox",
5497
- "license",
5498
- "get",
5464
+ "profile",
5465
+ "workspace",
5466
+ "set",
5499
5467
  "index.js"
5500
5468
  ]
5501
5469
  },
5502
- "sandbox:license:set": {
5470
+ "sandbox:env:delete": {
5503
5471
  "aliases": [],
5504
5472
  "args": {},
5505
- "description": "Set/update the license for a sandbox environment",
5473
+ "description": "Delete an environment variable from a sandbox environment",
5506
5474
  "examples": [
5507
- "$ xano sandbox license set\nReads from license_<tenant>.yaml\n",
5508
- "$ xano sandbox license set --file ./license.yaml",
5509
- "$ xano sandbox license set --value 'key: value'",
5510
- "$ xano sandbox license set -o json"
5475
+ "$ xano sandbox env delete --name DATABASE_URL\nAre you sure you want to delete environment variable 'DATABASE_URL'? (y/N) y\nEnvironment variable 'DATABASE_URL' deleted\n",
5476
+ "$ xano sandbox env delete --name DATABASE_URL --force",
5477
+ "$ xano sandbox env delete --name DATABASE_URL -f -o json"
5511
5478
  ],
5512
5479
  "flags": {
5513
5480
  "profile": {
@@ -5529,24 +5496,19 @@
5529
5496
  "allowNo": false,
5530
5497
  "type": "boolean"
5531
5498
  },
5532
- "clean": {
5533
- "description": "Remove the source file after successful upload",
5534
- "exclusive": [
5535
- "value"
5536
- ],
5537
- "name": "clean",
5499
+ "force": {
5500
+ "char": "f",
5501
+ "description": "Skip confirmation prompt",
5502
+ "name": "force",
5538
5503
  "required": false,
5539
5504
  "allowNo": false,
5540
5505
  "type": "boolean"
5541
5506
  },
5542
- "file": {
5543
- "char": "f",
5544
- "description": "Path to license file (default: license_<sandbox_name>.yaml)",
5545
- "exclusive": [
5546
- "value"
5547
- ],
5548
- "name": "file",
5549
- "required": false,
5507
+ "name": {
5508
+ "char": "n",
5509
+ "description": "Environment variable name",
5510
+ "name": "name",
5511
+ "required": true,
5550
5512
  "hasDynamicHelp": false,
5551
5513
  "multiple": false,
5552
5514
  "type": "option"
@@ -5564,23 +5526,11 @@
5564
5526
  "json"
5565
5527
  ],
5566
5528
  "type": "option"
5567
- },
5568
- "value": {
5569
- "description": "Inline license value",
5570
- "exclusive": [
5571
- "file",
5572
- "clean"
5573
- ],
5574
- "name": "value",
5575
- "required": false,
5576
- "hasDynamicHelp": false,
5577
- "multiple": false,
5578
- "type": "option"
5579
5529
  }
5580
5530
  },
5581
5531
  "hasDynamicHelp": false,
5582
5532
  "hiddenAliases": [],
5583
- "id": "sandbox:license:set",
5533
+ "id": "sandbox:env:delete",
5584
5534
  "pluginAlias": "@xano/cli",
5585
5535
  "pluginName": "@xano/cli",
5586
5536
  "pluginType": "core",
@@ -5591,18 +5541,18 @@
5591
5541
  "dist",
5592
5542
  "commands",
5593
5543
  "sandbox",
5594
- "license",
5595
- "set",
5544
+ "env",
5545
+ "delete",
5596
5546
  "index.js"
5597
5547
  ]
5598
5548
  },
5599
- "profile:workspace:set": {
5549
+ "sandbox:env:get": {
5600
5550
  "aliases": [],
5601
5551
  "args": {},
5602
- "description": "Interactively select a workspace for a profile",
5552
+ "description": "Get a single environment variable for a sandbox environment",
5603
5553
  "examples": [
5604
- "$ xano profile workspace set\nFetching workspaces...\n? Select a workspace: My Workspace\nWorkspace updated to 'My Workspace' (abc123) on profile 'default'\n",
5605
- "$ xano profile workspace set -p production\nFetching workspaces...\n? Select a workspace: Production API\nWorkspace updated to 'Production API' (xyz789) on profile 'production'\n"
5554
+ "$ xano sandbox env get --name DATABASE_URL\npostgres://localhost:5432/mydb\n",
5555
+ "$ xano sandbox env get --name DATABASE_URL -o json"
5606
5556
  ],
5607
5557
  "flags": {
5608
5558
  "profile": {
@@ -5623,11 +5573,34 @@
5623
5573
  "required": false,
5624
5574
  "allowNo": false,
5625
5575
  "type": "boolean"
5576
+ },
5577
+ "name": {
5578
+ "char": "n",
5579
+ "description": "Environment variable name",
5580
+ "name": "name",
5581
+ "required": true,
5582
+ "hasDynamicHelp": false,
5583
+ "multiple": false,
5584
+ "type": "option"
5585
+ },
5586
+ "output": {
5587
+ "char": "o",
5588
+ "description": "Output format",
5589
+ "name": "output",
5590
+ "required": false,
5591
+ "default": "summary",
5592
+ "hasDynamicHelp": false,
5593
+ "multiple": false,
5594
+ "options": [
5595
+ "summary",
5596
+ "json"
5597
+ ],
5598
+ "type": "option"
5626
5599
  }
5627
5600
  },
5628
5601
  "hasDynamicHelp": false,
5629
5602
  "hiddenAliases": [],
5630
- "id": "profile:workspace:set",
5603
+ "id": "sandbox:env:get",
5631
5604
  "pluginAlias": "@xano/cli",
5632
5605
  "pluginName": "@xano/cli",
5633
5606
  "pluginType": "core",
@@ -5637,25 +5610,21 @@
5637
5610
  "relativePath": [
5638
5611
  "dist",
5639
5612
  "commands",
5640
- "profile",
5641
- "workspace",
5642
- "set",
5613
+ "sandbox",
5614
+ "env",
5615
+ "get",
5643
5616
  "index.js"
5644
5617
  ]
5645
5618
  },
5646
- "sandbox:workflow_test:delete": {
5619
+ "sandbox:env:get_all": {
5647
5620
  "aliases": [],
5648
- "args": {
5649
- "workflow_test_id": {
5650
- "description": "ID of the workflow test to delete",
5651
- "name": "workflow_test_id",
5652
- "required": true
5653
- }
5654
- },
5655
- "description": "Delete a workflow test for a sandbox environment",
5621
+ "args": {},
5622
+ "description": "Get all environment variables for a sandbox environment and save to a YAML file",
5656
5623
  "examples": [
5657
- "$ xano sandbox workflow-test delete 42\nDeleted workflow test 42\n",
5658
- "$ xano sandbox workflow-test delete 42 -o json"
5624
+ "$ xano sandbox env get_all\nEnvironment variables saved to env_<tenant>.yaml\n",
5625
+ "$ xano sandbox env get_all --file ./my-env.yaml",
5626
+ "$ xano sandbox env get_all --view",
5627
+ "$ xano sandbox env get_all -o json"
5659
5628
  ],
5660
5629
  "flags": {
5661
5630
  "profile": {
@@ -5677,6 +5646,15 @@
5677
5646
  "allowNo": false,
5678
5647
  "type": "boolean"
5679
5648
  },
5649
+ "file": {
5650
+ "char": "f",
5651
+ "description": "Output file path (default: env_<sandbox_name>.yaml)",
5652
+ "name": "file",
5653
+ "required": false,
5654
+ "hasDynamicHelp": false,
5655
+ "multiple": false,
5656
+ "type": "option"
5657
+ },
5680
5658
  "output": {
5681
5659
  "char": "o",
5682
5660
  "description": "Output format",
@@ -5690,11 +5668,18 @@
5690
5668
  "json"
5691
5669
  ],
5692
5670
  "type": "option"
5671
+ },
5672
+ "view": {
5673
+ "description": "Print environment variables to stdout instead of saving to file",
5674
+ "name": "view",
5675
+ "required": false,
5676
+ "allowNo": false,
5677
+ "type": "boolean"
5693
5678
  }
5694
5679
  },
5695
5680
  "hasDynamicHelp": false,
5696
5681
  "hiddenAliases": [],
5697
- "id": "sandbox:workflow_test:delete",
5682
+ "id": "sandbox:env:get_all",
5698
5683
  "pluginAlias": "@xano/cli",
5699
5684
  "pluginName": "@xano/cli",
5700
5685
  "pluginType": "core",
@@ -5705,24 +5690,18 @@
5705
5690
  "dist",
5706
5691
  "commands",
5707
5692
  "sandbox",
5708
- "workflow_test",
5709
- "delete",
5693
+ "env",
5694
+ "get_all",
5710
5695
  "index.js"
5711
5696
  ]
5712
5697
  },
5713
- "sandbox:workflow_test:get": {
5698
+ "sandbox:env:list": {
5714
5699
  "aliases": [],
5715
- "args": {
5716
- "workflow_test_id": {
5717
- "description": "ID of the workflow test",
5718
- "name": "workflow_test_id",
5719
- "required": true
5720
- }
5721
- },
5722
- "description": "Get a workflow test for a sandbox environment",
5700
+ "args": {},
5701
+ "description": "List environment variable keys for a sandbox environment",
5723
5702
  "examples": [
5724
- "$ xano sandbox workflow-test get 42",
5725
- "$ xano sandbox workflow-test get 42 -o json"
5703
+ "$ xano sandbox env list\nEnvironment variables for sandbox environment:\n - DATABASE_URL\n - API_KEY\n",
5704
+ "$ xano sandbox env list -o json"
5726
5705
  ],
5727
5706
  "flags": {
5728
5707
  "profile": {
@@ -5761,7 +5740,7 @@
5761
5740
  },
5762
5741
  "hasDynamicHelp": false,
5763
5742
  "hiddenAliases": [],
5764
- "id": "sandbox:workflow_test:get",
5743
+ "id": "sandbox:env:list",
5765
5744
  "pluginAlias": "@xano/cli",
5766
5745
  "pluginName": "@xano/cli",
5767
5746
  "pluginType": "core",
@@ -5772,18 +5751,18 @@
5772
5751
  "dist",
5773
5752
  "commands",
5774
5753
  "sandbox",
5775
- "workflow_test",
5776
- "get",
5754
+ "env",
5755
+ "list",
5777
5756
  "index.js"
5778
5757
  ]
5779
5758
  },
5780
- "sandbox:workflow_test:list": {
5759
+ "sandbox:env:set": {
5781
5760
  "aliases": [],
5782
5761
  "args": {},
5783
- "description": "List workflow tests for a sandbox environment",
5762
+ "description": "Set (create or update) an environment variable for a sandbox environment",
5784
5763
  "examples": [
5785
- "$ xano sandbox workflow-test list\nWorkflow tests:\n - my-test (ID: 1)\n",
5786
- "$ xano sandbox workflow-test list -o json"
5764
+ "$ xano sandbox env set --name DATABASE_URL --value postgres://localhost:5432/mydb\nEnvironment variable 'DATABASE_URL' set\n",
5765
+ "$ xano sandbox env set --name DATABASE_URL --value postgres://localhost:5432/mydb -o json"
5787
5766
  ],
5788
5767
  "flags": {
5789
5768
  "profile": {
@@ -5805,11 +5784,11 @@
5805
5784
  "allowNo": false,
5806
5785
  "type": "boolean"
5807
5786
  },
5808
- "branch": {
5809
- "char": "b",
5810
- "description": "Filter by branch name",
5811
- "name": "branch",
5812
- "required": false,
5787
+ "name": {
5788
+ "char": "n",
5789
+ "description": "Environment variable name",
5790
+ "name": "name",
5791
+ "required": true,
5813
5792
  "hasDynamicHelp": false,
5814
5793
  "multiple": false,
5815
5794
  "type": "option"
@@ -5827,11 +5806,19 @@
5827
5806
  "json"
5828
5807
  ],
5829
5808
  "type": "option"
5809
+ },
5810
+ "value": {
5811
+ "description": "Environment variable value",
5812
+ "name": "value",
5813
+ "required": true,
5814
+ "hasDynamicHelp": false,
5815
+ "multiple": false,
5816
+ "type": "option"
5830
5817
  }
5831
5818
  },
5832
5819
  "hasDynamicHelp": false,
5833
5820
  "hiddenAliases": [],
5834
- "id": "sandbox:workflow_test:list",
5821
+ "id": "sandbox:env:set",
5835
5822
  "pluginAlias": "@xano/cli",
5836
5823
  "pluginName": "@xano/cli",
5837
5824
  "pluginType": "core",
@@ -5842,24 +5829,19 @@
5842
5829
  "dist",
5843
5830
  "commands",
5844
5831
  "sandbox",
5845
- "workflow_test",
5846
- "list",
5832
+ "env",
5833
+ "set",
5847
5834
  "index.js"
5848
5835
  ]
5849
5836
  },
5850
- "sandbox:workflow_test:run": {
5837
+ "sandbox:env:set_all": {
5851
5838
  "aliases": [],
5852
- "args": {
5853
- "workflow_test_id": {
5854
- "description": "ID of the workflow test to run",
5855
- "name": "workflow_test_id",
5856
- "required": true
5857
- }
5858
- },
5859
- "description": "Run a workflow test for a sandbox environment",
5839
+ "args": {},
5840
+ "description": "Set all environment variables for a sandbox environment from a YAML file (replaces all existing)",
5860
5841
  "examples": [
5861
- "$ xano sandbox workflow-test run 42\nRunning workflow test 42...\nResult: PASS (0.25s)\n",
5862
- "$ xano sandbox workflow-test run 42 -o json"
5842
+ "$ xano sandbox env set_all\nReads from env_<tenant>.yaml\n",
5843
+ "$ xano sandbox env set_all --file ./my-env.yaml",
5844
+ "$ xano sandbox env set_all -o json"
5863
5845
  ],
5864
5846
  "flags": {
5865
5847
  "profile": {
@@ -5881,6 +5863,22 @@
5881
5863
  "allowNo": false,
5882
5864
  "type": "boolean"
5883
5865
  },
5866
+ "clean": {
5867
+ "description": "Remove the source file after successful upload",
5868
+ "name": "clean",
5869
+ "required": false,
5870
+ "allowNo": false,
5871
+ "type": "boolean"
5872
+ },
5873
+ "file": {
5874
+ "char": "f",
5875
+ "description": "Path to env file (default: env_<sandbox_name>.yaml)",
5876
+ "name": "file",
5877
+ "required": false,
5878
+ "hasDynamicHelp": false,
5879
+ "multiple": false,
5880
+ "type": "option"
5881
+ },
5884
5882
  "output": {
5885
5883
  "char": "o",
5886
5884
  "description": "Output format",
@@ -5898,7 +5896,7 @@
5898
5896
  },
5899
5897
  "hasDynamicHelp": false,
5900
5898
  "hiddenAliases": [],
5901
- "id": "sandbox:workflow_test:run",
5899
+ "id": "sandbox:env:set_all",
5902
5900
  "pluginAlias": "@xano/cli",
5903
5901
  "pluginName": "@xano/cli",
5904
5902
  "pluginType": "core",
@@ -5909,18 +5907,20 @@
5909
5907
  "dist",
5910
5908
  "commands",
5911
5909
  "sandbox",
5912
- "workflow_test",
5913
- "run",
5910
+ "env",
5911
+ "set_all",
5914
5912
  "index.js"
5915
5913
  ]
5916
5914
  },
5917
- "sandbox:workflow_test:run_all": {
5915
+ "sandbox:license:get": {
5918
5916
  "aliases": [],
5919
5917
  "args": {},
5920
- "description": "Run all workflow tests for a sandbox environment",
5918
+ "description": "Get the license for a sandbox environment",
5921
5919
  "examples": [
5922
- "$ 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",
5923
- "$ xano sandbox workflow-test run-all -o json"
5920
+ "$ xano sandbox license get\nLicense saved to license_<tenant>.yaml\n",
5921
+ "$ xano sandbox license get --file ./my-license.yaml",
5922
+ "$ xano sandbox license get --view",
5923
+ "$ xano sandbox license get -o json"
5924
5924
  ],
5925
5925
  "flags": {
5926
5926
  "profile": {
@@ -5942,10 +5942,10 @@
5942
5942
  "allowNo": false,
5943
5943
  "type": "boolean"
5944
5944
  },
5945
- "branch": {
5946
- "char": "b",
5947
- "description": "Filter by branch name",
5948
- "name": "branch",
5945
+ "file": {
5946
+ "char": "f",
5947
+ "description": "Output file path (default: license_<sandbox_name>.yaml)",
5948
+ "name": "file",
5949
5949
  "required": false,
5950
5950
  "hasDynamicHelp": false,
5951
5951
  "multiple": false,
@@ -5964,11 +5964,18 @@
5964
5964
  "json"
5965
5965
  ],
5966
5966
  "type": "option"
5967
+ },
5968
+ "view": {
5969
+ "description": "Print license to stdout instead of saving to file",
5970
+ "name": "view",
5971
+ "required": false,
5972
+ "allowNo": false,
5973
+ "type": "boolean"
5967
5974
  }
5968
5975
  },
5969
5976
  "hasDynamicHelp": false,
5970
5977
  "hiddenAliases": [],
5971
- "id": "sandbox:workflow_test:run_all",
5978
+ "id": "sandbox:license:get",
5972
5979
  "pluginAlias": "@xano/cli",
5973
5980
  "pluginName": "@xano/cli",
5974
5981
  "pluginType": "core",
@@ -5979,24 +5986,20 @@
5979
5986
  "dist",
5980
5987
  "commands",
5981
5988
  "sandbox",
5982
- "workflow_test",
5983
- "run_all",
5989
+ "license",
5990
+ "get",
5984
5991
  "index.js"
5985
5992
  ]
5986
5993
  },
5987
- "sandbox:unit_test:run": {
5994
+ "sandbox:license:set": {
5988
5995
  "aliases": [],
5989
- "args": {
5990
- "unit_test_id": {
5991
- "description": "ID of the unit test to run",
5992
- "name": "unit_test_id",
5993
- "required": true
5994
- }
5995
- },
5996
- "description": "Run a unit test for a sandbox environment",
5996
+ "args": {},
5997
+ "description": "Set/update the license for a sandbox environment",
5997
5998
  "examples": [
5998
- "$ xano sandbox unit-test run abc-123\nRunning unit test abc-123...\nResult: PASS\n",
5999
- "$ xano sandbox unit-test run abc-123 -o json"
5999
+ "$ xano sandbox license set\nReads from license_<tenant>.yaml\n",
6000
+ "$ xano sandbox license set --file ./license.yaml",
6001
+ "$ xano sandbox license set --value 'key: value'",
6002
+ "$ xano sandbox license set -o json"
6000
6003
  ],
6001
6004
  "flags": {
6002
6005
  "profile": {
@@ -6018,24 +6021,58 @@
6018
6021
  "allowNo": false,
6019
6022
  "type": "boolean"
6020
6023
  },
6021
- "output": {
6022
- "char": "o",
6023
- "description": "Output format",
6024
- "name": "output",
6025
- "required": false,
6026
- "default": "summary",
6027
- "hasDynamicHelp": false,
6024
+ "clean": {
6025
+ "description": "Remove the source file after successful upload",
6026
+ "exclusive": [
6027
+ "value"
6028
+ ],
6029
+ "name": "clean",
6030
+ "required": false,
6031
+ "allowNo": false,
6032
+ "type": "boolean"
6033
+ },
6034
+ "file": {
6035
+ "char": "f",
6036
+ "description": "Path to license file (default: license_<sandbox_name>.yaml)",
6037
+ "exclusive": [
6038
+ "value"
6039
+ ],
6040
+ "name": "file",
6041
+ "required": false,
6042
+ "hasDynamicHelp": false,
6043
+ "multiple": false,
6044
+ "type": "option"
6045
+ },
6046
+ "output": {
6047
+ "char": "o",
6048
+ "description": "Output format",
6049
+ "name": "output",
6050
+ "required": false,
6051
+ "default": "summary",
6052
+ "hasDynamicHelp": false,
6028
6053
  "multiple": false,
6029
6054
  "options": [
6030
6055
  "summary",
6031
6056
  "json"
6032
6057
  ],
6033
6058
  "type": "option"
6059
+ },
6060
+ "value": {
6061
+ "description": "Inline license value",
6062
+ "exclusive": [
6063
+ "file",
6064
+ "clean"
6065
+ ],
6066
+ "name": "value",
6067
+ "required": false,
6068
+ "hasDynamicHelp": false,
6069
+ "multiple": false,
6070
+ "type": "option"
6034
6071
  }
6035
6072
  },
6036
6073
  "hasDynamicHelp": false,
6037
6074
  "hiddenAliases": [],
6038
- "id": "sandbox:unit_test:run",
6075
+ "id": "sandbox:license:set",
6039
6076
  "pluginAlias": "@xano/cli",
6040
6077
  "pluginName": "@xano/cli",
6041
6078
  "pluginType": "core",
@@ -6046,18 +6083,18 @@
6046
6083
  "dist",
6047
6084
  "commands",
6048
6085
  "sandbox",
6049
- "unit_test",
6050
- "run",
6086
+ "license",
6087
+ "set",
6051
6088
  "index.js"
6052
6089
  ]
6053
6090
  },
6054
- "sandbox:unit_test:list": {
6091
+ "sandbox:workflow_test:list": {
6055
6092
  "aliases": [],
6056
6093
  "args": {},
6057
- "description": "List all unit tests for a sandbox environment",
6094
+ "description": "List workflow tests for a sandbox environment",
6058
6095
  "examples": [
6059
- "$ xano sandbox unit-test list\nUnit tests:\n - my-test (ID: abc-123) [function: math]\n",
6060
- "$ 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"
6061
6098
  ],
6062
6099
  "flags": {
6063
6100
  "profile": {
@@ -6088,18 +6125,72 @@
6088
6125
  "multiple": false,
6089
6126
  "type": "option"
6090
6127
  },
6091
- "obj-type": {
6092
- "description": "Filter by object type",
6093
- "name": "obj-type",
6128
+ "output": {
6129
+ "char": "o",
6130
+ "description": "Output format",
6131
+ "name": "output",
6094
6132
  "required": false,
6133
+ "default": "summary",
6095
6134
  "hasDynamicHelp": false,
6096
6135
  "multiple": false,
6097
6136
  "options": [
6098
- "function",
6099
- "query",
6100
- "middleware"
6137
+ "summary",
6138
+ "json"
6101
6139
  ],
6102
6140
  "type": "option"
6141
+ }
6142
+ },
6143
+ "hasDynamicHelp": false,
6144
+ "hiddenAliases": [],
6145
+ "id": "sandbox:workflow_test:list",
6146
+ "pluginAlias": "@xano/cli",
6147
+ "pluginName": "@xano/cli",
6148
+ "pluginType": "core",
6149
+ "strict": true,
6150
+ "enableJsonFlag": false,
6151
+ "isESM": true,
6152
+ "relativePath": [
6153
+ "dist",
6154
+ "commands",
6155
+ "sandbox",
6156
+ "workflow_test",
6157
+ "list",
6158
+ "index.js"
6159
+ ]
6160
+ },
6161
+ "sandbox:workflow_test:run": {
6162
+ "aliases": [],
6163
+ "args": {
6164
+ "workflow_test_id": {
6165
+ "description": "ID of the workflow test to run",
6166
+ "name": "workflow_test_id",
6167
+ "required": true
6168
+ }
6169
+ },
6170
+ "description": "Run a workflow test for a sandbox environment",
6171
+ "examples": [
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"
6174
+ ],
6175
+ "flags": {
6176
+ "profile": {
6177
+ "char": "p",
6178
+ "description": "Profile to use (uses default profile if not specified)",
6179
+ "env": "XANO_PROFILE",
6180
+ "name": "profile",
6181
+ "required": false,
6182
+ "hasDynamicHelp": false,
6183
+ "multiple": false,
6184
+ "type": "option"
6185
+ },
6186
+ "verbose": {
6187
+ "char": "v",
6188
+ "description": "Show detailed request/response information",
6189
+ "env": "XANO_VERBOSE",
6190
+ "name": "verbose",
6191
+ "required": false,
6192
+ "allowNo": false,
6193
+ "type": "boolean"
6103
6194
  },
6104
6195
  "output": {
6105
6196
  "char": "o",
@@ -6118,7 +6209,7 @@
6118
6209
  },
6119
6210
  "hasDynamicHelp": false,
6120
6211
  "hiddenAliases": [],
6121
- "id": "sandbox:unit_test:list",
6212
+ "id": "sandbox:workflow_test:run",
6122
6213
  "pluginAlias": "@xano/cli",
6123
6214
  "pluginName": "@xano/cli",
6124
6215
  "pluginType": "core",
@@ -6129,18 +6220,18 @@
6129
6220
  "dist",
6130
6221
  "commands",
6131
6222
  "sandbox",
6132
- "unit_test",
6133
- "list",
6223
+ "workflow_test",
6224
+ "run",
6134
6225
  "index.js"
6135
6226
  ]
6136
6227
  },
6137
- "sandbox:unit_test:run_all": {
6228
+ "sandbox:workflow_test:run_all": {
6138
6229
  "aliases": [],
6139
6230
  "args": {},
6140
- "description": "Run all unit tests for a sandbox environment",
6231
+ "description": "Run all workflow tests for a sandbox environment",
6141
6232
  "examples": [
6142
- "$ 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",
6143
- "$ 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"
6144
6235
  ],
6145
6236
  "flags": {
6146
6237
  "profile": {
@@ -6171,19 +6262,6 @@
6171
6262
  "multiple": false,
6172
6263
  "type": "option"
6173
6264
  },
6174
- "obj-type": {
6175
- "description": "Filter by object type",
6176
- "name": "obj-type",
6177
- "required": false,
6178
- "hasDynamicHelp": false,
6179
- "multiple": false,
6180
- "options": [
6181
- "function",
6182
- "query",
6183
- "middleware"
6184
- ],
6185
- "type": "option"
6186
- },
6187
6265
  "output": {
6188
6266
  "char": "o",
6189
6267
  "description": "Output format",
@@ -6201,7 +6279,7 @@
6201
6279
  },
6202
6280
  "hasDynamicHelp": false,
6203
6281
  "hiddenAliases": [],
6204
- "id": "sandbox:unit_test:run_all",
6282
+ "id": "sandbox:workflow_test:run_all",
6205
6283
  "pluginAlias": "@xano/cli",
6206
6284
  "pluginName": "@xano/cli",
6207
6285
  "pluginType": "core",
@@ -6212,7 +6290,7 @@
6212
6290
  "dist",
6213
6291
  "commands",
6214
6292
  "sandbox",
6215
- "unit_test",
6293
+ "workflow_test",
6216
6294
  "run_all",
6217
6295
  "index.js"
6218
6296
  ]
@@ -6321,21 +6399,26 @@
6321
6399
  "index.js"
6322
6400
  ]
6323
6401
  },
6324
- "static_host:build:list": {
6402
+ "static_host:build:get": {
6325
6403
  "aliases": [],
6326
6404
  "args": {
6405
+ "build_id": {
6406
+ "description": "Build ID",
6407
+ "name": "build_id",
6408
+ "required": true
6409
+ },
6327
6410
  "static_host": {
6328
6411
  "description": "Static Host name",
6329
6412
  "name": "static_host",
6330
6413
  "required": true
6331
6414
  }
6332
6415
  },
6333
- "description": "List all builds for a static host",
6416
+ "description": "Get details of a specific build for a static host",
6334
6417
  "examples": [
6335
- "$ 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",
6336
- "$ xano static_host:build:list myhost --profile production\nAvailable builds:\n - production (ID: 1) - Status: completed\n - staging (ID: 2) - Status: completed\n",
6337
- "$ 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",
6338
- "$ 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"
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"
6339
6422
  ],
6340
6423
  "flags": {
6341
6424
  "profile": {
@@ -6371,24 +6454,6 @@
6371
6454
  ],
6372
6455
  "type": "option"
6373
6456
  },
6374
- "page": {
6375
- "description": "Page number for pagination",
6376
- "name": "page",
6377
- "required": false,
6378
- "default": 1,
6379
- "hasDynamicHelp": false,
6380
- "multiple": false,
6381
- "type": "option"
6382
- },
6383
- "per_page": {
6384
- "description": "Number of results per page",
6385
- "name": "per_page",
6386
- "required": false,
6387
- "default": 50,
6388
- "hasDynamicHelp": false,
6389
- "multiple": false,
6390
- "type": "option"
6391
- },
6392
6457
  "workspace": {
6393
6458
  "char": "w",
6394
6459
  "description": "Workspace ID (optional if set in profile)",
@@ -6401,7 +6466,7 @@
6401
6466
  },
6402
6467
  "hasDynamicHelp": false,
6403
6468
  "hiddenAliases": [],
6404
- "id": "static_host:build:list",
6469
+ "id": "static_host:build:get",
6405
6470
  "pluginAlias": "@xano/cli",
6406
6471
  "pluginName": "@xano/cli",
6407
6472
  "pluginType": "core",
@@ -6413,30 +6478,25 @@
6413
6478
  "commands",
6414
6479
  "static_host",
6415
6480
  "build",
6416
- "list",
6481
+ "get",
6417
6482
  "index.js"
6418
6483
  ]
6419
6484
  },
6420
- "static_host:build:get": {
6485
+ "static_host:build:list": {
6421
6486
  "aliases": [],
6422
6487
  "args": {
6423
- "build_id": {
6424
- "description": "Build ID",
6425
- "name": "build_id",
6426
- "required": true
6427
- },
6428
6488
  "static_host": {
6429
6489
  "description": "Static Host name",
6430
6490
  "name": "static_host",
6431
6491
  "required": true
6432
6492
  }
6433
6493
  },
6434
- "description": "Get details of a specific build for a static host",
6494
+ "description": "List all builds for a static host",
6435
6495
  "examples": [
6436
- "$ xano static_host:build:get default 52\nBuild Details:\nID: 52\nName: v1.0.0\nStatus: completed\n",
6437
- "$ xano static_host:build:get default 52 -w 40\nBuild Details:\nID: 52\nName: v1.0.0\nStatus: completed\n",
6438
- "$ xano static_host:build:get myhost 123 --profile production\nBuild Details:\nID: 123\nName: production-build\n",
6439
- "$ xano static_host:build:get default 52 -o json\n{\n \"id\": 52,\n \"name\": \"v1.0.0\",\n \"status\": \"completed\"\n}\n"
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"
6440
6500
  ],
6441
6501
  "flags": {
6442
6502
  "profile": {
@@ -6472,6 +6532,24 @@
6472
6532
  ],
6473
6533
  "type": "option"
6474
6534
  },
6535
+ "page": {
6536
+ "description": "Page number for pagination",
6537
+ "name": "page",
6538
+ "required": false,
6539
+ "default": 1,
6540
+ "hasDynamicHelp": false,
6541
+ "multiple": false,
6542
+ "type": "option"
6543
+ },
6544
+ "per_page": {
6545
+ "description": "Number of results per page",
6546
+ "name": "per_page",
6547
+ "required": false,
6548
+ "default": 50,
6549
+ "hasDynamicHelp": false,
6550
+ "multiple": false,
6551
+ "type": "option"
6552
+ },
6475
6553
  "workspace": {
6476
6554
  "char": "w",
6477
6555
  "description": "Workspace ID (optional if set in profile)",
@@ -6484,7 +6562,7 @@
6484
6562
  },
6485
6563
  "hasDynamicHelp": false,
6486
6564
  "hiddenAliases": [],
6487
- "id": "static_host:build:get",
6565
+ "id": "static_host:build:list",
6488
6566
  "pluginAlias": "@xano/cli",
6489
6567
  "pluginName": "@xano/cli",
6490
6568
  "pluginType": "core",
@@ -6496,7 +6574,7 @@
6496
6574
  "commands",
6497
6575
  "static_host",
6498
6576
  "build",
6499
- "get",
6577
+ "list",
6500
6578
  "index.js"
6501
6579
  ]
6502
6580
  },
@@ -6679,19 +6757,20 @@
6679
6757
  "index.js"
6680
6758
  ]
6681
6759
  },
6682
- "tenant:backup:import": {
6760
+ "tenant:backup:export": {
6683
6761
  "aliases": [],
6684
6762
  "args": {
6685
6763
  "tenant_name": {
6686
- "description": "Tenant name to import backup into",
6764
+ "description": "Tenant name to export backup from",
6687
6765
  "name": "tenant_name",
6688
6766
  "required": true
6689
6767
  }
6690
6768
  },
6691
- "description": "Import a backup file into a tenant",
6769
+ "description": "Export (download) a tenant backup to a local file",
6692
6770
  "examples": [
6693
- "$ xano tenant backup import t1234-abcd-xyz1 --file ./my-backup.tar.gz\nImported backup as #15 for tenant t1234-abcd-xyz1\n",
6694
- "$ xano tenant backup import t1234-abcd-xyz1 --file ./my-backup.tar.gz --description \"Restored from production\" -o json"
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"
6695
6774
  ],
6696
6775
  "flags": {
6697
6776
  "profile": {
@@ -6713,106 +6792,10 @@
6713
6792
  "allowNo": false,
6714
6793
  "type": "boolean"
6715
6794
  },
6716
- "description": {
6717
- "char": "d",
6718
- "description": "Backup description",
6719
- "name": "description",
6720
- "required": false,
6721
- "default": "",
6722
- "hasDynamicHelp": false,
6723
- "multiple": false,
6724
- "type": "option"
6725
- },
6726
- "file": {
6727
- "char": "f",
6728
- "description": "Path to the backup file (.tar.gz)",
6729
- "name": "file",
6730
- "required": true,
6731
- "hasDynamicHelp": false,
6732
- "multiple": false,
6733
- "type": "option"
6734
- },
6735
- "output": {
6736
- "char": "o",
6737
- "description": "Output format",
6738
- "name": "output",
6739
- "required": false,
6740
- "default": "summary",
6741
- "hasDynamicHelp": false,
6742
- "multiple": false,
6743
- "options": [
6744
- "summary",
6745
- "json"
6746
- ],
6747
- "type": "option"
6748
- },
6749
- "workspace": {
6750
- "char": "w",
6751
- "description": "Workspace ID (uses profile workspace if not provided)",
6752
- "name": "workspace",
6753
- "required": false,
6754
- "hasDynamicHelp": false,
6755
- "multiple": false,
6756
- "type": "option"
6757
- }
6758
- },
6759
- "hasDynamicHelp": false,
6760
- "hiddenAliases": [],
6761
- "id": "tenant:backup:import",
6762
- "pluginAlias": "@xano/cli",
6763
- "pluginName": "@xano/cli",
6764
- "pluginType": "core",
6765
- "strict": true,
6766
- "enableJsonFlag": false,
6767
- "isESM": true,
6768
- "relativePath": [
6769
- "dist",
6770
- "commands",
6771
- "tenant",
6772
- "backup",
6773
- "import",
6774
- "index.js"
6775
- ]
6776
- },
6777
- "tenant:backup:export": {
6778
- "aliases": [],
6779
- "args": {
6780
- "tenant_name": {
6781
- "description": "Tenant name to export backup from",
6782
- "name": "tenant_name",
6783
- "required": true
6784
- }
6785
- },
6786
- "description": "Export (download) a tenant backup to a local file",
6787
- "examples": [
6788
- "$ xano tenant backup export t1234-abcd-xyz1 --backup_id 10\nDownloaded backup #10 to ./tenant-t1234-abcd-xyz1-backup-10.tar.gz\n",
6789
- "$ xano tenant backup export t1234-abcd-xyz1 --backup_id 10 --output ./backups/my-backup.tar.gz",
6790
- "$ xano tenant backup export t1234-abcd-xyz1 --backup_id 10 -o json"
6791
- ],
6792
- "flags": {
6793
- "profile": {
6794
- "char": "p",
6795
- "description": "Profile to use (uses default profile if not specified)",
6796
- "env": "XANO_PROFILE",
6797
- "name": "profile",
6798
- "required": false,
6799
- "hasDynamicHelp": false,
6800
- "multiple": false,
6801
- "type": "option"
6802
- },
6803
- "verbose": {
6804
- "char": "v",
6805
- "description": "Show detailed request/response information",
6806
- "env": "XANO_VERBOSE",
6807
- "name": "verbose",
6808
- "required": false,
6809
- "allowNo": false,
6810
- "type": "boolean"
6811
- },
6812
- "backup_id": {
6813
- "description": "Backup ID to export",
6814
- "name": "backup_id",
6815
- "required": true,
6795
+ "backup_id": {
6796
+ "description": "Backup ID to export",
6797
+ "name": "backup_id",
6798
+ "required": true,
6816
6799
  "hasDynamicHelp": false,
6817
6800
  "multiple": false,
6818
6801
  "type": "option"
@@ -6867,19 +6850,19 @@
6867
6850
  "index.js"
6868
6851
  ]
6869
6852
  },
6870
- "tenant:backup:restore": {
6853
+ "tenant:backup:import": {
6871
6854
  "aliases": [],
6872
6855
  "args": {
6873
6856
  "tenant_name": {
6874
- "description": "Tenant name to restore",
6857
+ "description": "Tenant name to import backup into",
6875
6858
  "name": "tenant_name",
6876
6859
  "required": true
6877
6860
  }
6878
6861
  },
6879
- "description": "Restore a tenant from a backup. This replaces the current tenant data.",
6862
+ "description": "Import a backup file into a tenant",
6880
6863
  "examples": [
6881
- "$ 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",
6882
- "$ xano tenant backup restore t1234-abcd-xyz1 --backup_id 10 --force -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"
6883
6866
  ],
6884
6867
  "flags": {
6885
6868
  "profile": {
@@ -6901,21 +6884,24 @@
6901
6884
  "allowNo": false,
6902
6885
  "type": "boolean"
6903
6886
  },
6904
- "backup_id": {
6905
- "description": "Backup ID to restore from",
6906
- "name": "backup_id",
6907
- "required": true,
6887
+ "description": {
6888
+ "char": "d",
6889
+ "description": "Backup description",
6890
+ "name": "description",
6891
+ "required": false,
6892
+ "default": "",
6908
6893
  "hasDynamicHelp": false,
6909
6894
  "multiple": false,
6910
6895
  "type": "option"
6911
6896
  },
6912
- "force": {
6897
+ "file": {
6913
6898
  "char": "f",
6914
- "description": "Skip confirmation prompt",
6915
- "name": "force",
6916
- "required": false,
6917
- "allowNo": false,
6918
- "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"
6919
6905
  },
6920
6906
  "output": {
6921
6907
  "char": "o",
@@ -6943,7 +6929,7 @@
6943
6929
  },
6944
6930
  "hasDynamicHelp": false,
6945
6931
  "hiddenAliases": [],
6946
- "id": "tenant:backup:restore",
6932
+ "id": "tenant:backup:import",
6947
6933
  "pluginAlias": "@xano/cli",
6948
6934
  "pluginName": "@xano/cli",
6949
6935
  "pluginType": "core",
@@ -6955,7 +6941,7 @@
6955
6941
  "commands",
6956
6942
  "tenant",
6957
6943
  "backup",
6958
- "restore",
6944
+ "import",
6959
6945
  "index.js"
6960
6946
  ]
6961
6947
  },
@@ -7044,13 +7030,19 @@
7044
7030
  "index.js"
7045
7031
  ]
7046
7032
  },
7047
- "sandbox:env:get": {
7033
+ "tenant:backup:restore": {
7048
7034
  "aliases": [],
7049
- "args": {},
7050
- "description": "Get a single environment variable for a sandbox environment",
7035
+ "args": {
7036
+ "tenant_name": {
7037
+ "description": "Tenant name to restore",
7038
+ "name": "tenant_name",
7039
+ "required": true
7040
+ }
7041
+ },
7042
+ "description": "Restore a tenant from a backup. This replaces the current tenant data.",
7051
7043
  "examples": [
7052
- "$ xano sandbox env get --name DATABASE_URL\npostgres://localhost:5432/mydb\n",
7053
- "$ xano sandbox env get --name DATABASE_URL -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"
7054
7046
  ],
7055
7047
  "flags": {
7056
7048
  "profile": {
@@ -7072,77 +7064,14 @@
7072
7064
  "allowNo": false,
7073
7065
  "type": "boolean"
7074
7066
  },
7075
- "name": {
7076
- "char": "n",
7077
- "description": "Environment variable name",
7078
- "name": "name",
7067
+ "backup_id": {
7068
+ "description": "Backup ID to restore from",
7069
+ "name": "backup_id",
7079
7070
  "required": true,
7080
7071
  "hasDynamicHelp": false,
7081
7072
  "multiple": false,
7082
7073
  "type": "option"
7083
7074
  },
7084
- "output": {
7085
- "char": "o",
7086
- "description": "Output format",
7087
- "name": "output",
7088
- "required": false,
7089
- "default": "summary",
7090
- "hasDynamicHelp": false,
7091
- "multiple": false,
7092
- "options": [
7093
- "summary",
7094
- "json"
7095
- ],
7096
- "type": "option"
7097
- }
7098
- },
7099
- "hasDynamicHelp": false,
7100
- "hiddenAliases": [],
7101
- "id": "sandbox:env:get",
7102
- "pluginAlias": "@xano/cli",
7103
- "pluginName": "@xano/cli",
7104
- "pluginType": "core",
7105
- "strict": true,
7106
- "enableJsonFlag": false,
7107
- "isESM": true,
7108
- "relativePath": [
7109
- "dist",
7110
- "commands",
7111
- "sandbox",
7112
- "env",
7113
- "get",
7114
- "index.js"
7115
- ]
7116
- },
7117
- "sandbox:env:delete": {
7118
- "aliases": [],
7119
- "args": {},
7120
- "description": "Delete an environment variable from a sandbox environment",
7121
- "examples": [
7122
- "$ xano sandbox env delete --name DATABASE_URL\nAre you sure you want to delete environment variable 'DATABASE_URL'? (y/N) y\nEnvironment variable 'DATABASE_URL' deleted\n",
7123
- "$ xano sandbox env delete --name DATABASE_URL --force",
7124
- "$ xano sandbox env delete --name DATABASE_URL -f -o json"
7125
- ],
7126
- "flags": {
7127
- "profile": {
7128
- "char": "p",
7129
- "description": "Profile to use (uses default profile if not specified)",
7130
- "env": "XANO_PROFILE",
7131
- "name": "profile",
7132
- "required": false,
7133
- "hasDynamicHelp": false,
7134
- "multiple": false,
7135
- "type": "option"
7136
- },
7137
- "verbose": {
7138
- "char": "v",
7139
- "description": "Show detailed request/response information",
7140
- "env": "XANO_VERBOSE",
7141
- "name": "verbose",
7142
- "required": false,
7143
- "allowNo": false,
7144
- "type": "boolean"
7145
- },
7146
7075
  "force": {
7147
7076
  "char": "f",
7148
7077
  "description": "Skip confirmation prompt",
@@ -7151,15 +7080,6 @@
7151
7080
  "allowNo": false,
7152
7081
  "type": "boolean"
7153
7082
  },
7154
- "name": {
7155
- "char": "n",
7156
- "description": "Environment variable name",
7157
- "name": "name",
7158
- "required": true,
7159
- "hasDynamicHelp": false,
7160
- "multiple": false,
7161
- "type": "option"
7162
- },
7163
7083
  "output": {
7164
7084
  "char": "o",
7165
7085
  "description": "Output format",
@@ -7173,90 +7093,20 @@
7173
7093
  "json"
7174
7094
  ],
7175
7095
  "type": "option"
7176
- }
7177
- },
7178
- "hasDynamicHelp": false,
7179
- "hiddenAliases": [],
7180
- "id": "sandbox:env:delete",
7181
- "pluginAlias": "@xano/cli",
7182
- "pluginName": "@xano/cli",
7183
- "pluginType": "core",
7184
- "strict": true,
7185
- "enableJsonFlag": false,
7186
- "isESM": true,
7187
- "relativePath": [
7188
- "dist",
7189
- "commands",
7190
- "sandbox",
7191
- "env",
7192
- "delete",
7193
- "index.js"
7194
- ]
7195
- },
7196
- "sandbox:env:get_all": {
7197
- "aliases": [],
7198
- "args": {},
7199
- "description": "Get all environment variables for a sandbox environment and save to a YAML file",
7200
- "examples": [
7201
- "$ xano sandbox env get_all\nEnvironment variables saved to env_<tenant>.yaml\n",
7202
- "$ xano sandbox env get_all --file ./my-env.yaml",
7203
- "$ xano sandbox env get_all --view",
7204
- "$ xano sandbox env get_all -o json"
7205
- ],
7206
- "flags": {
7207
- "profile": {
7208
- "char": "p",
7209
- "description": "Profile to use (uses default profile if not specified)",
7210
- "env": "XANO_PROFILE",
7211
- "name": "profile",
7212
- "required": false,
7213
- "hasDynamicHelp": false,
7214
- "multiple": false,
7215
- "type": "option"
7216
- },
7217
- "verbose": {
7218
- "char": "v",
7219
- "description": "Show detailed request/response information",
7220
- "env": "XANO_VERBOSE",
7221
- "name": "verbose",
7222
- "required": false,
7223
- "allowNo": false,
7224
- "type": "boolean"
7225
- },
7226
- "file": {
7227
- "char": "f",
7228
- "description": "Output file path (default: env_<sandbox_name>.yaml)",
7229
- "name": "file",
7230
- "required": false,
7231
- "hasDynamicHelp": false,
7232
- "multiple": false,
7233
- "type": "option"
7234
7096
  },
7235
- "output": {
7236
- "char": "o",
7237
- "description": "Output format",
7238
- "name": "output",
7097
+ "workspace": {
7098
+ "char": "w",
7099
+ "description": "Workspace ID (uses profile workspace if not provided)",
7100
+ "name": "workspace",
7239
7101
  "required": false,
7240
- "default": "summary",
7241
7102
  "hasDynamicHelp": false,
7242
7103
  "multiple": false,
7243
- "options": [
7244
- "summary",
7245
- "json"
7246
- ],
7247
7104
  "type": "option"
7248
- },
7249
- "view": {
7250
- "description": "Print environment variables to stdout instead of saving to file",
7251
- "name": "view",
7252
- "required": false,
7253
- "allowNo": false,
7254
- "type": "boolean"
7255
7105
  }
7256
7106
  },
7257
7107
  "hasDynamicHelp": false,
7258
7108
  "hiddenAliases": [],
7259
- "id": "sandbox:env:get_all",
7109
+ "id": "tenant:backup:restore",
7260
7110
  "pluginAlias": "@xano/cli",
7261
7111
  "pluginName": "@xano/cli",
7262
7112
  "pluginType": "core",
@@ -7266,19 +7116,19 @@
7266
7116
  "relativePath": [
7267
7117
  "dist",
7268
7118
  "commands",
7269
- "sandbox",
7270
- "env",
7271
- "get_all",
7119
+ "tenant",
7120
+ "backup",
7121
+ "restore",
7272
7122
  "index.js"
7273
7123
  ]
7274
7124
  },
7275
- "sandbox:env:list": {
7125
+ "sandbox:unit_test:list": {
7276
7126
  "aliases": [],
7277
7127
  "args": {},
7278
- "description": "List environment variable keys for a sandbox environment",
7128
+ "description": "List all unit tests for a sandbox environment",
7279
7129
  "examples": [
7280
- "$ xano sandbox env list\nEnvironment variables for sandbox environment:\n - DATABASE_URL\n - API_KEY\n",
7281
- "$ xano sandbox env list -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"
7282
7132
  ],
7283
7133
  "flags": {
7284
7134
  "profile": {
@@ -7300,74 +7150,26 @@
7300
7150
  "allowNo": false,
7301
7151
  "type": "boolean"
7302
7152
  },
7303
- "output": {
7304
- "char": "o",
7305
- "description": "Output format",
7306
- "name": "output",
7307
- "required": false,
7308
- "default": "summary",
7309
- "hasDynamicHelp": false,
7310
- "multiple": false,
7311
- "options": [
7312
- "summary",
7313
- "json"
7314
- ],
7315
- "type": "option"
7316
- }
7317
- },
7318
- "hasDynamicHelp": false,
7319
- "hiddenAliases": [],
7320
- "id": "sandbox:env:list",
7321
- "pluginAlias": "@xano/cli",
7322
- "pluginName": "@xano/cli",
7323
- "pluginType": "core",
7324
- "strict": true,
7325
- "enableJsonFlag": false,
7326
- "isESM": true,
7327
- "relativePath": [
7328
- "dist",
7329
- "commands",
7330
- "sandbox",
7331
- "env",
7332
- "list",
7333
- "index.js"
7334
- ]
7335
- },
7336
- "sandbox:env:set": {
7337
- "aliases": [],
7338
- "args": {},
7339
- "description": "Set (create or update) an environment variable for a sandbox environment",
7340
- "examples": [
7341
- "$ xano sandbox env set --name DATABASE_URL --value postgres://localhost:5432/mydb\nEnvironment variable 'DATABASE_URL' set\n",
7342
- "$ xano sandbox env set --name DATABASE_URL --value postgres://localhost:5432/mydb -o json"
7343
- ],
7344
- "flags": {
7345
- "profile": {
7346
- "char": "p",
7347
- "description": "Profile to use (uses default profile if not specified)",
7348
- "env": "XANO_PROFILE",
7349
- "name": "profile",
7153
+ "branch": {
7154
+ "char": "b",
7155
+ "description": "Filter by branch name",
7156
+ "name": "branch",
7350
7157
  "required": false,
7351
7158
  "hasDynamicHelp": false,
7352
7159
  "multiple": false,
7353
7160
  "type": "option"
7354
7161
  },
7355
- "verbose": {
7356
- "char": "v",
7357
- "description": "Show detailed request/response information",
7358
- "env": "XANO_VERBOSE",
7359
- "name": "verbose",
7162
+ "obj-type": {
7163
+ "description": "Filter by object type",
7164
+ "name": "obj-type",
7360
7165
  "required": false,
7361
- "allowNo": false,
7362
- "type": "boolean"
7363
- },
7364
- "name": {
7365
- "char": "n",
7366
- "description": "Environment variable name",
7367
- "name": "name",
7368
- "required": true,
7369
7166
  "hasDynamicHelp": false,
7370
7167
  "multiple": false,
7168
+ "options": [
7169
+ "function",
7170
+ "query",
7171
+ "middleware"
7172
+ ],
7371
7173
  "type": "option"
7372
7174
  },
7373
7175
  "output": {
@@ -7383,19 +7185,11 @@
7383
7185
  "json"
7384
7186
  ],
7385
7187
  "type": "option"
7386
- },
7387
- "value": {
7388
- "description": "Environment variable value",
7389
- "name": "value",
7390
- "required": true,
7391
- "hasDynamicHelp": false,
7392
- "multiple": false,
7393
- "type": "option"
7394
7188
  }
7395
7189
  },
7396
7190
  "hasDynamicHelp": false,
7397
7191
  "hiddenAliases": [],
7398
- "id": "sandbox:env:set",
7192
+ "id": "sandbox:unit_test:list",
7399
7193
  "pluginAlias": "@xano/cli",
7400
7194
  "pluginName": "@xano/cli",
7401
7195
  "pluginType": "core",
@@ -7406,19 +7200,24 @@
7406
7200
  "dist",
7407
7201
  "commands",
7408
7202
  "sandbox",
7409
- "env",
7410
- "set",
7203
+ "unit_test",
7204
+ "list",
7411
7205
  "index.js"
7412
7206
  ]
7413
7207
  },
7414
- "sandbox:env:set_all": {
7208
+ "sandbox:unit_test:run": {
7415
7209
  "aliases": [],
7416
- "args": {},
7417
- "description": "Set all environment variables for a sandbox environment from a YAML file (replaces all existing)",
7210
+ "args": {
7211
+ "unit_test_id": {
7212
+ "description": "ID of the unit test to run",
7213
+ "name": "unit_test_id",
7214
+ "required": true
7215
+ }
7216
+ },
7217
+ "description": "Run a unit test for a sandbox environment",
7418
7218
  "examples": [
7419
- "$ xano sandbox env set_all\nReads from env_<tenant>.yaml\n",
7420
- "$ xano sandbox env set_all --file ./my-env.yaml",
7421
- "$ xano sandbox env set_all -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"
7422
7221
  ],
7423
7222
  "flags": {
7424
7223
  "profile": {
@@ -7440,22 +7239,6 @@
7440
7239
  "allowNo": false,
7441
7240
  "type": "boolean"
7442
7241
  },
7443
- "clean": {
7444
- "description": "Remove the source file after successful upload",
7445
- "name": "clean",
7446
- "required": false,
7447
- "allowNo": false,
7448
- "type": "boolean"
7449
- },
7450
- "file": {
7451
- "char": "f",
7452
- "description": "Path to env file (default: env_<sandbox_name>.yaml)",
7453
- "name": "file",
7454
- "required": false,
7455
- "hasDynamicHelp": false,
7456
- "multiple": false,
7457
- "type": "option"
7458
- },
7459
7242
  "output": {
7460
7243
  "char": "o",
7461
7244
  "description": "Output format",
@@ -7473,7 +7256,7 @@
7473
7256
  },
7474
7257
  "hasDynamicHelp": false,
7475
7258
  "hiddenAliases": [],
7476
- "id": "sandbox:env:set_all",
7259
+ "id": "sandbox:unit_test:run",
7477
7260
  "pluginAlias": "@xano/cli",
7478
7261
  "pluginName": "@xano/cli",
7479
7262
  "pluginType": "core",
@@ -7484,25 +7267,18 @@
7484
7267
  "dist",
7485
7268
  "commands",
7486
7269
  "sandbox",
7487
- "env",
7488
- "set_all",
7270
+ "unit_test",
7271
+ "run",
7489
7272
  "index.js"
7490
7273
  ]
7491
7274
  },
7492
- "tenant:cluster:delete": {
7275
+ "sandbox:unit_test:run_all": {
7493
7276
  "aliases": [],
7494
- "args": {
7495
- "cluster_id": {
7496
- "description": "Cluster ID to delete",
7497
- "name": "cluster_id",
7498
- "required": true
7499
- }
7500
- },
7501
- "description": "Delete a tenant cluster. This action cannot be undone.",
7277
+ "args": {},
7278
+ "description": "Run all unit tests for a sandbox environment",
7502
7279
  "examples": [
7503
- "$ xano tenant cluster delete 3\nAre you sure you want to delete tenant cluster 3? This action cannot be undone. (y/N) y\nTenant cluster 3 deleted successfully\n",
7504
- "$ xano tenant cluster delete 3 --force\nTenant cluster 3 deleted successfully\n",
7505
- "$ xano tenant cluster delete 3 -f -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"
7506
7282
  ],
7507
7283
  "flags": {
7508
7284
  "profile": {
@@ -7524,13 +7300,27 @@
7524
7300
  "allowNo": false,
7525
7301
  "type": "boolean"
7526
7302
  },
7527
- "force": {
7528
- "char": "f",
7529
- "description": "Skip confirmation prompt",
7530
- "name": "force",
7303
+ "branch": {
7304
+ "char": "b",
7305
+ "description": "Filter by branch name",
7306
+ "name": "branch",
7531
7307
  "required": false,
7532
- "allowNo": false,
7533
- "type": "boolean"
7308
+ "hasDynamicHelp": false,
7309
+ "multiple": false,
7310
+ "type": "option"
7311
+ },
7312
+ "obj-type": {
7313
+ "description": "Filter by object type",
7314
+ "name": "obj-type",
7315
+ "required": false,
7316
+ "hasDynamicHelp": false,
7317
+ "multiple": false,
7318
+ "options": [
7319
+ "function",
7320
+ "query",
7321
+ "middleware"
7322
+ ],
7323
+ "type": "option"
7534
7324
  },
7535
7325
  "output": {
7536
7326
  "char": "o",
@@ -7549,7 +7339,7 @@
7549
7339
  },
7550
7340
  "hasDynamicHelp": false,
7551
7341
  "hiddenAliases": [],
7552
- "id": "tenant:cluster:delete",
7342
+ "id": "sandbox:unit_test:run_all",
7553
7343
  "pluginAlias": "@xano/cli",
7554
7344
  "pluginName": "@xano/cli",
7555
7345
  "pluginType": "core",
@@ -7559,9 +7349,9 @@
7559
7349
  "relativePath": [
7560
7350
  "dist",
7561
7351
  "commands",
7562
- "tenant",
7563
- "cluster",
7564
- "delete",
7352
+ "sandbox",
7353
+ "unit_test",
7354
+ "run_all",
7565
7355
  "index.js"
7566
7356
  ]
7567
7357
  },
@@ -7687,6 +7477,82 @@
7687
7477
  "index.js"
7688
7478
  ]
7689
7479
  },
7480
+ "tenant:cluster:delete": {
7481
+ "aliases": [],
7482
+ "args": {
7483
+ "cluster_id": {
7484
+ "description": "Cluster ID to delete",
7485
+ "name": "cluster_id",
7486
+ "required": true
7487
+ }
7488
+ },
7489
+ "description": "Delete a tenant cluster. This action cannot be undone.",
7490
+ "examples": [
7491
+ "$ xano tenant cluster delete 3\nAre you sure you want to delete tenant cluster 3? This action cannot be undone. (y/N) y\nTenant cluster 3 deleted successfully\n",
7492
+ "$ xano tenant cluster delete 3 --force\nTenant cluster 3 deleted successfully\n",
7493
+ "$ xano tenant cluster delete 3 -f -o json"
7494
+ ],
7495
+ "flags": {
7496
+ "profile": {
7497
+ "char": "p",
7498
+ "description": "Profile to use (uses default profile if not specified)",
7499
+ "env": "XANO_PROFILE",
7500
+ "name": "profile",
7501
+ "required": false,
7502
+ "hasDynamicHelp": false,
7503
+ "multiple": false,
7504
+ "type": "option"
7505
+ },
7506
+ "verbose": {
7507
+ "char": "v",
7508
+ "description": "Show detailed request/response information",
7509
+ "env": "XANO_VERBOSE",
7510
+ "name": "verbose",
7511
+ "required": false,
7512
+ "allowNo": false,
7513
+ "type": "boolean"
7514
+ },
7515
+ "force": {
7516
+ "char": "f",
7517
+ "description": "Skip confirmation prompt",
7518
+ "name": "force",
7519
+ "required": false,
7520
+ "allowNo": false,
7521
+ "type": "boolean"
7522
+ },
7523
+ "output": {
7524
+ "char": "o",
7525
+ "description": "Output format",
7526
+ "name": "output",
7527
+ "required": false,
7528
+ "default": "summary",
7529
+ "hasDynamicHelp": false,
7530
+ "multiple": false,
7531
+ "options": [
7532
+ "summary",
7533
+ "json"
7534
+ ],
7535
+ "type": "option"
7536
+ }
7537
+ },
7538
+ "hasDynamicHelp": false,
7539
+ "hiddenAliases": [],
7540
+ "id": "tenant:cluster:delete",
7541
+ "pluginAlias": "@xano/cli",
7542
+ "pluginName": "@xano/cli",
7543
+ "pluginType": "core",
7544
+ "strict": true,
7545
+ "enableJsonFlag": false,
7546
+ "isESM": true,
7547
+ "relativePath": [
7548
+ "dist",
7549
+ "commands",
7550
+ "tenant",
7551
+ "cluster",
7552
+ "delete",
7553
+ "index.js"
7554
+ ]
7555
+ },
7690
7556
  "tenant:cluster:edit": {
7691
7557
  "aliases": [],
7692
7558
  "args": {
@@ -8099,7 +7965,7 @@
8099
7965
  "index.js"
8100
7966
  ]
8101
7967
  },
8102
- "tenant:env:list": {
7968
+ "tenant:env:get_all": {
8103
7969
  "aliases": [],
8104
7970
  "args": {
8105
7971
  "tenant_name": {
@@ -8108,10 +7974,12 @@
8108
7974
  "required": true
8109
7975
  }
8110
7976
  },
8111
- "description": "List environment variable keys for a tenant",
7977
+ "description": "Get all environment variables for a tenant and save to a YAML file",
8112
7978
  "examples": [
8113
- "$ xano tenant env list my-tenant\nEnvironment variables for tenant my-tenant:\n - DATABASE_URL\n - API_KEY\n - SECRET_TOKEN\n",
8114
- "$ xano tenant env list my-tenant -w 5 -o json"
7979
+ "$ xano tenant env get_all my-tenant\nEnvironment variables saved to env_my-tenant.yaml\n",
7980
+ "$ xano tenant env get_all my-tenant --file ./my-env.yaml",
7981
+ "$ xano tenant env get_all my-tenant --view",
7982
+ "$ xano tenant env get_all my-tenant -o json"
8115
7983
  ],
8116
7984
  "flags": {
8117
7985
  "profile": {
@@ -8133,6 +8001,15 @@
8133
8001
  "allowNo": false,
8134
8002
  "type": "boolean"
8135
8003
  },
8004
+ "file": {
8005
+ "char": "f",
8006
+ "description": "Output file path (default: env_<tenant_name>.yaml)",
8007
+ "name": "file",
8008
+ "required": false,
8009
+ "hasDynamicHelp": false,
8010
+ "multiple": false,
8011
+ "type": "option"
8012
+ },
8136
8013
  "output": {
8137
8014
  "char": "o",
8138
8015
  "description": "Output format",
@@ -8147,6 +8024,13 @@
8147
8024
  ],
8148
8025
  "type": "option"
8149
8026
  },
8027
+ "view": {
8028
+ "description": "Print environment variables to stdout instead of saving to file",
8029
+ "name": "view",
8030
+ "required": false,
8031
+ "allowNo": false,
8032
+ "type": "boolean"
8033
+ },
8150
8034
  "workspace": {
8151
8035
  "char": "w",
8152
8036
  "description": "Workspace ID (uses profile workspace if not provided)",
@@ -8159,7 +8043,7 @@
8159
8043
  },
8160
8044
  "hasDynamicHelp": false,
8161
8045
  "hiddenAliases": [],
8162
- "id": "tenant:env:list",
8046
+ "id": "tenant:env:get_all",
8163
8047
  "pluginAlias": "@xano/cli",
8164
8048
  "pluginName": "@xano/cli",
8165
8049
  "pluginType": "core",
@@ -8171,11 +8055,11 @@
8171
8055
  "commands",
8172
8056
  "tenant",
8173
8057
  "env",
8174
- "list",
8058
+ "get_all",
8175
8059
  "index.js"
8176
8060
  ]
8177
8061
  },
8178
- "tenant:env:get_all": {
8062
+ "tenant:env:list": {
8179
8063
  "aliases": [],
8180
8064
  "args": {
8181
8065
  "tenant_name": {
@@ -8184,12 +8068,10 @@
8184
8068
  "required": true
8185
8069
  }
8186
8070
  },
8187
- "description": "Get all environment variables for a tenant and save to a YAML file",
8071
+ "description": "List environment variable keys for a tenant",
8188
8072
  "examples": [
8189
- "$ xano tenant env get_all my-tenant\nEnvironment variables saved to env_my-tenant.yaml\n",
8190
- "$ xano tenant env get_all my-tenant --file ./my-env.yaml",
8191
- "$ xano tenant env get_all my-tenant --view",
8192
- "$ xano tenant env get_all my-tenant -o json"
8073
+ "$ xano tenant env list my-tenant\nEnvironment variables for tenant my-tenant:\n - DATABASE_URL\n - API_KEY\n - SECRET_TOKEN\n",
8074
+ "$ xano tenant env list my-tenant -w 5 -o json"
8193
8075
  ],
8194
8076
  "flags": {
8195
8077
  "profile": {
@@ -8211,15 +8093,6 @@
8211
8093
  "allowNo": false,
8212
8094
  "type": "boolean"
8213
8095
  },
8214
- "file": {
8215
- "char": "f",
8216
- "description": "Output file path (default: env_<tenant_name>.yaml)",
8217
- "name": "file",
8218
- "required": false,
8219
- "hasDynamicHelp": false,
8220
- "multiple": false,
8221
- "type": "option"
8222
- },
8223
8096
  "output": {
8224
8097
  "char": "o",
8225
8098
  "description": "Output format",
@@ -8234,13 +8107,6 @@
8234
8107
  ],
8235
8108
  "type": "option"
8236
8109
  },
8237
- "view": {
8238
- "description": "Print environment variables to stdout instead of saving to file",
8239
- "name": "view",
8240
- "required": false,
8241
- "allowNo": false,
8242
- "type": "boolean"
8243
- },
8244
8110
  "workspace": {
8245
8111
  "char": "w",
8246
8112
  "description": "Workspace ID (uses profile workspace if not provided)",
@@ -8253,7 +8119,7 @@
8253
8119
  },
8254
8120
  "hasDynamicHelp": false,
8255
8121
  "hiddenAliases": [],
8256
- "id": "tenant:env:get_all",
8122
+ "id": "tenant:env:list",
8257
8123
  "pluginAlias": "@xano/cli",
8258
8124
  "pluginName": "@xano/cli",
8259
8125
  "pluginType": "core",
@@ -8265,7 +8131,7 @@
8265
8131
  "commands",
8266
8132
  "tenant",
8267
8133
  "env",
8268
- "get_all",
8134
+ "list",
8269
8135
  "index.js"
8270
8136
  ]
8271
8137
  },
@@ -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.13"
9448
+ "version": "0.0.95-beta.15"
9668
9449
  }