@xano/cli 0.0.91 → 0.0.93

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.
@@ -291,109 +291,6 @@
291
291
  "index.js"
292
292
  ]
293
293
  },
294
- "branch:edit": {
295
- "aliases": [],
296
- "args": {
297
- "branch_label": {
298
- "description": "Branch label to edit (cannot edit \"v1\" label)",
299
- "name": "branch_label",
300
- "required": true
301
- }
302
- },
303
- "description": "Update an existing branch (cannot update \"v1\" label)",
304
- "examples": [
305
- "$ xano branch edit dev --label development\nUpdated branch: development\n",
306
- "$ xano branch edit feature-auth -l feature-authentication --color \"#ff5733\"\nUpdated branch: feature-authentication\n Color: #ff5733\n",
307
- "$ xano branch edit staging --description \"Staging environment\" -o json\n{\n \"created_at\": \"2024-02-10T09:15:00Z\",\n \"label\": \"staging\",\n \"backup\": false\n}\n"
308
- ],
309
- "flags": {
310
- "profile": {
311
- "char": "p",
312
- "description": "Profile to use (uses default profile if not specified)",
313
- "env": "XANO_PROFILE",
314
- "name": "profile",
315
- "required": false,
316
- "hasDynamicHelp": false,
317
- "multiple": false,
318
- "type": "option"
319
- },
320
- "verbose": {
321
- "char": "v",
322
- "description": "Show detailed request/response information",
323
- "env": "XANO_VERBOSE",
324
- "name": "verbose",
325
- "required": false,
326
- "allowNo": false,
327
- "type": "boolean"
328
- },
329
- "color": {
330
- "char": "c",
331
- "description": "New color hex code for the branch (e.g., \"#ff5733\")",
332
- "name": "color",
333
- "required": false,
334
- "hasDynamicHelp": false,
335
- "multiple": false,
336
- "type": "option"
337
- },
338
- "description": {
339
- "char": "d",
340
- "description": "New description for the branch",
341
- "name": "description",
342
- "required": false,
343
- "hasDynamicHelp": false,
344
- "multiple": false,
345
- "type": "option"
346
- },
347
- "label": {
348
- "char": "l",
349
- "description": "New label for the branch",
350
- "name": "label",
351
- "required": false,
352
- "hasDynamicHelp": false,
353
- "multiple": false,
354
- "type": "option"
355
- },
356
- "output": {
357
- "char": "o",
358
- "description": "Output format",
359
- "name": "output",
360
- "required": false,
361
- "default": "summary",
362
- "hasDynamicHelp": false,
363
- "multiple": false,
364
- "options": [
365
- "summary",
366
- "json"
367
- ],
368
- "type": "option"
369
- },
370
- "workspace": {
371
- "char": "w",
372
- "description": "Workspace ID (uses profile workspace if not provided)",
373
- "name": "workspace",
374
- "required": false,
375
- "hasDynamicHelp": false,
376
- "multiple": false,
377
- "type": "option"
378
- }
379
- },
380
- "hasDynamicHelp": false,
381
- "hiddenAliases": [],
382
- "id": "branch:edit",
383
- "pluginAlias": "@xano/cli",
384
- "pluginName": "@xano/cli",
385
- "pluginType": "core",
386
- "strict": true,
387
- "enableJsonFlag": false,
388
- "isESM": true,
389
- "relativePath": [
390
- "dist",
391
- "commands",
392
- "branch",
393
- "edit",
394
- "index.js"
395
- ]
396
- },
397
294
  "branch:list": {
398
295
  "aliases": [],
399
296
  "args": {
@@ -545,132 +442,6 @@
545
442
  "index.js"
546
443
  ]
547
444
  },
548
- "platform:get": {
549
- "aliases": [],
550
- "args": {
551
- "platform_id": {
552
- "description": "Platform ID to retrieve",
553
- "name": "platform_id",
554
- "required": true
555
- }
556
- },
557
- "description": "Get details of a specific platform",
558
- "examples": [
559
- "$ xano platform get 23629\nPlatform ID: 23629\n Created: 2025-11-28\n Helm: 0.1.356\n Images:\n backend 0.0.2985\n frontend 0.1.3427\n database 0.1.6\n node 0.1.192\n deno 0.0.212\n redis 0.1.34\n realtime 0.1.149\n standalone 0.0.2456\n playwright 0.0.992\n static 0.0.10\n static-build 0.0.4\n backend-encoded 0.0.1396\n",
560
- "$ xano platform get 23629 -o json"
561
- ],
562
- "flags": {
563
- "profile": {
564
- "char": "p",
565
- "description": "Profile to use (uses default profile if not specified)",
566
- "env": "XANO_PROFILE",
567
- "name": "profile",
568
- "required": false,
569
- "hasDynamicHelp": false,
570
- "multiple": false,
571
- "type": "option"
572
- },
573
- "verbose": {
574
- "char": "v",
575
- "description": "Show detailed request/response information",
576
- "env": "XANO_VERBOSE",
577
- "name": "verbose",
578
- "required": false,
579
- "allowNo": false,
580
- "type": "boolean"
581
- },
582
- "output": {
583
- "char": "o",
584
- "description": "Output format",
585
- "name": "output",
586
- "required": false,
587
- "default": "summary",
588
- "hasDynamicHelp": false,
589
- "multiple": false,
590
- "options": [
591
- "summary",
592
- "json"
593
- ],
594
- "type": "option"
595
- }
596
- },
597
- "hasDynamicHelp": false,
598
- "hiddenAliases": [],
599
- "id": "platform:get",
600
- "pluginAlias": "@xano/cli",
601
- "pluginName": "@xano/cli",
602
- "pluginType": "core",
603
- "strict": true,
604
- "enableJsonFlag": false,
605
- "isESM": true,
606
- "relativePath": [
607
- "dist",
608
- "commands",
609
- "platform",
610
- "get",
611
- "index.js"
612
- ]
613
- },
614
- "platform:list": {
615
- "aliases": [],
616
- "args": {},
617
- "description": "List all platforms",
618
- "examples": [
619
- "$ xano platform list\nPlatforms:\n ID: 23629 | Helm: 0.1.356 | Created: 2025-11-28\n",
620
- "$ xano platform list --output json"
621
- ],
622
- "flags": {
623
- "profile": {
624
- "char": "p",
625
- "description": "Profile to use (uses default profile if not specified)",
626
- "env": "XANO_PROFILE",
627
- "name": "profile",
628
- "required": false,
629
- "hasDynamicHelp": false,
630
- "multiple": false,
631
- "type": "option"
632
- },
633
- "verbose": {
634
- "char": "v",
635
- "description": "Show detailed request/response information",
636
- "env": "XANO_VERBOSE",
637
- "name": "verbose",
638
- "required": false,
639
- "allowNo": false,
640
- "type": "boolean"
641
- },
642
- "output": {
643
- "char": "o",
644
- "description": "Output format",
645
- "name": "output",
646
- "required": false,
647
- "default": "summary",
648
- "hasDynamicHelp": false,
649
- "multiple": false,
650
- "options": [
651
- "summary",
652
- "json"
653
- ],
654
- "type": "option"
655
- }
656
- },
657
- "hasDynamicHelp": false,
658
- "hiddenAliases": [],
659
- "id": "platform:list",
660
- "pluginAlias": "@xano/cli",
661
- "pluginName": "@xano/cli",
662
- "pluginType": "core",
663
- "strict": true,
664
- "enableJsonFlag": false,
665
- "isESM": true,
666
- "relativePath": [
667
- "dist",
668
- "commands",
669
- "platform",
670
- "list",
671
- "index.js"
672
- ]
673
- },
674
445
  "function:create": {
675
446
  "aliases": [],
676
447
  "args": {},
@@ -1115,34 +886,160 @@
1115
886
  "index.js"
1116
887
  ]
1117
888
  },
1118
- "profile:create": {
889
+ "platform:get": {
1119
890
  "aliases": [],
1120
891
  "args": {
1121
- "name": {
1122
- "description": "Profile name",
1123
- "name": "name",
892
+ "platform_id": {
893
+ "description": "Platform ID to retrieve",
894
+ "name": "platform_id",
1124
895
  "required": true
1125
896
  }
1126
897
  },
1127
- "description": "Create a new profile configuration",
898
+ "description": "Get details of a specific platform",
1128
899
  "examples": [
1129
- "$ xano profile:create production --account_origin https://account.xano.com --instance_origin https://instance.xano.com --access_token token123\nProfile 'production' created successfully at ~/.xano/credentials.yaml\n",
1130
- "$ xano profile:create staging -a https://staging-account.xano.com -i https://staging-instance.xano.com -t token456\nProfile 'staging' created successfully at ~/.xano/credentials.yaml\n",
1131
- "$ xano profile:create dev -i https://dev-instance.xano.com -t token789 -w my-workspace -b feature-branch\nProfile 'dev' created successfully at ~/.xano/credentials.yaml\n",
1132
- "$ xano profile:create production --account_origin https://account.xano.com --instance_origin https://instance.xano.com --access_token token123 --default\nProfile 'production' created successfully at ~/.xano/credentials.yaml\nDefault profile set to 'production'\n",
1133
- "$ xano profile:create selfhosted -i https://self-signed.example.com -t token123 --insecure\nProfile 'selfhosted' created successfully at ~/.xano/credentials.yaml\n"
900
+ "$ xano platform get 23629\nPlatform ID: 23629\n Created: 2025-11-28\n Helm: 0.1.356\n Images:\n backend 0.0.2985\n frontend 0.1.3427\n database 0.1.6\n node 0.1.192\n deno 0.0.212\n redis 0.1.34\n realtime 0.1.149\n standalone 0.0.2456\n playwright 0.0.992\n static 0.0.10\n static-build 0.0.4\n backend-encoded 0.0.1396\n",
901
+ "$ xano platform get 23629 -o json"
1134
902
  ],
1135
903
  "flags": {
1136
- "access_token": {
1137
- "char": "t",
1138
- "description": "Access token for the Xano Metadata API",
1139
- "name": "access_token",
1140
- "required": true,
1141
- "hasDynamicHelp": false,
1142
- "multiple": false,
1143
- "type": "option"
1144
- },
1145
- "account_origin": {
904
+ "profile": {
905
+ "char": "p",
906
+ "description": "Profile to use (uses default profile if not specified)",
907
+ "env": "XANO_PROFILE",
908
+ "name": "profile",
909
+ "required": false,
910
+ "hasDynamicHelp": false,
911
+ "multiple": false,
912
+ "type": "option"
913
+ },
914
+ "verbose": {
915
+ "char": "v",
916
+ "description": "Show detailed request/response information",
917
+ "env": "XANO_VERBOSE",
918
+ "name": "verbose",
919
+ "required": false,
920
+ "allowNo": false,
921
+ "type": "boolean"
922
+ },
923
+ "output": {
924
+ "char": "o",
925
+ "description": "Output format",
926
+ "name": "output",
927
+ "required": false,
928
+ "default": "summary",
929
+ "hasDynamicHelp": false,
930
+ "multiple": false,
931
+ "options": [
932
+ "summary",
933
+ "json"
934
+ ],
935
+ "type": "option"
936
+ }
937
+ },
938
+ "hasDynamicHelp": false,
939
+ "hiddenAliases": [],
940
+ "id": "platform:get",
941
+ "pluginAlias": "@xano/cli",
942
+ "pluginName": "@xano/cli",
943
+ "pluginType": "core",
944
+ "strict": true,
945
+ "enableJsonFlag": false,
946
+ "isESM": true,
947
+ "relativePath": [
948
+ "dist",
949
+ "commands",
950
+ "platform",
951
+ "get",
952
+ "index.js"
953
+ ]
954
+ },
955
+ "platform:list": {
956
+ "aliases": [],
957
+ "args": {},
958
+ "description": "List all platforms",
959
+ "examples": [
960
+ "$ xano platform list\nPlatforms:\n ID: 23629 | Helm: 0.1.356 | Created: 2025-11-28\n",
961
+ "$ xano platform list --output json"
962
+ ],
963
+ "flags": {
964
+ "profile": {
965
+ "char": "p",
966
+ "description": "Profile to use (uses default profile if not specified)",
967
+ "env": "XANO_PROFILE",
968
+ "name": "profile",
969
+ "required": false,
970
+ "hasDynamicHelp": false,
971
+ "multiple": false,
972
+ "type": "option"
973
+ },
974
+ "verbose": {
975
+ "char": "v",
976
+ "description": "Show detailed request/response information",
977
+ "env": "XANO_VERBOSE",
978
+ "name": "verbose",
979
+ "required": false,
980
+ "allowNo": false,
981
+ "type": "boolean"
982
+ },
983
+ "output": {
984
+ "char": "o",
985
+ "description": "Output format",
986
+ "name": "output",
987
+ "required": false,
988
+ "default": "summary",
989
+ "hasDynamicHelp": false,
990
+ "multiple": false,
991
+ "options": [
992
+ "summary",
993
+ "json"
994
+ ],
995
+ "type": "option"
996
+ }
997
+ },
998
+ "hasDynamicHelp": false,
999
+ "hiddenAliases": [],
1000
+ "id": "platform:list",
1001
+ "pluginAlias": "@xano/cli",
1002
+ "pluginName": "@xano/cli",
1003
+ "pluginType": "core",
1004
+ "strict": true,
1005
+ "enableJsonFlag": false,
1006
+ "isESM": true,
1007
+ "relativePath": [
1008
+ "dist",
1009
+ "commands",
1010
+ "platform",
1011
+ "list",
1012
+ "index.js"
1013
+ ]
1014
+ },
1015
+ "profile:create": {
1016
+ "aliases": [],
1017
+ "args": {
1018
+ "name": {
1019
+ "description": "Profile name",
1020
+ "name": "name",
1021
+ "required": true
1022
+ }
1023
+ },
1024
+ "description": "Create a new profile configuration",
1025
+ "examples": [
1026
+ "$ xano profile:create production --account_origin https://account.xano.com --instance_origin https://instance.xano.com --access_token token123\nProfile 'production' created successfully at ~/.xano/credentials.yaml\n",
1027
+ "$ xano profile:create staging -a https://staging-account.xano.com -i https://staging-instance.xano.com -t token456\nProfile 'staging' created successfully at ~/.xano/credentials.yaml\n",
1028
+ "$ xano profile:create dev -i https://dev-instance.xano.com -t token789 -w my-workspace -b feature-branch\nProfile 'dev' created successfully at ~/.xano/credentials.yaml\n",
1029
+ "$ xano profile:create production --account_origin https://account.xano.com --instance_origin https://instance.xano.com --access_token token123 --default\nProfile 'production' created successfully at ~/.xano/credentials.yaml\nDefault profile set to 'production'\n",
1030
+ "$ xano profile:create selfhosted -i https://self-signed.example.com -t token123 --insecure\nProfile 'selfhosted' created successfully at ~/.xano/credentials.yaml\n"
1031
+ ],
1032
+ "flags": {
1033
+ "access_token": {
1034
+ "char": "t",
1035
+ "description": "Access token for the Xano Metadata API",
1036
+ "name": "access_token",
1037
+ "required": true,
1038
+ "hasDynamicHelp": false,
1039
+ "multiple": false,
1040
+ "type": "option"
1041
+ },
1042
+ "account_origin": {
1146
1043
  "char": "a",
1147
1044
  "description": "Account origin URL. Optional for self hosted installs.",
1148
1045
  "name": "account_origin",
@@ -1383,20 +1280,45 @@
1383
1280
  "index.js"
1384
1281
  ]
1385
1282
  },
1386
- "branch:get": {
1283
+ "profile:get": {
1284
+ "aliases": [],
1285
+ "args": {},
1286
+ "description": "Get the current default profile name",
1287
+ "examples": [
1288
+ "$ xano profile get\nproduction\n"
1289
+ ],
1290
+ "flags": {},
1291
+ "hasDynamicHelp": false,
1292
+ "hiddenAliases": [],
1293
+ "id": "profile:get",
1294
+ "pluginAlias": "@xano/cli",
1295
+ "pluginName": "@xano/cli",
1296
+ "pluginType": "core",
1297
+ "strict": true,
1298
+ "enableJsonFlag": false,
1299
+ "isESM": true,
1300
+ "relativePath": [
1301
+ "dist",
1302
+ "commands",
1303
+ "profile",
1304
+ "get",
1305
+ "index.js"
1306
+ ]
1307
+ },
1308
+ "branch:edit": {
1387
1309
  "aliases": [],
1388
1310
  "args": {
1389
1311
  "branch_label": {
1390
- "description": "Branch label (e.g., \"v1\", \"dev\")",
1312
+ "description": "Branch label to edit (cannot edit \"v1\" label)",
1391
1313
  "name": "branch_label",
1392
1314
  "required": true
1393
1315
  }
1394
1316
  },
1395
- "description": "Get details for a specific branch",
1317
+ "description": "Update an existing branch (cannot update \"v1\" label)",
1396
1318
  "examples": [
1397
- "$ xano branch get v1\nBranch: v1 (live)\n Created: 2024-01-15\n",
1398
- "$ xano branch get dev -w 123\nBranch: dev\n Created: 2024-02-01\n",
1399
- "$ 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"
1319
+ "$ xano branch edit dev --label development\nUpdated branch: development\n",
1320
+ "$ xano branch edit feature-auth -l feature-authentication --color \"#ff5733\"\nUpdated branch: feature-authentication\n Color: #ff5733\n",
1321
+ "$ xano branch edit staging --description \"Staging environment\" -o json\n{\n \"created_at\": \"2024-02-10T09:15:00Z\",\n \"label\": \"staging\",\n \"backup\": false\n}\n"
1400
1322
  ],
1401
1323
  "flags": {
1402
1324
  "profile": {
@@ -1418,6 +1340,33 @@
1418
1340
  "allowNo": false,
1419
1341
  "type": "boolean"
1420
1342
  },
1343
+ "color": {
1344
+ "char": "c",
1345
+ "description": "New color hex code for the branch (e.g., \"#ff5733\")",
1346
+ "name": "color",
1347
+ "required": false,
1348
+ "hasDynamicHelp": false,
1349
+ "multiple": false,
1350
+ "type": "option"
1351
+ },
1352
+ "description": {
1353
+ "char": "d",
1354
+ "description": "New description for the branch",
1355
+ "name": "description",
1356
+ "required": false,
1357
+ "hasDynamicHelp": false,
1358
+ "multiple": false,
1359
+ "type": "option"
1360
+ },
1361
+ "label": {
1362
+ "char": "l",
1363
+ "description": "New label for the branch",
1364
+ "name": "label",
1365
+ "required": false,
1366
+ "hasDynamicHelp": false,
1367
+ "multiple": false,
1368
+ "type": "option"
1369
+ },
1421
1370
  "output": {
1422
1371
  "char": "o",
1423
1372
  "description": "Output format",
@@ -1444,7 +1393,7 @@
1444
1393
  },
1445
1394
  "hasDynamicHelp": false,
1446
1395
  "hiddenAliases": [],
1447
- "id": "branch:get",
1396
+ "id": "branch:edit",
1448
1397
  "pluginAlias": "@xano/cli",
1449
1398
  "pluginName": "@xano/cli",
1450
1399
  "pluginType": "core",
@@ -1455,39 +1404,115 @@
1455
1404
  "dist",
1456
1405
  "commands",
1457
1406
  "branch",
1458
- "get",
1407
+ "edit",
1459
1408
  "index.js"
1460
1409
  ]
1461
1410
  },
1462
- "profile:list": {
1411
+ "branch:get": {
1463
1412
  "aliases": [],
1464
- "args": {},
1465
- "description": "List all available profile configurations",
1413
+ "args": {
1414
+ "branch_label": {
1415
+ "description": "Branch label (e.g., \"v1\", \"dev\")",
1416
+ "name": "branch_label",
1417
+ "required": true
1418
+ }
1419
+ },
1420
+ "description": "Get details for a specific branch",
1466
1421
  "examples": [
1467
- "$ xano profile:list\nAvailable profiles:\n - default\n - production\n - staging\n - development\n",
1468
- "$ 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",
1469
- "$ 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"
1422
+ "$ xano branch get v1\nBranch: v1 (live)\n Created: 2024-01-15\n",
1423
+ "$ xano branch get dev -w 123\nBranch: dev\n Created: 2024-02-01\n",
1424
+ "$ 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"
1470
1425
  ],
1471
1426
  "flags": {
1472
- "details": {
1473
- "char": "d",
1474
- "description": "Show detailed information for each profile",
1475
- "name": "details",
1427
+ "profile": {
1428
+ "char": "p",
1429
+ "description": "Profile to use (uses default profile if not specified)",
1430
+ "env": "XANO_PROFILE",
1431
+ "name": "profile",
1432
+ "required": false,
1433
+ "hasDynamicHelp": false,
1434
+ "multiple": false,
1435
+ "type": "option"
1436
+ },
1437
+ "verbose": {
1438
+ "char": "v",
1439
+ "description": "Show detailed request/response information",
1440
+ "env": "XANO_VERBOSE",
1441
+ "name": "verbose",
1476
1442
  "required": false,
1477
1443
  "allowNo": false,
1478
1444
  "type": "boolean"
1479
- }
1480
- },
1481
- "hasDynamicHelp": false,
1482
- "hiddenAliases": [],
1483
- "id": "profile:list",
1484
- "pluginAlias": "@xano/cli",
1485
- "pluginName": "@xano/cli",
1486
- "pluginType": "core",
1487
- "strict": true,
1488
- "enableJsonFlag": false,
1489
- "isESM": true,
1490
- "relativePath": [
1445
+ },
1446
+ "output": {
1447
+ "char": "o",
1448
+ "description": "Output format",
1449
+ "name": "output",
1450
+ "required": false,
1451
+ "default": "summary",
1452
+ "hasDynamicHelp": false,
1453
+ "multiple": false,
1454
+ "options": [
1455
+ "summary",
1456
+ "json"
1457
+ ],
1458
+ "type": "option"
1459
+ },
1460
+ "workspace": {
1461
+ "char": "w",
1462
+ "description": "Workspace ID (uses profile workspace if not provided)",
1463
+ "name": "workspace",
1464
+ "required": false,
1465
+ "hasDynamicHelp": false,
1466
+ "multiple": false,
1467
+ "type": "option"
1468
+ }
1469
+ },
1470
+ "hasDynamicHelp": false,
1471
+ "hiddenAliases": [],
1472
+ "id": "branch: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
+ "branch",
1483
+ "get",
1484
+ "index.js"
1485
+ ]
1486
+ },
1487
+ "profile:list": {
1488
+ "aliases": [],
1489
+ "args": {},
1490
+ "description": "List all available profile configurations",
1491
+ "examples": [
1492
+ "$ xano profile:list\nAvailable profiles:\n - default\n - production\n - staging\n - development\n",
1493
+ "$ 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",
1494
+ "$ 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"
1495
+ ],
1496
+ "flags": {
1497
+ "details": {
1498
+ "char": "d",
1499
+ "description": "Show detailed information for each profile",
1500
+ "name": "details",
1501
+ "required": false,
1502
+ "allowNo": false,
1503
+ "type": "boolean"
1504
+ }
1505
+ },
1506
+ "hasDynamicHelp": false,
1507
+ "hiddenAliases": [],
1508
+ "id": "profile:list",
1509
+ "pluginAlias": "@xano/cli",
1510
+ "pluginName": "@xano/cli",
1511
+ "pluginType": "core",
1512
+ "strict": true,
1513
+ "enableJsonFlag": false,
1514
+ "isESM": true,
1515
+ "relativePath": [
1491
1516
  "dist",
1492
1517
  "commands",
1493
1518
  "profile",
@@ -1556,17 +1581,18 @@
1556
1581
  "index.js"
1557
1582
  ]
1558
1583
  },
1559
- "profile:get": {
1584
+ "profile:workspace": {
1560
1585
  "aliases": [],
1561
1586
  "args": {},
1562
- "description": "Get the current default profile name",
1587
+ "description": "Print the workspace ID for the default profile",
1563
1588
  "examples": [
1564
- "$ xano profile get\nproduction\n"
1589
+ "$ xano profile:workspace\nabc123-workspace-id\n",
1590
+ "$ xano profile:workspace | pbcopy\n# Copies the workspace ID to clipboard on macOS\n"
1565
1591
  ],
1566
1592
  "flags": {},
1567
1593
  "hasDynamicHelp": false,
1568
1594
  "hiddenAliases": [],
1569
- "id": "profile:get",
1595
+ "id": "profile:workspace",
1570
1596
  "pluginAlias": "@xano/cli",
1571
1597
  "pluginName": "@xano/cli",
1572
1598
  "pluginType": "core",
@@ -1577,7 +1603,7 @@
1577
1603
  "dist",
1578
1604
  "commands",
1579
1605
  "profile",
1580
- "get",
1606
+ "workspace",
1581
1607
  "index.js"
1582
1608
  ]
1583
1609
  },
@@ -1660,152 +1686,6 @@
1660
1686
  "index.js"
1661
1687
  ]
1662
1688
  },
1663
- "profile:workspace": {
1664
- "aliases": [],
1665
- "args": {},
1666
- "description": "Print the workspace ID for the default profile",
1667
- "examples": [
1668
- "$ xano profile:workspace\nabc123-workspace-id\n",
1669
- "$ xano profile:workspace | pbcopy\n# Copies the workspace ID to clipboard on macOS\n"
1670
- ],
1671
- "flags": {},
1672
- "hasDynamicHelp": false,
1673
- "hiddenAliases": [],
1674
- "id": "profile:workspace",
1675
- "pluginAlias": "@xano/cli",
1676
- "pluginName": "@xano/cli",
1677
- "pluginType": "core",
1678
- "strict": true,
1679
- "enableJsonFlag": false,
1680
- "isESM": true,
1681
- "relativePath": [
1682
- "dist",
1683
- "commands",
1684
- "profile",
1685
- "workspace",
1686
- "index.js"
1687
- ]
1688
- },
1689
- "profile:set": {
1690
- "aliases": [],
1691
- "args": {
1692
- "name": {
1693
- "description": "Profile name to set as default",
1694
- "name": "name",
1695
- "required": true
1696
- }
1697
- },
1698
- "description": "Set the default profile",
1699
- "examples": [
1700
- "$ xano profile set production\nDefault profile set to 'production'\n"
1701
- ],
1702
- "flags": {},
1703
- "hasDynamicHelp": false,
1704
- "hiddenAliases": [],
1705
- "id": "profile:set",
1706
- "pluginAlias": "@xano/cli",
1707
- "pluginName": "@xano/cli",
1708
- "pluginType": "core",
1709
- "strict": true,
1710
- "enableJsonFlag": false,
1711
- "isESM": true,
1712
- "relativePath": [
1713
- "dist",
1714
- "commands",
1715
- "profile",
1716
- "set",
1717
- "index.js"
1718
- ]
1719
- },
1720
- "static_host:list": {
1721
- "aliases": [],
1722
- "args": {},
1723
- "description": "List all static hosts in a workspace from the Xano Metadata API",
1724
- "examples": [
1725
- "$ xano static_host:list -w 40\nAvailable static hosts:\n - my-static-host (ID: 1)\n - another-host (ID: 2)\n",
1726
- "$ xano static_host:list --profile production\nAvailable static hosts:\n - my-static-host (ID: 1)\n - another-host (ID: 2)\n",
1727
- "$ xano static_host:list -w 40 --output json\n[\n {\n \"id\": 1,\n \"name\": \"my-static-host\",\n \"domain\": \"example.com\"\n }\n]\n",
1728
- "$ xano static_host:list -p staging -o json --page 2\n[\n {\n \"id\": 3,\n \"name\": \"static-host-3\"\n }\n]\n"
1729
- ],
1730
- "flags": {
1731
- "profile": {
1732
- "char": "p",
1733
- "description": "Profile to use (uses default profile if not specified)",
1734
- "env": "XANO_PROFILE",
1735
- "name": "profile",
1736
- "required": false,
1737
- "hasDynamicHelp": false,
1738
- "multiple": false,
1739
- "type": "option"
1740
- },
1741
- "verbose": {
1742
- "char": "v",
1743
- "description": "Show detailed request/response information",
1744
- "env": "XANO_VERBOSE",
1745
- "name": "verbose",
1746
- "required": false,
1747
- "allowNo": false,
1748
- "type": "boolean"
1749
- },
1750
- "output": {
1751
- "char": "o",
1752
- "description": "Output format",
1753
- "name": "output",
1754
- "required": false,
1755
- "default": "summary",
1756
- "hasDynamicHelp": false,
1757
- "multiple": false,
1758
- "options": [
1759
- "summary",
1760
- "json"
1761
- ],
1762
- "type": "option"
1763
- },
1764
- "page": {
1765
- "description": "Page number for pagination",
1766
- "name": "page",
1767
- "required": false,
1768
- "default": 1,
1769
- "hasDynamicHelp": false,
1770
- "multiple": false,
1771
- "type": "option"
1772
- },
1773
- "per_page": {
1774
- "description": "Number of results per page",
1775
- "name": "per_page",
1776
- "required": false,
1777
- "default": 50,
1778
- "hasDynamicHelp": false,
1779
- "multiple": false,
1780
- "type": "option"
1781
- },
1782
- "workspace": {
1783
- "char": "w",
1784
- "description": "Workspace ID (optional if set in profile)",
1785
- "name": "workspace",
1786
- "required": false,
1787
- "hasDynamicHelp": false,
1788
- "multiple": false,
1789
- "type": "option"
1790
- }
1791
- },
1792
- "hasDynamicHelp": false,
1793
- "hiddenAliases": [],
1794
- "id": "static_host:list",
1795
- "pluginAlias": "@xano/cli",
1796
- "pluginName": "@xano/cli",
1797
- "pluginType": "core",
1798
- "strict": true,
1799
- "enableJsonFlag": false,
1800
- "isESM": true,
1801
- "relativePath": [
1802
- "dist",
1803
- "commands",
1804
- "static_host",
1805
- "list",
1806
- "index.js"
1807
- ]
1808
- },
1809
1689
  "release:create": {
1810
1690
  "aliases": [],
1811
1691
  "args": {},
@@ -2001,19 +1881,20 @@
2001
1881
  "index.js"
2002
1882
  ]
2003
1883
  },
2004
- "release:get": {
1884
+ "release:export": {
2005
1885
  "aliases": [],
2006
1886
  "args": {
2007
1887
  "release_name": {
2008
- "description": "Release name to retrieve",
1888
+ "description": "Release name to export",
2009
1889
  "name": "release_name",
2010
1890
  "required": true
2011
1891
  }
2012
1892
  },
2013
- "description": "Get details of a specific release",
1893
+ "description": "Export (download) a release to a local file",
2014
1894
  "examples": [
2015
- "$ xano release get v1.0\nRelease: v1.0 - ID: 10\n Branch: main\n Description: Initial release\n Hotfix: false\n",
2016
- "$ xano release get v1.0 -w 5 -o json"
1895
+ "$ xano release export v1.0\nDownloaded release 'v1.0' to ./release-v1.0.tar.gz\n",
1896
+ "$ xano release export v1.0 --output ./backups/my-release.tar.gz",
1897
+ "$ xano release export v1.0 -o json"
2017
1898
  ],
2018
1899
  "flags": {
2019
1900
  "profile": {
@@ -2035,10 +1916,10 @@
2035
1916
  "allowNo": false,
2036
1917
  "type": "boolean"
2037
1918
  },
2038
- "output": {
1919
+ "format": {
2039
1920
  "char": "o",
2040
1921
  "description": "Output format",
2041
- "name": "output",
1922
+ "name": "format",
2042
1923
  "required": false,
2043
1924
  "default": "summary",
2044
1925
  "hasDynamicHelp": false,
@@ -2049,6 +1930,14 @@
2049
1930
  ],
2050
1931
  "type": "option"
2051
1932
  },
1933
+ "output": {
1934
+ "description": "Output file path (defaults to ./release-{name}.tar.gz)",
1935
+ "name": "output",
1936
+ "required": false,
1937
+ "hasDynamicHelp": false,
1938
+ "multiple": false,
1939
+ "type": "option"
1940
+ },
2052
1941
  "workspace": {
2053
1942
  "char": "w",
2054
1943
  "description": "Workspace ID (uses profile workspace if not provided)",
@@ -2061,7 +1950,7 @@
2061
1950
  },
2062
1951
  "hasDynamicHelp": false,
2063
1952
  "hiddenAliases": [],
2064
- "id": "release:get",
1953
+ "id": "release:export",
2065
1954
  "pluginAlias": "@xano/cli",
2066
1955
  "pluginName": "@xano/cli",
2067
1956
  "pluginType": "core",
@@ -2072,24 +1961,54 @@
2072
1961
  "dist",
2073
1962
  "commands",
2074
1963
  "release",
2075
- "get",
1964
+ "export",
2076
1965
  "index.js"
2077
1966
  ]
2078
1967
  },
2079
- "release:export": {
1968
+ "profile:set": {
1969
+ "aliases": [],
1970
+ "args": {
1971
+ "name": {
1972
+ "description": "Profile name to set as default",
1973
+ "name": "name",
1974
+ "required": true
1975
+ }
1976
+ },
1977
+ "description": "Set the default profile",
1978
+ "examples": [
1979
+ "$ xano profile set production\nDefault profile set to 'production'\n"
1980
+ ],
1981
+ "flags": {},
1982
+ "hasDynamicHelp": false,
1983
+ "hiddenAliases": [],
1984
+ "id": "profile:set",
1985
+ "pluginAlias": "@xano/cli",
1986
+ "pluginName": "@xano/cli",
1987
+ "pluginType": "core",
1988
+ "strict": true,
1989
+ "enableJsonFlag": false,
1990
+ "isESM": true,
1991
+ "relativePath": [
1992
+ "dist",
1993
+ "commands",
1994
+ "profile",
1995
+ "set",
1996
+ "index.js"
1997
+ ]
1998
+ },
1999
+ "release:get": {
2080
2000
  "aliases": [],
2081
2001
  "args": {
2082
2002
  "release_name": {
2083
- "description": "Release name to export",
2003
+ "description": "Release name to retrieve",
2084
2004
  "name": "release_name",
2085
2005
  "required": true
2086
2006
  }
2087
2007
  },
2088
- "description": "Export (download) a release to a local file",
2008
+ "description": "Get details of a specific release",
2089
2009
  "examples": [
2090
- "$ xano release export v1.0\nDownloaded release 'v1.0' to ./release-v1.0.tar.gz\n",
2091
- "$ xano release export v1.0 --output ./backups/my-release.tar.gz",
2092
- "$ xano release export v1.0 -o json"
2010
+ "$ xano release get v1.0\nRelease: v1.0 - ID: 10\n Branch: main\n Description: Initial release\n Hotfix: false\n",
2011
+ "$ xano release get v1.0 -w 5 -o json"
2093
2012
  ],
2094
2013
  "flags": {
2095
2014
  "profile": {
@@ -2111,10 +2030,10 @@
2111
2030
  "allowNo": false,
2112
2031
  "type": "boolean"
2113
2032
  },
2114
- "format": {
2033
+ "output": {
2115
2034
  "char": "o",
2116
2035
  "description": "Output format",
2117
- "name": "format",
2036
+ "name": "output",
2118
2037
  "required": false,
2119
2038
  "default": "summary",
2120
2039
  "hasDynamicHelp": false,
@@ -2125,14 +2044,6 @@
2125
2044
  ],
2126
2045
  "type": "option"
2127
2046
  },
2128
- "output": {
2129
- "description": "Output file path (defaults to ./release-{name}.tar.gz)",
2130
- "name": "output",
2131
- "required": false,
2132
- "hasDynamicHelp": false,
2133
- "multiple": false,
2134
- "type": "option"
2135
- },
2136
2047
  "workspace": {
2137
2048
  "char": "w",
2138
2049
  "description": "Workspace ID (uses profile workspace if not provided)",
@@ -2145,7 +2056,7 @@
2145
2056
  },
2146
2057
  "hasDynamicHelp": false,
2147
2058
  "hiddenAliases": [],
2148
- "id": "release:export",
2059
+ "id": "release:get",
2149
2060
  "pluginAlias": "@xano/cli",
2150
2061
  "pluginName": "@xano/cli",
2151
2062
  "pluginType": "core",
@@ -2156,7 +2067,7 @@
2156
2067
  "dist",
2157
2068
  "commands",
2158
2069
  "release",
2159
- "export",
2070
+ "get",
2160
2071
  "index.js"
2161
2072
  ]
2162
2073
  },
@@ -2238,6 +2149,99 @@
2238
2149
  "index.js"
2239
2150
  ]
2240
2151
  },
2152
+ "release:edit": {
2153
+ "aliases": [],
2154
+ "args": {
2155
+ "release_name": {
2156
+ "description": "Release name to edit",
2157
+ "name": "release_name",
2158
+ "required": true
2159
+ }
2160
+ },
2161
+ "description": "Edit an existing release",
2162
+ "examples": [
2163
+ "$ xano release edit v1.0 --name \"v1.0-final\" --description \"Updated description\"\nUpdated release: v1.0-final - ID: 10\n",
2164
+ "$ xano release edit v1.0 --description \"New description\" -o json"
2165
+ ],
2166
+ "flags": {
2167
+ "profile": {
2168
+ "char": "p",
2169
+ "description": "Profile to use (uses default profile if not specified)",
2170
+ "env": "XANO_PROFILE",
2171
+ "name": "profile",
2172
+ "required": false,
2173
+ "hasDynamicHelp": false,
2174
+ "multiple": false,
2175
+ "type": "option"
2176
+ },
2177
+ "verbose": {
2178
+ "char": "v",
2179
+ "description": "Show detailed request/response information",
2180
+ "env": "XANO_VERBOSE",
2181
+ "name": "verbose",
2182
+ "required": false,
2183
+ "allowNo": false,
2184
+ "type": "boolean"
2185
+ },
2186
+ "description": {
2187
+ "char": "d",
2188
+ "description": "New description",
2189
+ "name": "description",
2190
+ "required": false,
2191
+ "hasDynamicHelp": false,
2192
+ "multiple": false,
2193
+ "type": "option"
2194
+ },
2195
+ "name": {
2196
+ "char": "n",
2197
+ "description": "New name for the release",
2198
+ "name": "name",
2199
+ "required": false,
2200
+ "hasDynamicHelp": false,
2201
+ "multiple": false,
2202
+ "type": "option"
2203
+ },
2204
+ "output": {
2205
+ "char": "o",
2206
+ "description": "Output format",
2207
+ "name": "output",
2208
+ "required": false,
2209
+ "default": "summary",
2210
+ "hasDynamicHelp": false,
2211
+ "multiple": false,
2212
+ "options": [
2213
+ "summary",
2214
+ "json"
2215
+ ],
2216
+ "type": "option"
2217
+ },
2218
+ "workspace": {
2219
+ "char": "w",
2220
+ "description": "Workspace ID (uses profile workspace if not provided)",
2221
+ "name": "workspace",
2222
+ "required": false,
2223
+ "hasDynamicHelp": false,
2224
+ "multiple": false,
2225
+ "type": "option"
2226
+ }
2227
+ },
2228
+ "hasDynamicHelp": false,
2229
+ "hiddenAliases": [],
2230
+ "id": "release:edit",
2231
+ "pluginAlias": "@xano/cli",
2232
+ "pluginName": "@xano/cli",
2233
+ "pluginType": "core",
2234
+ "strict": true,
2235
+ "enableJsonFlag": false,
2236
+ "isESM": true,
2237
+ "relativePath": [
2238
+ "dist",
2239
+ "commands",
2240
+ "release",
2241
+ "edit",
2242
+ "index.js"
2243
+ ]
2244
+ },
2241
2245
  "release:list": {
2242
2246
  "aliases": [],
2243
2247
  "args": {},
@@ -2392,22 +2396,19 @@
2392
2396
  "index.js"
2393
2397
  ]
2394
2398
  },
2395
- "release:push": {
2399
+ "tenant:create": {
2396
2400
  "aliases": [],
2397
2401
  "args": {
2398
- "directory": {
2399
- "description": "Directory containing .xs documents to create the release from",
2400
- "name": "directory",
2402
+ "display": {
2403
+ "description": "Display name for the tenant",
2404
+ "name": "display",
2401
2405
  "required": true
2402
2406
  }
2403
2407
  },
2404
- "description": "Create a new release from local XanoScript files via the multidoc endpoint",
2408
+ "description": "Create a new tenant in a workspace",
2405
2409
  "examples": [
2406
- "$ xano release push ./my-release -n \"v1.0\"\nCreated release: v1.0 - ID: 10\n",
2407
- "$ xano release push ./output -n \"v2.0\" -w 40 -d \"Major update\"\nCreated release: v2.0 - ID: 15\n",
2408
- "$ xano release push ./backup -n \"v1.1-hotfix\" --hotfix --profile production\nCreated release: v1.1-hotfix - ID: 20\n",
2409
- "$ xano release push ./my-release -n \"v1.0\" --no-records --no-env\nCreate release from schema only, skip records and environment variables\n",
2410
- "$ xano release push ./my-release -n \"v1.0\" -o json\nOutput release details as JSON\n"
2410
+ "$ xano tenant create \"Production\"\nCreated tenant: Production (production) - ID: 42\n",
2411
+ "$ xano tenant create \"Staging\" --description \"Staging env\" --cluster_id 1 --platform_id 1 --license tier2 -o json"
2411
2412
  ],
2412
2413
  "flags": {
2413
2414
  "profile": {
@@ -2429,37 +2430,55 @@
2429
2430
  "allowNo": false,
2430
2431
  "type": "boolean"
2431
2432
  },
2433
+ "cluster_id": {
2434
+ "description": "Cluster ID to deploy to (required for tier2/tier3)",
2435
+ "name": "cluster_id",
2436
+ "required": false,
2437
+ "hasDynamicHelp": false,
2438
+ "multiple": false,
2439
+ "type": "option"
2440
+ },
2432
2441
  "description": {
2433
2442
  "char": "d",
2434
- "description": "Release description",
2443
+ "description": "Tenant description",
2435
2444
  "name": "description",
2436
2445
  "required": false,
2437
- "default": "",
2438
2446
  "hasDynamicHelp": false,
2439
2447
  "multiple": false,
2440
2448
  "type": "option"
2441
2449
  },
2442
- "env": {
2443
- "description": "Include environment variables (default: true, use --no-env to exclude)",
2444
- "name": "env",
2450
+ "domain": {
2451
+ "description": "Custom domain for the tenant",
2452
+ "name": "domain",
2445
2453
  "required": false,
2446
- "allowNo": true,
2447
- "type": "boolean"
2454
+ "hasDynamicHelp": false,
2455
+ "multiple": false,
2456
+ "type": "option"
2448
2457
  },
2449
- "hotfix": {
2450
- "description": "Mark as a hotfix release",
2451
- "name": "hotfix",
2452
- "required": false,
2458
+ "ephemeral": {
2459
+ "description": "Mark tenant as ephemeral (allows push operations)",
2460
+ "name": "ephemeral",
2453
2461
  "allowNo": false,
2454
2462
  "type": "boolean"
2455
2463
  },
2456
- "name": {
2457
- "char": "n",
2458
- "description": "Name for the release",
2459
- "name": "name",
2460
- "required": true,
2464
+ "ingress": {
2465
+ "description": "Enable ingress",
2466
+ "name": "ingress",
2467
+ "allowNo": true,
2468
+ "type": "boolean"
2469
+ },
2470
+ "license": {
2471
+ "description": "License tier",
2472
+ "name": "license",
2473
+ "required": false,
2474
+ "default": "tier1",
2461
2475
  "hasDynamicHelp": false,
2462
2476
  "multiple": false,
2477
+ "options": [
2478
+ "tier1",
2479
+ "tier2",
2480
+ "tier3"
2481
+ ],
2463
2482
  "type": "option"
2464
2483
  },
2465
2484
  "output": {
@@ -2476,16 +2495,23 @@
2476
2495
  ],
2477
2496
  "type": "option"
2478
2497
  },
2479
- "records": {
2480
- "description": "Include records (default: true, use --no-records to exclude)",
2481
- "name": "records",
2498
+ "platform_id": {
2499
+ "description": "Platform ID to use",
2500
+ "name": "platform_id",
2482
2501
  "required": false,
2502
+ "hasDynamicHelp": false,
2503
+ "multiple": false,
2504
+ "type": "option"
2505
+ },
2506
+ "tasks": {
2507
+ "description": "Enable background tasks",
2508
+ "name": "tasks",
2483
2509
  "allowNo": true,
2484
2510
  "type": "boolean"
2485
2511
  },
2486
2512
  "workspace": {
2487
2513
  "char": "w",
2488
- "description": "Workspace ID (optional if set in profile)",
2514
+ "description": "Workspace ID (uses profile workspace if not provided)",
2489
2515
  "name": "workspace",
2490
2516
  "required": false,
2491
2517
  "hasDynamicHelp": false,
@@ -2495,7 +2521,7 @@
2495
2521
  },
2496
2522
  "hasDynamicHelp": false,
2497
2523
  "hiddenAliases": [],
2498
- "id": "release:push",
2524
+ "id": "tenant:create",
2499
2525
  "pluginAlias": "@xano/cli",
2500
2526
  "pluginName": "@xano/cli",
2501
2527
  "pluginType": "core",
@@ -2505,24 +2531,27 @@
2505
2531
  "relativePath": [
2506
2532
  "dist",
2507
2533
  "commands",
2508
- "release",
2509
- "push",
2534
+ "tenant",
2535
+ "create",
2510
2536
  "index.js"
2511
2537
  ]
2512
2538
  },
2513
- "release:edit": {
2539
+ "release:push": {
2514
2540
  "aliases": [],
2515
2541
  "args": {
2516
- "release_name": {
2517
- "description": "Release name to edit",
2518
- "name": "release_name",
2542
+ "directory": {
2543
+ "description": "Directory containing .xs documents to create the release from",
2544
+ "name": "directory",
2519
2545
  "required": true
2520
2546
  }
2521
2547
  },
2522
- "description": "Edit an existing release",
2548
+ "description": "Create a new release from local XanoScript files via the multidoc endpoint",
2523
2549
  "examples": [
2524
- "$ xano release edit v1.0 --name \"v1.0-final\" --description \"Updated description\"\nUpdated release: v1.0-final - ID: 10\n",
2525
- "$ xano release edit v1.0 --description \"New description\" -o json"
2550
+ "$ xano release push ./my-release -n \"v1.0\"\nCreated release: v1.0 - ID: 10\n",
2551
+ "$ xano release push ./output -n \"v2.0\" -w 40 -d \"Major update\"\nCreated release: v2.0 - ID: 15\n",
2552
+ "$ xano release push ./backup -n \"v1.1-hotfix\" --hotfix --profile production\nCreated release: v1.1-hotfix - ID: 20\n",
2553
+ "$ xano release push ./my-release -n \"v1.0\" --no-records --no-env\nCreate release from schema only, skip records and environment variables\n",
2554
+ "$ xano release push ./my-release -n \"v1.0\" -o json\nOutput release details as JSON\n"
2526
2555
  ],
2527
2556
  "flags": {
2528
2557
  "profile": {
@@ -2546,146 +2575,35 @@
2546
2575
  },
2547
2576
  "description": {
2548
2577
  "char": "d",
2549
- "description": "New description",
2578
+ "description": "Release description",
2550
2579
  "name": "description",
2551
2580
  "required": false,
2581
+ "default": "",
2552
2582
  "hasDynamicHelp": false,
2553
2583
  "multiple": false,
2554
2584
  "type": "option"
2555
2585
  },
2556
- "name": {
2557
- "char": "n",
2558
- "description": "New name for the release",
2559
- "name": "name",
2560
- "required": false,
2561
- "hasDynamicHelp": false,
2562
- "multiple": false,
2563
- "type": "option"
2564
- },
2565
- "output": {
2566
- "char": "o",
2567
- "description": "Output format",
2568
- "name": "output",
2569
- "required": false,
2570
- "default": "summary",
2571
- "hasDynamicHelp": false,
2572
- "multiple": false,
2573
- "options": [
2574
- "summary",
2575
- "json"
2576
- ],
2577
- "type": "option"
2578
- },
2579
- "workspace": {
2580
- "char": "w",
2581
- "description": "Workspace ID (uses profile workspace if not provided)",
2582
- "name": "workspace",
2583
- "required": false,
2584
- "hasDynamicHelp": false,
2585
- "multiple": false,
2586
- "type": "option"
2587
- }
2588
- },
2589
- "hasDynamicHelp": false,
2590
- "hiddenAliases": [],
2591
- "id": "release:edit",
2592
- "pluginAlias": "@xano/cli",
2593
- "pluginName": "@xano/cli",
2594
- "pluginType": "core",
2595
- "strict": true,
2596
- "enableJsonFlag": false,
2597
- "isESM": true,
2598
- "relativePath": [
2599
- "dist",
2600
- "commands",
2601
- "release",
2602
- "edit",
2603
- "index.js"
2604
- ]
2605
- },
2606
- "tenant:create": {
2607
- "aliases": [],
2608
- "args": {
2609
- "display": {
2610
- "description": "Display name for the tenant",
2611
- "name": "display",
2612
- "required": true
2613
- }
2614
- },
2615
- "description": "Create a new tenant in a workspace",
2616
- "examples": [
2617
- "$ xano tenant create \"Production\"\nCreated tenant: Production (production) - ID: 42\n",
2618
- "$ xano tenant create \"Staging\" --description \"Staging env\" --cluster_id 1 --platform_id 1 --license tier2 -o json"
2619
- ],
2620
- "flags": {
2621
- "profile": {
2622
- "char": "p",
2623
- "description": "Profile to use (uses default profile if not specified)",
2624
- "env": "XANO_PROFILE",
2625
- "name": "profile",
2626
- "required": false,
2627
- "hasDynamicHelp": false,
2628
- "multiple": false,
2629
- "type": "option"
2630
- },
2631
- "verbose": {
2632
- "char": "v",
2633
- "description": "Show detailed request/response information",
2634
- "env": "XANO_VERBOSE",
2635
- "name": "verbose",
2586
+ "env": {
2587
+ "description": "Include environment variables (default: true, use --no-env to exclude)",
2588
+ "name": "env",
2636
2589
  "required": false,
2637
- "allowNo": false,
2590
+ "allowNo": true,
2638
2591
  "type": "boolean"
2639
2592
  },
2640
- "cluster_id": {
2641
- "description": "Cluster ID to deploy to (required for tier2/tier3)",
2642
- "name": "cluster_id",
2643
- "required": false,
2644
- "hasDynamicHelp": false,
2645
- "multiple": false,
2646
- "type": "option"
2647
- },
2648
- "description": {
2649
- "char": "d",
2650
- "description": "Tenant description",
2651
- "name": "description",
2652
- "required": false,
2653
- "hasDynamicHelp": false,
2654
- "multiple": false,
2655
- "type": "option"
2656
- },
2657
- "domain": {
2658
- "description": "Custom domain for the tenant",
2659
- "name": "domain",
2593
+ "hotfix": {
2594
+ "description": "Mark as a hotfix release",
2595
+ "name": "hotfix",
2660
2596
  "required": false,
2661
- "hasDynamicHelp": false,
2662
- "multiple": false,
2663
- "type": "option"
2664
- },
2665
- "ephemeral": {
2666
- "description": "Mark tenant as ephemeral (allows push operations)",
2667
- "name": "ephemeral",
2668
2597
  "allowNo": false,
2669
2598
  "type": "boolean"
2670
2599
  },
2671
- "ingress": {
2672
- "description": "Enable ingress",
2673
- "name": "ingress",
2674
- "allowNo": true,
2675
- "type": "boolean"
2676
- },
2677
- "license": {
2678
- "description": "License tier",
2679
- "name": "license",
2680
- "required": false,
2681
- "default": "tier1",
2600
+ "name": {
2601
+ "char": "n",
2602
+ "description": "Name for the release",
2603
+ "name": "name",
2604
+ "required": true,
2682
2605
  "hasDynamicHelp": false,
2683
2606
  "multiple": false,
2684
- "options": [
2685
- "tier1",
2686
- "tier2",
2687
- "tier3"
2688
- ],
2689
2607
  "type": "option"
2690
2608
  },
2691
2609
  "output": {
@@ -2702,23 +2620,16 @@
2702
2620
  ],
2703
2621
  "type": "option"
2704
2622
  },
2705
- "platform_id": {
2706
- "description": "Platform ID to use",
2707
- "name": "platform_id",
2623
+ "records": {
2624
+ "description": "Include records (default: true, use --no-records to exclude)",
2625
+ "name": "records",
2708
2626
  "required": false,
2709
- "hasDynamicHelp": false,
2710
- "multiple": false,
2711
- "type": "option"
2712
- },
2713
- "tasks": {
2714
- "description": "Enable background tasks",
2715
- "name": "tasks",
2716
2627
  "allowNo": true,
2717
2628
  "type": "boolean"
2718
2629
  },
2719
2630
  "workspace": {
2720
2631
  "char": "w",
2721
- "description": "Workspace ID (uses profile workspace if not provided)",
2632
+ "description": "Workspace ID (optional if set in profile)",
2722
2633
  "name": "workspace",
2723
2634
  "required": false,
2724
2635
  "hasDynamicHelp": false,
@@ -2728,7 +2639,7 @@
2728
2639
  },
2729
2640
  "hasDynamicHelp": false,
2730
2641
  "hiddenAliases": [],
2731
- "id": "tenant:create",
2642
+ "id": "release:push",
2732
2643
  "pluginAlias": "@xano/cli",
2733
2644
  "pluginName": "@xano/cli",
2734
2645
  "pluginType": "core",
@@ -2738,8 +2649,8 @@
2738
2649
  "relativePath": [
2739
2650
  "dist",
2740
2651
  "commands",
2741
- "tenant",
2742
- "create",
2652
+ "release",
2653
+ "push",
2743
2654
  "index.js"
2744
2655
  ]
2745
2656
  },
@@ -2920,19 +2831,19 @@
2920
2831
  "index.js"
2921
2832
  ]
2922
2833
  },
2923
- "tenant:deploy_release": {
2834
+ "tenant:edit": {
2924
2835
  "aliases": [],
2925
2836
  "args": {
2926
2837
  "tenant_name": {
2927
- "description": "Tenant name to deploy to",
2838
+ "description": "Tenant name to edit",
2928
2839
  "name": "tenant_name",
2929
2840
  "required": true
2930
2841
  }
2931
2842
  },
2932
- "description": "Deploy a release to a tenant",
2843
+ "description": "Edit an existing tenant",
2933
2844
  "examples": [
2934
- "$ xano tenant deploy_release t1234-abcd-xyz1 --release v1.0\nDeployed release \"v1.0\" to tenant: My Tenant (my-tenant)\n",
2935
- "$ xano tenant deploy_release t1234-abcd-xyz1 --release v1.0 -o json"
2845
+ "$ xano tenant edit t1234-abcd-xyz1 --display \"New Name\" --description \"Updated description\"\nUpdated tenant: New Name (my-tenant) - ID: 42\n",
2846
+ "$ xano tenant edit t1234-abcd-xyz1 --no-tasks --no-ingress -o json"
2936
2847
  ],
2937
2848
  "flags": {
2938
2849
  "profile": {
@@ -2954,6 +2865,38 @@
2954
2865
  "allowNo": false,
2955
2866
  "type": "boolean"
2956
2867
  },
2868
+ "description": {
2869
+ "char": "d",
2870
+ "description": "New description",
2871
+ "name": "description",
2872
+ "required": false,
2873
+ "hasDynamicHelp": false,
2874
+ "multiple": false,
2875
+ "type": "option"
2876
+ },
2877
+ "display": {
2878
+ "description": "New display name",
2879
+ "name": "display",
2880
+ "required": false,
2881
+ "hasDynamicHelp": false,
2882
+ "multiple": false,
2883
+ "type": "option"
2884
+ },
2885
+ "domain": {
2886
+ "description": "Custom domain",
2887
+ "name": "domain",
2888
+ "required": false,
2889
+ "hasDynamicHelp": false,
2890
+ "multiple": false,
2891
+ "type": "option"
2892
+ },
2893
+ "ingress": {
2894
+ "description": "Enable/disable ingress",
2895
+ "name": "ingress",
2896
+ "required": false,
2897
+ "allowNo": true,
2898
+ "type": "boolean"
2899
+ },
2957
2900
  "output": {
2958
2901
  "char": "o",
2959
2902
  "description": "Output format",
@@ -2968,15 +2911,28 @@
2968
2911
  ],
2969
2912
  "type": "option"
2970
2913
  },
2971
- "release": {
2972
- "char": "r",
2973
- "description": "Release name to deploy",
2974
- "name": "release",
2975
- "required": true,
2914
+ "proxy": {
2915
+ "description": "Proxy URL",
2916
+ "name": "proxy",
2917
+ "required": false,
2976
2918
  "hasDynamicHelp": false,
2977
2919
  "multiple": false,
2978
2920
  "type": "option"
2979
2921
  },
2922
+ "rbac": {
2923
+ "description": "Enable/disable RBAC",
2924
+ "name": "rbac",
2925
+ "required": false,
2926
+ "allowNo": true,
2927
+ "type": "boolean"
2928
+ },
2929
+ "tasks": {
2930
+ "description": "Enable/disable background tasks",
2931
+ "name": "tasks",
2932
+ "required": false,
2933
+ "allowNo": true,
2934
+ "type": "boolean"
2935
+ },
2980
2936
  "workspace": {
2981
2937
  "char": "w",
2982
2938
  "description": "Workspace ID (uses profile workspace if not provided)",
@@ -2989,7 +2945,7 @@
2989
2945
  },
2990
2946
  "hasDynamicHelp": false,
2991
2947
  "hiddenAliases": [],
2992
- "id": "tenant:deploy_release",
2948
+ "id": "tenant:edit",
2993
2949
  "pluginAlias": "@xano/cli",
2994
2950
  "pluginName": "@xano/cli",
2995
2951
  "pluginType": "core",
@@ -3000,23 +2956,23 @@
3000
2956
  "dist",
3001
2957
  "commands",
3002
2958
  "tenant",
3003
- "deploy_release",
2959
+ "edit",
3004
2960
  "index.js"
3005
2961
  ]
3006
2962
  },
3007
- "tenant:get": {
2963
+ "tenant:impersonate": {
3008
2964
  "aliases": [],
3009
2965
  "args": {
3010
2966
  "tenant_name": {
3011
- "description": "Tenant name to retrieve",
2967
+ "description": "Tenant name to impersonate",
3012
2968
  "name": "tenant_name",
3013
2969
  "required": true
3014
2970
  }
3015
2971
  },
3016
- "description": "Get details of a specific tenant",
2972
+ "description": "Impersonate a tenant and open it in the browser",
3017
2973
  "examples": [
3018
- "$ 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",
3019
- "$ xano tenant get t1234-abcd-xyz1 -w 5 -o json"
2974
+ "$ xano tenant impersonate my-tenant\nOpening browser...\nImpersonation successful!\n",
2975
+ "$ xano tenant impersonate my-tenant -o json"
3020
2976
  ],
3021
2977
  "flags": {
3022
2978
  "profile": {
@@ -3052,6 +3008,14 @@
3052
3008
  ],
3053
3009
  "type": "option"
3054
3010
  },
3011
+ "url-only": {
3012
+ "char": "u",
3013
+ "description": "Print the URL without opening the browser",
3014
+ "name": "url-only",
3015
+ "required": false,
3016
+ "allowNo": false,
3017
+ "type": "boolean"
3018
+ },
3055
3019
  "workspace": {
3056
3020
  "char": "w",
3057
3021
  "description": "Workspace ID (uses profile workspace if not provided)",
@@ -3064,7 +3028,7 @@
3064
3028
  },
3065
3029
  "hasDynamicHelp": false,
3066
3030
  "hiddenAliases": [],
3067
- "id": "tenant:get",
3031
+ "id": "tenant:impersonate",
3068
3032
  "pluginAlias": "@xano/cli",
3069
3033
  "pluginName": "@xano/cli",
3070
3034
  "pluginType": "core",
@@ -3075,23 +3039,23 @@
3075
3039
  "dist",
3076
3040
  "commands",
3077
3041
  "tenant",
3078
- "get",
3042
+ "impersonate",
3079
3043
  "index.js"
3080
3044
  ]
3081
3045
  },
3082
- "tenant:impersonate": {
3046
+ "tenant:deploy_release": {
3083
3047
  "aliases": [],
3084
3048
  "args": {
3085
3049
  "tenant_name": {
3086
- "description": "Tenant name to impersonate",
3050
+ "description": "Tenant name to deploy to",
3087
3051
  "name": "tenant_name",
3088
3052
  "required": true
3089
3053
  }
3090
3054
  },
3091
- "description": "Impersonate a tenant and open it in the browser",
3055
+ "description": "Deploy a release to a tenant",
3092
3056
  "examples": [
3093
- "$ xano tenant impersonate my-tenant\nOpening browser...\nImpersonation successful!\n",
3094
- "$ xano tenant impersonate my-tenant -o json"
3057
+ "$ xano tenant deploy_release t1234-abcd-xyz1 --release v1.0\nDeployed release \"v1.0\" to tenant: My Tenant (my-tenant)\n",
3058
+ "$ xano tenant deploy_release t1234-abcd-xyz1 --release v1.0 -o json"
3095
3059
  ],
3096
3060
  "flags": {
3097
3061
  "profile": {
@@ -3127,13 +3091,14 @@
3127
3091
  ],
3128
3092
  "type": "option"
3129
3093
  },
3130
- "url-only": {
3131
- "char": "u",
3132
- "description": "Print the URL without opening the browser",
3133
- "name": "url-only",
3134
- "required": false,
3135
- "allowNo": false,
3136
- "type": "boolean"
3094
+ "release": {
3095
+ "char": "r",
3096
+ "description": "Release name to deploy",
3097
+ "name": "release",
3098
+ "required": true,
3099
+ "hasDynamicHelp": false,
3100
+ "multiple": false,
3101
+ "type": "option"
3137
3102
  },
3138
3103
  "workspace": {
3139
3104
  "char": "w",
@@ -3147,7 +3112,7 @@
3147
3112
  },
3148
3113
  "hasDynamicHelp": false,
3149
3114
  "hiddenAliases": [],
3150
- "id": "tenant:impersonate",
3115
+ "id": "tenant:deploy_release",
3151
3116
  "pluginAlias": "@xano/cli",
3152
3117
  "pluginName": "@xano/cli",
3153
3118
  "pluginType": "core",
@@ -3158,7 +3123,7 @@
3158
3123
  "dist",
3159
3124
  "commands",
3160
3125
  "tenant",
3161
- "impersonate",
3126
+ "deploy_release",
3162
3127
  "index.js"
3163
3128
  ]
3164
3129
  },
@@ -3324,116 +3289,19 @@
3324
3289
  "index.js"
3325
3290
  ]
3326
3291
  },
3327
- "tenant:push": {
3292
+ "tenant:get": {
3328
3293
  "aliases": [],
3329
3294
  "args": {
3330
- "directory": {
3331
- "description": "Directory containing documents to push (as produced by tenant pull or workspace pull)",
3332
- "name": "directory",
3295
+ "tenant_name": {
3296
+ "description": "Tenant name to retrieve",
3297
+ "name": "tenant_name",
3333
3298
  "required": true
3334
3299
  }
3335
3300
  },
3336
- "description": "Push local documents to a tenant via the Xano Metadata API multidoc endpoint",
3337
- "examples": [
3338
- "$ xano tenant push ./my-workspace -t my-tenant\nPushed 42 documents to tenant my-tenant from ./my-workspace\n",
3339
- "$ xano tenant push ./output -t my-tenant -w 40\nPushed 15 documents to tenant my-tenant from ./output\n",
3340
- "$ xano tenant push ./backup -t my-tenant --profile production\nPushed 58 documents to tenant my-tenant from ./backup\n",
3341
- "$ xano tenant push ./my-workspace -t my-tenant --records\nInclude table records in import\n",
3342
- "$ xano tenant push ./my-workspace -t my-tenant --env\nInclude environment variables in import\n",
3343
- "$ xano tenant push ./my-workspace -t my-tenant --truncate\nTruncate all table records before importing\n"
3344
- ],
3345
- "flags": {
3346
- "profile": {
3347
- "char": "p",
3348
- "description": "Profile to use (uses default profile if not specified)",
3349
- "env": "XANO_PROFILE",
3350
- "name": "profile",
3351
- "required": false,
3352
- "hasDynamicHelp": false,
3353
- "multiple": false,
3354
- "type": "option"
3355
- },
3356
- "verbose": {
3357
- "char": "v",
3358
- "description": "Show detailed request/response information",
3359
- "env": "XANO_VERBOSE",
3360
- "name": "verbose",
3361
- "required": false,
3362
- "allowNo": false,
3363
- "type": "boolean"
3364
- },
3365
- "env": {
3366
- "description": "Include environment variables in import",
3367
- "name": "env",
3368
- "required": false,
3369
- "allowNo": false,
3370
- "type": "boolean"
3371
- },
3372
- "records": {
3373
- "description": "Include records in import",
3374
- "name": "records",
3375
- "required": false,
3376
- "allowNo": false,
3377
- "type": "boolean"
3378
- },
3379
- "tenant": {
3380
- "char": "t",
3381
- "description": "Tenant name to push to",
3382
- "name": "tenant",
3383
- "required": true,
3384
- "hasDynamicHelp": false,
3385
- "multiple": false,
3386
- "type": "option"
3387
- },
3388
- "transaction": {
3389
- "description": "Wrap import in a database transaction (use --no-transaction for debugging purposes)",
3390
- "name": "transaction",
3391
- "required": false,
3392
- "allowNo": true,
3393
- "type": "boolean"
3394
- },
3395
- "truncate": {
3396
- "description": "Truncate all table records before importing",
3397
- "name": "truncate",
3398
- "required": false,
3399
- "allowNo": false,
3400
- "type": "boolean"
3401
- },
3402
- "workspace": {
3403
- "char": "w",
3404
- "description": "Workspace ID (optional if set in profile)",
3405
- "name": "workspace",
3406
- "required": false,
3407
- "hasDynamicHelp": false,
3408
- "multiple": false,
3409
- "type": "option"
3410
- }
3411
- },
3412
- "hasDynamicHelp": false,
3413
- "hiddenAliases": [],
3414
- "id": "tenant:push",
3415
- "pluginAlias": "@xano/cli",
3416
- "pluginName": "@xano/cli",
3417
- "pluginType": "core",
3418
- "strict": true,
3419
- "enableJsonFlag": false,
3420
- "isESM": true,
3421
- "relativePath": [
3422
- "dist",
3423
- "commands",
3424
- "tenant",
3425
- "push",
3426
- "index.js"
3427
- ]
3428
- },
3429
- "unit_test:list": {
3430
- "aliases": [],
3431
- "args": {},
3432
- "description": "List all unit tests in a workspace",
3301
+ "description": "Get details of a specific tenant",
3433
3302
  "examples": [
3434
- "$ 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",
3435
- "$ xano unit-test list -w 5 --output json",
3436
- "$ xano unit-test list --obj-type function"
3303
+ "$ 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",
3304
+ "$ xano tenant get t1234-abcd-xyz1 -w 5 -o json"
3437
3305
  ],
3438
3306
  "flags": {
3439
3307
  "profile": {
@@ -3455,28 +3323,6 @@
3455
3323
  "allowNo": false,
3456
3324
  "type": "boolean"
3457
3325
  },
3458
- "branch": {
3459
- "char": "b",
3460
- "description": "Filter by branch name",
3461
- "name": "branch",
3462
- "required": false,
3463
- "hasDynamicHelp": false,
3464
- "multiple": false,
3465
- "type": "option"
3466
- },
3467
- "obj-type": {
3468
- "description": "Filter by object type",
3469
- "name": "obj-type",
3470
- "required": false,
3471
- "hasDynamicHelp": false,
3472
- "multiple": false,
3473
- "options": [
3474
- "function",
3475
- "query",
3476
- "middleware"
3477
- ],
3478
- "type": "option"
3479
- },
3480
3326
  "output": {
3481
3327
  "char": "o",
3482
3328
  "description": "Output format",
@@ -3503,7 +3349,7 @@
3503
3349
  },
3504
3350
  "hasDynamicHelp": false,
3505
3351
  "hiddenAliases": [],
3506
- "id": "unit_test:list",
3352
+ "id": "tenant:get",
3507
3353
  "pluginAlias": "@xano/cli",
3508
3354
  "pluginName": "@xano/cli",
3509
3355
  "pluginType": "core",
@@ -3513,8 +3359,8 @@
3513
3359
  "relativePath": [
3514
3360
  "dist",
3515
3361
  "commands",
3516
- "unit_test",
3517
- "list",
3362
+ "tenant",
3363
+ "get",
3518
3364
  "index.js"
3519
3365
  ]
3520
3366
  },
@@ -3593,13 +3439,14 @@
3593
3439
  "index.js"
3594
3440
  ]
3595
3441
  },
3596
- "unit_test:run_all": {
3442
+ "unit_test:list": {
3597
3443
  "aliases": [],
3598
3444
  "args": {},
3599
- "description": "Run all unit tests in a workspace",
3445
+ "description": "List all unit tests in a workspace",
3600
3446
  "examples": [
3601
- "$ xano unit-test run-all\nRunning 5 unit tests...\n\nPASS my-test [function: math]\nPASS auth-check [query: /user/login]\nFAIL data-validation [function: validate]\n Error: assertion failed\n\nResults: 2 passed, 1 failed\n",
3602
- "$ xano unit-test run-all --obj-type function -o json"
3447
+ "$ 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",
3448
+ "$ xano unit-test list -w 5 --output json",
3449
+ "$ xano unit-test list --obj-type function"
3603
3450
  ],
3604
3451
  "flags": {
3605
3452
  "profile": {
@@ -3669,7 +3516,7 @@
3669
3516
  },
3670
3517
  "hasDynamicHelp": false,
3671
3518
  "hiddenAliases": [],
3672
- "id": "unit_test:run_all",
3519
+ "id": "unit_test:list",
3673
3520
  "pluginAlias": "@xano/cli",
3674
3521
  "pluginName": "@xano/cli",
3675
3522
  "pluginType": "core",
@@ -3680,23 +3527,19 @@
3680
3527
  "dist",
3681
3528
  "commands",
3682
3529
  "unit_test",
3683
- "run_all",
3530
+ "list",
3684
3531
  "index.js"
3685
3532
  ]
3686
3533
  },
3687
- "workflow_test:delete": {
3534
+ "static_host:list": {
3688
3535
  "aliases": [],
3689
- "args": {
3690
- "workflow_test_id": {
3691
- "description": "ID of the workflow test to delete",
3692
- "name": "workflow_test_id",
3693
- "required": true
3694
- }
3695
- },
3696
- "description": "Delete a workflow test",
3536
+ "args": {},
3537
+ "description": "List all static hosts in a workspace from the Xano Metadata API",
3697
3538
  "examples": [
3698
- "$ xano workflow-test delete 1\nAre you sure you want to delete workflow test 1? (y/N) y\nDeleted workflow test 1\n",
3699
- "$ xano workflow-test delete 1 --force"
3539
+ "$ xano static_host:list -w 40\nAvailable static hosts:\n - my-static-host (ID: 1)\n - another-host (ID: 2)\n",
3540
+ "$ xano static_host:list --profile production\nAvailable static hosts:\n - my-static-host (ID: 1)\n - another-host (ID: 2)\n",
3541
+ "$ xano static_host:list -w 40 --output json\n[\n {\n \"id\": 1,\n \"name\": \"my-static-host\",\n \"domain\": \"example.com\"\n }\n]\n",
3542
+ "$ xano static_host:list -p staging -o json --page 2\n[\n {\n \"id\": 3,\n \"name\": \"static-host-3\"\n }\n]\n"
3700
3543
  ],
3701
3544
  "flags": {
3702
3545
  "profile": {
@@ -3718,14 +3561,6 @@
3718
3561
  "allowNo": false,
3719
3562
  "type": "boolean"
3720
3563
  },
3721
- "force": {
3722
- "char": "f",
3723
- "description": "Skip confirmation prompt",
3724
- "name": "force",
3725
- "required": false,
3726
- "allowNo": false,
3727
- "type": "boolean"
3728
- },
3729
3564
  "output": {
3730
3565
  "char": "o",
3731
3566
  "description": "Output format",
@@ -3740,9 +3575,27 @@
3740
3575
  ],
3741
3576
  "type": "option"
3742
3577
  },
3578
+ "page": {
3579
+ "description": "Page number for pagination",
3580
+ "name": "page",
3581
+ "required": false,
3582
+ "default": 1,
3583
+ "hasDynamicHelp": false,
3584
+ "multiple": false,
3585
+ "type": "option"
3586
+ },
3587
+ "per_page": {
3588
+ "description": "Number of results per page",
3589
+ "name": "per_page",
3590
+ "required": false,
3591
+ "default": 50,
3592
+ "hasDynamicHelp": false,
3593
+ "multiple": false,
3594
+ "type": "option"
3595
+ },
3743
3596
  "workspace": {
3744
3597
  "char": "w",
3745
- "description": "Workspace ID (uses profile workspace if not provided)",
3598
+ "description": "Workspace ID (optional if set in profile)",
3746
3599
  "name": "workspace",
3747
3600
  "required": false,
3748
3601
  "hasDynamicHelp": false,
@@ -3752,7 +3605,7 @@
3752
3605
  },
3753
3606
  "hasDynamicHelp": false,
3754
3607
  "hiddenAliases": [],
3755
- "id": "workflow_test:delete",
3608
+ "id": "static_host:list",
3756
3609
  "pluginAlias": "@xano/cli",
3757
3610
  "pluginName": "@xano/cli",
3758
3611
  "pluginType": "core",
@@ -3762,25 +3615,28 @@
3762
3615
  "relativePath": [
3763
3616
  "dist",
3764
3617
  "commands",
3765
- "workflow_test",
3766
- "delete",
3618
+ "static_host",
3619
+ "list",
3767
3620
  "index.js"
3768
3621
  ]
3769
3622
  },
3770
- "workflow_test:get": {
3623
+ "tenant:push": {
3771
3624
  "aliases": [],
3772
3625
  "args": {
3773
- "workflow_test_id": {
3774
- "description": "ID of the workflow test",
3775
- "name": "workflow_test_id",
3626
+ "directory": {
3627
+ "description": "Directory containing documents to push (as produced by tenant pull or workspace pull)",
3628
+ "name": "directory",
3776
3629
  "required": true
3777
3630
  }
3778
3631
  },
3779
- "description": "Get a specific workflow test",
3632
+ "description": "Push local documents to a tenant via the Xano Metadata API multidoc endpoint",
3780
3633
  "examples": [
3781
- "$ xano workflow-test get 1\nWorkflow Test: my-test (ID: 1)\n Description: Validates auth endpoints\n Branch: main\n",
3782
- "$ xano workflow-test get 1 -o xs",
3783
- "$ xano workflow-test get 1 -o json"
3634
+ "$ xano tenant push ./my-workspace -t my-tenant\nPushed 42 documents to tenant my-tenant from ./my-workspace\n",
3635
+ "$ xano tenant push ./output -t my-tenant -w 40\nPushed 15 documents to tenant my-tenant from ./output\n",
3636
+ "$ xano tenant push ./backup -t my-tenant --profile production\nPushed 58 documents to tenant my-tenant from ./backup\n",
3637
+ "$ xano tenant push ./my-workspace -t my-tenant --records\nInclude table records in import\n",
3638
+ "$ xano tenant push ./my-workspace -t my-tenant --env\nInclude environment variables in import\n",
3639
+ "$ xano tenant push ./my-workspace -t my-tenant --truncate\nTruncate all table records before importing\n"
3784
3640
  ],
3785
3641
  "flags": {
3786
3642
  "profile": {
@@ -3802,31 +3658,46 @@
3802
3658
  "allowNo": false,
3803
3659
  "type": "boolean"
3804
3660
  },
3805
- "include-draft": {
3806
- "description": "Include draft version",
3807
- "name": "include-draft",
3661
+ "env": {
3662
+ "description": "Include environment variables in import",
3663
+ "name": "env",
3808
3664
  "required": false,
3809
3665
  "allowNo": false,
3810
3666
  "type": "boolean"
3811
3667
  },
3812
- "output": {
3813
- "char": "o",
3814
- "description": "Output format",
3815
- "name": "output",
3668
+ "records": {
3669
+ "description": "Include records in import",
3670
+ "name": "records",
3816
3671
  "required": false,
3817
- "default": "summary",
3672
+ "allowNo": false,
3673
+ "type": "boolean"
3674
+ },
3675
+ "tenant": {
3676
+ "char": "t",
3677
+ "description": "Tenant name to push to",
3678
+ "name": "tenant",
3679
+ "required": true,
3818
3680
  "hasDynamicHelp": false,
3819
3681
  "multiple": false,
3820
- "options": [
3821
- "summary",
3822
- "json",
3823
- "xs"
3824
- ],
3825
3682
  "type": "option"
3826
3683
  },
3684
+ "transaction": {
3685
+ "description": "Wrap import in a database transaction (use --no-transaction for debugging purposes)",
3686
+ "name": "transaction",
3687
+ "required": false,
3688
+ "allowNo": true,
3689
+ "type": "boolean"
3690
+ },
3691
+ "truncate": {
3692
+ "description": "Truncate all table records before importing",
3693
+ "name": "truncate",
3694
+ "required": false,
3695
+ "allowNo": false,
3696
+ "type": "boolean"
3697
+ },
3827
3698
  "workspace": {
3828
3699
  "char": "w",
3829
- "description": "Workspace ID (uses profile workspace if not provided)",
3700
+ "description": "Workspace ID (optional if set in profile)",
3830
3701
  "name": "workspace",
3831
3702
  "required": false,
3832
3703
  "hasDynamicHelp": false,
@@ -3836,7 +3707,7 @@
3836
3707
  },
3837
3708
  "hasDynamicHelp": false,
3838
3709
  "hiddenAliases": [],
3839
- "id": "workflow_test:get",
3710
+ "id": "tenant:push",
3840
3711
  "pluginAlias": "@xano/cli",
3841
3712
  "pluginName": "@xano/cli",
3842
3713
  "pluginType": "core",
@@ -3846,19 +3717,24 @@
3846
3717
  "relativePath": [
3847
3718
  "dist",
3848
3719
  "commands",
3849
- "workflow_test",
3850
- "get",
3720
+ "tenant",
3721
+ "push",
3851
3722
  "index.js"
3852
3723
  ]
3853
3724
  },
3854
- "workflow_test:list": {
3725
+ "workflow_test:delete": {
3855
3726
  "aliases": [],
3856
- "args": {},
3857
- "description": "List all workflow tests in a workspace",
3727
+ "args": {
3728
+ "workflow_test_id": {
3729
+ "description": "ID of the workflow test to delete",
3730
+ "name": "workflow_test_id",
3731
+ "required": true
3732
+ }
3733
+ },
3734
+ "description": "Delete a workflow test",
3858
3735
  "examples": [
3859
- "$ xano workflow-test list\nWorkflow tests in workspace 5:\n - my-test (ID: 1)\n - auth-flow (ID: 2) - Validates auth endpoints\n",
3860
- "$ xano workflow-test list -w 5 --output json",
3861
- "$ xano workflow-test list --branch main"
3736
+ "$ xano workflow-test delete 1\nAre you sure you want to delete workflow test 1? (y/N) y\nDeleted workflow test 1\n",
3737
+ "$ xano workflow-test delete 1 --force"
3862
3738
  ],
3863
3739
  "flags": {
3864
3740
  "profile": {
@@ -3880,14 +3756,13 @@
3880
3756
  "allowNo": false,
3881
3757
  "type": "boolean"
3882
3758
  },
3883
- "branch": {
3884
- "char": "b",
3885
- "description": "Filter by branch name",
3886
- "name": "branch",
3759
+ "force": {
3760
+ "char": "f",
3761
+ "description": "Skip confirmation prompt",
3762
+ "name": "force",
3887
3763
  "required": false,
3888
- "hasDynamicHelp": false,
3889
- "multiple": false,
3890
- "type": "option"
3764
+ "allowNo": false,
3765
+ "type": "boolean"
3891
3766
  },
3892
3767
  "output": {
3893
3768
  "char": "o",
@@ -3915,7 +3790,7 @@
3915
3790
  },
3916
3791
  "hasDynamicHelp": false,
3917
3792
  "hiddenAliases": [],
3918
- "id": "workflow_test:list",
3793
+ "id": "workflow_test:delete",
3919
3794
  "pluginAlias": "@xano/cli",
3920
3795
  "pluginName": "@xano/cli",
3921
3796
  "pluginType": "core",
@@ -3926,23 +3801,24 @@
3926
3801
  "dist",
3927
3802
  "commands",
3928
3803
  "workflow_test",
3929
- "list",
3804
+ "delete",
3930
3805
  "index.js"
3931
3806
  ]
3932
3807
  },
3933
- "workflow_test:run": {
3808
+ "workflow_test:get": {
3934
3809
  "aliases": [],
3935
3810
  "args": {
3936
3811
  "workflow_test_id": {
3937
- "description": "ID of the workflow test to run",
3812
+ "description": "ID of the workflow test",
3938
3813
  "name": "workflow_test_id",
3939
3814
  "required": true
3940
3815
  }
3941
3816
  },
3942
- "description": "Run a workflow test",
3817
+ "description": "Get a specific workflow test",
3943
3818
  "examples": [
3944
- "$ xano workflow-test run 1\nRunning workflow test 1...\nResult: PASS (1.234s)\n",
3945
- "$ xano workflow-test run 1 -o json"
3819
+ "$ xano workflow-test get 1\nWorkflow Test: my-test (ID: 1)\n Description: Validates auth endpoints\n Branch: main\n",
3820
+ "$ xano workflow-test get 1 -o xs",
3821
+ "$ xano workflow-test get 1 -o json"
3946
3822
  ],
3947
3823
  "flags": {
3948
3824
  "profile": {
@@ -3964,6 +3840,13 @@
3964
3840
  "allowNo": false,
3965
3841
  "type": "boolean"
3966
3842
  },
3843
+ "include-draft": {
3844
+ "description": "Include draft version",
3845
+ "name": "include-draft",
3846
+ "required": false,
3847
+ "allowNo": false,
3848
+ "type": "boolean"
3849
+ },
3967
3850
  "output": {
3968
3851
  "char": "o",
3969
3852
  "description": "Output format",
@@ -3974,7 +3857,8 @@
3974
3857
  "multiple": false,
3975
3858
  "options": [
3976
3859
  "summary",
3977
- "json"
3860
+ "json",
3861
+ "xs"
3978
3862
  ],
3979
3863
  "type": "option"
3980
3864
  },
@@ -3990,7 +3874,7 @@
3990
3874
  },
3991
3875
  "hasDynamicHelp": false,
3992
3876
  "hiddenAliases": [],
3993
- "id": "workflow_test:run",
3877
+ "id": "workflow_test:get",
3994
3878
  "pluginAlias": "@xano/cli",
3995
3879
  "pluginName": "@xano/cli",
3996
3880
  "pluginType": "core",
@@ -4001,23 +3885,23 @@
4001
3885
  "dist",
4002
3886
  "commands",
4003
3887
  "workflow_test",
4004
- "run",
3888
+ "get",
4005
3889
  "index.js"
4006
3890
  ]
4007
3891
  },
4008
- "tenant:edit": {
3892
+ "workflow_test:run": {
4009
3893
  "aliases": [],
4010
3894
  "args": {
4011
- "tenant_name": {
4012
- "description": "Tenant name to edit",
4013
- "name": "tenant_name",
3895
+ "workflow_test_id": {
3896
+ "description": "ID of the workflow test to run",
3897
+ "name": "workflow_test_id",
4014
3898
  "required": true
4015
3899
  }
4016
3900
  },
4017
- "description": "Edit an existing tenant",
3901
+ "description": "Run a workflow test",
4018
3902
  "examples": [
4019
- "$ xano tenant edit t1234-abcd-xyz1 --display \"New Name\" --description \"Updated description\"\nUpdated tenant: New Name (my-tenant) - ID: 42\n",
4020
- "$ xano tenant edit t1234-abcd-xyz1 --no-tasks --no-ingress -o json"
3903
+ "$ xano workflow-test run 1\nRunning workflow test 1...\nResult: PASS (1.234s)\n",
3904
+ "$ xano workflow-test run 1 -o json"
4021
3905
  ],
4022
3906
  "flags": {
4023
3907
  "profile": {
@@ -4039,38 +3923,6 @@
4039
3923
  "allowNo": false,
4040
3924
  "type": "boolean"
4041
3925
  },
4042
- "description": {
4043
- "char": "d",
4044
- "description": "New description",
4045
- "name": "description",
4046
- "required": false,
4047
- "hasDynamicHelp": false,
4048
- "multiple": false,
4049
- "type": "option"
4050
- },
4051
- "display": {
4052
- "description": "New display name",
4053
- "name": "display",
4054
- "required": false,
4055
- "hasDynamicHelp": false,
4056
- "multiple": false,
4057
- "type": "option"
4058
- },
4059
- "domain": {
4060
- "description": "Custom domain",
4061
- "name": "domain",
4062
- "required": false,
4063
- "hasDynamicHelp": false,
4064
- "multiple": false,
4065
- "type": "option"
4066
- },
4067
- "ingress": {
4068
- "description": "Enable/disable ingress",
4069
- "name": "ingress",
4070
- "required": false,
4071
- "allowNo": true,
4072
- "type": "boolean"
4073
- },
4074
3926
  "output": {
4075
3927
  "char": "o",
4076
3928
  "description": "Output format",
@@ -4085,28 +3937,6 @@
4085
3937
  ],
4086
3938
  "type": "option"
4087
3939
  },
4088
- "proxy": {
4089
- "description": "Proxy URL",
4090
- "name": "proxy",
4091
- "required": false,
4092
- "hasDynamicHelp": false,
4093
- "multiple": false,
4094
- "type": "option"
4095
- },
4096
- "rbac": {
4097
- "description": "Enable/disable RBAC",
4098
- "name": "rbac",
4099
- "required": false,
4100
- "allowNo": true,
4101
- "type": "boolean"
4102
- },
4103
- "tasks": {
4104
- "description": "Enable/disable background tasks",
4105
- "name": "tasks",
4106
- "required": false,
4107
- "allowNo": true,
4108
- "type": "boolean"
4109
- },
4110
3940
  "workspace": {
4111
3941
  "char": "w",
4112
3942
  "description": "Workspace ID (uses profile workspace if not provided)",
@@ -4119,7 +3949,7 @@
4119
3949
  },
4120
3950
  "hasDynamicHelp": false,
4121
3951
  "hiddenAliases": [],
4122
- "id": "tenant:edit",
3952
+ "id": "workflow_test:run",
4123
3953
  "pluginAlias": "@xano/cli",
4124
3954
  "pluginName": "@xano/cli",
4125
3955
  "pluginType": "core",
@@ -4129,8 +3959,8 @@
4129
3959
  "relativePath": [
4130
3960
  "dist",
4131
3961
  "commands",
4132
- "tenant",
4133
- "edit",
3962
+ "workflow_test",
3963
+ "run",
4134
3964
  "index.js"
4135
3965
  ]
4136
3966
  },
@@ -4288,20 +4118,13 @@
4288
4118
  "index.js"
4289
4119
  ]
4290
4120
  },
4291
- "workspace:delete": {
4121
+ "unit_test:run_all": {
4292
4122
  "aliases": [],
4293
- "args": {
4294
- "workspace_id": {
4295
- "description": "Workspace ID to delete",
4296
- "name": "workspace_id",
4297
- "required": true
4298
- }
4299
- },
4300
- "description": "Delete a workspace via the Xano Metadata API. Cannot delete workspaces with active tenants.",
4123
+ "args": {},
4124
+ "description": "Run all unit tests in a workspace",
4301
4125
  "examples": [
4302
- "$ 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",
4303
- "$ xano workspace delete 123 --force\nDeleted workspace 123\n",
4304
- "$ xano workspace delete 123 -f -o json\n{\n \"deleted\": true,\n \"workspace_id\": 123\n}\n"
4126
+ "$ xano unit-test run-all\nRunning 5 unit tests...\n\nPASS my-test [function: math]\nPASS auth-check [query: /user/login]\nFAIL data-validation [function: validate]\n Error: assertion failed\n\nResults: 2 passed, 1 failed\n",
4127
+ "$ xano unit-test run-all --obj-type function -o json"
4305
4128
  ],
4306
4129
  "flags": {
4307
4130
  "profile": {
@@ -4323,13 +4146,27 @@
4323
4146
  "allowNo": false,
4324
4147
  "type": "boolean"
4325
4148
  },
4326
- "force": {
4327
- "char": "f",
4328
- "description": "Skip confirmation prompt",
4329
- "name": "force",
4149
+ "branch": {
4150
+ "char": "b",
4151
+ "description": "Filter by branch name",
4152
+ "name": "branch",
4330
4153
  "required": false,
4331
- "allowNo": false,
4332
- "type": "boolean"
4154
+ "hasDynamicHelp": false,
4155
+ "multiple": false,
4156
+ "type": "option"
4157
+ },
4158
+ "obj-type": {
4159
+ "description": "Filter by object type",
4160
+ "name": "obj-type",
4161
+ "required": false,
4162
+ "hasDynamicHelp": false,
4163
+ "multiple": false,
4164
+ "options": [
4165
+ "function",
4166
+ "query",
4167
+ "middleware"
4168
+ ],
4169
+ "type": "option"
4333
4170
  },
4334
4171
  "output": {
4335
4172
  "char": "o",
@@ -4344,11 +4181,20 @@
4344
4181
  "json"
4345
4182
  ],
4346
4183
  "type": "option"
4184
+ },
4185
+ "workspace": {
4186
+ "char": "w",
4187
+ "description": "Workspace ID (uses profile workspace if not provided)",
4188
+ "name": "workspace",
4189
+ "required": false,
4190
+ "hasDynamicHelp": false,
4191
+ "multiple": false,
4192
+ "type": "option"
4347
4193
  }
4348
4194
  },
4349
4195
  "hasDynamicHelp": false,
4350
4196
  "hiddenAliases": [],
4351
- "id": "workspace:delete",
4197
+ "id": "unit_test:run_all",
4352
4198
  "pluginAlias": "@xano/cli",
4353
4199
  "pluginName": "@xano/cli",
4354
4200
  "pluginType": "core",
@@ -4358,25 +4204,25 @@
4358
4204
  "relativePath": [
4359
4205
  "dist",
4360
4206
  "commands",
4361
- "workspace",
4362
- "delete",
4207
+ "unit_test",
4208
+ "run_all",
4363
4209
  "index.js"
4364
4210
  ]
4365
4211
  },
4366
- "workspace:get": {
4212
+ "workspace:delete": {
4367
4213
  "aliases": [],
4368
4214
  "args": {
4369
4215
  "workspace_id": {
4370
- "description": "Workspace ID to get details for (uses profile workspace if not provided)",
4216
+ "description": "Workspace ID to delete",
4371
4217
  "name": "workspace_id",
4372
- "required": false
4218
+ "required": true
4373
4219
  }
4374
4220
  },
4375
- "description": "Get details of a specific workspace from the Xano Metadata API",
4221
+ "description": "Delete a workspace via the Xano Metadata API. Cannot delete workspaces with active tenants.",
4376
4222
  "examples": [
4377
- "$ xano workspace get 123\nWorkspace: my-workspace (ID: 123)\n Description: My workspace description\n Created: 2024-01-15\n",
4378
- "$ xano workspace get --output json\n{\n \"id\": 123,\n \"name\": \"my-workspace\",\n \"description\": \"My workspace description\"\n}\n",
4379
- "$ xano workspace get 456 -p production -o json\n{\n \"id\": 456,\n \"name\": \"production-workspace\"\n}\n"
4223
+ "$ 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",
4224
+ "$ xano workspace delete 123 --force\nDeleted workspace 123\n",
4225
+ "$ xano workspace delete 123 -f -o json\n{\n \"deleted\": true,\n \"workspace_id\": 123\n}\n"
4380
4226
  ],
4381
4227
  "flags": {
4382
4228
  "profile": {
@@ -4398,6 +4244,14 @@
4398
4244
  "allowNo": false,
4399
4245
  "type": "boolean"
4400
4246
  },
4247
+ "force": {
4248
+ "char": "f",
4249
+ "description": "Skip confirmation prompt",
4250
+ "name": "force",
4251
+ "required": false,
4252
+ "allowNo": false,
4253
+ "type": "boolean"
4254
+ },
4401
4255
  "output": {
4402
4256
  "char": "o",
4403
4257
  "description": "Output format",
@@ -4415,7 +4269,7 @@
4415
4269
  },
4416
4270
  "hasDynamicHelp": false,
4417
4271
  "hiddenAliases": [],
4418
- "id": "workspace:get",
4272
+ "id": "workspace:delete",
4419
4273
  "pluginAlias": "@xano/cli",
4420
4274
  "pluginName": "@xano/cli",
4421
4275
  "pluginType": "core",
@@ -4426,19 +4280,25 @@
4426
4280
  "dist",
4427
4281
  "commands",
4428
4282
  "workspace",
4429
- "get",
4283
+ "delete",
4430
4284
  "index.js"
4431
4285
  ]
4432
4286
  },
4433
- "workspace:list": {
4287
+ "workspace:edit": {
4434
4288
  "aliases": [],
4435
- "args": {},
4436
- "description": "List all workspaces from the Xano Metadata API",
4289
+ "args": {
4290
+ "workspace_id": {
4291
+ "description": "Workspace ID to edit (uses profile workspace if not provided)",
4292
+ "name": "workspace_id",
4293
+ "required": false
4294
+ }
4295
+ },
4296
+ "description": "Edit an existing workspace via the Xano Metadata API",
4437
4297
  "examples": [
4438
- "$ xano workspace:list\nAvailable workspaces:\n - workspace-1 (ID: 1)\n - workspace-2 (ID: 2)\n - workspace-3 (ID: 3)\n",
4439
- "$ xano workspace:list --profile production\nAvailable workspaces:\n - my-app (ID: 1)\n - staging-env (ID: 2)\n",
4440
- "$ xano workspace:list --output json\n{\n \"workspaces\": [\n {\n \"id\": 1,\n \"name\": \"workspace-1\"\n },\n {\n \"id\": 2,\n \"name\": \"workspace-2\"\n }\n ]\n}\n",
4441
- "$ xano workspace:list -p staging -o json\n{\n \"workspaces\": [\n {\n \"id\": 1,\n \"name\": \"my-app\"\n }\n ]\n}\n"
4298
+ "$ xano workspace edit 123 --name \"new-name\"\nUpdated workspace: new-name (ID: 123)\n",
4299
+ "$ xano workspace edit --name \"updated-workspace\" --description \"Updated description\"\nUpdated workspace: updated-workspace (ID: 123)\n Description: Updated description\n",
4300
+ "$ xano workspace edit 123 --swagger --require-token\nUpdated workspace: my-workspace (ID: 123)\n Swagger: enabled\n Require Token: true\n",
4301
+ "$ xano workspace edit 123 --no-swagger -o json\n{\n \"id\": 123,\n \"name\": \"my-workspace\",\n \"swagger\": false\n}\n"
4442
4302
  ],
4443
4303
  "flags": {
4444
4304
  "profile": {
@@ -4460,6 +4320,24 @@
4460
4320
  "allowNo": false,
4461
4321
  "type": "boolean"
4462
4322
  },
4323
+ "description": {
4324
+ "char": "d",
4325
+ "description": "New description for the workspace",
4326
+ "name": "description",
4327
+ "required": false,
4328
+ "hasDynamicHelp": false,
4329
+ "multiple": false,
4330
+ "type": "option"
4331
+ },
4332
+ "name": {
4333
+ "char": "n",
4334
+ "description": "New name for the workspace",
4335
+ "name": "name",
4336
+ "required": false,
4337
+ "hasDynamicHelp": false,
4338
+ "multiple": false,
4339
+ "type": "option"
4340
+ },
4463
4341
  "output": {
4464
4342
  "char": "o",
4465
4343
  "description": "Output format",
@@ -4473,11 +4351,25 @@
4473
4351
  "json"
4474
4352
  ],
4475
4353
  "type": "option"
4354
+ },
4355
+ "require-token": {
4356
+ "description": "Whether to require a token for documentation access",
4357
+ "name": "require-token",
4358
+ "required": false,
4359
+ "allowNo": true,
4360
+ "type": "boolean"
4361
+ },
4362
+ "swagger": {
4363
+ "description": "Enable or disable swagger documentation",
4364
+ "name": "swagger",
4365
+ "required": false,
4366
+ "allowNo": true,
4367
+ "type": "boolean"
4476
4368
  }
4477
4369
  },
4478
4370
  "hasDynamicHelp": false,
4479
4371
  "hiddenAliases": [],
4480
- "id": "workspace:list",
4372
+ "id": "workspace:edit",
4481
4373
  "pluginAlias": "@xano/cli",
4482
4374
  "pluginName": "@xano/cli",
4483
4375
  "pluginType": "core",
@@ -4488,25 +4380,24 @@
4488
4380
  "dist",
4489
4381
  "commands",
4490
4382
  "workspace",
4491
- "list",
4383
+ "edit",
4492
4384
  "index.js"
4493
4385
  ]
4494
4386
  },
4495
- "workspace:edit": {
4387
+ "workspace:get": {
4496
4388
  "aliases": [],
4497
4389
  "args": {
4498
4390
  "workspace_id": {
4499
- "description": "Workspace ID to edit (uses profile workspace if not provided)",
4391
+ "description": "Workspace ID to get details for (uses profile workspace if not provided)",
4500
4392
  "name": "workspace_id",
4501
4393
  "required": false
4502
4394
  }
4503
4395
  },
4504
- "description": "Edit an existing workspace via the Xano Metadata API",
4396
+ "description": "Get details of a specific workspace from the Xano Metadata API",
4505
4397
  "examples": [
4506
- "$ xano workspace edit 123 --name \"new-name\"\nUpdated workspace: new-name (ID: 123)\n",
4507
- "$ xano workspace edit --name \"updated-workspace\" --description \"Updated description\"\nUpdated workspace: updated-workspace (ID: 123)\n Description: Updated description\n",
4508
- "$ xano workspace edit 123 --swagger --require-token\nUpdated workspace: my-workspace (ID: 123)\n Swagger: enabled\n Require Token: true\n",
4509
- "$ xano workspace edit 123 --no-swagger -o json\n{\n \"id\": 123,\n \"name\": \"my-workspace\",\n \"swagger\": false\n}\n"
4398
+ "$ xano workspace get 123\nWorkspace: my-workspace (ID: 123)\n Description: My workspace description\n Created: 2024-01-15\n",
4399
+ "$ xano workspace get --output json\n{\n \"id\": 123,\n \"name\": \"my-workspace\",\n \"description\": \"My workspace description\"\n}\n",
4400
+ "$ xano workspace get 456 -p production -o json\n{\n \"id\": 456,\n \"name\": \"production-workspace\"\n}\n"
4510
4401
  ],
4511
4402
  "flags": {
4512
4403
  "profile": {
@@ -4528,24 +4419,68 @@
4528
4419
  "allowNo": false,
4529
4420
  "type": "boolean"
4530
4421
  },
4531
- "description": {
4532
- "char": "d",
4533
- "description": "New description for the workspace",
4534
- "name": "description",
4422
+ "output": {
4423
+ "char": "o",
4424
+ "description": "Output format",
4425
+ "name": "output",
4535
4426
  "required": false,
4427
+ "default": "summary",
4536
4428
  "hasDynamicHelp": false,
4537
4429
  "multiple": false,
4430
+ "options": [
4431
+ "summary",
4432
+ "json"
4433
+ ],
4538
4434
  "type": "option"
4539
- },
4540
- "name": {
4541
- "char": "n",
4542
- "description": "New name for the workspace",
4543
- "name": "name",
4435
+ }
4436
+ },
4437
+ "hasDynamicHelp": false,
4438
+ "hiddenAliases": [],
4439
+ "id": "workspace:get",
4440
+ "pluginAlias": "@xano/cli",
4441
+ "pluginName": "@xano/cli",
4442
+ "pluginType": "core",
4443
+ "strict": true,
4444
+ "enableJsonFlag": false,
4445
+ "isESM": true,
4446
+ "relativePath": [
4447
+ "dist",
4448
+ "commands",
4449
+ "workspace",
4450
+ "get",
4451
+ "index.js"
4452
+ ]
4453
+ },
4454
+ "workspace:list": {
4455
+ "aliases": [],
4456
+ "args": {},
4457
+ "description": "List all workspaces from the Xano Metadata API",
4458
+ "examples": [
4459
+ "$ xano workspace:list\nAvailable workspaces:\n - workspace-1 (ID: 1)\n - workspace-2 (ID: 2)\n - workspace-3 (ID: 3)\n",
4460
+ "$ xano workspace:list --profile production\nAvailable workspaces:\n - my-app (ID: 1)\n - staging-env (ID: 2)\n",
4461
+ "$ xano workspace:list --output json\n{\n \"workspaces\": [\n {\n \"id\": 1,\n \"name\": \"workspace-1\"\n },\n {\n \"id\": 2,\n \"name\": \"workspace-2\"\n }\n ]\n}\n",
4462
+ "$ xano workspace:list -p staging -o json\n{\n \"workspaces\": [\n {\n \"id\": 1,\n \"name\": \"my-app\"\n }\n ]\n}\n"
4463
+ ],
4464
+ "flags": {
4465
+ "profile": {
4466
+ "char": "p",
4467
+ "description": "Profile to use (uses default profile if not specified)",
4468
+ "env": "XANO_PROFILE",
4469
+ "name": "profile",
4544
4470
  "required": false,
4545
4471
  "hasDynamicHelp": false,
4546
4472
  "multiple": false,
4547
4473
  "type": "option"
4548
4474
  },
4475
+ "verbose": {
4476
+ "char": "v",
4477
+ "description": "Show detailed request/response information",
4478
+ "env": "XANO_VERBOSE",
4479
+ "name": "verbose",
4480
+ "required": false,
4481
+ "allowNo": false,
4482
+ "type": "boolean"
4483
+ },
4549
4484
  "output": {
4550
4485
  "char": "o",
4551
4486
  "description": "Output format",
@@ -4559,25 +4494,11 @@
4559
4494
  "json"
4560
4495
  ],
4561
4496
  "type": "option"
4562
- },
4563
- "require-token": {
4564
- "description": "Whether to require a token for documentation access",
4565
- "name": "require-token",
4566
- "required": false,
4567
- "allowNo": true,
4568
- "type": "boolean"
4569
- },
4570
- "swagger": {
4571
- "description": "Enable or disable swagger documentation",
4572
- "name": "swagger",
4573
- "required": false,
4574
- "allowNo": true,
4575
- "type": "boolean"
4576
4497
  }
4577
4498
  },
4578
4499
  "hasDynamicHelp": false,
4579
4500
  "hiddenAliases": [],
4580
- "id": "workspace:edit",
4501
+ "id": "workspace:list",
4581
4502
  "pluginAlias": "@xano/cli",
4582
4503
  "pluginName": "@xano/cli",
4583
4504
  "pluginType": "core",
@@ -4588,7 +4509,7 @@
4588
4509
  "dist",
4589
4510
  "commands",
4590
4511
  "workspace",
4591
- "edit",
4512
+ "list",
4592
4513
  "index.js"
4593
4514
  ]
4594
4515
  },
@@ -4850,20 +4771,13 @@
4850
4771
  "index.js"
4851
4772
  ]
4852
4773
  },
4853
- "static_host:build:create": {
4774
+ "profile:workspace:set": {
4854
4775
  "aliases": [],
4855
- "args": {
4856
- "static_host": {
4857
- "description": "Static Host name",
4858
- "name": "static_host",
4859
- "required": true
4860
- }
4861
- },
4862
- "description": "Create a new build for a static host",
4776
+ "args": {},
4777
+ "description": "Interactively select a workspace for a profile",
4863
4778
  "examples": [
4864
- "$ xano static_host:build:create default -f ./build.zip -n \"v1.0.0\"\nBuild created successfully!\nID: 123\nName: v1.0.0\nStatus: pending\n",
4865
- "$ xano static_host:build:create default -w 40 -f ./dist.zip -n \"production\" -d \"Production build\"\nBuild created successfully!\nID: 124\nName: production\nDescription: Production build\n",
4866
- "$ xano static_host:build:create myhost -f ./app.zip -n \"release-1.2\" -o json\n{\n \"id\": 125,\n \"name\": \"release-1.2\",\n \"status\": \"pending\"\n}\n"
4779
+ "$ xano profile workspace set\nFetching workspaces...\n? Select a workspace: My Workspace\nWorkspace updated to 'My Workspace' (abc123) on profile 'default'\n",
4780
+ "$ xano profile workspace set -p production\nFetching workspaces...\n? Select a workspace: Production API\nWorkspace updated to 'Production API' (xyz789) on profile 'production'\n"
4867
4781
  ],
4868
4782
  "flags": {
4869
4783
  "profile": {
@@ -4884,30 +4798,60 @@
4884
4798
  "required": false,
4885
4799
  "allowNo": false,
4886
4800
  "type": "boolean"
4887
- },
4888
- "description": {
4889
- "char": "d",
4890
- "description": "Build description",
4891
- "name": "description",
4801
+ }
4802
+ },
4803
+ "hasDynamicHelp": false,
4804
+ "hiddenAliases": [],
4805
+ "id": "profile:workspace:set",
4806
+ "pluginAlias": "@xano/cli",
4807
+ "pluginName": "@xano/cli",
4808
+ "pluginType": "core",
4809
+ "strict": true,
4810
+ "enableJsonFlag": false,
4811
+ "isESM": true,
4812
+ "relativePath": [
4813
+ "dist",
4814
+ "commands",
4815
+ "profile",
4816
+ "workspace",
4817
+ "set",
4818
+ "index.js"
4819
+ ]
4820
+ },
4821
+ "workflow_test:list": {
4822
+ "aliases": [],
4823
+ "args": {},
4824
+ "description": "List all workflow tests in a workspace",
4825
+ "examples": [
4826
+ "$ xano workflow-test list\nWorkflow tests in workspace 5:\n - my-test (ID: 1)\n - auth-flow (ID: 2) - Validates auth endpoints\n",
4827
+ "$ xano workflow-test list -w 5 --output json",
4828
+ "$ xano workflow-test list --branch main"
4829
+ ],
4830
+ "flags": {
4831
+ "profile": {
4832
+ "char": "p",
4833
+ "description": "Profile to use (uses default profile if not specified)",
4834
+ "env": "XANO_PROFILE",
4835
+ "name": "profile",
4892
4836
  "required": false,
4893
4837
  "hasDynamicHelp": false,
4894
4838
  "multiple": false,
4895
4839
  "type": "option"
4896
4840
  },
4897
- "file": {
4898
- "char": "f",
4899
- "description": "Path to zip file to upload",
4900
- "name": "file",
4901
- "required": true,
4902
- "hasDynamicHelp": false,
4903
- "multiple": false,
4904
- "type": "option"
4841
+ "verbose": {
4842
+ "char": "v",
4843
+ "description": "Show detailed request/response information",
4844
+ "env": "XANO_VERBOSE",
4845
+ "name": "verbose",
4846
+ "required": false,
4847
+ "allowNo": false,
4848
+ "type": "boolean"
4905
4849
  },
4906
- "name": {
4907
- "char": "n",
4908
- "description": "Build name",
4909
- "name": "name",
4910
- "required": true,
4850
+ "branch": {
4851
+ "char": "b",
4852
+ "description": "Filter by branch name",
4853
+ "name": "branch",
4854
+ "required": false,
4911
4855
  "hasDynamicHelp": false,
4912
4856
  "multiple": false,
4913
4857
  "type": "option"
@@ -4928,7 +4872,7 @@
4928
4872
  },
4929
4873
  "workspace": {
4930
4874
  "char": "w",
4931
- "description": "Workspace ID (optional if set in profile)",
4875
+ "description": "Workspace ID (uses profile workspace if not provided)",
4932
4876
  "name": "workspace",
4933
4877
  "required": false,
4934
4878
  "hasDynamicHelp": false,
@@ -4938,7 +4882,7 @@
4938
4882
  },
4939
4883
  "hasDynamicHelp": false,
4940
4884
  "hiddenAliases": [],
4941
- "id": "static_host:build:create",
4885
+ "id": "workflow_test:list",
4942
4886
  "pluginAlias": "@xano/cli",
4943
4887
  "pluginName": "@xano/cli",
4944
4888
  "pluginType": "core",
@@ -4948,32 +4892,18 @@
4948
4892
  "relativePath": [
4949
4893
  "dist",
4950
4894
  "commands",
4951
- "static_host",
4952
- "build",
4953
- "create",
4895
+ "workflow_test",
4896
+ "list",
4954
4897
  "index.js"
4955
4898
  ]
4956
4899
  },
4957
- "static_host:build:get": {
4900
+ "tenant:cluster:create": {
4958
4901
  "aliases": [],
4959
- "args": {
4960
- "build_id": {
4961
- "description": "Build ID",
4962
- "name": "build_id",
4963
- "required": true
4964
- },
4965
- "static_host": {
4966
- "description": "Static Host name",
4967
- "name": "static_host",
4968
- "required": true
4969
- }
4970
- },
4971
- "description": "Get details of a specific build for a static host",
4902
+ "args": {},
4903
+ "description": "Create a new tenant cluster",
4972
4904
  "examples": [
4973
- "$ xano static_host:build:get default 52\nBuild Details:\nID: 52\nName: v1.0.0\nStatus: completed\n",
4974
- "$ xano static_host:build:get default 52 -w 40\nBuild Details:\nID: 52\nName: v1.0.0\nStatus: completed\n",
4975
- "$ xano static_host:build:get myhost 123 --profile production\nBuild Details:\nID: 123\nName: production-build\n",
4976
- "$ xano static_host:build:get default 52 -o json\n{\n \"id\": 52,\n \"name\": \"v1.0.0\",\n \"status\": \"completed\"\n}\n"
4905
+ "$ xano tenant cluster create --name \"us-east-1\" --credentials_file ./kubeconfig.yaml\nCreated tenant cluster: us-east-1 (standard) - ID: 3\n",
4906
+ "$ xano tenant cluster create --name \"eu-west-1\" --credentials \"...\" --type run --description \"EU run cluster\" -o json"
4977
4907
  ],
4978
4908
  "flags": {
4979
4909
  "profile": {
@@ -4995,6 +4925,54 @@
4995
4925
  "allowNo": false,
4996
4926
  "type": "boolean"
4997
4927
  },
4928
+ "credentials": {
4929
+ "description": "Kubeconfig credentials (raw text)",
4930
+ "exclusive": [
4931
+ "credentials_file"
4932
+ ],
4933
+ "name": "credentials",
4934
+ "required": false,
4935
+ "hasDynamicHelp": false,
4936
+ "multiple": false,
4937
+ "type": "option"
4938
+ },
4939
+ "credentials_file": {
4940
+ "description": "Path to kubeconfig credentials file",
4941
+ "exclusive": [
4942
+ "credentials"
4943
+ ],
4944
+ "name": "credentials_file",
4945
+ "required": false,
4946
+ "hasDynamicHelp": false,
4947
+ "multiple": false,
4948
+ "type": "option"
4949
+ },
4950
+ "description": {
4951
+ "char": "d",
4952
+ "description": "Cluster description",
4953
+ "name": "description",
4954
+ "required": false,
4955
+ "hasDynamicHelp": false,
4956
+ "multiple": false,
4957
+ "type": "option"
4958
+ },
4959
+ "domain": {
4960
+ "description": "Custom domain for the cluster",
4961
+ "name": "domain",
4962
+ "required": false,
4963
+ "hasDynamicHelp": false,
4964
+ "multiple": false,
4965
+ "type": "option"
4966
+ },
4967
+ "name": {
4968
+ "char": "n",
4969
+ "description": "Cluster name",
4970
+ "name": "name",
4971
+ "required": true,
4972
+ "hasDynamicHelp": false,
4973
+ "multiple": false,
4974
+ "type": "option"
4975
+ },
4998
4976
  "output": {
4999
4977
  "char": "o",
5000
4978
  "description": "Output format",
@@ -5009,19 +4987,23 @@
5009
4987
  ],
5010
4988
  "type": "option"
5011
4989
  },
5012
- "workspace": {
5013
- "char": "w",
5014
- "description": "Workspace ID (optional if set in profile)",
5015
- "name": "workspace",
4990
+ "type": {
4991
+ "description": "Cluster type",
4992
+ "name": "type",
5016
4993
  "required": false,
4994
+ "default": "standard",
5017
4995
  "hasDynamicHelp": false,
5018
4996
  "multiple": false,
4997
+ "options": [
4998
+ "standard",
4999
+ "run"
5000
+ ],
5019
5001
  "type": "option"
5020
5002
  }
5021
5003
  },
5022
5004
  "hasDynamicHelp": false,
5023
5005
  "hiddenAliases": [],
5024
- "id": "static_host:build:get",
5006
+ "id": "tenant:cluster:create",
5025
5007
  "pluginAlias": "@xano/cli",
5026
5008
  "pluginName": "@xano/cli",
5027
5009
  "pluginType": "core",
@@ -5031,27 +5013,26 @@
5031
5013
  "relativePath": [
5032
5014
  "dist",
5033
5015
  "commands",
5034
- "static_host",
5035
- "build",
5036
- "get",
5016
+ "tenant",
5017
+ "cluster",
5018
+ "create",
5037
5019
  "index.js"
5038
5020
  ]
5039
5021
  },
5040
- "static_host:build:list": {
5022
+ "tenant:cluster:delete": {
5041
5023
  "aliases": [],
5042
5024
  "args": {
5043
- "static_host": {
5044
- "description": "Static Host name",
5045
- "name": "static_host",
5025
+ "cluster_id": {
5026
+ "description": "Cluster ID to delete",
5027
+ "name": "cluster_id",
5046
5028
  "required": true
5047
5029
  }
5048
5030
  },
5049
- "description": "List all builds for a static host",
5031
+ "description": "Delete a tenant cluster. This action cannot be undone.",
5050
5032
  "examples": [
5051
- "$ 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",
5052
- "$ xano static_host:build:list myhost --profile production\nAvailable builds:\n - production (ID: 1) - Status: completed\n - staging (ID: 2) - Status: completed\n",
5053
- "$ 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",
5054
- "$ 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"
5033
+ "$ 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",
5034
+ "$ xano tenant cluster delete 3 --force\nTenant cluster 3 deleted successfully\n",
5035
+ "$ xano tenant cluster delete 3 -f -o json"
5055
5036
  ],
5056
5037
  "flags": {
5057
5038
  "profile": {
@@ -5073,6 +5054,14 @@
5073
5054
  "allowNo": false,
5074
5055
  "type": "boolean"
5075
5056
  },
5057
+ "force": {
5058
+ "char": "f",
5059
+ "description": "Skip confirmation prompt",
5060
+ "name": "force",
5061
+ "required": false,
5062
+ "allowNo": false,
5063
+ "type": "boolean"
5064
+ },
5076
5065
  "output": {
5077
5066
  "char": "o",
5078
5067
  "description": "Output format",
@@ -5086,38 +5075,116 @@
5086
5075
  "json"
5087
5076
  ],
5088
5077
  "type": "option"
5089
- },
5090
- "page": {
5091
- "description": "Page number for pagination",
5092
- "name": "page",
5078
+ }
5079
+ },
5080
+ "hasDynamicHelp": false,
5081
+ "hiddenAliases": [],
5082
+ "id": "tenant:cluster:delete",
5083
+ "pluginAlias": "@xano/cli",
5084
+ "pluginName": "@xano/cli",
5085
+ "pluginType": "core",
5086
+ "strict": true,
5087
+ "enableJsonFlag": false,
5088
+ "isESM": true,
5089
+ "relativePath": [
5090
+ "dist",
5091
+ "commands",
5092
+ "tenant",
5093
+ "cluster",
5094
+ "delete",
5095
+ "index.js"
5096
+ ]
5097
+ },
5098
+ "tenant:cluster:edit": {
5099
+ "aliases": [],
5100
+ "args": {
5101
+ "cluster_id": {
5102
+ "description": "Cluster ID to edit",
5103
+ "name": "cluster_id",
5104
+ "required": true
5105
+ }
5106
+ },
5107
+ "description": "Update an existing tenant cluster",
5108
+ "examples": [
5109
+ "$ xano tenant cluster edit 1 --name \"us-east-1-updated\" --description \"Updated cluster\" --domain \"us-east.xano.io\" --type standard\nUpdated tenant cluster: us-east-1-updated (standard) - ID: 1\n",
5110
+ "$ xano tenant cluster edit 1 --name \"eu-west\" --description \"\" --domain \"\" --type run -o json"
5111
+ ],
5112
+ "flags": {
5113
+ "profile": {
5114
+ "char": "p",
5115
+ "description": "Profile to use (uses default profile if not specified)",
5116
+ "env": "XANO_PROFILE",
5117
+ "name": "profile",
5093
5118
  "required": false,
5094
- "default": 1,
5095
5119
  "hasDynamicHelp": false,
5096
5120
  "multiple": false,
5097
5121
  "type": "option"
5098
5122
  },
5099
- "per_page": {
5100
- "description": "Number of results per page",
5101
- "name": "per_page",
5123
+ "verbose": {
5124
+ "char": "v",
5125
+ "description": "Show detailed request/response information",
5126
+ "env": "XANO_VERBOSE",
5127
+ "name": "verbose",
5102
5128
  "required": false,
5103
- "default": 50,
5129
+ "allowNo": false,
5130
+ "type": "boolean"
5131
+ },
5132
+ "description": {
5133
+ "char": "d",
5134
+ "description": "Cluster description",
5135
+ "name": "description",
5136
+ "required": true,
5104
5137
  "hasDynamicHelp": false,
5105
5138
  "multiple": false,
5106
5139
  "type": "option"
5107
5140
  },
5108
- "workspace": {
5109
- "char": "w",
5110
- "description": "Workspace ID (optional if set in profile)",
5111
- "name": "workspace",
5141
+ "domain": {
5142
+ "description": "Custom domain for the cluster",
5143
+ "name": "domain",
5144
+ "required": true,
5145
+ "hasDynamicHelp": false,
5146
+ "multiple": false,
5147
+ "type": "option"
5148
+ },
5149
+ "name": {
5150
+ "char": "n",
5151
+ "description": "Cluster name",
5152
+ "name": "name",
5153
+ "required": true,
5154
+ "hasDynamicHelp": false,
5155
+ "multiple": false,
5156
+ "type": "option"
5157
+ },
5158
+ "output": {
5159
+ "char": "o",
5160
+ "description": "Output format",
5161
+ "name": "output",
5112
5162
  "required": false,
5163
+ "default": "summary",
5164
+ "hasDynamicHelp": false,
5165
+ "multiple": false,
5166
+ "options": [
5167
+ "summary",
5168
+ "json"
5169
+ ],
5170
+ "type": "option"
5171
+ },
5172
+ "type": {
5173
+ "description": "Cluster type",
5174
+ "name": "type",
5175
+ "required": true,
5113
5176
  "hasDynamicHelp": false,
5114
5177
  "multiple": false,
5178
+ "options": [
5179
+ "standard",
5180
+ "run"
5181
+ ],
5115
5182
  "type": "option"
5116
5183
  }
5117
5184
  },
5118
5185
  "hasDynamicHelp": false,
5119
5186
  "hiddenAliases": [],
5120
- "id": "static_host:build:list",
5187
+ "id": "tenant:cluster:edit",
5121
5188
  "pluginAlias": "@xano/cli",
5122
5189
  "pluginName": "@xano/cli",
5123
5190
  "pluginType": "core",
@@ -5127,19 +5194,19 @@
5127
5194
  "relativePath": [
5128
5195
  "dist",
5129
5196
  "commands",
5130
- "static_host",
5131
- "build",
5132
- "list",
5197
+ "tenant",
5198
+ "cluster",
5199
+ "edit",
5133
5200
  "index.js"
5134
5201
  ]
5135
5202
  },
5136
- "profile:workspace:set": {
5203
+ "tenant:cluster:list": {
5137
5204
  "aliases": [],
5138
5205
  "args": {},
5139
- "description": "Interactively select a workspace for a profile",
5206
+ "description": "List all tenant clusters",
5140
5207
  "examples": [
5141
- "$ xano profile workspace set\nFetching workspaces...\n? Select a workspace: My Workspace\nWorkspace updated to 'My Workspace' (abc123) on profile 'default'\n",
5142
- "$ xano profile workspace set -p production\nFetching workspaces...\n? Select a workspace: Production API\nWorkspace updated to 'Production API' (xyz789) on profile 'production'\n"
5208
+ "$ xano tenant cluster list\nTenant clusters:\n - us-east-1 (standard) [ID: 1]\n - eu-west-1 (run) [ID: 2]\n",
5209
+ "$ xano tenant cluster list --output json"
5143
5210
  ],
5144
5211
  "flags": {
5145
5212
  "profile": {
@@ -5160,11 +5227,25 @@
5160
5227
  "required": false,
5161
5228
  "allowNo": false,
5162
5229
  "type": "boolean"
5230
+ },
5231
+ "output": {
5232
+ "char": "o",
5233
+ "description": "Output format",
5234
+ "name": "output",
5235
+ "required": false,
5236
+ "default": "summary",
5237
+ "hasDynamicHelp": false,
5238
+ "multiple": false,
5239
+ "options": [
5240
+ "summary",
5241
+ "json"
5242
+ ],
5243
+ "type": "option"
5163
5244
  }
5164
5245
  },
5165
5246
  "hasDynamicHelp": false,
5166
5247
  "hiddenAliases": [],
5167
- "id": "profile:workspace:set",
5248
+ "id": "tenant:cluster:list",
5168
5249
  "pluginAlias": "@xano/cli",
5169
5250
  "pluginName": "@xano/cli",
5170
5251
  "pluginType": "core",
@@ -5174,9 +5255,9 @@
5174
5255
  "relativePath": [
5175
5256
  "dist",
5176
5257
  "commands",
5177
- "profile",
5178
- "workspace",
5179
- "set",
5258
+ "tenant",
5259
+ "cluster",
5260
+ "list",
5180
5261
  "index.js"
5181
5262
  ]
5182
5263
  },
@@ -5266,20 +5347,20 @@
5266
5347
  "index.js"
5267
5348
  ]
5268
5349
  },
5269
- "tenant:backup:delete": {
5350
+ "tenant:backup:export": {
5270
5351
  "aliases": [],
5271
5352
  "args": {
5272
5353
  "tenant_name": {
5273
- "description": "Tenant name that owns the backup",
5354
+ "description": "Tenant name to export backup from",
5274
5355
  "name": "tenant_name",
5275
5356
  "required": true
5276
5357
  }
5277
5358
  },
5278
- "description": "Delete a tenant backup permanently. This action cannot be undone.",
5359
+ "description": "Export (download) a tenant backup to a local file",
5279
5360
  "examples": [
5280
- "$ xano tenant backup delete t1234-abcd-xyz1 --backup_id 10\nAre you sure you want to delete backup #10? This action cannot be undone. (y/N) y\nDeleted backup #10\n",
5281
- "$ xano tenant backup delete t1234-abcd-xyz1 --backup_id 10 --force",
5282
- "$ xano tenant backup delete t1234-abcd-xyz1 --backup_id 10 -o json"
5361
+ "$ xano tenant backup export t1234-abcd-xyz1 --backup_id 10\nDownloaded backup #10 to ./tenant-t1234-abcd-xyz1-backup-10.tar.gz\n",
5362
+ "$ xano tenant backup export t1234-abcd-xyz1 --backup_id 10 --output ./backups/my-backup.tar.gz",
5363
+ "$ xano tenant backup export t1234-abcd-xyz1 --backup_id 10 -o json"
5283
5364
  ],
5284
5365
  "flags": {
5285
5366
  "profile": {
@@ -5302,25 +5383,17 @@
5302
5383
  "type": "boolean"
5303
5384
  },
5304
5385
  "backup_id": {
5305
- "description": "Backup ID to delete",
5386
+ "description": "Backup ID to export",
5306
5387
  "name": "backup_id",
5307
5388
  "required": true,
5308
5389
  "hasDynamicHelp": false,
5309
5390
  "multiple": false,
5310
5391
  "type": "option"
5311
5392
  },
5312
- "force": {
5313
- "char": "f",
5314
- "description": "Skip confirmation prompt",
5315
- "name": "force",
5316
- "required": false,
5317
- "allowNo": false,
5318
- "type": "boolean"
5319
- },
5320
- "output": {
5393
+ "format": {
5321
5394
  "char": "o",
5322
5395
  "description": "Output format",
5323
- "name": "output",
5396
+ "name": "format",
5324
5397
  "required": false,
5325
5398
  "default": "summary",
5326
5399
  "hasDynamicHelp": false,
@@ -5331,6 +5404,14 @@
5331
5404
  ],
5332
5405
  "type": "option"
5333
5406
  },
5407
+ "output": {
5408
+ "description": "Output file path (defaults to ./tenant-{name}-backup-{backup_id}.tar.gz)",
5409
+ "name": "output",
5410
+ "required": false,
5411
+ "hasDynamicHelp": false,
5412
+ "multiple": false,
5413
+ "type": "option"
5414
+ },
5334
5415
  "workspace": {
5335
5416
  "char": "w",
5336
5417
  "description": "Workspace ID (uses profile workspace if not provided)",
@@ -5343,7 +5424,7 @@
5343
5424
  },
5344
5425
  "hasDynamicHelp": false,
5345
5426
  "hiddenAliases": [],
5346
- "id": "tenant:backup:delete",
5427
+ "id": "tenant:backup:export",
5347
5428
  "pluginAlias": "@xano/cli",
5348
5429
  "pluginName": "@xano/cli",
5349
5430
  "pluginType": "core",
@@ -5355,23 +5436,24 @@
5355
5436
  "commands",
5356
5437
  "tenant",
5357
5438
  "backup",
5358
- "delete",
5439
+ "export",
5359
5440
  "index.js"
5360
5441
  ]
5361
5442
  },
5362
- "tenant:backup:import": {
5443
+ "tenant:backup:delete": {
5363
5444
  "aliases": [],
5364
5445
  "args": {
5365
5446
  "tenant_name": {
5366
- "description": "Tenant name to import backup into",
5447
+ "description": "Tenant name that owns the backup",
5367
5448
  "name": "tenant_name",
5368
5449
  "required": true
5369
5450
  }
5370
5451
  },
5371
- "description": "Import a backup file into a tenant",
5452
+ "description": "Delete a tenant backup permanently. This action cannot be undone.",
5372
5453
  "examples": [
5373
- "$ xano tenant backup import t1234-abcd-xyz1 --file ./my-backup.tar.gz\nImported backup as #15 for tenant t1234-abcd-xyz1\n",
5374
- "$ xano tenant backup import t1234-abcd-xyz1 --file ./my-backup.tar.gz --description \"Restored from production\" -o json"
5454
+ "$ xano tenant backup delete t1234-abcd-xyz1 --backup_id 10\nAre you sure you want to delete backup #10? This action cannot be undone. (y/N) y\nDeleted backup #10\n",
5455
+ "$ xano tenant backup delete t1234-abcd-xyz1 --backup_id 10 --force",
5456
+ "$ xano tenant backup delete t1234-abcd-xyz1 --backup_id 10 -o json"
5375
5457
  ],
5376
5458
  "flags": {
5377
5459
  "profile": {
@@ -5393,24 +5475,21 @@
5393
5475
  "allowNo": false,
5394
5476
  "type": "boolean"
5395
5477
  },
5396
- "description": {
5397
- "char": "d",
5398
- "description": "Backup description",
5399
- "name": "description",
5400
- "required": false,
5401
- "default": "",
5478
+ "backup_id": {
5479
+ "description": "Backup ID to delete",
5480
+ "name": "backup_id",
5481
+ "required": true,
5402
5482
  "hasDynamicHelp": false,
5403
5483
  "multiple": false,
5404
5484
  "type": "option"
5405
5485
  },
5406
- "file": {
5486
+ "force": {
5407
5487
  "char": "f",
5408
- "description": "Path to the backup file (.tar.gz)",
5409
- "name": "file",
5410
- "required": true,
5411
- "hasDynamicHelp": false,
5412
- "multiple": false,
5413
- "type": "option"
5488
+ "description": "Skip confirmation prompt",
5489
+ "name": "force",
5490
+ "required": false,
5491
+ "allowNo": false,
5492
+ "type": "boolean"
5414
5493
  },
5415
5494
  "output": {
5416
5495
  "char": "o",
@@ -5438,7 +5517,7 @@
5438
5517
  },
5439
5518
  "hasDynamicHelp": false,
5440
5519
  "hiddenAliases": [],
5441
- "id": "tenant:backup:import",
5520
+ "id": "tenant:backup:delete",
5442
5521
  "pluginAlias": "@xano/cli",
5443
5522
  "pluginName": "@xano/cli",
5444
5523
  "pluginType": "core",
@@ -5450,24 +5529,23 @@
5450
5529
  "commands",
5451
5530
  "tenant",
5452
5531
  "backup",
5453
- "import",
5532
+ "delete",
5454
5533
  "index.js"
5455
5534
  ]
5456
5535
  },
5457
- "tenant:backup:export": {
5536
+ "tenant:backup:import": {
5458
5537
  "aliases": [],
5459
5538
  "args": {
5460
5539
  "tenant_name": {
5461
- "description": "Tenant name to export backup from",
5540
+ "description": "Tenant name to import backup into",
5462
5541
  "name": "tenant_name",
5463
5542
  "required": true
5464
5543
  }
5465
5544
  },
5466
- "description": "Export (download) a tenant backup to a local file",
5545
+ "description": "Import a backup file into a tenant",
5467
5546
  "examples": [
5468
- "$ xano tenant backup export t1234-abcd-xyz1 --backup_id 10\nDownloaded backup #10 to ./tenant-t1234-abcd-xyz1-backup-10.tar.gz\n",
5469
- "$ xano tenant backup export t1234-abcd-xyz1 --backup_id 10 --output ./backups/my-backup.tar.gz",
5470
- "$ xano tenant backup export t1234-abcd-xyz1 --backup_id 10 -o json"
5547
+ "$ xano tenant backup import t1234-abcd-xyz1 --file ./my-backup.tar.gz\nImported backup as #15 for tenant t1234-abcd-xyz1\n",
5548
+ "$ xano tenant backup import t1234-abcd-xyz1 --file ./my-backup.tar.gz --description \"Restored from production\" -o json"
5471
5549
  ],
5472
5550
  "flags": {
5473
5551
  "profile": {
@@ -5489,18 +5567,29 @@
5489
5567
  "allowNo": false,
5490
5568
  "type": "boolean"
5491
5569
  },
5492
- "backup_id": {
5493
- "description": "Backup ID to export",
5494
- "name": "backup_id",
5570
+ "description": {
5571
+ "char": "d",
5572
+ "description": "Backup description",
5573
+ "name": "description",
5574
+ "required": false,
5575
+ "default": "",
5576
+ "hasDynamicHelp": false,
5577
+ "multiple": false,
5578
+ "type": "option"
5579
+ },
5580
+ "file": {
5581
+ "char": "f",
5582
+ "description": "Path to the backup file (.tar.gz)",
5583
+ "name": "file",
5495
5584
  "required": true,
5496
5585
  "hasDynamicHelp": false,
5497
5586
  "multiple": false,
5498
5587
  "type": "option"
5499
5588
  },
5500
- "format": {
5589
+ "output": {
5501
5590
  "char": "o",
5502
5591
  "description": "Output format",
5503
- "name": "format",
5592
+ "name": "output",
5504
5593
  "required": false,
5505
5594
  "default": "summary",
5506
5595
  "hasDynamicHelp": false,
@@ -5511,14 +5600,6 @@
5511
5600
  ],
5512
5601
  "type": "option"
5513
5602
  },
5514
- "output": {
5515
- "description": "Output file path (defaults to ./tenant-{name}-backup-{backup_id}.tar.gz)",
5516
- "name": "output",
5517
- "required": false,
5518
- "hasDynamicHelp": false,
5519
- "multiple": false,
5520
- "type": "option"
5521
- },
5522
5603
  "workspace": {
5523
5604
  "char": "w",
5524
5605
  "description": "Workspace ID (uses profile workspace if not provided)",
@@ -5531,7 +5612,7 @@
5531
5612
  },
5532
5613
  "hasDynamicHelp": false,
5533
5614
  "hiddenAliases": [],
5534
- "id": "tenant:backup:export",
5615
+ "id": "tenant:backup:import",
5535
5616
  "pluginAlias": "@xano/cli",
5536
5617
  "pluginName": "@xano/cli",
5537
5618
  "pluginType": "core",
@@ -5543,7 +5624,7 @@
5543
5624
  "commands",
5544
5625
  "tenant",
5545
5626
  "backup",
5546
- "export",
5627
+ "import",
5547
5628
  "index.js"
5548
5629
  ]
5549
5630
  },
@@ -5724,13 +5805,20 @@
5724
5805
  "index.js"
5725
5806
  ]
5726
5807
  },
5727
- "tenant:cluster:create": {
5808
+ "tenant:env:delete": {
5728
5809
  "aliases": [],
5729
- "args": {},
5730
- "description": "Create a new tenant cluster",
5810
+ "args": {
5811
+ "tenant_name": {
5812
+ "description": "Tenant name",
5813
+ "name": "tenant_name",
5814
+ "required": true
5815
+ }
5816
+ },
5817
+ "description": "Delete an environment variable from a tenant",
5731
5818
  "examples": [
5732
- "$ xano tenant cluster create --name \"us-east-1\" --credentials_file ./kubeconfig.yaml\nCreated tenant cluster: us-east-1 (standard) - ID: 3\n",
5733
- "$ xano tenant cluster create --name \"eu-west-1\" --credentials \"...\" --type run --description \"EU run cluster\" -o json"
5819
+ "$ xano tenant env delete my-tenant --name DATABASE_URL\nAre you sure you want to delete environment variable 'DATABASE_URL' from tenant my-tenant? (y/N) y\nEnvironment variable 'DATABASE_URL' deleted from tenant my-tenant\n",
5820
+ "$ xano tenant env delete my-tenant --name DATABASE_URL --force\nEnvironment variable 'DATABASE_URL' deleted from tenant my-tenant\n",
5821
+ "$ xano tenant env delete my-tenant --name DATABASE_URL -f -w 5 -o json"
5734
5822
  ],
5735
5823
  "flags": {
5736
5824
  "profile": {
@@ -5752,48 +5840,17 @@
5752
5840
  "allowNo": false,
5753
5841
  "type": "boolean"
5754
5842
  },
5755
- "credentials": {
5756
- "description": "Kubeconfig credentials (raw text)",
5757
- "exclusive": [
5758
- "credentials_file"
5759
- ],
5760
- "name": "credentials",
5761
- "required": false,
5762
- "hasDynamicHelp": false,
5763
- "multiple": false,
5764
- "type": "option"
5765
- },
5766
- "credentials_file": {
5767
- "description": "Path to kubeconfig credentials file",
5768
- "exclusive": [
5769
- "credentials"
5770
- ],
5771
- "name": "credentials_file",
5772
- "required": false,
5773
- "hasDynamicHelp": false,
5774
- "multiple": false,
5775
- "type": "option"
5776
- },
5777
- "description": {
5778
- "char": "d",
5779
- "description": "Cluster description",
5780
- "name": "description",
5781
- "required": false,
5782
- "hasDynamicHelp": false,
5783
- "multiple": false,
5784
- "type": "option"
5785
- },
5786
- "domain": {
5787
- "description": "Custom domain for the cluster",
5788
- "name": "domain",
5843
+ "force": {
5844
+ "char": "f",
5845
+ "description": "Skip confirmation prompt",
5846
+ "name": "force",
5789
5847
  "required": false,
5790
- "hasDynamicHelp": false,
5791
- "multiple": false,
5792
- "type": "option"
5848
+ "allowNo": false,
5849
+ "type": "boolean"
5793
5850
  },
5794
5851
  "name": {
5795
5852
  "char": "n",
5796
- "description": "Cluster name",
5853
+ "description": "Environment variable name",
5797
5854
  "name": "name",
5798
5855
  "required": true,
5799
5856
  "hasDynamicHelp": false,
@@ -5814,23 +5871,19 @@
5814
5871
  ],
5815
5872
  "type": "option"
5816
5873
  },
5817
- "type": {
5818
- "description": "Cluster type",
5819
- "name": "type",
5874
+ "workspace": {
5875
+ "char": "w",
5876
+ "description": "Workspace ID (uses profile workspace if not provided)",
5877
+ "name": "workspace",
5820
5878
  "required": false,
5821
- "default": "standard",
5822
5879
  "hasDynamicHelp": false,
5823
5880
  "multiple": false,
5824
- "options": [
5825
- "standard",
5826
- "run"
5827
- ],
5828
5881
  "type": "option"
5829
5882
  }
5830
5883
  },
5831
5884
  "hasDynamicHelp": false,
5832
5885
  "hiddenAliases": [],
5833
- "id": "tenant:cluster:create",
5886
+ "id": "tenant:env:delete",
5834
5887
  "pluginAlias": "@xano/cli",
5835
5888
  "pluginName": "@xano/cli",
5836
5889
  "pluginType": "core",
@@ -5841,25 +5894,24 @@
5841
5894
  "dist",
5842
5895
  "commands",
5843
5896
  "tenant",
5844
- "cluster",
5845
- "create",
5897
+ "env",
5898
+ "delete",
5846
5899
  "index.js"
5847
5900
  ]
5848
5901
  },
5849
- "tenant:cluster:delete": {
5902
+ "tenant:env:list": {
5850
5903
  "aliases": [],
5851
5904
  "args": {
5852
- "cluster_id": {
5853
- "description": "Cluster ID to delete",
5854
- "name": "cluster_id",
5905
+ "tenant_name": {
5906
+ "description": "Tenant name",
5907
+ "name": "tenant_name",
5855
5908
  "required": true
5856
5909
  }
5857
5910
  },
5858
- "description": "Delete a tenant cluster. This action cannot be undone.",
5911
+ "description": "List environment variable keys for a tenant",
5859
5912
  "examples": [
5860
- "$ 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",
5861
- "$ xano tenant cluster delete 3 --force\nTenant cluster 3 deleted successfully\n",
5862
- "$ xano tenant cluster delete 3 -f -o json"
5913
+ "$ xano tenant env list my-tenant\nEnvironment variables for tenant my-tenant:\n - DATABASE_URL\n - API_KEY\n - SECRET_TOKEN\n",
5914
+ "$ xano tenant env list my-tenant -w 5 -o json"
5863
5915
  ],
5864
5916
  "flags": {
5865
5917
  "profile": {
@@ -5881,14 +5933,6 @@
5881
5933
  "allowNo": false,
5882
5934
  "type": "boolean"
5883
5935
  },
5884
- "force": {
5885
- "char": "f",
5886
- "description": "Skip confirmation prompt",
5887
- "name": "force",
5888
- "required": false,
5889
- "allowNo": false,
5890
- "type": "boolean"
5891
- },
5892
5936
  "output": {
5893
5937
  "char": "o",
5894
5938
  "description": "Output format",
@@ -5902,11 +5946,20 @@
5902
5946
  "json"
5903
5947
  ],
5904
5948
  "type": "option"
5949
+ },
5950
+ "workspace": {
5951
+ "char": "w",
5952
+ "description": "Workspace ID (uses profile workspace if not provided)",
5953
+ "name": "workspace",
5954
+ "required": false,
5955
+ "hasDynamicHelp": false,
5956
+ "multiple": false,
5957
+ "type": "option"
5905
5958
  }
5906
5959
  },
5907
5960
  "hasDynamicHelp": false,
5908
5961
  "hiddenAliases": [],
5909
- "id": "tenant:cluster:delete",
5962
+ "id": "tenant:env:list",
5910
5963
  "pluginAlias": "@xano/cli",
5911
5964
  "pluginName": "@xano/cli",
5912
5965
  "pluginType": "core",
@@ -5917,24 +5970,24 @@
5917
5970
  "dist",
5918
5971
  "commands",
5919
5972
  "tenant",
5920
- "cluster",
5921
- "delete",
5973
+ "env",
5974
+ "list",
5922
5975
  "index.js"
5923
5976
  ]
5924
5977
  },
5925
- "tenant:cluster:edit": {
5978
+ "tenant:env:get": {
5926
5979
  "aliases": [],
5927
5980
  "args": {
5928
- "cluster_id": {
5929
- "description": "Cluster ID to edit",
5930
- "name": "cluster_id",
5981
+ "tenant_name": {
5982
+ "description": "Tenant name",
5983
+ "name": "tenant_name",
5931
5984
  "required": true
5932
5985
  }
5933
5986
  },
5934
- "description": "Update an existing tenant cluster",
5987
+ "description": "Get a single environment variable for a tenant",
5935
5988
  "examples": [
5936
- "$ xano tenant cluster edit 1 --name \"us-east-1-updated\" --description \"Updated cluster\" --domain \"us-east.xano.io\" --type standard\nUpdated tenant cluster: us-east-1-updated (standard) - ID: 1\n",
5937
- "$ xano tenant cluster edit 1 --name \"eu-west\" --description \"\" --domain \"\" --type run -o json"
5989
+ "$ xano tenant env get my-tenant --name DATABASE_URL\npostgres://localhost:5432/mydb\n",
5990
+ "$ xano tenant env get my-tenant --name DATABASE_URL -w 5 -o json"
5938
5991
  ],
5939
5992
  "flags": {
5940
5993
  "profile": {
@@ -5956,27 +6009,10 @@
5956
6009
  "allowNo": false,
5957
6010
  "type": "boolean"
5958
6011
  },
5959
- "description": {
5960
- "char": "d",
5961
- "description": "Cluster description",
5962
- "name": "description",
5963
- "required": true,
5964
- "hasDynamicHelp": false,
5965
- "multiple": false,
5966
- "type": "option"
5967
- },
5968
- "domain": {
5969
- "description": "Custom domain for the cluster",
5970
- "name": "domain",
5971
- "required": true,
5972
- "hasDynamicHelp": false,
5973
- "multiple": false,
5974
- "type": "option"
5975
- },
5976
- "name": {
5977
- "char": "n",
5978
- "description": "Cluster name",
5979
- "name": "name",
6012
+ "name": {
6013
+ "char": "n",
6014
+ "description": "Environment variable name",
6015
+ "name": "name",
5980
6016
  "required": true,
5981
6017
  "hasDynamicHelp": false,
5982
6018
  "multiple": false,
@@ -5996,22 +6032,19 @@
5996
6032
  ],
5997
6033
  "type": "option"
5998
6034
  },
5999
- "type": {
6000
- "description": "Cluster type",
6001
- "name": "type",
6002
- "required": true,
6035
+ "workspace": {
6036
+ "char": "w",
6037
+ "description": "Workspace ID (uses profile workspace if not provided)",
6038
+ "name": "workspace",
6039
+ "required": false,
6003
6040
  "hasDynamicHelp": false,
6004
6041
  "multiple": false,
6005
- "options": [
6006
- "standard",
6007
- "run"
6008
- ],
6009
6042
  "type": "option"
6010
6043
  }
6011
6044
  },
6012
6045
  "hasDynamicHelp": false,
6013
6046
  "hiddenAliases": [],
6014
- "id": "tenant:cluster:edit",
6047
+ "id": "tenant:env:get",
6015
6048
  "pluginAlias": "@xano/cli",
6016
6049
  "pluginName": "@xano/cli",
6017
6050
  "pluginType": "core",
@@ -6022,8 +6055,8 @@
6022
6055
  "dist",
6023
6056
  "commands",
6024
6057
  "tenant",
6025
- "cluster",
6026
- "edit",
6058
+ "env",
6059
+ "get",
6027
6060
  "index.js"
6028
6061
  ]
6029
6062
  },
@@ -6094,68 +6127,7 @@
6094
6127
  "index.js"
6095
6128
  ]
6096
6129
  },
6097
- "tenant:cluster:list": {
6098
- "aliases": [],
6099
- "args": {},
6100
- "description": "List all tenant clusters",
6101
- "examples": [
6102
- "$ xano tenant cluster list\nTenant clusters:\n - us-east-1 (standard) [ID: 1]\n - eu-west-1 (run) [ID: 2]\n",
6103
- "$ xano tenant cluster list --output json"
6104
- ],
6105
- "flags": {
6106
- "profile": {
6107
- "char": "p",
6108
- "description": "Profile to use (uses default profile if not specified)",
6109
- "env": "XANO_PROFILE",
6110
- "name": "profile",
6111
- "required": false,
6112
- "hasDynamicHelp": false,
6113
- "multiple": false,
6114
- "type": "option"
6115
- },
6116
- "verbose": {
6117
- "char": "v",
6118
- "description": "Show detailed request/response information",
6119
- "env": "XANO_VERBOSE",
6120
- "name": "verbose",
6121
- "required": false,
6122
- "allowNo": false,
6123
- "type": "boolean"
6124
- },
6125
- "output": {
6126
- "char": "o",
6127
- "description": "Output format",
6128
- "name": "output",
6129
- "required": false,
6130
- "default": "summary",
6131
- "hasDynamicHelp": false,
6132
- "multiple": false,
6133
- "options": [
6134
- "summary",
6135
- "json"
6136
- ],
6137
- "type": "option"
6138
- }
6139
- },
6140
- "hasDynamicHelp": false,
6141
- "hiddenAliases": [],
6142
- "id": "tenant:cluster:list",
6143
- "pluginAlias": "@xano/cli",
6144
- "pluginName": "@xano/cli",
6145
- "pluginType": "core",
6146
- "strict": true,
6147
- "enableJsonFlag": false,
6148
- "isESM": true,
6149
- "relativePath": [
6150
- "dist",
6151
- "commands",
6152
- "tenant",
6153
- "cluster",
6154
- "list",
6155
- "index.js"
6156
- ]
6157
- },
6158
- "tenant:env:delete": {
6130
+ "tenant:env:set": {
6159
6131
  "aliases": [],
6160
6132
  "args": {
6161
6133
  "tenant_name": {
@@ -6164,11 +6136,10 @@
6164
6136
  "required": true
6165
6137
  }
6166
6138
  },
6167
- "description": "Delete an environment variable from a tenant",
6139
+ "description": "Set (create or update) an environment variable for a tenant",
6168
6140
  "examples": [
6169
- "$ xano tenant env delete my-tenant --name DATABASE_URL\nAre you sure you want to delete environment variable 'DATABASE_URL' from tenant my-tenant? (y/N) y\nEnvironment variable 'DATABASE_URL' deleted from tenant my-tenant\n",
6170
- "$ xano tenant env delete my-tenant --name DATABASE_URL --force\nEnvironment variable 'DATABASE_URL' deleted from tenant my-tenant\n",
6171
- "$ xano tenant env delete my-tenant --name DATABASE_URL -f -w 5 -o json"
6141
+ "$ xano tenant env set my-tenant --name DATABASE_URL --value postgres://localhost:5432/mydb\nEnvironment variable 'DATABASE_URL' set for tenant my-tenant\n",
6142
+ "$ xano tenant env set my-tenant --name DATABASE_URL --value postgres://localhost:5432/mydb -w 5 -o json"
6172
6143
  ],
6173
6144
  "flags": {
6174
6145
  "profile": {
@@ -6190,14 +6161,6 @@
6190
6161
  "allowNo": false,
6191
6162
  "type": "boolean"
6192
6163
  },
6193
- "force": {
6194
- "char": "f",
6195
- "description": "Skip confirmation prompt",
6196
- "name": "force",
6197
- "required": false,
6198
- "allowNo": false,
6199
- "type": "boolean"
6200
- },
6201
6164
  "name": {
6202
6165
  "char": "n",
6203
6166
  "description": "Environment variable name",
@@ -6221,6 +6184,14 @@
6221
6184
  ],
6222
6185
  "type": "option"
6223
6186
  },
6187
+ "value": {
6188
+ "description": "Environment variable value",
6189
+ "name": "value",
6190
+ "required": true,
6191
+ "hasDynamicHelp": false,
6192
+ "multiple": false,
6193
+ "type": "option"
6194
+ },
6224
6195
  "workspace": {
6225
6196
  "char": "w",
6226
6197
  "description": "Workspace ID (uses profile workspace if not provided)",
@@ -6233,7 +6204,7 @@
6233
6204
  },
6234
6205
  "hasDynamicHelp": false,
6235
6206
  "hiddenAliases": [],
6236
- "id": "tenant:env:delete",
6207
+ "id": "tenant:env:set",
6237
6208
  "pluginAlias": "@xano/cli",
6238
6209
  "pluginName": "@xano/cli",
6239
6210
  "pluginType": "core",
@@ -6245,11 +6216,11 @@
6245
6216
  "commands",
6246
6217
  "tenant",
6247
6218
  "env",
6248
- "delete",
6219
+ "set",
6249
6220
  "index.js"
6250
6221
  ]
6251
6222
  },
6252
- "tenant:env:get": {
6223
+ "tenant:env:set_all": {
6253
6224
  "aliases": [],
6254
6225
  "args": {
6255
6226
  "tenant_name": {
@@ -6258,10 +6229,11 @@
6258
6229
  "required": true
6259
6230
  }
6260
6231
  },
6261
- "description": "Get a single environment variable for a tenant",
6232
+ "description": "Set all environment variables for a tenant from a YAML file (replaces all existing)",
6262
6233
  "examples": [
6263
- "$ xano tenant env get my-tenant --name DATABASE_URL\npostgres://localhost:5432/mydb\n",
6264
- "$ xano tenant env get my-tenant --name DATABASE_URL -w 5 -o json"
6234
+ "$ xano tenant env set_all my-tenant\nReads from env_my-tenant.yaml\n",
6235
+ "$ xano tenant env set_all my-tenant --file ./my-env.yaml",
6236
+ "$ xano tenant env set_all my-tenant -o json"
6265
6237
  ],
6266
6238
  "flags": {
6267
6239
  "profile": {
@@ -6283,11 +6255,18 @@
6283
6255
  "allowNo": false,
6284
6256
  "type": "boolean"
6285
6257
  },
6286
- "name": {
6287
- "char": "n",
6288
- "description": "Environment variable name",
6289
- "name": "name",
6290
- "required": true,
6258
+ "clean": {
6259
+ "description": "Remove the source file after successful upload",
6260
+ "name": "clean",
6261
+ "required": false,
6262
+ "allowNo": false,
6263
+ "type": "boolean"
6264
+ },
6265
+ "file": {
6266
+ "char": "f",
6267
+ "description": "Path to env file (default: env_<tenant_name>.yaml)",
6268
+ "name": "file",
6269
+ "required": false,
6291
6270
  "hasDynamicHelp": false,
6292
6271
  "multiple": false,
6293
6272
  "type": "option"
@@ -6318,7 +6297,7 @@
6318
6297
  },
6319
6298
  "hasDynamicHelp": false,
6320
6299
  "hiddenAliases": [],
6321
- "id": "tenant:env:get",
6300
+ "id": "tenant:env:set_all",
6322
6301
  "pluginAlias": "@xano/cli",
6323
6302
  "pluginName": "@xano/cli",
6324
6303
  "pluginType": "core",
@@ -6330,11 +6309,11 @@
6330
6309
  "commands",
6331
6310
  "tenant",
6332
6311
  "env",
6333
- "get",
6312
+ "set_all",
6334
6313
  "index.js"
6335
6314
  ]
6336
6315
  },
6337
- "tenant:env:get_all": {
6316
+ "tenant:license:get": {
6338
6317
  "aliases": [],
6339
6318
  "args": {
6340
6319
  "tenant_name": {
@@ -6343,12 +6322,12 @@
6343
6322
  "required": true
6344
6323
  }
6345
6324
  },
6346
- "description": "Get all environment variables for a tenant and save to a YAML file",
6325
+ "description": "Get the license for a tenant",
6347
6326
  "examples": [
6348
- "$ xano tenant env get_all my-tenant\nEnvironment variables saved to env_my-tenant.yaml\n",
6349
- "$ xano tenant env get_all my-tenant --file ./my-env.yaml",
6350
- "$ xano tenant env get_all my-tenant --view",
6351
- "$ xano tenant env get_all my-tenant -o json"
6327
+ "$ xano tenant license get my-tenant\nLicense saved to license_my-tenant.yaml\n",
6328
+ "$ xano tenant license get my-tenant --file ./my-license.yaml\nLicense saved to my-license.yaml\n",
6329
+ "$ xano tenant license get my-tenant --view",
6330
+ "$ xano tenant license get my-tenant -o json"
6352
6331
  ],
6353
6332
  "flags": {
6354
6333
  "profile": {
@@ -6372,7 +6351,7 @@
6372
6351
  },
6373
6352
  "file": {
6374
6353
  "char": "f",
6375
- "description": "Output file path (default: env_<tenant_name>.yaml)",
6354
+ "description": "Output file path (default: license_<tenant_name>.yaml)",
6376
6355
  "name": "file",
6377
6356
  "required": false,
6378
6357
  "hasDynamicHelp": false,
@@ -6394,7 +6373,7 @@
6394
6373
  "type": "option"
6395
6374
  },
6396
6375
  "view": {
6397
- "description": "Print environment variables to stdout instead of saving to file",
6376
+ "description": "Print license to stdout instead of saving to file",
6398
6377
  "name": "view",
6399
6378
  "required": false,
6400
6379
  "allowNo": false,
@@ -6412,7 +6391,7 @@
6412
6391
  },
6413
6392
  "hasDynamicHelp": false,
6414
6393
  "hiddenAliases": [],
6415
- "id": "tenant:env:get_all",
6394
+ "id": "tenant:license:get",
6416
6395
  "pluginAlias": "@xano/cli",
6417
6396
  "pluginName": "@xano/cli",
6418
6397
  "pluginType": "core",
@@ -6423,12 +6402,12 @@
6423
6402
  "dist",
6424
6403
  "commands",
6425
6404
  "tenant",
6426
- "env",
6427
- "get_all",
6405
+ "license",
6406
+ "get",
6428
6407
  "index.js"
6429
6408
  ]
6430
6409
  },
6431
- "tenant:env:list": {
6410
+ "tenant:license:set": {
6432
6411
  "aliases": [],
6433
6412
  "args": {
6434
6413
  "tenant_name": {
@@ -6437,10 +6416,12 @@
6437
6416
  "required": true
6438
6417
  }
6439
6418
  },
6440
- "description": "List environment variable keys for a tenant",
6419
+ "description": "Set/update the license for a tenant",
6441
6420
  "examples": [
6442
- "$ xano tenant env list my-tenant\nEnvironment variables for tenant my-tenant:\n - DATABASE_URL\n - API_KEY\n - SECRET_TOKEN\n",
6443
- "$ xano tenant env list my-tenant -w 5 -o json"
6421
+ "$ xano tenant license set my-tenant\nReads from license_my-tenant.yaml\n",
6422
+ "$ xano tenant license set my-tenant --file ./license.yaml",
6423
+ "$ xano tenant license set my-tenant --value 'key: value'",
6424
+ "$ xano tenant license set my-tenant -o json"
6444
6425
  ],
6445
6426
  "flags": {
6446
6427
  "profile": {
@@ -6462,6 +6443,28 @@
6462
6443
  "allowNo": false,
6463
6444
  "type": "boolean"
6464
6445
  },
6446
+ "clean": {
6447
+ "description": "Remove the source file after successful upload",
6448
+ "exclusive": [
6449
+ "value"
6450
+ ],
6451
+ "name": "clean",
6452
+ "required": false,
6453
+ "allowNo": false,
6454
+ "type": "boolean"
6455
+ },
6456
+ "file": {
6457
+ "char": "f",
6458
+ "description": "Path to license file (default: license_<tenant_name>.yaml)",
6459
+ "exclusive": [
6460
+ "value"
6461
+ ],
6462
+ "name": "file",
6463
+ "required": false,
6464
+ "hasDynamicHelp": false,
6465
+ "multiple": false,
6466
+ "type": "option"
6467
+ },
6465
6468
  "output": {
6466
6469
  "char": "o",
6467
6470
  "description": "Output format",
@@ -6476,6 +6479,18 @@
6476
6479
  ],
6477
6480
  "type": "option"
6478
6481
  },
6482
+ "value": {
6483
+ "description": "Inline license value",
6484
+ "exclusive": [
6485
+ "file",
6486
+ "clean"
6487
+ ],
6488
+ "name": "value",
6489
+ "required": false,
6490
+ "hasDynamicHelp": false,
6491
+ "multiple": false,
6492
+ "type": "option"
6493
+ },
6479
6494
  "workspace": {
6480
6495
  "char": "w",
6481
6496
  "description": "Workspace ID (uses profile workspace if not provided)",
@@ -6488,7 +6503,7 @@
6488
6503
  },
6489
6504
  "hasDynamicHelp": false,
6490
6505
  "hiddenAliases": [],
6491
- "id": "tenant:env:list",
6506
+ "id": "tenant:license:set",
6492
6507
  "pluginAlias": "@xano/cli",
6493
6508
  "pluginName": "@xano/cli",
6494
6509
  "pluginType": "core",
@@ -6499,24 +6514,25 @@
6499
6514
  "dist",
6500
6515
  "commands",
6501
6516
  "tenant",
6502
- "env",
6503
- "list",
6517
+ "license",
6518
+ "set",
6504
6519
  "index.js"
6505
6520
  ]
6506
6521
  },
6507
- "tenant:env:set": {
6522
+ "static_host:build:create": {
6508
6523
  "aliases": [],
6509
6524
  "args": {
6510
- "tenant_name": {
6511
- "description": "Tenant name",
6512
- "name": "tenant_name",
6525
+ "static_host": {
6526
+ "description": "Static Host name",
6527
+ "name": "static_host",
6513
6528
  "required": true
6514
6529
  }
6515
6530
  },
6516
- "description": "Set (create or update) an environment variable for a tenant",
6531
+ "description": "Create a new build for a static host",
6517
6532
  "examples": [
6518
- "$ xano tenant env set my-tenant --name DATABASE_URL --value postgres://localhost:5432/mydb\nEnvironment variable 'DATABASE_URL' set for tenant my-tenant\n",
6519
- "$ xano tenant env set my-tenant --name DATABASE_URL --value postgres://localhost:5432/mydb -w 5 -o json"
6533
+ "$ xano static_host:build:create default -f ./build.zip -n \"v1.0.0\"\nBuild created successfully!\nID: 123\nName: v1.0.0\nStatus: pending\n",
6534
+ "$ xano static_host:build:create default -w 40 -f ./dist.zip -n \"production\" -d \"Production build\"\nBuild created successfully!\nID: 124\nName: production\nDescription: Production build\n",
6535
+ "$ xano static_host:build:create myhost -f ./app.zip -n \"release-1.2\" -o json\n{\n \"id\": 125,\n \"name\": \"release-1.2\",\n \"status\": \"pending\"\n}\n"
6520
6536
  ],
6521
6537
  "flags": {
6522
6538
  "profile": {
@@ -6538,9 +6554,27 @@
6538
6554
  "allowNo": false,
6539
6555
  "type": "boolean"
6540
6556
  },
6557
+ "description": {
6558
+ "char": "d",
6559
+ "description": "Build description",
6560
+ "name": "description",
6561
+ "required": false,
6562
+ "hasDynamicHelp": false,
6563
+ "multiple": false,
6564
+ "type": "option"
6565
+ },
6566
+ "file": {
6567
+ "char": "f",
6568
+ "description": "Path to zip file to upload",
6569
+ "name": "file",
6570
+ "required": true,
6571
+ "hasDynamicHelp": false,
6572
+ "multiple": false,
6573
+ "type": "option"
6574
+ },
6541
6575
  "name": {
6542
6576
  "char": "n",
6543
- "description": "Environment variable name",
6577
+ "description": "Build name",
6544
6578
  "name": "name",
6545
6579
  "required": true,
6546
6580
  "hasDynamicHelp": false,
@@ -6561,17 +6595,9 @@
6561
6595
  ],
6562
6596
  "type": "option"
6563
6597
  },
6564
- "value": {
6565
- "description": "Environment variable value",
6566
- "name": "value",
6567
- "required": true,
6568
- "hasDynamicHelp": false,
6569
- "multiple": false,
6570
- "type": "option"
6571
- },
6572
6598
  "workspace": {
6573
6599
  "char": "w",
6574
- "description": "Workspace ID (uses profile workspace if not provided)",
6600
+ "description": "Workspace ID (optional if set in profile)",
6575
6601
  "name": "workspace",
6576
6602
  "required": false,
6577
6603
  "hasDynamicHelp": false,
@@ -6581,7 +6607,7 @@
6581
6607
  },
6582
6608
  "hasDynamicHelp": false,
6583
6609
  "hiddenAliases": [],
6584
- "id": "tenant:env:set",
6610
+ "id": "static_host:build:create",
6585
6611
  "pluginAlias": "@xano/cli",
6586
6612
  "pluginName": "@xano/cli",
6587
6613
  "pluginType": "core",
@@ -6591,26 +6617,32 @@
6591
6617
  "relativePath": [
6592
6618
  "dist",
6593
6619
  "commands",
6594
- "tenant",
6595
- "env",
6596
- "set",
6620
+ "static_host",
6621
+ "build",
6622
+ "create",
6597
6623
  "index.js"
6598
6624
  ]
6599
6625
  },
6600
- "tenant:env:set_all": {
6626
+ "static_host:build:get": {
6601
6627
  "aliases": [],
6602
6628
  "args": {
6603
- "tenant_name": {
6604
- "description": "Tenant name",
6605
- "name": "tenant_name",
6629
+ "build_id": {
6630
+ "description": "Build ID",
6631
+ "name": "build_id",
6632
+ "required": true
6633
+ },
6634
+ "static_host": {
6635
+ "description": "Static Host name",
6636
+ "name": "static_host",
6606
6637
  "required": true
6607
6638
  }
6608
6639
  },
6609
- "description": "Set all environment variables for a tenant from a YAML file (replaces all existing)",
6640
+ "description": "Get details of a specific build for a static host",
6610
6641
  "examples": [
6611
- "$ xano tenant env set_all my-tenant\nReads from env_my-tenant.yaml\n",
6612
- "$ xano tenant env set_all my-tenant --file ./my-env.yaml",
6613
- "$ xano tenant env set_all my-tenant -o json"
6642
+ "$ xano static_host:build:get default 52\nBuild Details:\nID: 52\nName: v1.0.0\nStatus: completed\n",
6643
+ "$ xano static_host:build:get default 52 -w 40\nBuild Details:\nID: 52\nName: v1.0.0\nStatus: completed\n",
6644
+ "$ xano static_host:build:get myhost 123 --profile production\nBuild Details:\nID: 123\nName: production-build\n",
6645
+ "$ xano static_host:build:get default 52 -o json\n{\n \"id\": 52,\n \"name\": \"v1.0.0\",\n \"status\": \"completed\"\n}\n"
6614
6646
  ],
6615
6647
  "flags": {
6616
6648
  "profile": {
@@ -6632,22 +6664,6 @@
6632
6664
  "allowNo": false,
6633
6665
  "type": "boolean"
6634
6666
  },
6635
- "clean": {
6636
- "description": "Remove the source file after successful upload",
6637
- "name": "clean",
6638
- "required": false,
6639
- "allowNo": false,
6640
- "type": "boolean"
6641
- },
6642
- "file": {
6643
- "char": "f",
6644
- "description": "Path to env file (default: env_<tenant_name>.yaml)",
6645
- "name": "file",
6646
- "required": false,
6647
- "hasDynamicHelp": false,
6648
- "multiple": false,
6649
- "type": "option"
6650
- },
6651
6667
  "output": {
6652
6668
  "char": "o",
6653
6669
  "description": "Output format",
@@ -6664,7 +6680,7 @@
6664
6680
  },
6665
6681
  "workspace": {
6666
6682
  "char": "w",
6667
- "description": "Workspace ID (uses profile workspace if not provided)",
6683
+ "description": "Workspace ID (optional if set in profile)",
6668
6684
  "name": "workspace",
6669
6685
  "required": false,
6670
6686
  "hasDynamicHelp": false,
@@ -6674,7 +6690,7 @@
6674
6690
  },
6675
6691
  "hasDynamicHelp": false,
6676
6692
  "hiddenAliases": [],
6677
- "id": "tenant:env:set_all",
6693
+ "id": "static_host:build:get",
6678
6694
  "pluginAlias": "@xano/cli",
6679
6695
  "pluginName": "@xano/cli",
6680
6696
  "pluginType": "core",
@@ -6684,27 +6700,30 @@
6684
6700
  "relativePath": [
6685
6701
  "dist",
6686
6702
  "commands",
6687
- "tenant",
6688
- "env",
6689
- "set_all",
6703
+ "static_host",
6704
+ "build",
6705
+ "get",
6690
6706
  "index.js"
6691
6707
  ]
6692
6708
  },
6693
- "tenant:license:get": {
6709
+ "workspace:git:pull": {
6694
6710
  "aliases": [],
6695
6711
  "args": {
6696
- "tenant_name": {
6697
- "description": "Tenant name",
6698
- "name": "tenant_name",
6712
+ "directory": {
6713
+ "description": "Output directory for imported files",
6714
+ "name": "directory",
6699
6715
  "required": true
6700
6716
  }
6701
6717
  },
6702
- "description": "Get the license for a tenant",
6718
+ "description": "Pull XanoScript files from a git repository into a local directory",
6703
6719
  "examples": [
6704
- "$ xano tenant license get my-tenant\nLicense saved to license_my-tenant.yaml\n",
6705
- "$ xano tenant license get my-tenant --file ./my-license.yaml\nLicense saved to my-license.yaml\n",
6706
- "$ xano tenant license get my-tenant --view",
6707
- "$ xano tenant license get my-tenant -o json"
6720
+ "$ xano workspace git pull ./output -r https://github.com/owner/repo",
6721
+ "$ xano workspace git pull ./output -r https://github.com/owner/repo/tree/main/path/to/dir",
6722
+ "$ xano workspace git pull ./output -r https://github.com/owner/repo/blob/main/path/to/file.xs",
6723
+ "$ xano workspace git pull ./output -r git@github.com:owner/repo.git",
6724
+ "$ xano workspace git pull ./output -r https://github.com/owner/private-repo -t ghp_xxx",
6725
+ "$ xano workspace git pull ./output -r https://gitlab.com/owner/repo/-/tree/master/path",
6726
+ "$ xano workspace git pull ./output -r https://gitlab.com/owner/repo -b main"
6708
6727
  ],
6709
6728
  "flags": {
6710
6729
  "profile": {
@@ -6726,40 +6745,37 @@
6726
6745
  "allowNo": false,
6727
6746
  "type": "boolean"
6728
6747
  },
6729
- "file": {
6730
- "char": "f",
6731
- "description": "Output file path (default: license_<tenant_name>.yaml)",
6732
- "name": "file",
6748
+ "branch": {
6749
+ "char": "b",
6750
+ "description": "Branch, tag, or ref to fetch (defaults to repository default branch)",
6751
+ "name": "branch",
6733
6752
  "required": false,
6734
6753
  "hasDynamicHelp": false,
6735
6754
  "multiple": false,
6736
6755
  "type": "option"
6737
6756
  },
6738
- "output": {
6739
- "char": "o",
6740
- "description": "Output format",
6741
- "name": "output",
6757
+ "path": {
6758
+ "description": "Subdirectory within the repo to import from",
6759
+ "name": "path",
6742
6760
  "required": false,
6743
- "default": "summary",
6744
6761
  "hasDynamicHelp": false,
6745
6762
  "multiple": false,
6746
- "options": [
6747
- "summary",
6748
- "json"
6749
- ],
6750
6763
  "type": "option"
6751
6764
  },
6752
- "view": {
6753
- "description": "Print license to stdout instead of saving to file",
6754
- "name": "view",
6755
- "required": false,
6756
- "allowNo": false,
6757
- "type": "boolean"
6765
+ "repo": {
6766
+ "char": "r",
6767
+ "description": "Git repository URL (GitHub HTTPS, SSH, or any git URL)",
6768
+ "name": "repo",
6769
+ "required": true,
6770
+ "hasDynamicHelp": false,
6771
+ "multiple": false,
6772
+ "type": "option"
6758
6773
  },
6759
- "workspace": {
6760
- "char": "w",
6761
- "description": "Workspace ID (uses profile workspace if not provided)",
6762
- "name": "workspace",
6774
+ "token": {
6775
+ "char": "t",
6776
+ "description": "Personal access token for private repos (falls back to GITHUB_TOKEN env var)",
6777
+ "env": "GITHUB_TOKEN",
6778
+ "name": "token",
6763
6779
  "required": false,
6764
6780
  "hasDynamicHelp": false,
6765
6781
  "multiple": false,
@@ -6768,7 +6784,7 @@
6768
6784
  },
6769
6785
  "hasDynamicHelp": false,
6770
6786
  "hiddenAliases": [],
6771
- "id": "tenant:license:get",
6787
+ "id": "workspace:git:pull",
6772
6788
  "pluginAlias": "@xano/cli",
6773
6789
  "pluginName": "@xano/cli",
6774
6790
  "pluginType": "core",
@@ -6778,27 +6794,27 @@
6778
6794
  "relativePath": [
6779
6795
  "dist",
6780
6796
  "commands",
6781
- "tenant",
6782
- "license",
6783
- "get",
6797
+ "workspace",
6798
+ "git",
6799
+ "pull",
6784
6800
  "index.js"
6785
6801
  ]
6786
6802
  },
6787
- "tenant:license:set": {
6803
+ "static_host:build:list": {
6788
6804
  "aliases": [],
6789
6805
  "args": {
6790
- "tenant_name": {
6791
- "description": "Tenant name",
6792
- "name": "tenant_name",
6806
+ "static_host": {
6807
+ "description": "Static Host name",
6808
+ "name": "static_host",
6793
6809
  "required": true
6794
6810
  }
6795
6811
  },
6796
- "description": "Set/update the license for a tenant",
6812
+ "description": "List all builds for a static host",
6797
6813
  "examples": [
6798
- "$ xano tenant license set my-tenant\nReads from license_my-tenant.yaml\n",
6799
- "$ xano tenant license set my-tenant --file ./license.yaml",
6800
- "$ xano tenant license set my-tenant --value 'key: value'",
6801
- "$ xano tenant license set my-tenant -o json"
6814
+ "$ 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",
6815
+ "$ xano static_host:build:list myhost --profile production\nAvailable builds:\n - production (ID: 1) - Status: completed\n - staging (ID: 2) - Status: completed\n",
6816
+ "$ 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",
6817
+ "$ 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"
6802
6818
  ],
6803
6819
  "flags": {
6804
6820
  "profile": {
@@ -6820,28 +6836,6 @@
6820
6836
  "allowNo": false,
6821
6837
  "type": "boolean"
6822
6838
  },
6823
- "clean": {
6824
- "description": "Remove the source file after successful upload",
6825
- "exclusive": [
6826
- "value"
6827
- ],
6828
- "name": "clean",
6829
- "required": false,
6830
- "allowNo": false,
6831
- "type": "boolean"
6832
- },
6833
- "file": {
6834
- "char": "f",
6835
- "description": "Path to license file (default: license_<tenant_name>.yaml)",
6836
- "exclusive": [
6837
- "value"
6838
- ],
6839
- "name": "file",
6840
- "required": false,
6841
- "hasDynamicHelp": false,
6842
- "multiple": false,
6843
- "type": "option"
6844
- },
6845
6839
  "output": {
6846
6840
  "char": "o",
6847
6841
  "description": "Output format",
@@ -6856,21 +6850,27 @@
6856
6850
  ],
6857
6851
  "type": "option"
6858
6852
  },
6859
- "value": {
6860
- "description": "Inline license value",
6861
- "exclusive": [
6862
- "file",
6863
- "clean"
6864
- ],
6865
- "name": "value",
6853
+ "page": {
6854
+ "description": "Page number for pagination",
6855
+ "name": "page",
6866
6856
  "required": false,
6857
+ "default": 1,
6858
+ "hasDynamicHelp": false,
6859
+ "multiple": false,
6860
+ "type": "option"
6861
+ },
6862
+ "per_page": {
6863
+ "description": "Number of results per page",
6864
+ "name": "per_page",
6865
+ "required": false,
6866
+ "default": 50,
6867
6867
  "hasDynamicHelp": false,
6868
6868
  "multiple": false,
6869
6869
  "type": "option"
6870
6870
  },
6871
6871
  "workspace": {
6872
6872
  "char": "w",
6873
- "description": "Workspace ID (uses profile workspace if not provided)",
6873
+ "description": "Workspace ID (optional if set in profile)",
6874
6874
  "name": "workspace",
6875
6875
  "required": false,
6876
6876
  "hasDynamicHelp": false,
@@ -6880,7 +6880,7 @@
6880
6880
  },
6881
6881
  "hasDynamicHelp": false,
6882
6882
  "hiddenAliases": [],
6883
- "id": "tenant:license:set",
6883
+ "id": "static_host:build:list",
6884
6884
  "pluginAlias": "@xano/cli",
6885
6885
  "pluginName": "@xano/cli",
6886
6886
  "pluginType": "core",
@@ -6890,30 +6890,27 @@
6890
6890
  "relativePath": [
6891
6891
  "dist",
6892
6892
  "commands",
6893
- "tenant",
6894
- "license",
6895
- "set",
6893
+ "static_host",
6894
+ "build",
6895
+ "list",
6896
6896
  "index.js"
6897
6897
  ]
6898
6898
  },
6899
- "workspace:git:pull": {
6899
+ "tenant:env:get_all": {
6900
6900
  "aliases": [],
6901
6901
  "args": {
6902
- "directory": {
6903
- "description": "Output directory for imported files",
6904
- "name": "directory",
6902
+ "tenant_name": {
6903
+ "description": "Tenant name",
6904
+ "name": "tenant_name",
6905
6905
  "required": true
6906
6906
  }
6907
6907
  },
6908
- "description": "Pull XanoScript files from a git repository into a local directory",
6908
+ "description": "Get all environment variables for a tenant and save to a YAML file",
6909
6909
  "examples": [
6910
- "$ xano workspace git pull ./output -r https://github.com/owner/repo",
6911
- "$ xano workspace git pull ./output -r https://github.com/owner/repo/tree/main/path/to/dir",
6912
- "$ xano workspace git pull ./output -r https://github.com/owner/repo/blob/main/path/to/file.xs",
6913
- "$ xano workspace git pull ./output -r git@github.com:owner/repo.git",
6914
- "$ xano workspace git pull ./output -r https://github.com/owner/private-repo -t ghp_xxx",
6915
- "$ xano workspace git pull ./output -r https://gitlab.com/owner/repo/-/tree/master/path",
6916
- "$ xano workspace git pull ./output -r https://gitlab.com/owner/repo -b main"
6910
+ "$ xano tenant env get_all my-tenant\nEnvironment variables saved to env_my-tenant.yaml\n",
6911
+ "$ xano tenant env get_all my-tenant --file ./my-env.yaml",
6912
+ "$ xano tenant env get_all my-tenant --view",
6913
+ "$ xano tenant env get_all my-tenant -o json"
6917
6914
  ],
6918
6915
  "flags": {
6919
6916
  "profile": {
@@ -6935,37 +6932,40 @@
6935
6932
  "allowNo": false,
6936
6933
  "type": "boolean"
6937
6934
  },
6938
- "branch": {
6939
- "char": "b",
6940
- "description": "Branch, tag, or ref to fetch (defaults to repository default branch)",
6941
- "name": "branch",
6935
+ "file": {
6936
+ "char": "f",
6937
+ "description": "Output file path (default: env_<tenant_name>.yaml)",
6938
+ "name": "file",
6942
6939
  "required": false,
6943
6940
  "hasDynamicHelp": false,
6944
6941
  "multiple": false,
6945
6942
  "type": "option"
6946
6943
  },
6947
- "path": {
6948
- "description": "Subdirectory within the repo to import from",
6949
- "name": "path",
6944
+ "output": {
6945
+ "char": "o",
6946
+ "description": "Output format",
6947
+ "name": "output",
6950
6948
  "required": false,
6949
+ "default": "summary",
6951
6950
  "hasDynamicHelp": false,
6952
6951
  "multiple": false,
6952
+ "options": [
6953
+ "summary",
6954
+ "json"
6955
+ ],
6953
6956
  "type": "option"
6954
6957
  },
6955
- "repo": {
6956
- "char": "r",
6957
- "description": "Git repository URL (GitHub HTTPS, SSH, or any git URL)",
6958
- "name": "repo",
6959
- "required": true,
6960
- "hasDynamicHelp": false,
6961
- "multiple": false,
6962
- "type": "option"
6958
+ "view": {
6959
+ "description": "Print environment variables to stdout instead of saving to file",
6960
+ "name": "view",
6961
+ "required": false,
6962
+ "allowNo": false,
6963
+ "type": "boolean"
6963
6964
  },
6964
- "token": {
6965
- "char": "t",
6966
- "description": "Personal access token for private repos (falls back to GITHUB_TOKEN env var)",
6967
- "env": "GITHUB_TOKEN",
6968
- "name": "token",
6965
+ "workspace": {
6966
+ "char": "w",
6967
+ "description": "Workspace ID (uses profile workspace if not provided)",
6968
+ "name": "workspace",
6969
6969
  "required": false,
6970
6970
  "hasDynamicHelp": false,
6971
6971
  "multiple": false,
@@ -6974,7 +6974,7 @@
6974
6974
  },
6975
6975
  "hasDynamicHelp": false,
6976
6976
  "hiddenAliases": [],
6977
- "id": "workspace:git:pull",
6977
+ "id": "tenant:env:get_all",
6978
6978
  "pluginAlias": "@xano/cli",
6979
6979
  "pluginName": "@xano/cli",
6980
6980
  "pluginType": "core",
@@ -6984,9 +6984,9 @@
6984
6984
  "relativePath": [
6985
6985
  "dist",
6986
6986
  "commands",
6987
- "workspace",
6988
- "git",
6989
- "pull",
6987
+ "tenant",
6988
+ "env",
6989
+ "get_all",
6990
6990
  "index.js"
6991
6991
  ]
6992
6992
  },
@@ -7181,5 +7181,5 @@
7181
7181
  ]
7182
7182
  }
7183
7183
  },
7184
- "version": "0.0.91"
7184
+ "version": "0.0.93"
7185
7185
  }