@xano/cli 0.0.85 → 0.0.86

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.
@@ -461,20 +461,16 @@
461
461
  "index.js"
462
462
  ]
463
463
  },
464
- "branch:set_live": {
464
+ "function:create": {
465
465
  "aliases": [],
466
- "args": {
467
- "branch_label": {
468
- "description": "Branch label to set as live (use \"v1\" for default branch)",
469
- "name": "branch_label",
470
- "required": true
471
- }
472
- },
473
- "description": "Set a branch as the live (active) branch for API requests",
466
+ "args": {},
467
+ "description": "Create a new function in a workspace",
474
468
  "examples": [
475
- "$ xano branch set-live staging\nAre you sure you want to set 'staging' as the live branch? (y/N) y\nBranch 'staging' is now live\n",
476
- "$ xano branch set-live v1 --force\nBranch 'v1' is now live\n",
477
- "$ xano branch set-live production -f -o json\n{\n \"created_at\": \"2024-02-10T09:15:00Z\",\n \"label\": \"production\",\n \"backup\": false,\n \"live\": true\n}\n"
469
+ "$ xano function:create -w 40 -f function.xs\nFunction created successfully!\nID: 123\nName: my_function\n",
470
+ "$ xano function:create -f function.xs\nFunction created successfully!\nID: 123\nName: my_function\n",
471
+ "$ xano function:create -w 40 -f function.xs --edit\n# Opens function.xs in $EDITOR, then creates function with edited content\nFunction created successfully!\nID: 123\nName: my_function\n",
472
+ "$ cat function.xs | xano function:create -w 40 --stdin\nFunction created successfully!\nID: 123\nName: my_function\n",
473
+ "$ xano function:create -w 40 -f function.xs -o json\n{\n \"id\": 123,\n \"name\": \"my_function\",\n ...\n}\n"
478
474
  ],
479
475
  "flags": {
480
476
  "profile": {
@@ -496,14 +492,29 @@
496
492
  "allowNo": false,
497
493
  "type": "boolean"
498
494
  },
499
- "force": {
500
- "char": "f",
501
- "description": "Skip confirmation prompt",
502
- "name": "force",
495
+ "edit": {
496
+ "char": "e",
497
+ "dependsOn": [
498
+ "file"
499
+ ],
500
+ "description": "Open file in editor before creating function (requires --file)",
501
+ "name": "edit",
503
502
  "required": false,
504
503
  "allowNo": false,
505
504
  "type": "boolean"
506
505
  },
506
+ "file": {
507
+ "char": "f",
508
+ "description": "Path to file containing XanoScript code",
509
+ "exclusive": [
510
+ "stdin"
511
+ ],
512
+ "name": "file",
513
+ "required": false,
514
+ "hasDynamicHelp": false,
515
+ "multiple": false,
516
+ "type": "option"
517
+ },
507
518
  "output": {
508
519
  "char": "o",
509
520
  "description": "Output format",
@@ -518,9 +529,20 @@
518
529
  ],
519
530
  "type": "option"
520
531
  },
532
+ "stdin": {
533
+ "char": "s",
534
+ "description": "Read XanoScript code from stdin",
535
+ "exclusive": [
536
+ "file"
537
+ ],
538
+ "name": "stdin",
539
+ "required": false,
540
+ "allowNo": false,
541
+ "type": "boolean"
542
+ },
521
543
  "workspace": {
522
544
  "char": "w",
523
- "description": "Workspace ID (uses profile workspace if not provided)",
545
+ "description": "Workspace ID (optional if set in profile)",
524
546
  "name": "workspace",
525
547
  "required": false,
526
548
  "hasDynamicHelp": false,
@@ -530,7 +552,7 @@
530
552
  },
531
553
  "hasDynamicHelp": false,
532
554
  "hiddenAliases": [],
533
- "id": "branch:set_live",
555
+ "id": "function:create",
534
556
  "pluginAlias": "@xano/cli",
535
557
  "pluginName": "@xano/cli",
536
558
  "pluginType": "core",
@@ -540,21 +562,25 @@
540
562
  "relativePath": [
541
563
  "dist",
542
564
  "commands",
543
- "branch",
544
- "set_live",
565
+ "function",
566
+ "create",
545
567
  "index.js"
546
568
  ]
547
569
  },
548
- "function:create": {
570
+ "branch:set_live": {
549
571
  "aliases": [],
550
- "args": {},
551
- "description": "Create a new function in a workspace",
572
+ "args": {
573
+ "branch_label": {
574
+ "description": "Branch label to set as live (use \"v1\" for default branch)",
575
+ "name": "branch_label",
576
+ "required": true
577
+ }
578
+ },
579
+ "description": "Set a branch as the live (active) branch for API requests",
552
580
  "examples": [
553
- "$ xano function:create -w 40 -f function.xs\nFunction created successfully!\nID: 123\nName: my_function\n",
554
- "$ xano function:create -f function.xs\nFunction created successfully!\nID: 123\nName: my_function\n",
555
- "$ xano function:create -w 40 -f function.xs --edit\n# Opens function.xs in $EDITOR, then creates function with edited content\nFunction created successfully!\nID: 123\nName: my_function\n",
556
- "$ cat function.xs | xano function:create -w 40 --stdin\nFunction created successfully!\nID: 123\nName: my_function\n",
557
- "$ xano function:create -w 40 -f function.xs -o json\n{\n \"id\": 123,\n \"name\": \"my_function\",\n ...\n}\n"
581
+ "$ xano branch set-live staging\nAre you sure you want to set 'staging' as the live branch? (y/N) y\nBranch 'staging' is now live\n",
582
+ "$ xano branch set-live v1 --force\nBranch 'v1' is now live\n",
583
+ "$ xano branch set-live production -f -o json\n{\n \"created_at\": \"2024-02-10T09:15:00Z\",\n \"label\": \"production\",\n \"backup\": false,\n \"live\": true\n}\n"
558
584
  ],
559
585
  "flags": {
560
586
  "profile": {
@@ -576,29 +602,14 @@
576
602
  "allowNo": false,
577
603
  "type": "boolean"
578
604
  },
579
- "edit": {
580
- "char": "e",
581
- "dependsOn": [
582
- "file"
583
- ],
584
- "description": "Open file in editor before creating function (requires --file)",
585
- "name": "edit",
605
+ "force": {
606
+ "char": "f",
607
+ "description": "Skip confirmation prompt",
608
+ "name": "force",
586
609
  "required": false,
587
610
  "allowNo": false,
588
611
  "type": "boolean"
589
612
  },
590
- "file": {
591
- "char": "f",
592
- "description": "Path to file containing XanoScript code",
593
- "exclusive": [
594
- "stdin"
595
- ],
596
- "name": "file",
597
- "required": false,
598
- "hasDynamicHelp": false,
599
- "multiple": false,
600
- "type": "option"
601
- },
602
613
  "output": {
603
614
  "char": "o",
604
615
  "description": "Output format",
@@ -613,20 +624,9 @@
613
624
  ],
614
625
  "type": "option"
615
626
  },
616
- "stdin": {
617
- "char": "s",
618
- "description": "Read XanoScript code from stdin",
619
- "exclusive": [
620
- "file"
621
- ],
622
- "name": "stdin",
623
- "required": false,
624
- "allowNo": false,
625
- "type": "boolean"
626
- },
627
627
  "workspace": {
628
628
  "char": "w",
629
- "description": "Workspace ID (optional if set in profile)",
629
+ "description": "Workspace ID (uses profile workspace if not provided)",
630
630
  "name": "workspace",
631
631
  "required": false,
632
632
  "hasDynamicHelp": false,
@@ -636,7 +636,7 @@
636
636
  },
637
637
  "hasDynamicHelp": false,
638
638
  "hiddenAliases": [],
639
- "id": "function:create",
639
+ "id": "branch:set_live",
640
640
  "pluginAlias": "@xano/cli",
641
641
  "pluginName": "@xano/cli",
642
642
  "pluginType": "core",
@@ -646,8 +646,8 @@
646
646
  "relativePath": [
647
647
  "dist",
648
648
  "commands",
649
- "function",
650
- "create",
649
+ "branch",
650
+ "set_live",
651
651
  "index.js"
652
652
  ]
653
653
  },
@@ -989,72 +989,6 @@
989
989
  "index.js"
990
990
  ]
991
991
  },
992
- "platform:get": {
993
- "aliases": [],
994
- "args": {
995
- "platform_id": {
996
- "description": "Platform ID to retrieve",
997
- "name": "platform_id",
998
- "required": true
999
- }
1000
- },
1001
- "description": "Get details of a specific platform",
1002
- "examples": [
1003
- "$ 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",
1004
- "$ xano platform get 23629 -o json"
1005
- ],
1006
- "flags": {
1007
- "profile": {
1008
- "char": "p",
1009
- "description": "Profile to use (uses default profile if not specified)",
1010
- "env": "XANO_PROFILE",
1011
- "name": "profile",
1012
- "required": false,
1013
- "hasDynamicHelp": false,
1014
- "multiple": false,
1015
- "type": "option"
1016
- },
1017
- "verbose": {
1018
- "char": "v",
1019
- "description": "Show detailed request/response information",
1020
- "env": "XANO_VERBOSE",
1021
- "name": "verbose",
1022
- "required": false,
1023
- "allowNo": false,
1024
- "type": "boolean"
1025
- },
1026
- "output": {
1027
- "char": "o",
1028
- "description": "Output format",
1029
- "name": "output",
1030
- "required": false,
1031
- "default": "summary",
1032
- "hasDynamicHelp": false,
1033
- "multiple": false,
1034
- "options": [
1035
- "summary",
1036
- "json"
1037
- ],
1038
- "type": "option"
1039
- }
1040
- },
1041
- "hasDynamicHelp": false,
1042
- "hiddenAliases": [],
1043
- "id": "platform:get",
1044
- "pluginAlias": "@xano/cli",
1045
- "pluginName": "@xano/cli",
1046
- "pluginType": "core",
1047
- "strict": true,
1048
- "enableJsonFlag": false,
1049
- "isESM": true,
1050
- "relativePath": [
1051
- "dist",
1052
- "commands",
1053
- "platform",
1054
- "get",
1055
- "index.js"
1056
- ]
1057
- },
1058
992
  "profile:create": {
1059
993
  "aliases": [],
1060
994
  "args": {
@@ -1151,13 +1085,19 @@
1151
1085
  "index.js"
1152
1086
  ]
1153
1087
  },
1154
- "platform:list": {
1088
+ "platform:get": {
1155
1089
  "aliases": [],
1156
- "args": {},
1157
- "description": "List all platforms",
1090
+ "args": {
1091
+ "platform_id": {
1092
+ "description": "Platform ID to retrieve",
1093
+ "name": "platform_id",
1094
+ "required": true
1095
+ }
1096
+ },
1097
+ "description": "Get details of a specific platform",
1158
1098
  "examples": [
1159
- "$ xano platform list\nPlatforms:\n ID: 23629 | Helm: 0.1.356 | Created: 2025-11-28\n",
1160
- "$ xano platform list --output json"
1099
+ "$ 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",
1100
+ "$ xano platform get 23629 -o json"
1161
1101
  ],
1162
1102
  "flags": {
1163
1103
  "profile": {
@@ -1196,7 +1136,7 @@
1196
1136
  },
1197
1137
  "hasDynamicHelp": false,
1198
1138
  "hiddenAliases": [],
1199
- "id": "platform:list",
1139
+ "id": "platform:get",
1200
1140
  "pluginAlias": "@xano/cli",
1201
1141
  "pluginName": "@xano/cli",
1202
1142
  "pluginType": "core",
@@ -1207,43 +1147,179 @@
1207
1147
  "dist",
1208
1148
  "commands",
1209
1149
  "platform",
1210
- "list",
1150
+ "get",
1211
1151
  "index.js"
1212
1152
  ]
1213
1153
  },
1214
- "profile:delete": {
1154
+ "platform:list": {
1215
1155
  "aliases": [],
1216
- "args": {
1217
- "name": {
1218
- "description": "Profile name to delete",
1219
- "name": "name",
1220
- "required": true
1221
- }
1222
- },
1223
- "description": "Delete a profile configuration",
1156
+ "args": {},
1157
+ "description": "List all platforms",
1224
1158
  "examples": [
1225
- "$ xano profile:delete old-profile\nAre you sure you want to delete profile 'old-profile'? (y/n): y\nProfile 'old-profile' deleted successfully from ~/.xano/credentials.yaml\n",
1226
- "$ xano profile:delete old-profile --force\nProfile 'old-profile' deleted successfully from ~/.xano/credentials.yaml\n",
1227
- "$ xano profile:delete old-profile -f\nProfile 'old-profile' deleted successfully from ~/.xano/credentials.yaml\n"
1159
+ "$ xano platform list\nPlatforms:\n ID: 23629 | Helm: 0.1.356 | Created: 2025-11-28\n",
1160
+ "$ xano platform list --output json"
1228
1161
  ],
1229
1162
  "flags": {
1230
- "force": {
1231
- "char": "f",
1232
- "description": "Skip confirmation prompt",
1233
- "name": "force",
1163
+ "profile": {
1164
+ "char": "p",
1165
+ "description": "Profile to use (uses default profile if not specified)",
1166
+ "env": "XANO_PROFILE",
1167
+ "name": "profile",
1168
+ "required": false,
1169
+ "hasDynamicHelp": false,
1170
+ "multiple": false,
1171
+ "type": "option"
1172
+ },
1173
+ "verbose": {
1174
+ "char": "v",
1175
+ "description": "Show detailed request/response information",
1176
+ "env": "XANO_VERBOSE",
1177
+ "name": "verbose",
1234
1178
  "required": false,
1235
1179
  "allowNo": false,
1236
1180
  "type": "boolean"
1237
- }
1238
- },
1239
- "hasDynamicHelp": false,
1240
- "hiddenAliases": [],
1241
- "id": "profile:delete",
1242
- "pluginAlias": "@xano/cli",
1243
- "pluginName": "@xano/cli",
1244
- "pluginType": "core",
1245
- "strict": true,
1246
- "enableJsonFlag": false,
1181
+ },
1182
+ "output": {
1183
+ "char": "o",
1184
+ "description": "Output format",
1185
+ "name": "output",
1186
+ "required": false,
1187
+ "default": "summary",
1188
+ "hasDynamicHelp": false,
1189
+ "multiple": false,
1190
+ "options": [
1191
+ "summary",
1192
+ "json"
1193
+ ],
1194
+ "type": "option"
1195
+ }
1196
+ },
1197
+ "hasDynamicHelp": false,
1198
+ "hiddenAliases": [],
1199
+ "id": "platform:list",
1200
+ "pluginAlias": "@xano/cli",
1201
+ "pluginName": "@xano/cli",
1202
+ "pluginType": "core",
1203
+ "strict": true,
1204
+ "enableJsonFlag": false,
1205
+ "isESM": true,
1206
+ "relativePath": [
1207
+ "dist",
1208
+ "commands",
1209
+ "platform",
1210
+ "list",
1211
+ "index.js"
1212
+ ]
1213
+ },
1214
+ "branch:get": {
1215
+ "aliases": [],
1216
+ "args": {
1217
+ "branch_label": {
1218
+ "description": "Branch label (e.g., \"v1\", \"dev\")",
1219
+ "name": "branch_label",
1220
+ "required": true
1221
+ }
1222
+ },
1223
+ "description": "Get details for a specific branch",
1224
+ "examples": [
1225
+ "$ xano branch get v1\nBranch: v1 (live)\n Created: 2024-01-15\n",
1226
+ "$ xano branch get dev -w 123\nBranch: dev\n Created: 2024-02-01\n",
1227
+ "$ xano branch get staging --output json\n{\n \"created_at\": \"2024-02-10T09:15:00Z\",\n \"label\": \"staging\",\n \"backup\": false,\n \"live\": false\n}\n"
1228
+ ],
1229
+ "flags": {
1230
+ "profile": {
1231
+ "char": "p",
1232
+ "description": "Profile to use (uses default profile if not specified)",
1233
+ "env": "XANO_PROFILE",
1234
+ "name": "profile",
1235
+ "required": false,
1236
+ "hasDynamicHelp": false,
1237
+ "multiple": false,
1238
+ "type": "option"
1239
+ },
1240
+ "verbose": {
1241
+ "char": "v",
1242
+ "description": "Show detailed request/response information",
1243
+ "env": "XANO_VERBOSE",
1244
+ "name": "verbose",
1245
+ "required": false,
1246
+ "allowNo": false,
1247
+ "type": "boolean"
1248
+ },
1249
+ "output": {
1250
+ "char": "o",
1251
+ "description": "Output format",
1252
+ "name": "output",
1253
+ "required": false,
1254
+ "default": "summary",
1255
+ "hasDynamicHelp": false,
1256
+ "multiple": false,
1257
+ "options": [
1258
+ "summary",
1259
+ "json"
1260
+ ],
1261
+ "type": "option"
1262
+ },
1263
+ "workspace": {
1264
+ "char": "w",
1265
+ "description": "Workspace ID (uses profile workspace if not provided)",
1266
+ "name": "workspace",
1267
+ "required": false,
1268
+ "hasDynamicHelp": false,
1269
+ "multiple": false,
1270
+ "type": "option"
1271
+ }
1272
+ },
1273
+ "hasDynamicHelp": false,
1274
+ "hiddenAliases": [],
1275
+ "id": "branch:get",
1276
+ "pluginAlias": "@xano/cli",
1277
+ "pluginName": "@xano/cli",
1278
+ "pluginType": "core",
1279
+ "strict": true,
1280
+ "enableJsonFlag": false,
1281
+ "isESM": true,
1282
+ "relativePath": [
1283
+ "dist",
1284
+ "commands",
1285
+ "branch",
1286
+ "get",
1287
+ "index.js"
1288
+ ]
1289
+ },
1290
+ "profile:delete": {
1291
+ "aliases": [],
1292
+ "args": {
1293
+ "name": {
1294
+ "description": "Profile name to delete",
1295
+ "name": "name",
1296
+ "required": true
1297
+ }
1298
+ },
1299
+ "description": "Delete a profile configuration",
1300
+ "examples": [
1301
+ "$ xano profile:delete old-profile\nAre you sure you want to delete profile 'old-profile'? (y/n): y\nProfile 'old-profile' deleted successfully from ~/.xano/credentials.yaml\n",
1302
+ "$ xano profile:delete old-profile --force\nProfile 'old-profile' deleted successfully from ~/.xano/credentials.yaml\n",
1303
+ "$ xano profile:delete old-profile -f\nProfile 'old-profile' deleted successfully from ~/.xano/credentials.yaml\n"
1304
+ ],
1305
+ "flags": {
1306
+ "force": {
1307
+ "char": "f",
1308
+ "description": "Skip confirmation prompt",
1309
+ "name": "force",
1310
+ "required": false,
1311
+ "allowNo": false,
1312
+ "type": "boolean"
1313
+ }
1314
+ },
1315
+ "hasDynamicHelp": false,
1316
+ "hiddenAliases": [],
1317
+ "id": "profile:delete",
1318
+ "pluginAlias": "@xano/cli",
1319
+ "pluginName": "@xano/cli",
1320
+ "pluginType": "core",
1321
+ "strict": true,
1322
+ "enableJsonFlag": false,
1247
1323
  "isESM": true,
1248
1324
  "relativePath": [
1249
1325
  "dist",
@@ -1408,118 +1484,6 @@
1408
1484
  "index.js"
1409
1485
  ]
1410
1486
  },
1411
- "profile:list": {
1412
- "aliases": [],
1413
- "args": {},
1414
- "description": "List all available profile configurations",
1415
- "examples": [
1416
- "$ xano profile:list\nAvailable profiles:\n - default\n - production\n - staging\n - development\n",
1417
- "$ 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",
1418
- "$ 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"
1419
- ],
1420
- "flags": {
1421
- "details": {
1422
- "char": "d",
1423
- "description": "Show detailed information for each profile",
1424
- "name": "details",
1425
- "required": false,
1426
- "allowNo": false,
1427
- "type": "boolean"
1428
- }
1429
- },
1430
- "hasDynamicHelp": false,
1431
- "hiddenAliases": [],
1432
- "id": "profile:list",
1433
- "pluginAlias": "@xano/cli",
1434
- "pluginName": "@xano/cli",
1435
- "pluginType": "core",
1436
- "strict": true,
1437
- "enableJsonFlag": false,
1438
- "isESM": true,
1439
- "relativePath": [
1440
- "dist",
1441
- "commands",
1442
- "profile",
1443
- "list",
1444
- "index.js"
1445
- ]
1446
- },
1447
- "branch:get": {
1448
- "aliases": [],
1449
- "args": {
1450
- "branch_label": {
1451
- "description": "Branch label (e.g., \"v1\", \"dev\")",
1452
- "name": "branch_label",
1453
- "required": true
1454
- }
1455
- },
1456
- "description": "Get details for a specific branch",
1457
- "examples": [
1458
- "$ xano branch get v1\nBranch: v1 (live)\n Created: 2024-01-15\n",
1459
- "$ xano branch get dev -w 123\nBranch: dev\n Created: 2024-02-01\n",
1460
- "$ 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"
1461
- ],
1462
- "flags": {
1463
- "profile": {
1464
- "char": "p",
1465
- "description": "Profile to use (uses default profile if not specified)",
1466
- "env": "XANO_PROFILE",
1467
- "name": "profile",
1468
- "required": false,
1469
- "hasDynamicHelp": false,
1470
- "multiple": false,
1471
- "type": "option"
1472
- },
1473
- "verbose": {
1474
- "char": "v",
1475
- "description": "Show detailed request/response information",
1476
- "env": "XANO_VERBOSE",
1477
- "name": "verbose",
1478
- "required": false,
1479
- "allowNo": false,
1480
- "type": "boolean"
1481
- },
1482
- "output": {
1483
- "char": "o",
1484
- "description": "Output format",
1485
- "name": "output",
1486
- "required": false,
1487
- "default": "summary",
1488
- "hasDynamicHelp": false,
1489
- "multiple": false,
1490
- "options": [
1491
- "summary",
1492
- "json"
1493
- ],
1494
- "type": "option"
1495
- },
1496
- "workspace": {
1497
- "char": "w",
1498
- "description": "Workspace ID (uses profile workspace if not provided)",
1499
- "name": "workspace",
1500
- "required": false,
1501
- "hasDynamicHelp": false,
1502
- "multiple": false,
1503
- "type": "option"
1504
- }
1505
- },
1506
- "hasDynamicHelp": false,
1507
- "hiddenAliases": [],
1508
- "id": "branch:get",
1509
- "pluginAlias": "@xano/cli",
1510
- "pluginName": "@xano/cli",
1511
- "pluginType": "core",
1512
- "strict": true,
1513
- "enableJsonFlag": false,
1514
- "isESM": true,
1515
- "relativePath": [
1516
- "dist",
1517
- "commands",
1518
- "branch",
1519
- "get",
1520
- "index.js"
1521
- ]
1522
- },
1523
1487
  "profile:me": {
1524
1488
  "aliases": [],
1525
1489
  "args": {},
@@ -1638,18 +1602,28 @@
1638
1602
  "index.js"
1639
1603
  ]
1640
1604
  },
1641
- "profile:workspace": {
1605
+ "profile:list": {
1642
1606
  "aliases": [],
1643
1607
  "args": {},
1644
- "description": "Print the workspace ID for the default profile",
1608
+ "description": "List all available profile configurations",
1645
1609
  "examples": [
1646
- "$ xano profile:workspace\nabc123-workspace-id\n",
1647
- "$ xano profile:workspace | pbcopy\n# Copies the workspace ID to clipboard on macOS\n"
1610
+ "$ xano profile:list\nAvailable profiles:\n - default\n - production\n - staging\n - development\n",
1611
+ "$ 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",
1612
+ "$ 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"
1648
1613
  ],
1649
- "flags": {},
1614
+ "flags": {
1615
+ "details": {
1616
+ "char": "d",
1617
+ "description": "Show detailed information for each profile",
1618
+ "name": "details",
1619
+ "required": false,
1620
+ "allowNo": false,
1621
+ "type": "boolean"
1622
+ }
1623
+ },
1650
1624
  "hasDynamicHelp": false,
1651
1625
  "hiddenAliases": [],
1652
- "id": "profile:workspace",
1626
+ "id": "profile:list",
1653
1627
  "pluginAlias": "@xano/cli",
1654
1628
  "pluginName": "@xano/cli",
1655
1629
  "pluginType": "core",
@@ -1660,7 +1634,60 @@
1660
1634
  "dist",
1661
1635
  "commands",
1662
1636
  "profile",
1663
- "workspace",
1637
+ "list",
1638
+ "index.js"
1639
+ ]
1640
+ },
1641
+ "profile:wizard": {
1642
+ "aliases": [],
1643
+ "args": {},
1644
+ "description": "Create a new profile configuration using an interactive wizard",
1645
+ "examples": [
1646
+ "$ xano profile:wizard\nWelcome to the Xano Profile Wizard!\n? Enter your access token: ***...***\n? Select an instance:\n > Production (https://app.xano.com)\n Staging (https://staging.xano.com)\n? Profile name: production\nProfile 'production' created successfully at ~/.xano/credentials.yaml\n"
1647
+ ],
1648
+ "flags": {
1649
+ "insecure": {
1650
+ "char": "k",
1651
+ "description": "Skip TLS certificate verification (for self-signed certificates)",
1652
+ "name": "insecure",
1653
+ "required": false,
1654
+ "allowNo": false,
1655
+ "type": "boolean"
1656
+ },
1657
+ "name": {
1658
+ "char": "n",
1659
+ "description": "Profile name (skip prompt if provided)",
1660
+ "name": "name",
1661
+ "required": false,
1662
+ "hasDynamicHelp": false,
1663
+ "multiple": false,
1664
+ "type": "option"
1665
+ },
1666
+ "origin": {
1667
+ "char": "o",
1668
+ "description": "Xano instance origin URL",
1669
+ "name": "origin",
1670
+ "required": false,
1671
+ "default": "https://app.xano.com",
1672
+ "hasDynamicHelp": false,
1673
+ "multiple": false,
1674
+ "type": "option"
1675
+ }
1676
+ },
1677
+ "hasDynamicHelp": false,
1678
+ "hiddenAliases": [],
1679
+ "id": "profile:wizard",
1680
+ "pluginAlias": "@xano/cli",
1681
+ "pluginName": "@xano/cli",
1682
+ "pluginType": "core",
1683
+ "strict": true,
1684
+ "enableJsonFlag": false,
1685
+ "isESM": true,
1686
+ "relativePath": [
1687
+ "dist",
1688
+ "commands",
1689
+ "profile",
1690
+ "wizard",
1664
1691
  "index.js"
1665
1692
  ]
1666
1693
  },
@@ -1775,20 +1802,45 @@
1775
1802
  "index.js"
1776
1803
  ]
1777
1804
  },
1778
- "release:delete": {
1805
+ "profile:workspace": {
1806
+ "aliases": [],
1807
+ "args": {},
1808
+ "description": "Print the workspace ID for the default profile",
1809
+ "examples": [
1810
+ "$ xano profile:workspace\nabc123-workspace-id\n",
1811
+ "$ xano profile:workspace | pbcopy\n# Copies the workspace ID to clipboard on macOS\n"
1812
+ ],
1813
+ "flags": {},
1814
+ "hasDynamicHelp": false,
1815
+ "hiddenAliases": [],
1816
+ "id": "profile:workspace",
1817
+ "pluginAlias": "@xano/cli",
1818
+ "pluginName": "@xano/cli",
1819
+ "pluginType": "core",
1820
+ "strict": true,
1821
+ "enableJsonFlag": false,
1822
+ "isESM": true,
1823
+ "relativePath": [
1824
+ "dist",
1825
+ "commands",
1826
+ "profile",
1827
+ "workspace",
1828
+ "index.js"
1829
+ ]
1830
+ },
1831
+ "release:get": {
1779
1832
  "aliases": [],
1780
1833
  "args": {
1781
1834
  "release_name": {
1782
- "description": "Release name to delete",
1835
+ "description": "Release name to retrieve",
1783
1836
  "name": "release_name",
1784
1837
  "required": true
1785
1838
  }
1786
1839
  },
1787
- "description": "Delete a release permanently. This action cannot be undone.",
1840
+ "description": "Get details of a specific release",
1788
1841
  "examples": [
1789
- "$ xano release delete v1.0\nAre you sure you want to delete release 'v1.0'? This action cannot be undone. (y/N) y\nDeleted release 'v1.0'\n",
1790
- "$ xano release delete v1.0 --force\nDeleted release 'v1.0'\n",
1791
- "$ xano release delete v1.0 -f -o json"
1842
+ "$ xano release get v1.0\nRelease: v1.0 - ID: 10\n Branch: main\n Description: Initial release\n Hotfix: false\n",
1843
+ "$ xano release get v1.0 -w 5 -o json"
1792
1844
  ],
1793
1845
  "flags": {
1794
1846
  "profile": {
@@ -1810,14 +1862,6 @@
1810
1862
  "allowNo": false,
1811
1863
  "type": "boolean"
1812
1864
  },
1813
- "force": {
1814
- "char": "f",
1815
- "description": "Skip confirmation prompt",
1816
- "name": "force",
1817
- "required": false,
1818
- "allowNo": false,
1819
- "type": "boolean"
1820
- },
1821
1865
  "output": {
1822
1866
  "char": "o",
1823
1867
  "description": "Output format",
@@ -1844,7 +1888,7 @@
1844
1888
  },
1845
1889
  "hasDynamicHelp": false,
1846
1890
  "hiddenAliases": [],
1847
- "id": "release:delete",
1891
+ "id": "release:get",
1848
1892
  "pluginAlias": "@xano/cli",
1849
1893
  "pluginName": "@xano/cli",
1850
1894
  "pluginType": "core",
@@ -1855,41 +1899,81 @@
1855
1899
  "dist",
1856
1900
  "commands",
1857
1901
  "release",
1858
- "delete",
1902
+ "get",
1859
1903
  "index.js"
1860
1904
  ]
1861
1905
  },
1862
- "profile:wizard": {
1906
+ "release:edit": {
1863
1907
  "aliases": [],
1864
- "args": {},
1865
- "description": "Create a new profile configuration using an interactive wizard",
1908
+ "args": {
1909
+ "release_name": {
1910
+ "description": "Release name to edit",
1911
+ "name": "release_name",
1912
+ "required": true
1913
+ }
1914
+ },
1915
+ "description": "Edit an existing release",
1866
1916
  "examples": [
1867
- "$ xano profile:wizard\nWelcome to the Xano Profile Wizard!\n? Enter your access token: ***...***\n? Select an instance:\n > Production (https://app.xano.com)\n Staging (https://staging.xano.com)\n? Profile name: production\nProfile 'production' created successfully at ~/.xano/credentials.yaml\n"
1917
+ "$ xano release edit v1.0 --name \"v1.0-final\" --description \"Updated description\"\nUpdated release: v1.0-final - ID: 10\n",
1918
+ "$ xano release edit v1.0 --description \"New description\" -o json"
1868
1919
  ],
1869
1920
  "flags": {
1870
- "insecure": {
1871
- "char": "k",
1872
- "description": "Skip TLS certificate verification (for self-signed certificates)",
1873
- "name": "insecure",
1921
+ "profile": {
1922
+ "char": "p",
1923
+ "description": "Profile to use (uses default profile if not specified)",
1924
+ "env": "XANO_PROFILE",
1925
+ "name": "profile",
1926
+ "required": false,
1927
+ "hasDynamicHelp": false,
1928
+ "multiple": false,
1929
+ "type": "option"
1930
+ },
1931
+ "verbose": {
1932
+ "char": "v",
1933
+ "description": "Show detailed request/response information",
1934
+ "env": "XANO_VERBOSE",
1935
+ "name": "verbose",
1874
1936
  "required": false,
1875
1937
  "allowNo": false,
1876
1938
  "type": "boolean"
1877
1939
  },
1940
+ "description": {
1941
+ "char": "d",
1942
+ "description": "New description",
1943
+ "name": "description",
1944
+ "required": false,
1945
+ "hasDynamicHelp": false,
1946
+ "multiple": false,
1947
+ "type": "option"
1948
+ },
1878
1949
  "name": {
1879
1950
  "char": "n",
1880
- "description": "Profile name (skip prompt if provided)",
1951
+ "description": "New name for the release",
1881
1952
  "name": "name",
1882
1953
  "required": false,
1883
1954
  "hasDynamicHelp": false,
1884
1955
  "multiple": false,
1885
1956
  "type": "option"
1886
1957
  },
1887
- "origin": {
1958
+ "output": {
1888
1959
  "char": "o",
1889
- "description": "Xano instance origin URL",
1890
- "name": "origin",
1960
+ "description": "Output format",
1961
+ "name": "output",
1962
+ "required": false,
1963
+ "default": "summary",
1964
+ "hasDynamicHelp": false,
1965
+ "multiple": false,
1966
+ "options": [
1967
+ "summary",
1968
+ "json"
1969
+ ],
1970
+ "type": "option"
1971
+ },
1972
+ "workspace": {
1973
+ "char": "w",
1974
+ "description": "Workspace ID (uses profile workspace if not provided)",
1975
+ "name": "workspace",
1891
1976
  "required": false,
1892
- "default": "https://app.xano.com",
1893
1977
  "hasDynamicHelp": false,
1894
1978
  "multiple": false,
1895
1979
  "type": "option"
@@ -1897,7 +1981,7 @@
1897
1981
  },
1898
1982
  "hasDynamicHelp": false,
1899
1983
  "hiddenAliases": [],
1900
- "id": "profile:wizard",
1984
+ "id": "release:edit",
1901
1985
  "pluginAlias": "@xano/cli",
1902
1986
  "pluginName": "@xano/cli",
1903
1987
  "pluginType": "core",
@@ -1907,24 +1991,25 @@
1907
1991
  "relativePath": [
1908
1992
  "dist",
1909
1993
  "commands",
1910
- "profile",
1911
- "wizard",
1994
+ "release",
1995
+ "edit",
1912
1996
  "index.js"
1913
1997
  ]
1914
1998
  },
1915
- "release:edit": {
1999
+ "release:export": {
1916
2000
  "aliases": [],
1917
2001
  "args": {
1918
2002
  "release_name": {
1919
- "description": "Release name to edit",
2003
+ "description": "Release name to export",
1920
2004
  "name": "release_name",
1921
2005
  "required": true
1922
2006
  }
1923
2007
  },
1924
- "description": "Edit an existing release",
2008
+ "description": "Export (download) a release to a local file",
1925
2009
  "examples": [
1926
- "$ xano release edit v1.0 --name \"v1.0-final\" --description \"Updated description\"\nUpdated release: v1.0-final - ID: 10\n",
1927
- "$ xano release edit v1.0 --description \"New description\" -o json"
2010
+ "$ xano release export v1.0\nDownloaded release 'v1.0' to ./release-v1.0.tar.gz\n",
2011
+ "$ xano release export v1.0 --output ./backups/my-release.tar.gz",
2012
+ "$ xano release export v1.0 -o json"
1928
2013
  ],
1929
2014
  "flags": {
1930
2015
  "profile": {
@@ -1946,28 +2031,10 @@
1946
2031
  "allowNo": false,
1947
2032
  "type": "boolean"
1948
2033
  },
1949
- "description": {
1950
- "char": "d",
1951
- "description": "New description",
1952
- "name": "description",
1953
- "required": false,
1954
- "hasDynamicHelp": false,
1955
- "multiple": false,
1956
- "type": "option"
1957
- },
1958
- "name": {
1959
- "char": "n",
1960
- "description": "New name for the release",
1961
- "name": "name",
1962
- "required": false,
1963
- "hasDynamicHelp": false,
1964
- "multiple": false,
1965
- "type": "option"
1966
- },
1967
- "output": {
2034
+ "format": {
1968
2035
  "char": "o",
1969
2036
  "description": "Output format",
1970
- "name": "output",
2037
+ "name": "format",
1971
2038
  "required": false,
1972
2039
  "default": "summary",
1973
2040
  "hasDynamicHelp": false,
@@ -1978,6 +2045,14 @@
1978
2045
  ],
1979
2046
  "type": "option"
1980
2047
  },
2048
+ "output": {
2049
+ "description": "Output file path (defaults to ./release-{name}.tar.gz)",
2050
+ "name": "output",
2051
+ "required": false,
2052
+ "hasDynamicHelp": false,
2053
+ "multiple": false,
2054
+ "type": "option"
2055
+ },
1981
2056
  "workspace": {
1982
2057
  "char": "w",
1983
2058
  "description": "Workspace ID (uses profile workspace if not provided)",
@@ -1990,7 +2065,7 @@
1990
2065
  },
1991
2066
  "hasDynamicHelp": false,
1992
2067
  "hiddenAliases": [],
1993
- "id": "release:edit",
2068
+ "id": "release:export",
1994
2069
  "pluginAlias": "@xano/cli",
1995
2070
  "pluginName": "@xano/cli",
1996
2071
  "pluginType": "core",
@@ -2001,23 +2076,24 @@
2001
2076
  "dist",
2002
2077
  "commands",
2003
2078
  "release",
2004
- "edit",
2079
+ "export",
2005
2080
  "index.js"
2006
2081
  ]
2007
2082
  },
2008
- "release:get": {
2083
+ "release:delete": {
2009
2084
  "aliases": [],
2010
2085
  "args": {
2011
2086
  "release_name": {
2012
- "description": "Release name to retrieve",
2087
+ "description": "Release name to delete",
2013
2088
  "name": "release_name",
2014
2089
  "required": true
2015
2090
  }
2016
2091
  },
2017
- "description": "Get details of a specific release",
2092
+ "description": "Delete a release permanently. This action cannot be undone.",
2018
2093
  "examples": [
2019
- "$ xano release get v1.0\nRelease: v1.0 - ID: 10\n Branch: main\n Description: Initial release\n Hotfix: false\n",
2020
- "$ xano release get v1.0 -w 5 -o json"
2094
+ "$ xano release delete v1.0\nAre you sure you want to delete release 'v1.0'? This action cannot be undone. (y/N) y\nDeleted release 'v1.0'\n",
2095
+ "$ xano release delete v1.0 --force\nDeleted release 'v1.0'\n",
2096
+ "$ xano release delete v1.0 -f -o json"
2021
2097
  ],
2022
2098
  "flags": {
2023
2099
  "profile": {
@@ -2039,6 +2115,14 @@
2039
2115
  "allowNo": false,
2040
2116
  "type": "boolean"
2041
2117
  },
2118
+ "force": {
2119
+ "char": "f",
2120
+ "description": "Skip confirmation prompt",
2121
+ "name": "force",
2122
+ "required": false,
2123
+ "allowNo": false,
2124
+ "type": "boolean"
2125
+ },
2042
2126
  "output": {
2043
2127
  "char": "o",
2044
2128
  "description": "Output format",
@@ -2065,7 +2149,7 @@
2065
2149
  },
2066
2150
  "hasDynamicHelp": false,
2067
2151
  "hiddenAliases": [],
2068
- "id": "release:get",
2152
+ "id": "release:delete",
2069
2153
  "pluginAlias": "@xano/cli",
2070
2154
  "pluginName": "@xano/cli",
2071
2155
  "pluginType": "core",
@@ -2076,24 +2160,17 @@
2076
2160
  "dist",
2077
2161
  "commands",
2078
2162
  "release",
2079
- "get",
2163
+ "delete",
2080
2164
  "index.js"
2081
2165
  ]
2082
2166
  },
2083
- "release:export": {
2167
+ "release:list": {
2084
2168
  "aliases": [],
2085
- "args": {
2086
- "release_name": {
2087
- "description": "Release name to export",
2088
- "name": "release_name",
2089
- "required": true
2090
- }
2091
- },
2092
- "description": "Export (download) a release to a local file",
2169
+ "args": {},
2170
+ "description": "List all releases in a workspace",
2093
2171
  "examples": [
2094
- "$ xano release export v1.0\nDownloaded release 'v1.0' to ./release-v1.0.tar.gz\n",
2095
- "$ xano release export v1.0 --output ./backups/my-release.tar.gz",
2096
- "$ xano release export v1.0 -o json"
2172
+ "$ xano release list\nReleases in workspace 5:\n - v1.0 (ID: 10) - main\n - v1.1-hotfix (ID: 11) - main [hotfix]\n",
2173
+ "$ xano release list -w 5 --output json"
2097
2174
  ],
2098
2175
  "flags": {
2099
2176
  "profile": {
@@ -2115,10 +2192,10 @@
2115
2192
  "allowNo": false,
2116
2193
  "type": "boolean"
2117
2194
  },
2118
- "format": {
2195
+ "output": {
2119
2196
  "char": "o",
2120
2197
  "description": "Output format",
2121
- "name": "format",
2198
+ "name": "output",
2122
2199
  "required": false,
2123
2200
  "default": "summary",
2124
2201
  "hasDynamicHelp": false,
@@ -2129,14 +2206,6 @@
2129
2206
  ],
2130
2207
  "type": "option"
2131
2208
  },
2132
- "output": {
2133
- "description": "Output file path (defaults to ./release-{name}.tar.gz)",
2134
- "name": "output",
2135
- "required": false,
2136
- "hasDynamicHelp": false,
2137
- "multiple": false,
2138
- "type": "option"
2139
- },
2140
2209
  "workspace": {
2141
2210
  "char": "w",
2142
2211
  "description": "Workspace ID (uses profile workspace if not provided)",
@@ -2149,7 +2218,7 @@
2149
2218
  },
2150
2219
  "hasDynamicHelp": false,
2151
2220
  "hiddenAliases": [],
2152
- "id": "release:export",
2221
+ "id": "release:list",
2153
2222
  "pluginAlias": "@xano/cli",
2154
2223
  "pluginName": "@xano/cli",
2155
2224
  "pluginType": "core",
@@ -2160,26 +2229,17 @@
2160
2229
  "dist",
2161
2230
  "commands",
2162
2231
  "release",
2163
- "export",
2232
+ "list",
2164
2233
  "index.js"
2165
2234
  ]
2166
2235
  },
2167
- "release:push": {
2236
+ "release:import": {
2168
2237
  "aliases": [],
2169
- "args": {
2170
- "directory": {
2171
- "description": "Directory containing .xs documents to create the release from",
2172
- "name": "directory",
2173
- "required": true
2174
- }
2175
- },
2176
- "description": "Create a new release from local XanoScript files via the multidoc endpoint",
2238
+ "args": {},
2239
+ "description": "Import a release file into a workspace",
2177
2240
  "examples": [
2178
- "$ xano release push ./my-release -n \"v1.0\"\nCreated release: v1.0 - ID: 10\n",
2179
- "$ xano release push ./output -n \"v2.0\" -w 40 -d \"Major update\"\nCreated release: v2.0 - ID: 15\n",
2180
- "$ xano release push ./backup -n \"v1.1-hotfix\" --hotfix --profile production\nCreated release: v1.1-hotfix - ID: 20\n",
2181
- "$ xano release push ./my-release -n \"v1.0\" --no-records --no-env\nCreate release from schema only, skip records and environment variables\n",
2182
- "$ xano release push ./my-release -n \"v1.0\" -o json\nOutput release details as JSON\n"
2241
+ "$ xano release import --file ./my-release.tar.gz\nImported release as #15\n",
2242
+ "$ xano release import --file ./my-release.tar.gz -o json"
2183
2243
  ],
2184
2244
  "flags": {
2185
2245
  "profile": {
@@ -2201,34 +2261,10 @@
2201
2261
  "allowNo": false,
2202
2262
  "type": "boolean"
2203
2263
  },
2204
- "description": {
2205
- "char": "d",
2206
- "description": "Release description",
2207
- "name": "description",
2208
- "required": false,
2209
- "default": "",
2210
- "hasDynamicHelp": false,
2211
- "multiple": false,
2212
- "type": "option"
2213
- },
2214
- "env": {
2215
- "description": "Include environment variables (default: true, use --no-env to exclude)",
2216
- "name": "env",
2217
- "required": false,
2218
- "allowNo": true,
2219
- "type": "boolean"
2220
- },
2221
- "hotfix": {
2222
- "description": "Mark as a hotfix release",
2223
- "name": "hotfix",
2224
- "required": false,
2225
- "allowNo": false,
2226
- "type": "boolean"
2227
- },
2228
- "name": {
2229
- "char": "n",
2230
- "description": "Name for the release",
2231
- "name": "name",
2264
+ "file": {
2265
+ "char": "f",
2266
+ "description": "Path to the release file (.tar.gz)",
2267
+ "name": "file",
2232
2268
  "required": true,
2233
2269
  "hasDynamicHelp": false,
2234
2270
  "multiple": false,
@@ -2248,16 +2284,9 @@
2248
2284
  ],
2249
2285
  "type": "option"
2250
2286
  },
2251
- "records": {
2252
- "description": "Include records (default: true, use --no-records to exclude)",
2253
- "name": "records",
2254
- "required": false,
2255
- "allowNo": true,
2256
- "type": "boolean"
2257
- },
2258
2287
  "workspace": {
2259
2288
  "char": "w",
2260
- "description": "Workspace ID (optional if set in profile)",
2289
+ "description": "Workspace ID (uses profile workspace if not provided)",
2261
2290
  "name": "workspace",
2262
2291
  "required": false,
2263
2292
  "hasDynamicHelp": false,
@@ -2267,7 +2296,7 @@
2267
2296
  },
2268
2297
  "hasDynamicHelp": false,
2269
2298
  "hiddenAliases": [],
2270
- "id": "release:push",
2299
+ "id": "release:import",
2271
2300
  "pluginAlias": "@xano/cli",
2272
2301
  "pluginName": "@xano/cli",
2273
2302
  "pluginType": "core",
@@ -2278,7 +2307,7 @@
2278
2307
  "dist",
2279
2308
  "commands",
2280
2309
  "release",
2281
- "push",
2310
+ "import",
2282
2311
  "index.js"
2283
2312
  ]
2284
2313
  },
@@ -2367,75 +2396,6 @@
2367
2396
  "index.js"
2368
2397
  ]
2369
2398
  },
2370
- "release:list": {
2371
- "aliases": [],
2372
- "args": {},
2373
- "description": "List all releases in a workspace",
2374
- "examples": [
2375
- "$ xano release list\nReleases in workspace 5:\n - v1.0 (ID: 10) - main\n - v1.1-hotfix (ID: 11) - main [hotfix]\n",
2376
- "$ xano release list -w 5 --output json"
2377
- ],
2378
- "flags": {
2379
- "profile": {
2380
- "char": "p",
2381
- "description": "Profile to use (uses default profile if not specified)",
2382
- "env": "XANO_PROFILE",
2383
- "name": "profile",
2384
- "required": false,
2385
- "hasDynamicHelp": false,
2386
- "multiple": false,
2387
- "type": "option"
2388
- },
2389
- "verbose": {
2390
- "char": "v",
2391
- "description": "Show detailed request/response information",
2392
- "env": "XANO_VERBOSE",
2393
- "name": "verbose",
2394
- "required": false,
2395
- "allowNo": false,
2396
- "type": "boolean"
2397
- },
2398
- "output": {
2399
- "char": "o",
2400
- "description": "Output format",
2401
- "name": "output",
2402
- "required": false,
2403
- "default": "summary",
2404
- "hasDynamicHelp": false,
2405
- "multiple": false,
2406
- "options": [
2407
- "summary",
2408
- "json"
2409
- ],
2410
- "type": "option"
2411
- },
2412
- "workspace": {
2413
- "char": "w",
2414
- "description": "Workspace ID (uses profile workspace if not provided)",
2415
- "name": "workspace",
2416
- "required": false,
2417
- "hasDynamicHelp": false,
2418
- "multiple": false,
2419
- "type": "option"
2420
- }
2421
- },
2422
- "hasDynamicHelp": false,
2423
- "hiddenAliases": [],
2424
- "id": "release:list",
2425
- "pluginAlias": "@xano/cli",
2426
- "pluginName": "@xano/cli",
2427
- "pluginType": "core",
2428
- "strict": true,
2429
- "enableJsonFlag": false,
2430
- "isESM": true,
2431
- "relativePath": [
2432
- "dist",
2433
- "commands",
2434
- "release",
2435
- "list",
2436
- "index.js"
2437
- ]
2438
- },
2439
2399
  "static_host:list": {
2440
2400
  "aliases": [],
2441
2401
  "args": {},
@@ -2525,13 +2485,22 @@
2525
2485
  "index.js"
2526
2486
  ]
2527
2487
  },
2528
- "release:import": {
2488
+ "release:push": {
2529
2489
  "aliases": [],
2530
- "args": {},
2531
- "description": "Import a release file into a workspace",
2490
+ "args": {
2491
+ "directory": {
2492
+ "description": "Directory containing .xs documents to create the release from",
2493
+ "name": "directory",
2494
+ "required": true
2495
+ }
2496
+ },
2497
+ "description": "Create a new release from local XanoScript files via the multidoc endpoint",
2532
2498
  "examples": [
2533
- "$ xano release import --file ./my-release.tar.gz\nImported release as #15\n",
2534
- "$ xano release import --file ./my-release.tar.gz -o json"
2499
+ "$ xano release push ./my-release -n \"v1.0\"\nCreated release: v1.0 - ID: 10\n",
2500
+ "$ xano release push ./output -n \"v2.0\" -w 40 -d \"Major update\"\nCreated release: v2.0 - ID: 15\n",
2501
+ "$ xano release push ./backup -n \"v1.1-hotfix\" --hotfix --profile production\nCreated release: v1.1-hotfix - ID: 20\n",
2502
+ "$ xano release push ./my-release -n \"v1.0\" --no-records --no-env\nCreate release from schema only, skip records and environment variables\n",
2503
+ "$ xano release push ./my-release -n \"v1.0\" -o json\nOutput release details as JSON\n"
2535
2504
  ],
2536
2505
  "flags": {
2537
2506
  "profile": {
@@ -2553,10 +2522,34 @@
2553
2522
  "allowNo": false,
2554
2523
  "type": "boolean"
2555
2524
  },
2556
- "file": {
2557
- "char": "f",
2558
- "description": "Path to the release file (.tar.gz)",
2559
- "name": "file",
2525
+ "description": {
2526
+ "char": "d",
2527
+ "description": "Release description",
2528
+ "name": "description",
2529
+ "required": false,
2530
+ "default": "",
2531
+ "hasDynamicHelp": false,
2532
+ "multiple": false,
2533
+ "type": "option"
2534
+ },
2535
+ "env": {
2536
+ "description": "Include environment variables (default: true, use --no-env to exclude)",
2537
+ "name": "env",
2538
+ "required": false,
2539
+ "allowNo": true,
2540
+ "type": "boolean"
2541
+ },
2542
+ "hotfix": {
2543
+ "description": "Mark as a hotfix release",
2544
+ "name": "hotfix",
2545
+ "required": false,
2546
+ "allowNo": false,
2547
+ "type": "boolean"
2548
+ },
2549
+ "name": {
2550
+ "char": "n",
2551
+ "description": "Name for the release",
2552
+ "name": "name",
2560
2553
  "required": true,
2561
2554
  "hasDynamicHelp": false,
2562
2555
  "multiple": false,
@@ -2576,9 +2569,16 @@
2576
2569
  ],
2577
2570
  "type": "option"
2578
2571
  },
2572
+ "records": {
2573
+ "description": "Include records (default: true, use --no-records to exclude)",
2574
+ "name": "records",
2575
+ "required": false,
2576
+ "allowNo": true,
2577
+ "type": "boolean"
2578
+ },
2579
2579
  "workspace": {
2580
2580
  "char": "w",
2581
- "description": "Workspace ID (uses profile workspace if not provided)",
2581
+ "description": "Workspace ID (optional if set in profile)",
2582
2582
  "name": "workspace",
2583
2583
  "required": false,
2584
2584
  "hasDynamicHelp": false,
@@ -2588,7 +2588,7 @@
2588
2588
  },
2589
2589
  "hasDynamicHelp": false,
2590
2590
  "hiddenAliases": [],
2591
- "id": "release:import",
2591
+ "id": "release:push",
2592
2592
  "pluginAlias": "@xano/cli",
2593
2593
  "pluginName": "@xano/cli",
2594
2594
  "pluginType": "core",
@@ -2599,7 +2599,7 @@
2599
2599
  "dist",
2600
2600
  "commands",
2601
2601
  "release",
2602
- "import",
2602
+ "push",
2603
2603
  "index.js"
2604
2604
  ]
2605
2605
  },
@@ -2827,90 +2827,6 @@
2827
2827
  "index.js"
2828
2828
  ]
2829
2829
  },
2830
- "tenant:deploy_release": {
2831
- "aliases": [],
2832
- "args": {
2833
- "tenant_name": {
2834
- "description": "Tenant name to deploy to",
2835
- "name": "tenant_name",
2836
- "required": true
2837
- }
2838
- },
2839
- "description": "Deploy a release to a tenant",
2840
- "examples": [
2841
- "$ xano tenant deploy_release t1234-abcd-xyz1 --release v1.0\nDeployed release \"v1.0\" to tenant: My Tenant (my-tenant)\n",
2842
- "$ xano tenant deploy_release t1234-abcd-xyz1 --release v1.0 -o json"
2843
- ],
2844
- "flags": {
2845
- "profile": {
2846
- "char": "p",
2847
- "description": "Profile to use (uses default profile if not specified)",
2848
- "env": "XANO_PROFILE",
2849
- "name": "profile",
2850
- "required": false,
2851
- "hasDynamicHelp": false,
2852
- "multiple": false,
2853
- "type": "option"
2854
- },
2855
- "verbose": {
2856
- "char": "v",
2857
- "description": "Show detailed request/response information",
2858
- "env": "XANO_VERBOSE",
2859
- "name": "verbose",
2860
- "required": false,
2861
- "allowNo": false,
2862
- "type": "boolean"
2863
- },
2864
- "output": {
2865
- "char": "o",
2866
- "description": "Output format",
2867
- "name": "output",
2868
- "required": false,
2869
- "default": "summary",
2870
- "hasDynamicHelp": false,
2871
- "multiple": false,
2872
- "options": [
2873
- "summary",
2874
- "json"
2875
- ],
2876
- "type": "option"
2877
- },
2878
- "release": {
2879
- "char": "r",
2880
- "description": "Release name to deploy",
2881
- "name": "release",
2882
- "required": true,
2883
- "hasDynamicHelp": false,
2884
- "multiple": false,
2885
- "type": "option"
2886
- },
2887
- "workspace": {
2888
- "char": "w",
2889
- "description": "Workspace ID (uses profile workspace if not provided)",
2890
- "name": "workspace",
2891
- "required": false,
2892
- "hasDynamicHelp": false,
2893
- "multiple": false,
2894
- "type": "option"
2895
- }
2896
- },
2897
- "hasDynamicHelp": false,
2898
- "hiddenAliases": [],
2899
- "id": "tenant:deploy_release",
2900
- "pluginAlias": "@xano/cli",
2901
- "pluginName": "@xano/cli",
2902
- "pluginType": "core",
2903
- "strict": true,
2904
- "enableJsonFlag": false,
2905
- "isESM": true,
2906
- "relativePath": [
2907
- "dist",
2908
- "commands",
2909
- "tenant",
2910
- "deploy_release",
2911
- "index.js"
2912
- ]
2913
- },
2914
2830
  "tenant:edit": {
2915
2831
  "aliases": [],
2916
2832
  "args": {
@@ -3040,19 +2956,19 @@
3040
2956
  "index.js"
3041
2957
  ]
3042
2958
  },
3043
- "tenant:get": {
2959
+ "tenant:deploy_release": {
3044
2960
  "aliases": [],
3045
2961
  "args": {
3046
2962
  "tenant_name": {
3047
- "description": "Tenant name to retrieve",
2963
+ "description": "Tenant name to deploy to",
3048
2964
  "name": "tenant_name",
3049
2965
  "required": true
3050
2966
  }
3051
2967
  },
3052
- "description": "Get details of a specific tenant",
2968
+ "description": "Deploy a release to a tenant",
3053
2969
  "examples": [
3054
- "$ 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",
3055
- "$ xano tenant get t1234-abcd-xyz1 -w 5 -o json"
2970
+ "$ xano tenant deploy_release t1234-abcd-xyz1 --release v1.0\nDeployed release \"v1.0\" to tenant: My Tenant (my-tenant)\n",
2971
+ "$ xano tenant deploy_release t1234-abcd-xyz1 --release v1.0 -o json"
3056
2972
  ],
3057
2973
  "flags": {
3058
2974
  "profile": {
@@ -3088,6 +3004,15 @@
3088
3004
  ],
3089
3005
  "type": "option"
3090
3006
  },
3007
+ "release": {
3008
+ "char": "r",
3009
+ "description": "Release name to deploy",
3010
+ "name": "release",
3011
+ "required": true,
3012
+ "hasDynamicHelp": false,
3013
+ "multiple": false,
3014
+ "type": "option"
3015
+ },
3091
3016
  "workspace": {
3092
3017
  "char": "w",
3093
3018
  "description": "Workspace ID (uses profile workspace if not provided)",
@@ -3100,7 +3025,7 @@
3100
3025
  },
3101
3026
  "hasDynamicHelp": false,
3102
3027
  "hiddenAliases": [],
3103
- "id": "tenant:get",
3028
+ "id": "tenant:deploy_release",
3104
3029
  "pluginAlias": "@xano/cli",
3105
3030
  "pluginName": "@xano/cli",
3106
3031
  "pluginType": "core",
@@ -3111,23 +3036,24 @@
3111
3036
  "dist",
3112
3037
  "commands",
3113
3038
  "tenant",
3114
- "get",
3039
+ "deploy_release",
3115
3040
  "index.js"
3116
3041
  ]
3117
3042
  },
3118
- "tenant:impersonate": {
3043
+ "tenant:deploy_platform": {
3119
3044
  "aliases": [],
3120
3045
  "args": {
3121
3046
  "tenant_name": {
3122
- "description": "Tenant name to impersonate",
3047
+ "description": "Tenant name to deploy to",
3123
3048
  "name": "tenant_name",
3124
3049
  "required": true
3125
3050
  }
3126
3051
  },
3127
- "description": "Impersonate a tenant and open it in the browser",
3052
+ "description": "Deploy a platform version to a tenant",
3128
3053
  "examples": [
3129
- "$ xano tenant impersonate my-tenant\nOpening browser...\nImpersonation successful!\n",
3130
- "$ xano tenant impersonate my-tenant -o json"
3054
+ "$ xano tenant deploy_platform t1234-abcd-xyz1 --platform_id 5\nDeployed platform 5 to tenant: My Tenant (my-tenant)\n",
3055
+ "$ xano tenant deploy_platform t1234-abcd-xyz1 --platform_id 5 -o json",
3056
+ "$ xano tenant deploy_platform t1234-abcd-xyz1 --platform_id 5 --license ./license.yaml"
3131
3057
  ],
3132
3058
  "flags": {
3133
3059
  "profile": {
@@ -3149,6 +3075,15 @@
3149
3075
  "allowNo": false,
3150
3076
  "type": "boolean"
3151
3077
  },
3078
+ "license": {
3079
+ "char": "l",
3080
+ "description": "Path to a license override file to apply after deploy",
3081
+ "name": "license",
3082
+ "required": false,
3083
+ "hasDynamicHelp": false,
3084
+ "multiple": false,
3085
+ "type": "option"
3086
+ },
3152
3087
  "output": {
3153
3088
  "char": "o",
3154
3089
  "description": "Output format",
@@ -3163,13 +3098,13 @@
3163
3098
  ],
3164
3099
  "type": "option"
3165
3100
  },
3166
- "url-only": {
3167
- "char": "u",
3168
- "description": "Print the URL without opening the browser",
3169
- "name": "url-only",
3170
- "required": false,
3171
- "allowNo": false,
3172
- "type": "boolean"
3101
+ "platform_id": {
3102
+ "description": "Platform ID to deploy",
3103
+ "name": "platform_id",
3104
+ "required": true,
3105
+ "hasDynamicHelp": false,
3106
+ "multiple": false,
3107
+ "type": "option"
3173
3108
  },
3174
3109
  "workspace": {
3175
3110
  "char": "w",
@@ -3183,7 +3118,7 @@
3183
3118
  },
3184
3119
  "hasDynamicHelp": false,
3185
3120
  "hiddenAliases": [],
3186
- "id": "tenant:impersonate",
3121
+ "id": "tenant:deploy_platform",
3187
3122
  "pluginAlias": "@xano/cli",
3188
3123
  "pluginName": "@xano/cli",
3189
3124
  "pluginType": "core",
@@ -3194,24 +3129,23 @@
3194
3129
  "dist",
3195
3130
  "commands",
3196
3131
  "tenant",
3197
- "impersonate",
3132
+ "deploy_platform",
3198
3133
  "index.js"
3199
3134
  ]
3200
3135
  },
3201
- "tenant:deploy_platform": {
3136
+ "tenant:get": {
3202
3137
  "aliases": [],
3203
3138
  "args": {
3204
3139
  "tenant_name": {
3205
- "description": "Tenant name to deploy to",
3140
+ "description": "Tenant name to retrieve",
3206
3141
  "name": "tenant_name",
3207
3142
  "required": true
3208
3143
  }
3209
3144
  },
3210
- "description": "Deploy a platform version to a tenant",
3145
+ "description": "Get details of a specific tenant",
3211
3146
  "examples": [
3212
- "$ xano tenant deploy_platform t1234-abcd-xyz1 --platform_id 5\nDeployed platform 5 to tenant: My Tenant (my-tenant)\n",
3213
- "$ xano tenant deploy_platform t1234-abcd-xyz1 --platform_id 5 -o json",
3214
- "$ xano tenant deploy_platform t1234-abcd-xyz1 --platform_id 5 --license ./license.yaml"
3147
+ "$ 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",
3148
+ "$ xano tenant get t1234-abcd-xyz1 -w 5 -o json"
3215
3149
  ],
3216
3150
  "flags": {
3217
3151
  "profile": {
@@ -3233,15 +3167,6 @@
3233
3167
  "allowNo": false,
3234
3168
  "type": "boolean"
3235
3169
  },
3236
- "license": {
3237
- "char": "l",
3238
- "description": "Path to a license override file to apply after deploy",
3239
- "name": "license",
3240
- "required": false,
3241
- "hasDynamicHelp": false,
3242
- "multiple": false,
3243
- "type": "option"
3244
- },
3245
3170
  "output": {
3246
3171
  "char": "o",
3247
3172
  "description": "Output format",
@@ -3256,14 +3181,6 @@
3256
3181
  ],
3257
3182
  "type": "option"
3258
3183
  },
3259
- "platform_id": {
3260
- "description": "Platform ID to deploy",
3261
- "name": "platform_id",
3262
- "required": true,
3263
- "hasDynamicHelp": false,
3264
- "multiple": false,
3265
- "type": "option"
3266
- },
3267
3184
  "workspace": {
3268
3185
  "char": "w",
3269
3186
  "description": "Workspace ID (uses profile workspace if not provided)",
@@ -3276,7 +3193,7 @@
3276
3193
  },
3277
3194
  "hasDynamicHelp": false,
3278
3195
  "hiddenAliases": [],
3279
- "id": "tenant:deploy_platform",
3196
+ "id": "tenant:get",
3280
3197
  "pluginAlias": "@xano/cli",
3281
3198
  "pluginName": "@xano/cli",
3282
3199
  "pluginType": "core",
@@ -3287,25 +3204,23 @@
3287
3204
  "dist",
3288
3205
  "commands",
3289
3206
  "tenant",
3290
- "deploy_platform",
3207
+ "get",
3291
3208
  "index.js"
3292
3209
  ]
3293
3210
  },
3294
- "tenant:pull": {
3211
+ "tenant:impersonate": {
3295
3212
  "aliases": [],
3296
3213
  "args": {
3297
- "directory": {
3298
- "description": "Output directory for pulled documents",
3299
- "name": "directory",
3214
+ "tenant_name": {
3215
+ "description": "Tenant name to impersonate",
3216
+ "name": "tenant_name",
3300
3217
  "required": true
3301
3218
  }
3302
3219
  },
3303
- "description": "Pull a tenant multidoc from the Xano Metadata API and split into individual files",
3220
+ "description": "Impersonate a tenant and open it in the browser",
3304
3221
  "examples": [
3305
- "$ xano tenant pull ./my-tenant -t my-tenant\nPulled 42 documents from tenant my-tenant to ./my-tenant\n",
3306
- "$ xano tenant pull ./output -t my-tenant -w 40\nPulled 15 documents from tenant my-tenant to ./output\n",
3307
- "$ xano tenant pull ./backup -t my-tenant --profile production --env --records\nPulled 58 documents from tenant my-tenant to ./backup\n",
3308
- "$ xano tenant pull ./my-tenant -t my-tenant --draft\nPulled 42 documents from tenant my-tenant to ./my-tenant\n"
3222
+ "$ xano tenant impersonate my-tenant\nOpening browser...\nImpersonation successful!\n",
3223
+ "$ xano tenant impersonate my-tenant -o json"
3309
3224
  ],
3310
3225
  "flags": {
3311
3226
  "profile": {
@@ -3327,39 +3242,31 @@
3327
3242
  "allowNo": false,
3328
3243
  "type": "boolean"
3329
3244
  },
3330
- "draft": {
3331
- "description": "Include draft versions",
3332
- "name": "draft",
3333
- "required": false,
3334
- "allowNo": false,
3335
- "type": "boolean"
3336
- },
3337
- "env": {
3338
- "description": "Include environment variables",
3339
- "name": "env",
3245
+ "output": {
3246
+ "char": "o",
3247
+ "description": "Output format",
3248
+ "name": "output",
3340
3249
  "required": false,
3341
- "allowNo": false,
3342
- "type": "boolean"
3250
+ "default": "summary",
3251
+ "hasDynamicHelp": false,
3252
+ "multiple": false,
3253
+ "options": [
3254
+ "summary",
3255
+ "json"
3256
+ ],
3257
+ "type": "option"
3343
3258
  },
3344
- "records": {
3345
- "description": "Include records",
3346
- "name": "records",
3259
+ "url-only": {
3260
+ "char": "u",
3261
+ "description": "Print the URL without opening the browser",
3262
+ "name": "url-only",
3347
3263
  "required": false,
3348
3264
  "allowNo": false,
3349
3265
  "type": "boolean"
3350
3266
  },
3351
- "tenant": {
3352
- "char": "t",
3353
- "description": "Tenant name to pull from",
3354
- "name": "tenant",
3355
- "required": true,
3356
- "hasDynamicHelp": false,
3357
- "multiple": false,
3358
- "type": "option"
3359
- },
3360
3267
  "workspace": {
3361
3268
  "char": "w",
3362
- "description": "Workspace ID (optional if set in profile)",
3269
+ "description": "Workspace ID (uses profile workspace if not provided)",
3363
3270
  "name": "workspace",
3364
3271
  "required": false,
3365
3272
  "hasDynamicHelp": false,
@@ -3369,7 +3276,7 @@
3369
3276
  },
3370
3277
  "hasDynamicHelp": false,
3371
3278
  "hiddenAliases": [],
3372
- "id": "tenant:pull",
3279
+ "id": "tenant:impersonate",
3373
3280
  "pluginAlias": "@xano/cli",
3374
3281
  "pluginName": "@xano/cli",
3375
3282
  "pluginType": "core",
@@ -3380,7 +3287,7 @@
3380
3287
  "dist",
3381
3288
  "commands",
3382
3289
  "tenant",
3383
- "pull",
3290
+ "impersonate",
3384
3291
  "index.js"
3385
3292
  ]
3386
3293
  },
@@ -3555,14 +3462,21 @@
3555
3462
  "index.js"
3556
3463
  ]
3557
3464
  },
3558
- "unit_test:list": {
3465
+ "tenant:pull": {
3559
3466
  "aliases": [],
3560
- "args": {},
3561
- "description": "List all unit tests in a workspace",
3467
+ "args": {
3468
+ "directory": {
3469
+ "description": "Output directory for pulled documents",
3470
+ "name": "directory",
3471
+ "required": true
3472
+ }
3473
+ },
3474
+ "description": "Pull a tenant multidoc from the Xano Metadata API and split into individual files",
3562
3475
  "examples": [
3563
- "$ 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",
3564
- "$ xano unit-test list -w 5 --output json",
3565
- "$ xano unit-test list --obj-type function"
3476
+ "$ xano tenant pull ./my-tenant -t my-tenant\nPulled 42 documents from tenant my-tenant to ./my-tenant\n",
3477
+ "$ xano tenant pull ./output -t my-tenant -w 40\nPulled 15 documents from tenant my-tenant to ./output\n",
3478
+ "$ xano tenant pull ./backup -t my-tenant --profile production --env --records\nPulled 58 documents from tenant my-tenant to ./backup\n",
3479
+ "$ xano tenant pull ./my-tenant -t my-tenant --draft\nPulled 42 documents from tenant my-tenant to ./my-tenant\n"
3566
3480
  ],
3567
3481
  "flags": {
3568
3482
  "profile": {
@@ -3584,45 +3498,39 @@
3584
3498
  "allowNo": false,
3585
3499
  "type": "boolean"
3586
3500
  },
3587
- "branch": {
3588
- "char": "b",
3589
- "description": "Filter by branch name",
3590
- "name": "branch",
3501
+ "draft": {
3502
+ "description": "Include draft versions",
3503
+ "name": "draft",
3591
3504
  "required": false,
3592
- "hasDynamicHelp": false,
3593
- "multiple": false,
3594
- "type": "option"
3505
+ "allowNo": false,
3506
+ "type": "boolean"
3595
3507
  },
3596
- "obj-type": {
3597
- "description": "Filter by object type",
3598
- "name": "obj-type",
3508
+ "env": {
3509
+ "description": "Include environment variables",
3510
+ "name": "env",
3599
3511
  "required": false,
3600
- "hasDynamicHelp": false,
3601
- "multiple": false,
3602
- "options": [
3603
- "function",
3604
- "query",
3605
- "middleware"
3606
- ],
3607
- "type": "option"
3512
+ "allowNo": false,
3513
+ "type": "boolean"
3608
3514
  },
3609
- "output": {
3610
- "char": "o",
3611
- "description": "Output format",
3612
- "name": "output",
3515
+ "records": {
3516
+ "description": "Include records",
3517
+ "name": "records",
3613
3518
  "required": false,
3614
- "default": "summary",
3519
+ "allowNo": false,
3520
+ "type": "boolean"
3521
+ },
3522
+ "tenant": {
3523
+ "char": "t",
3524
+ "description": "Tenant name to pull from",
3525
+ "name": "tenant",
3526
+ "required": true,
3615
3527
  "hasDynamicHelp": false,
3616
3528
  "multiple": false,
3617
- "options": [
3618
- "summary",
3619
- "json"
3620
- ],
3621
3529
  "type": "option"
3622
3530
  },
3623
3531
  "workspace": {
3624
3532
  "char": "w",
3625
- "description": "Workspace ID (uses profile workspace if not provided)",
3533
+ "description": "Workspace ID (optional if set in profile)",
3626
3534
  "name": "workspace",
3627
3535
  "required": false,
3628
3536
  "hasDynamicHelp": false,
@@ -3632,7 +3540,7 @@
3632
3540
  },
3633
3541
  "hasDynamicHelp": false,
3634
3542
  "hiddenAliases": [],
3635
- "id": "unit_test:list",
3543
+ "id": "tenant:pull",
3636
3544
  "pluginAlias": "@xano/cli",
3637
3545
  "pluginName": "@xano/cli",
3638
3546
  "pluginType": "core",
@@ -3642,8 +3550,8 @@
3642
3550
  "relativePath": [
3643
3551
  "dist",
3644
3552
  "commands",
3645
- "unit_test",
3646
- "list",
3553
+ "tenant",
3554
+ "pull",
3647
3555
  "index.js"
3648
3556
  ]
3649
3557
  },
@@ -3897,6 +3805,89 @@
3897
3805
  "index.js"
3898
3806
  ]
3899
3807
  },
3808
+ "workflow_test:delete": {
3809
+ "aliases": [],
3810
+ "args": {
3811
+ "workflow_test_id": {
3812
+ "description": "ID of the workflow test to delete",
3813
+ "name": "workflow_test_id",
3814
+ "required": true
3815
+ }
3816
+ },
3817
+ "description": "Delete a workflow test",
3818
+ "examples": [
3819
+ "$ xano workflow-test delete 1\nAre you sure you want to delete workflow test 1? (y/N) y\nDeleted workflow test 1\n",
3820
+ "$ xano workflow-test delete 1 --force"
3821
+ ],
3822
+ "flags": {
3823
+ "profile": {
3824
+ "char": "p",
3825
+ "description": "Profile to use (uses default profile if not specified)",
3826
+ "env": "XANO_PROFILE",
3827
+ "name": "profile",
3828
+ "required": false,
3829
+ "hasDynamicHelp": false,
3830
+ "multiple": false,
3831
+ "type": "option"
3832
+ },
3833
+ "verbose": {
3834
+ "char": "v",
3835
+ "description": "Show detailed request/response information",
3836
+ "env": "XANO_VERBOSE",
3837
+ "name": "verbose",
3838
+ "required": false,
3839
+ "allowNo": false,
3840
+ "type": "boolean"
3841
+ },
3842
+ "force": {
3843
+ "char": "f",
3844
+ "description": "Skip confirmation prompt",
3845
+ "name": "force",
3846
+ "required": false,
3847
+ "allowNo": false,
3848
+ "type": "boolean"
3849
+ },
3850
+ "output": {
3851
+ "char": "o",
3852
+ "description": "Output format",
3853
+ "name": "output",
3854
+ "required": false,
3855
+ "default": "summary",
3856
+ "hasDynamicHelp": false,
3857
+ "multiple": false,
3858
+ "options": [
3859
+ "summary",
3860
+ "json"
3861
+ ],
3862
+ "type": "option"
3863
+ },
3864
+ "workspace": {
3865
+ "char": "w",
3866
+ "description": "Workspace ID (uses profile workspace if not provided)",
3867
+ "name": "workspace",
3868
+ "required": false,
3869
+ "hasDynamicHelp": false,
3870
+ "multiple": false,
3871
+ "type": "option"
3872
+ }
3873
+ },
3874
+ "hasDynamicHelp": false,
3875
+ "hiddenAliases": [],
3876
+ "id": "workflow_test:delete",
3877
+ "pluginAlias": "@xano/cli",
3878
+ "pluginName": "@xano/cli",
3879
+ "pluginType": "core",
3880
+ "strict": true,
3881
+ "enableJsonFlag": false,
3882
+ "isESM": true,
3883
+ "relativePath": [
3884
+ "dist",
3885
+ "commands",
3886
+ "workflow_test",
3887
+ "delete",
3888
+ "index.js"
3889
+ ]
3890
+ },
3900
3891
  "workflow_test:list": {
3901
3892
  "aliases": [],
3902
3893
  "args": {},
@@ -3976,19 +3967,14 @@
3976
3967
  "index.js"
3977
3968
  ]
3978
3969
  },
3979
- "workflow_test:run": {
3970
+ "unit_test:list": {
3980
3971
  "aliases": [],
3981
- "args": {
3982
- "workflow_test_id": {
3983
- "description": "ID of the workflow test to run",
3984
- "name": "workflow_test_id",
3985
- "required": true
3986
- }
3987
- },
3988
- "description": "Run a workflow test",
3972
+ "args": {},
3973
+ "description": "List all unit tests in a workspace",
3989
3974
  "examples": [
3990
- "$ xano workflow-test run 1\nRunning workflow test 1...\nResult: PASS (1.234s)\n",
3991
- "$ xano workflow-test run 1 -o json"
3975
+ "$ 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",
3976
+ "$ xano unit-test list -w 5 --output json",
3977
+ "$ xano unit-test list --obj-type function"
3992
3978
  ],
3993
3979
  "flags": {
3994
3980
  "profile": {
@@ -4010,6 +3996,28 @@
4010
3996
  "allowNo": false,
4011
3997
  "type": "boolean"
4012
3998
  },
3999
+ "branch": {
4000
+ "char": "b",
4001
+ "description": "Filter by branch name",
4002
+ "name": "branch",
4003
+ "required": false,
4004
+ "hasDynamicHelp": false,
4005
+ "multiple": false,
4006
+ "type": "option"
4007
+ },
4008
+ "obj-type": {
4009
+ "description": "Filter by object type",
4010
+ "name": "obj-type",
4011
+ "required": false,
4012
+ "hasDynamicHelp": false,
4013
+ "multiple": false,
4014
+ "options": [
4015
+ "function",
4016
+ "query",
4017
+ "middleware"
4018
+ ],
4019
+ "type": "option"
4020
+ },
4013
4021
  "output": {
4014
4022
  "char": "o",
4015
4023
  "description": "Output format",
@@ -4036,7 +4044,7 @@
4036
4044
  },
4037
4045
  "hasDynamicHelp": false,
4038
4046
  "hiddenAliases": [],
4039
- "id": "workflow_test:run",
4047
+ "id": "unit_test:list",
4040
4048
  "pluginAlias": "@xano/cli",
4041
4049
  "pluginName": "@xano/cli",
4042
4050
  "pluginType": "core",
@@ -4046,18 +4054,24 @@
4046
4054
  "relativePath": [
4047
4055
  "dist",
4048
4056
  "commands",
4049
- "workflow_test",
4050
- "run",
4057
+ "unit_test",
4058
+ "list",
4051
4059
  "index.js"
4052
4060
  ]
4053
4061
  },
4054
- "workflow_test:run_all": {
4062
+ "workflow_test:run": {
4055
4063
  "aliases": [],
4056
- "args": {},
4057
- "description": "Run all workflow tests in a workspace",
4064
+ "args": {
4065
+ "workflow_test_id": {
4066
+ "description": "ID of the workflow test to run",
4067
+ "name": "workflow_test_id",
4068
+ "required": true
4069
+ }
4070
+ },
4071
+ "description": "Run a workflow test",
4058
4072
  "examples": [
4059
- "$ xano workflow-test run-all\nRunning 3 workflow tests...\n\nPASS my-test (1.234s)\nPASS auth-flow (0.567s)\nFAIL data-validation (0.890s)\n Error: assertion failed at step 3\n\nResults: 2 passed, 1 failed (2.691s total)\n",
4060
- "$ xano workflow-test run-all --branch main -o json"
4073
+ "$ xano workflow-test run 1\nRunning workflow test 1...\nResult: PASS (1.234s)\n",
4074
+ "$ xano workflow-test run 1 -o json"
4061
4075
  ],
4062
4076
  "flags": {
4063
4077
  "profile": {
@@ -4079,15 +4093,6 @@
4079
4093
  "allowNo": false,
4080
4094
  "type": "boolean"
4081
4095
  },
4082
- "branch": {
4083
- "char": "b",
4084
- "description": "Filter by branch name",
4085
- "name": "branch",
4086
- "required": false,
4087
- "hasDynamicHelp": false,
4088
- "multiple": false,
4089
- "type": "option"
4090
- },
4091
4096
  "output": {
4092
4097
  "char": "o",
4093
4098
  "description": "Output format",
@@ -4114,7 +4119,7 @@
4114
4119
  },
4115
4120
  "hasDynamicHelp": false,
4116
4121
  "hiddenAliases": [],
4117
- "id": "workflow_test:run_all",
4122
+ "id": "workflow_test:run",
4118
4123
  "pluginAlias": "@xano/cli",
4119
4124
  "pluginName": "@xano/cli",
4120
4125
  "pluginType": "core",
@@ -4125,24 +4130,17 @@
4125
4130
  "dist",
4126
4131
  "commands",
4127
4132
  "workflow_test",
4128
- "run_all",
4133
+ "run",
4129
4134
  "index.js"
4130
4135
  ]
4131
4136
  },
4132
- "workspace:create": {
4137
+ "workflow_test:run_all": {
4133
4138
  "aliases": [],
4134
- "args": {
4135
- "name": {
4136
- "description": "Name of the workspace",
4137
- "name": "name",
4138
- "required": true
4139
- }
4140
- },
4141
- "description": "Create a new workspace via the Xano Metadata API",
4139
+ "args": {},
4140
+ "description": "Run all workflow tests in a workspace",
4142
4141
  "examples": [
4143
- "$ xano workspace create my-workspace\nCreated workspace: my-workspace (ID: 123)\n",
4144
- "$ xano workspace create my-app --description \"My application workspace\"\nCreated workspace: my-app (ID: 456)\n Description: My application workspace\n",
4145
- "$ xano workspace create new-project -d \"New project workspace\" -o json\n{\n \"id\": 789,\n \"name\": \"new-project\",\n \"description\": \"New project workspace\"\n}\n"
4142
+ "$ xano workflow-test run-all\nRunning 3 workflow tests...\n\nPASS my-test (1.234s)\nPASS auth-flow (0.567s)\nFAIL data-validation (0.890s)\n Error: assertion failed at step 3\n\nResults: 2 passed, 1 failed (2.691s total)\n",
4143
+ "$ xano workflow-test run-all --branch main -o json"
4146
4144
  ],
4147
4145
  "flags": {
4148
4146
  "profile": {
@@ -4164,10 +4162,10 @@
4164
4162
  "allowNo": false,
4165
4163
  "type": "boolean"
4166
4164
  },
4167
- "description": {
4168
- "char": "d",
4169
- "description": "Description for the workspace",
4170
- "name": "description",
4165
+ "branch": {
4166
+ "char": "b",
4167
+ "description": "Filter by branch name",
4168
+ "name": "branch",
4171
4169
  "required": false,
4172
4170
  "hasDynamicHelp": false,
4173
4171
  "multiple": false,
@@ -4186,11 +4184,20 @@
4186
4184
  "json"
4187
4185
  ],
4188
4186
  "type": "option"
4187
+ },
4188
+ "workspace": {
4189
+ "char": "w",
4190
+ "description": "Workspace ID (uses profile workspace if not provided)",
4191
+ "name": "workspace",
4192
+ "required": false,
4193
+ "hasDynamicHelp": false,
4194
+ "multiple": false,
4195
+ "type": "option"
4189
4196
  }
4190
4197
  },
4191
4198
  "hasDynamicHelp": false,
4192
4199
  "hiddenAliases": [],
4193
- "id": "workspace:create",
4200
+ "id": "workflow_test:run_all",
4194
4201
  "pluginAlias": "@xano/cli",
4195
4202
  "pluginName": "@xano/cli",
4196
4203
  "pluginType": "core",
@@ -4200,8 +4207,8 @@
4200
4207
  "relativePath": [
4201
4208
  "dist",
4202
4209
  "commands",
4203
- "workspace",
4204
- "create",
4210
+ "workflow_test",
4211
+ "run_all",
4205
4212
  "index.js"
4206
4213
  ]
4207
4214
  },
@@ -4447,19 +4454,15 @@
4447
4454
  "index.js"
4448
4455
  ]
4449
4456
  },
4450
- "workflow_test:delete": {
4457
+ "workspace:list": {
4451
4458
  "aliases": [],
4452
- "args": {
4453
- "workflow_test_id": {
4454
- "description": "ID of the workflow test to delete",
4455
- "name": "workflow_test_id",
4456
- "required": true
4457
- }
4458
- },
4459
- "description": "Delete a workflow test",
4459
+ "args": {},
4460
+ "description": "List all workspaces from the Xano Metadata API",
4460
4461
  "examples": [
4461
- "$ xano workflow-test delete 1\nAre you sure you want to delete workflow test 1? (y/N) y\nDeleted workflow test 1\n",
4462
- "$ xano workflow-test delete 1 --force"
4462
+ "$ xano workspace:list\nAvailable workspaces:\n - workspace-1 (ID: 1)\n - workspace-2 (ID: 2)\n - workspace-3 (ID: 3)\n",
4463
+ "$ xano workspace:list --profile production\nAvailable workspaces:\n - my-app (ID: 1)\n - staging-env (ID: 2)\n",
4464
+ "$ 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",
4465
+ "$ xano workspace:list -p staging -o json\n{\n \"workspaces\": [\n {\n \"id\": 1,\n \"name\": \"my-app\"\n }\n ]\n}\n"
4463
4466
  ],
4464
4467
  "flags": {
4465
4468
  "profile": {
@@ -4481,14 +4484,6 @@
4481
4484
  "allowNo": false,
4482
4485
  "type": "boolean"
4483
4486
  },
4484
- "force": {
4485
- "char": "f",
4486
- "description": "Skip confirmation prompt",
4487
- "name": "force",
4488
- "required": false,
4489
- "allowNo": false,
4490
- "type": "boolean"
4491
- },
4492
4487
  "output": {
4493
4488
  "char": "o",
4494
4489
  "description": "Output format",
@@ -4502,20 +4497,11 @@
4502
4497
  "json"
4503
4498
  ],
4504
4499
  "type": "option"
4505
- },
4506
- "workspace": {
4507
- "char": "w",
4508
- "description": "Workspace ID (uses profile workspace if not provided)",
4509
- "name": "workspace",
4510
- "required": false,
4511
- "hasDynamicHelp": false,
4512
- "multiple": false,
4513
- "type": "option"
4514
4500
  }
4515
4501
  },
4516
4502
  "hasDynamicHelp": false,
4517
4503
  "hiddenAliases": [],
4518
- "id": "workflow_test:delete",
4504
+ "id": "workspace:list",
4519
4505
  "pluginAlias": "@xano/cli",
4520
4506
  "pluginName": "@xano/cli",
4521
4507
  "pluginType": "core",
@@ -4525,20 +4511,25 @@
4525
4511
  "relativePath": [
4526
4512
  "dist",
4527
4513
  "commands",
4528
- "workflow_test",
4529
- "delete",
4514
+ "workspace",
4515
+ "list",
4530
4516
  "index.js"
4531
4517
  ]
4532
4518
  },
4533
- "workspace:list": {
4519
+ "workspace:create": {
4534
4520
  "aliases": [],
4535
- "args": {},
4536
- "description": "List all workspaces from the Xano Metadata API",
4521
+ "args": {
4522
+ "name": {
4523
+ "description": "Name of the workspace",
4524
+ "name": "name",
4525
+ "required": true
4526
+ }
4527
+ },
4528
+ "description": "Create a new workspace via the Xano Metadata API",
4537
4529
  "examples": [
4538
- "$ xano workspace:list\nAvailable workspaces:\n - workspace-1 (ID: 1)\n - workspace-2 (ID: 2)\n - workspace-3 (ID: 3)\n",
4539
- "$ xano workspace:list --profile production\nAvailable workspaces:\n - my-app (ID: 1)\n - staging-env (ID: 2)\n",
4540
- "$ 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",
4541
- "$ xano workspace:list -p staging -o json\n{\n \"workspaces\": [\n {\n \"id\": 1,\n \"name\": \"my-app\"\n }\n ]\n}\n"
4530
+ "$ xano workspace create my-workspace\nCreated workspace: my-workspace (ID: 123)\n",
4531
+ "$ xano workspace create my-app --description \"My application workspace\"\nCreated workspace: my-app (ID: 456)\n Description: My application workspace\n",
4532
+ "$ xano workspace create new-project -d \"New project workspace\" -o json\n{\n \"id\": 789,\n \"name\": \"new-project\",\n \"description\": \"New project workspace\"\n}\n"
4542
4533
  ],
4543
4534
  "flags": {
4544
4535
  "profile": {
@@ -4560,6 +4551,15 @@
4560
4551
  "allowNo": false,
4561
4552
  "type": "boolean"
4562
4553
  },
4554
+ "description": {
4555
+ "char": "d",
4556
+ "description": "Description for the workspace",
4557
+ "name": "description",
4558
+ "required": false,
4559
+ "hasDynamicHelp": false,
4560
+ "multiple": false,
4561
+ "type": "option"
4562
+ },
4563
4563
  "output": {
4564
4564
  "char": "o",
4565
4565
  "description": "Output format",
@@ -4577,7 +4577,7 @@
4577
4577
  },
4578
4578
  "hasDynamicHelp": false,
4579
4579
  "hiddenAliases": [],
4580
- "id": "workspace:list",
4580
+ "id": "workspace:create",
4581
4581
  "pluginAlias": "@xano/cli",
4582
4582
  "pluginName": "@xano/cli",
4583
4583
  "pluginType": "core",
@@ -4588,7 +4588,7 @@
4588
4588
  "dist",
4589
4589
  "commands",
4590
4590
  "workspace",
4591
- "list",
4591
+ "create",
4592
4592
  "index.js"
4593
4593
  ]
4594
4594
  },
@@ -4695,16 +4695,16 @@
4695
4695
  "required": true
4696
4696
  }
4697
4697
  },
4698
- "description": "Push local documents to a workspace. Shows a preview of changes before pushing unless --force is specified. Use --dry-run to preview only.",
4698
+ "description": "Push local documents to a workspace. By default, only changed files are pushed (partial mode). Use --sync to push all files. Shows a preview of changes before pushing unless --force is specified. Use --dry-run to preview only.",
4699
4699
  "examples": [
4700
- "$ xano workspace push ./my-workspace\nShows preview of changes, requires confirmation\n",
4700
+ "$ xano workspace push ./my-workspace\nPush only changed files (default partial mode)\n",
4701
+ "$ xano workspace push ./my-workspace --sync\nPush all files to the workspace\n",
4702
+ "$ xano workspace push ./my-workspace --sync --delete\nPush all files and delete remote objects not included\n",
4701
4703
  "$ xano workspace push ./my-workspace --dry-run\nPreview changes without pushing\n",
4702
4704
  "$ xano workspace push ./my-workspace --force\nSkip preview and push immediately (for CI/CD)\n",
4703
- "$ xano workspace push ./my-workspace --delete\nShows preview including deletions, requires confirmation\n",
4704
4705
  "$ xano workspace push ./output -w 40\nPushed 15 documents from ./output\n",
4705
4706
  "$ xano workspace push ./backup --profile production\nPushed 58 documents from ./backup\n",
4706
4707
  "$ xano workspace push ./my-workspace -b dev\nPushed 42 documents from ./my-workspace\n",
4707
- "$ xano workspace push ./my-functions --partial\nPush some files without a workspace block (implies --no-delete)\n",
4708
4708
  "$ xano workspace push ./my-workspace --no-records\nPush schema only, skip importing table records\n",
4709
4709
  "$ xano workspace push ./my-workspace --no-env\nPush without overwriting environment variables\n",
4710
4710
  "$ xano workspace push ./my-workspace --truncate\nTruncate all table records before importing\n"
@@ -4739,7 +4739,7 @@
4739
4739
  "type": "option"
4740
4740
  },
4741
4741
  "delete": {
4742
- "description": "Delete workspace objects not included in the push",
4742
+ "description": "Delete workspace objects not included in the push (requires --sync)",
4743
4743
  "name": "delete",
4744
4744
  "required": false,
4745
4745
  "allowNo": false,
@@ -4759,9 +4759,9 @@
4759
4759
  "allowNo": false,
4760
4760
  "type": "boolean"
4761
4761
  },
4762
- "partial": {
4763
- "description": "Partial push — workspace block is not required, existing objects are kept (implies --no-delete)",
4764
- "name": "partial",
4762
+ "sync": {
4763
+ "description": "Full push — send all files, not just changed ones. Required for --delete.",
4764
+ "name": "sync",
4765
4765
  "required": false,
4766
4766
  "allowNo": false,
4767
4767
  "type": "boolean"
@@ -4773,9 +4773,9 @@
4773
4773
  "allowNo": false,
4774
4774
  "type": "boolean"
4775
4775
  },
4776
- "sync-guids": {
4777
- "description": "Write server-assigned GUIDs back to local files (use --no-sync-guids to skip)",
4778
- "name": "sync-guids",
4776
+ "guids": {
4777
+ "description": "Write server-assigned GUIDs back to local files (use --no-guids to skip)",
4778
+ "name": "guids",
4779
4779
  "required": false,
4780
4780
  "allowNo": true,
4781
4781
  "type": "boolean"
@@ -4828,20 +4828,13 @@
4828
4828
  "index.js"
4829
4829
  ]
4830
4830
  },
4831
- "static_host:build:create": {
4831
+ "profile:workspace:set": {
4832
4832
  "aliases": [],
4833
- "args": {
4834
- "static_host": {
4835
- "description": "Static Host name",
4836
- "name": "static_host",
4837
- "required": true
4838
- }
4839
- },
4840
- "description": "Create a new build for a static host",
4833
+ "args": {},
4834
+ "description": "Interactively select a workspace for a profile",
4841
4835
  "examples": [
4842
- "$ 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",
4843
- "$ 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",
4844
- "$ 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"
4836
+ "$ xano profile workspace set\nFetching workspaces...\n? Select a workspace: My Workspace\nWorkspace updated to 'My Workspace' (abc123) on profile 'default'\n",
4837
+ "$ xano profile workspace set -p production\nFetching workspaces...\n? Select a workspace: Production API\nWorkspace updated to 'Production API' (xyz789) on profile 'production'\n"
4845
4838
  ],
4846
4839
  "flags": {
4847
4840
  "profile": {
@@ -4862,61 +4855,11 @@
4862
4855
  "required": false,
4863
4856
  "allowNo": false,
4864
4857
  "type": "boolean"
4865
- },
4866
- "description": {
4867
- "char": "d",
4868
- "description": "Build description",
4869
- "name": "description",
4870
- "required": false,
4871
- "hasDynamicHelp": false,
4872
- "multiple": false,
4873
- "type": "option"
4874
- },
4875
- "file": {
4876
- "char": "f",
4877
- "description": "Path to zip file to upload",
4878
- "name": "file",
4879
- "required": true,
4880
- "hasDynamicHelp": false,
4881
- "multiple": false,
4882
- "type": "option"
4883
- },
4884
- "name": {
4885
- "char": "n",
4886
- "description": "Build name",
4887
- "name": "name",
4888
- "required": true,
4889
- "hasDynamicHelp": false,
4890
- "multiple": false,
4891
- "type": "option"
4892
- },
4893
- "output": {
4894
- "char": "o",
4895
- "description": "Output format",
4896
- "name": "output",
4897
- "required": false,
4898
- "default": "summary",
4899
- "hasDynamicHelp": false,
4900
- "multiple": false,
4901
- "options": [
4902
- "summary",
4903
- "json"
4904
- ],
4905
- "type": "option"
4906
- },
4907
- "workspace": {
4908
- "char": "w",
4909
- "description": "Workspace ID (optional if set in profile)",
4910
- "name": "workspace",
4911
- "required": false,
4912
- "hasDynamicHelp": false,
4913
- "multiple": false,
4914
- "type": "option"
4915
4858
  }
4916
4859
  },
4917
4860
  "hasDynamicHelp": false,
4918
4861
  "hiddenAliases": [],
4919
- "id": "static_host:build:create",
4862
+ "id": "profile:workspace:set",
4920
4863
  "pluginAlias": "@xano/cli",
4921
4864
  "pluginName": "@xano/cli",
4922
4865
  "pluginType": "core",
@@ -4926,27 +4869,26 @@
4926
4869
  "relativePath": [
4927
4870
  "dist",
4928
4871
  "commands",
4929
- "static_host",
4930
- "build",
4931
- "create",
4872
+ "profile",
4873
+ "workspace",
4874
+ "set",
4932
4875
  "index.js"
4933
4876
  ]
4934
4877
  },
4935
- "static_host:build:list": {
4878
+ "tenant:backup:delete": {
4936
4879
  "aliases": [],
4937
4880
  "args": {
4938
- "static_host": {
4939
- "description": "Static Host name",
4940
- "name": "static_host",
4881
+ "tenant_name": {
4882
+ "description": "Tenant name that owns the backup",
4883
+ "name": "tenant_name",
4941
4884
  "required": true
4942
4885
  }
4943
4886
  },
4944
- "description": "List all builds for a static host",
4887
+ "description": "Delete a tenant backup permanently. This action cannot be undone.",
4945
4888
  "examples": [
4946
- "$ 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",
4947
- "$ xano static_host:build:list myhost --profile production\nAvailable builds:\n - production (ID: 1) - Status: completed\n - staging (ID: 2) - Status: completed\n",
4948
- "$ 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",
4949
- "$ 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"
4889
+ "$ 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",
4890
+ "$ xano tenant backup delete t1234-abcd-xyz1 --backup_id 10 --force",
4891
+ "$ xano tenant backup delete t1234-abcd-xyz1 --backup_id 10 -o json"
4950
4892
  ],
4951
4893
  "flags": {
4952
4894
  "profile": {
@@ -4968,103 +4910,18 @@
4968
4910
  "allowNo": false,
4969
4911
  "type": "boolean"
4970
4912
  },
4971
- "output": {
4972
- "char": "o",
4973
- "description": "Output format",
4974
- "name": "output",
4975
- "required": false,
4976
- "default": "summary",
4977
- "hasDynamicHelp": false,
4978
- "multiple": false,
4979
- "options": [
4980
- "summary",
4981
- "json"
4982
- ],
4983
- "type": "option"
4984
- },
4985
- "page": {
4986
- "description": "Page number for pagination",
4987
- "name": "page",
4988
- "required": false,
4989
- "default": 1,
4990
- "hasDynamicHelp": false,
4991
- "multiple": false,
4992
- "type": "option"
4993
- },
4994
- "per_page": {
4995
- "description": "Number of results per page",
4996
- "name": "per_page",
4997
- "required": false,
4998
- "default": 50,
4999
- "hasDynamicHelp": false,
5000
- "multiple": false,
5001
- "type": "option"
5002
- },
5003
- "workspace": {
5004
- "char": "w",
5005
- "description": "Workspace ID (optional if set in profile)",
5006
- "name": "workspace",
5007
- "required": false,
5008
- "hasDynamicHelp": false,
5009
- "multiple": false,
5010
- "type": "option"
5011
- }
5012
- },
5013
- "hasDynamicHelp": false,
5014
- "hiddenAliases": [],
5015
- "id": "static_host:build:list",
5016
- "pluginAlias": "@xano/cli",
5017
- "pluginName": "@xano/cli",
5018
- "pluginType": "core",
5019
- "strict": true,
5020
- "enableJsonFlag": false,
5021
- "isESM": true,
5022
- "relativePath": [
5023
- "dist",
5024
- "commands",
5025
- "static_host",
5026
- "build",
5027
- "list",
5028
- "index.js"
5029
- ]
5030
- },
5031
- "static_host:build:get": {
5032
- "aliases": [],
5033
- "args": {
5034
- "build_id": {
5035
- "description": "Build ID",
5036
- "name": "build_id",
5037
- "required": true
5038
- },
5039
- "static_host": {
5040
- "description": "Static Host name",
5041
- "name": "static_host",
5042
- "required": true
5043
- }
5044
- },
5045
- "description": "Get details of a specific build for a static host",
5046
- "examples": [
5047
- "$ xano static_host:build:get default 52\nBuild Details:\nID: 52\nName: v1.0.0\nStatus: completed\n",
5048
- "$ xano static_host:build:get default 52 -w 40\nBuild Details:\nID: 52\nName: v1.0.0\nStatus: completed\n",
5049
- "$ xano static_host:build:get myhost 123 --profile production\nBuild Details:\nID: 123\nName: production-build\n",
5050
- "$ xano static_host:build:get default 52 -o json\n{\n \"id\": 52,\n \"name\": \"v1.0.0\",\n \"status\": \"completed\"\n}\n"
5051
- ],
5052
- "flags": {
5053
- "profile": {
5054
- "char": "p",
5055
- "description": "Profile to use (uses default profile if not specified)",
5056
- "env": "XANO_PROFILE",
5057
- "name": "profile",
5058
- "required": false,
4913
+ "backup_id": {
4914
+ "description": "Backup ID to delete",
4915
+ "name": "backup_id",
4916
+ "required": true,
5059
4917
  "hasDynamicHelp": false,
5060
4918
  "multiple": false,
5061
4919
  "type": "option"
5062
4920
  },
5063
- "verbose": {
5064
- "char": "v",
5065
- "description": "Show detailed request/response information",
5066
- "env": "XANO_VERBOSE",
5067
- "name": "verbose",
4921
+ "force": {
4922
+ "char": "f",
4923
+ "description": "Skip confirmation prompt",
4924
+ "name": "force",
5068
4925
  "required": false,
5069
4926
  "allowNo": false,
5070
4927
  "type": "boolean"
@@ -5085,7 +4942,7 @@
5085
4942
  },
5086
4943
  "workspace": {
5087
4944
  "char": "w",
5088
- "description": "Workspace ID (optional if set in profile)",
4945
+ "description": "Workspace ID (uses profile workspace if not provided)",
5089
4946
  "name": "workspace",
5090
4947
  "required": false,
5091
4948
  "hasDynamicHelp": false,
@@ -5095,7 +4952,7 @@
5095
4952
  },
5096
4953
  "hasDynamicHelp": false,
5097
4954
  "hiddenAliases": [],
5098
- "id": "static_host:build:get",
4955
+ "id": "tenant:backup:delete",
5099
4956
  "pluginAlias": "@xano/cli",
5100
4957
  "pluginName": "@xano/cli",
5101
4958
  "pluginType": "core",
@@ -5105,26 +4962,25 @@
5105
4962
  "relativePath": [
5106
4963
  "dist",
5107
4964
  "commands",
5108
- "static_host",
5109
- "build",
5110
- "get",
4965
+ "tenant",
4966
+ "backup",
4967
+ "delete",
5111
4968
  "index.js"
5112
4969
  ]
5113
4970
  },
5114
- "tenant:backup:delete": {
4971
+ "tenant:backup:create": {
5115
4972
  "aliases": [],
5116
4973
  "args": {
5117
4974
  "tenant_name": {
5118
- "description": "Tenant name that owns the backup",
4975
+ "description": "Tenant name to back up",
5119
4976
  "name": "tenant_name",
5120
4977
  "required": true
5121
4978
  }
5122
4979
  },
5123
- "description": "Delete a tenant backup permanently. This action cannot be undone.",
4980
+ "description": "Create a backup for a tenant",
5124
4981
  "examples": [
5125
- "$ 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",
5126
- "$ xano tenant backup delete t1234-abcd-xyz1 --backup_id 10 --force",
5127
- "$ xano tenant backup delete t1234-abcd-xyz1 --backup_id 10 -o json"
4982
+ "$ xano tenant backup create t1234-abcd-xyz1 --description \"Pre-deploy backup\"\nCreated backup #15 for tenant t1234-abcd-xyz1\n",
4983
+ "$ xano tenant backup create t1234-abcd-xyz1 -d \"Daily backup\" -o json"
5128
4984
  ],
5129
4985
  "flags": {
5130
4986
  "profile": {
@@ -5146,22 +5002,16 @@
5146
5002
  "allowNo": false,
5147
5003
  "type": "boolean"
5148
5004
  },
5149
- "backup_id": {
5150
- "description": "Backup ID to delete",
5151
- "name": "backup_id",
5152
- "required": true,
5005
+ "description": {
5006
+ "char": "d",
5007
+ "description": "Backup description",
5008
+ "name": "description",
5009
+ "required": false,
5010
+ "default": "",
5153
5011
  "hasDynamicHelp": false,
5154
5012
  "multiple": false,
5155
5013
  "type": "option"
5156
5014
  },
5157
- "force": {
5158
- "char": "f",
5159
- "description": "Skip confirmation prompt",
5160
- "name": "force",
5161
- "required": false,
5162
- "allowNo": false,
5163
- "type": "boolean"
5164
- },
5165
5015
  "output": {
5166
5016
  "char": "o",
5167
5017
  "description": "Output format",
@@ -5188,7 +5038,7 @@
5188
5038
  },
5189
5039
  "hasDynamicHelp": false,
5190
5040
  "hiddenAliases": [],
5191
- "id": "tenant:backup:delete",
5041
+ "id": "tenant:backup:create",
5192
5042
  "pluginAlias": "@xano/cli",
5193
5043
  "pluginName": "@xano/cli",
5194
5044
  "pluginType": "core",
@@ -5200,7 +5050,7 @@
5200
5050
  "commands",
5201
5051
  "tenant",
5202
5052
  "backup",
5203
- "delete",
5053
+ "create",
5204
5054
  "index.js"
5205
5055
  ]
5206
5056
  },
@@ -5569,60 +5419,20 @@
5569
5419
  "index.js"
5570
5420
  ]
5571
5421
  },
5572
- "profile:workspace:set": {
5422
+ "static_host:build:create": {
5573
5423
  "aliases": [],
5574
- "args": {},
5575
- "description": "Interactively select a workspace for a profile",
5576
- "examples": [
5577
- "$ xano profile workspace set\nFetching workspaces...\n? Select a workspace: My Workspace\nWorkspace updated to 'My Workspace' (abc123) on profile 'default'\n",
5578
- "$ xano profile workspace set -p production\nFetching workspaces...\n? Select a workspace: Production API\nWorkspace updated to 'Production API' (xyz789) on profile 'production'\n"
5579
- ],
5580
- "flags": {
5581
- "profile": {
5582
- "char": "p",
5583
- "description": "Profile to use (uses default profile if not specified)",
5584
- "env": "XANO_PROFILE",
5585
- "name": "profile",
5586
- "required": false,
5587
- "hasDynamicHelp": false,
5588
- "multiple": false,
5589
- "type": "option"
5590
- },
5591
- "verbose": {
5592
- "char": "v",
5593
- "description": "Show detailed request/response information",
5594
- "env": "XANO_VERBOSE",
5595
- "name": "verbose",
5596
- "required": false,
5597
- "allowNo": false,
5598
- "type": "boolean"
5424
+ "args": {
5425
+ "static_host": {
5426
+ "description": "Static Host name",
5427
+ "name": "static_host",
5428
+ "required": true
5599
5429
  }
5600
5430
  },
5601
- "hasDynamicHelp": false,
5602
- "hiddenAliases": [],
5603
- "id": "profile:workspace:set",
5604
- "pluginAlias": "@xano/cli",
5605
- "pluginName": "@xano/cli",
5606
- "pluginType": "core",
5607
- "strict": true,
5608
- "enableJsonFlag": false,
5609
- "isESM": true,
5610
- "relativePath": [
5611
- "dist",
5612
- "commands",
5613
- "profile",
5614
- "workspace",
5615
- "set",
5616
- "index.js"
5617
- ]
5618
- },
5619
- "tenant:cluster:create": {
5620
- "aliases": [],
5621
- "args": {},
5622
- "description": "Create a new tenant cluster",
5431
+ "description": "Create a new build for a static host",
5623
5432
  "examples": [
5624
- "$ xano tenant cluster create --name \"us-east-1\" --credentials_file ./kubeconfig.yaml\nCreated tenant cluster: us-east-1 (standard) - ID: 3\n",
5625
- "$ xano tenant cluster create --name \"eu-west-1\" --credentials \"...\" --type run --description \"EU run cluster\" -o json"
5433
+ "$ 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",
5434
+ "$ 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",
5435
+ "$ 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"
5626
5436
  ],
5627
5437
  "flags": {
5628
5438
  "profile": {
@@ -5644,48 +5454,27 @@
5644
5454
  "allowNo": false,
5645
5455
  "type": "boolean"
5646
5456
  },
5647
- "credentials": {
5648
- "description": "Kubeconfig credentials (raw text)",
5649
- "exclusive": [
5650
- "credentials_file"
5651
- ],
5652
- "name": "credentials",
5653
- "required": false,
5654
- "hasDynamicHelp": false,
5655
- "multiple": false,
5656
- "type": "option"
5657
- },
5658
- "credentials_file": {
5659
- "description": "Path to kubeconfig credentials file",
5660
- "exclusive": [
5661
- "credentials"
5662
- ],
5663
- "name": "credentials_file",
5664
- "required": false,
5665
- "hasDynamicHelp": false,
5666
- "multiple": false,
5667
- "type": "option"
5668
- },
5669
5457
  "description": {
5670
5458
  "char": "d",
5671
- "description": "Cluster description",
5459
+ "description": "Build description",
5672
5460
  "name": "description",
5673
5461
  "required": false,
5674
5462
  "hasDynamicHelp": false,
5675
5463
  "multiple": false,
5676
5464
  "type": "option"
5677
5465
  },
5678
- "domain": {
5679
- "description": "Custom domain for the cluster",
5680
- "name": "domain",
5681
- "required": false,
5466
+ "file": {
5467
+ "char": "f",
5468
+ "description": "Path to zip file to upload",
5469
+ "name": "file",
5470
+ "required": true,
5682
5471
  "hasDynamicHelp": false,
5683
5472
  "multiple": false,
5684
5473
  "type": "option"
5685
5474
  },
5686
5475
  "name": {
5687
5476
  "char": "n",
5688
- "description": "Cluster name",
5477
+ "description": "Build name",
5689
5478
  "name": "name",
5690
5479
  "required": true,
5691
5480
  "hasDynamicHelp": false,
@@ -5706,23 +5495,19 @@
5706
5495
  ],
5707
5496
  "type": "option"
5708
5497
  },
5709
- "type": {
5710
- "description": "Cluster type",
5711
- "name": "type",
5498
+ "workspace": {
5499
+ "char": "w",
5500
+ "description": "Workspace ID (optional if set in profile)",
5501
+ "name": "workspace",
5712
5502
  "required": false,
5713
- "default": "standard",
5714
5503
  "hasDynamicHelp": false,
5715
5504
  "multiple": false,
5716
- "options": [
5717
- "standard",
5718
- "run"
5719
- ],
5720
5505
  "type": "option"
5721
5506
  }
5722
5507
  },
5723
5508
  "hasDynamicHelp": false,
5724
5509
  "hiddenAliases": [],
5725
- "id": "tenant:cluster:create",
5510
+ "id": "static_host:build:create",
5726
5511
  "pluginAlias": "@xano/cli",
5727
5512
  "pluginName": "@xano/cli",
5728
5513
  "pluginType": "core",
@@ -5732,25 +5517,32 @@
5732
5517
  "relativePath": [
5733
5518
  "dist",
5734
5519
  "commands",
5735
- "tenant",
5736
- "cluster",
5520
+ "static_host",
5521
+ "build",
5737
5522
  "create",
5738
5523
  "index.js"
5739
5524
  ]
5740
5525
  },
5741
- "tenant:backup:create": {
5526
+ "static_host:build:get": {
5742
5527
  "aliases": [],
5743
5528
  "args": {
5744
- "tenant_name": {
5745
- "description": "Tenant name to back up",
5746
- "name": "tenant_name",
5529
+ "build_id": {
5530
+ "description": "Build ID",
5531
+ "name": "build_id",
5532
+ "required": true
5533
+ },
5534
+ "static_host": {
5535
+ "description": "Static Host name",
5536
+ "name": "static_host",
5747
5537
  "required": true
5748
5538
  }
5749
5539
  },
5750
- "description": "Create a backup for a tenant",
5540
+ "description": "Get details of a specific build for a static host",
5751
5541
  "examples": [
5752
- "$ xano tenant backup create t1234-abcd-xyz1 --description \"Pre-deploy backup\"\nCreated backup #15 for tenant t1234-abcd-xyz1\n",
5753
- "$ xano tenant backup create t1234-abcd-xyz1 -d \"Daily backup\" -o json"
5542
+ "$ xano static_host:build:get default 52\nBuild Details:\nID: 52\nName: v1.0.0\nStatus: completed\n",
5543
+ "$ xano static_host:build:get default 52 -w 40\nBuild Details:\nID: 52\nName: v1.0.0\nStatus: completed\n",
5544
+ "$ xano static_host:build:get myhost 123 --profile production\nBuild Details:\nID: 123\nName: production-build\n",
5545
+ "$ xano static_host:build:get default 52 -o json\n{\n \"id\": 52,\n \"name\": \"v1.0.0\",\n \"status\": \"completed\"\n}\n"
5754
5546
  ],
5755
5547
  "flags": {
5756
5548
  "profile": {
@@ -5772,16 +5564,6 @@
5772
5564
  "allowNo": false,
5773
5565
  "type": "boolean"
5774
5566
  },
5775
- "description": {
5776
- "char": "d",
5777
- "description": "Backup description",
5778
- "name": "description",
5779
- "required": false,
5780
- "default": "",
5781
- "hasDynamicHelp": false,
5782
- "multiple": false,
5783
- "type": "option"
5784
- },
5785
5567
  "output": {
5786
5568
  "char": "o",
5787
5569
  "description": "Output format",
@@ -5798,7 +5580,7 @@
5798
5580
  },
5799
5581
  "workspace": {
5800
5582
  "char": "w",
5801
- "description": "Workspace ID (uses profile workspace if not provided)",
5583
+ "description": "Workspace ID (optional if set in profile)",
5802
5584
  "name": "workspace",
5803
5585
  "required": false,
5804
5586
  "hasDynamicHelp": false,
@@ -5808,7 +5590,7 @@
5808
5590
  },
5809
5591
  "hasDynamicHelp": false,
5810
5592
  "hiddenAliases": [],
5811
- "id": "tenant:backup:create",
5593
+ "id": "static_host:build:get",
5812
5594
  "pluginAlias": "@xano/cli",
5813
5595
  "pluginName": "@xano/cli",
5814
5596
  "pluginType": "core",
@@ -5818,26 +5600,27 @@
5818
5600
  "relativePath": [
5819
5601
  "dist",
5820
5602
  "commands",
5821
- "tenant",
5822
- "backup",
5823
- "create",
5603
+ "static_host",
5604
+ "build",
5605
+ "get",
5824
5606
  "index.js"
5825
5607
  ]
5826
5608
  },
5827
- "tenant:cluster:delete": {
5609
+ "static_host:build:list": {
5828
5610
  "aliases": [],
5829
5611
  "args": {
5830
- "cluster_id": {
5831
- "description": "Cluster ID to delete",
5832
- "name": "cluster_id",
5612
+ "static_host": {
5613
+ "description": "Static Host name",
5614
+ "name": "static_host",
5833
5615
  "required": true
5834
5616
  }
5835
5617
  },
5836
- "description": "Delete a tenant cluster. This action cannot be undone.",
5618
+ "description": "List all builds for a static host",
5837
5619
  "examples": [
5838
- "$ 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",
5839
- "$ xano tenant cluster delete 3 --force\nTenant cluster 3 deleted successfully\n",
5840
- "$ xano tenant cluster delete 3 -f -o json"
5620
+ "$ 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",
5621
+ "$ xano static_host:build:list myhost --profile production\nAvailable builds:\n - production (ID: 1) - Status: completed\n - staging (ID: 2) - Status: completed\n",
5622
+ "$ 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",
5623
+ "$ 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"
5841
5624
  ],
5842
5625
  "flags": {
5843
5626
  "profile": {
@@ -5859,32 +5642,51 @@
5859
5642
  "allowNo": false,
5860
5643
  "type": "boolean"
5861
5644
  },
5862
- "force": {
5863
- "char": "f",
5864
- "description": "Skip confirmation prompt",
5865
- "name": "force",
5645
+ "output": {
5646
+ "char": "o",
5647
+ "description": "Output format",
5648
+ "name": "output",
5866
5649
  "required": false,
5867
- "allowNo": false,
5868
- "type": "boolean"
5650
+ "default": "summary",
5651
+ "hasDynamicHelp": false,
5652
+ "multiple": false,
5653
+ "options": [
5654
+ "summary",
5655
+ "json"
5656
+ ],
5657
+ "type": "option"
5658
+ },
5659
+ "page": {
5660
+ "description": "Page number for pagination",
5661
+ "name": "page",
5662
+ "required": false,
5663
+ "default": 1,
5664
+ "hasDynamicHelp": false,
5665
+ "multiple": false,
5666
+ "type": "option"
5667
+ },
5668
+ "per_page": {
5669
+ "description": "Number of results per page",
5670
+ "name": "per_page",
5671
+ "required": false,
5672
+ "default": 50,
5673
+ "hasDynamicHelp": false,
5674
+ "multiple": false,
5675
+ "type": "option"
5869
5676
  },
5870
- "output": {
5871
- "char": "o",
5872
- "description": "Output format",
5873
- "name": "output",
5677
+ "workspace": {
5678
+ "char": "w",
5679
+ "description": "Workspace ID (optional if set in profile)",
5680
+ "name": "workspace",
5874
5681
  "required": false,
5875
- "default": "summary",
5876
5682
  "hasDynamicHelp": false,
5877
5683
  "multiple": false,
5878
- "options": [
5879
- "summary",
5880
- "json"
5881
- ],
5882
5684
  "type": "option"
5883
5685
  }
5884
5686
  },
5885
5687
  "hasDynamicHelp": false,
5886
5688
  "hiddenAliases": [],
5887
- "id": "tenant:cluster:delete",
5689
+ "id": "static_host:build:list",
5888
5690
  "pluginAlias": "@xano/cli",
5889
5691
  "pluginName": "@xano/cli",
5890
5692
  "pluginType": "core",
@@ -5894,25 +5696,19 @@
5894
5696
  "relativePath": [
5895
5697
  "dist",
5896
5698
  "commands",
5897
- "tenant",
5898
- "cluster",
5899
- "delete",
5699
+ "static_host",
5700
+ "build",
5701
+ "list",
5900
5702
  "index.js"
5901
5703
  ]
5902
5704
  },
5903
- "tenant:cluster:get": {
5705
+ "tenant:cluster:create": {
5904
5706
  "aliases": [],
5905
- "args": {
5906
- "cluster_id": {
5907
- "description": "Cluster ID to retrieve",
5908
- "name": "cluster_id",
5909
- "required": true
5910
- }
5911
- },
5912
- "description": "Get details of a specific tenant cluster",
5707
+ "args": {},
5708
+ "description": "Create a new tenant cluster",
5913
5709
  "examples": [
5914
- "$ xano tenant cluster get 1\nCluster: us-east-1\n ID: 1\n Type: standard\n Domain: us-east-1.xano.io\n",
5915
- "$ xano tenant cluster get 1 -o json"
5710
+ "$ xano tenant cluster create --name \"us-east-1\" --credentials_file ./kubeconfig.yaml\nCreated tenant cluster: us-east-1 (standard) - ID: 3\n",
5711
+ "$ xano tenant cluster create --name \"eu-west-1\" --credentials \"...\" --type run --description \"EU run cluster\" -o json"
5916
5712
  ],
5917
5713
  "flags": {
5918
5714
  "profile": {
@@ -5934,6 +5730,54 @@
5934
5730
  "allowNo": false,
5935
5731
  "type": "boolean"
5936
5732
  },
5733
+ "credentials": {
5734
+ "description": "Kubeconfig credentials (raw text)",
5735
+ "exclusive": [
5736
+ "credentials_file"
5737
+ ],
5738
+ "name": "credentials",
5739
+ "required": false,
5740
+ "hasDynamicHelp": false,
5741
+ "multiple": false,
5742
+ "type": "option"
5743
+ },
5744
+ "credentials_file": {
5745
+ "description": "Path to kubeconfig credentials file",
5746
+ "exclusive": [
5747
+ "credentials"
5748
+ ],
5749
+ "name": "credentials_file",
5750
+ "required": false,
5751
+ "hasDynamicHelp": false,
5752
+ "multiple": false,
5753
+ "type": "option"
5754
+ },
5755
+ "description": {
5756
+ "char": "d",
5757
+ "description": "Cluster description",
5758
+ "name": "description",
5759
+ "required": false,
5760
+ "hasDynamicHelp": false,
5761
+ "multiple": false,
5762
+ "type": "option"
5763
+ },
5764
+ "domain": {
5765
+ "description": "Custom domain for the cluster",
5766
+ "name": "domain",
5767
+ "required": false,
5768
+ "hasDynamicHelp": false,
5769
+ "multiple": false,
5770
+ "type": "option"
5771
+ },
5772
+ "name": {
5773
+ "char": "n",
5774
+ "description": "Cluster name",
5775
+ "name": "name",
5776
+ "required": true,
5777
+ "hasDynamicHelp": false,
5778
+ "multiple": false,
5779
+ "type": "option"
5780
+ },
5937
5781
  "output": {
5938
5782
  "char": "o",
5939
5783
  "description": "Output format",
@@ -5947,11 +5791,24 @@
5947
5791
  "json"
5948
5792
  ],
5949
5793
  "type": "option"
5794
+ },
5795
+ "type": {
5796
+ "description": "Cluster type",
5797
+ "name": "type",
5798
+ "required": false,
5799
+ "default": "standard",
5800
+ "hasDynamicHelp": false,
5801
+ "multiple": false,
5802
+ "options": [
5803
+ "standard",
5804
+ "run"
5805
+ ],
5806
+ "type": "option"
5950
5807
  }
5951
5808
  },
5952
5809
  "hasDynamicHelp": false,
5953
5810
  "hiddenAliases": [],
5954
- "id": "tenant:cluster:get",
5811
+ "id": "tenant:cluster:create",
5955
5812
  "pluginAlias": "@xano/cli",
5956
5813
  "pluginName": "@xano/cli",
5957
5814
  "pluginType": "core",
@@ -5963,7 +5820,7 @@
5963
5820
  "commands",
5964
5821
  "tenant",
5965
5822
  "cluster",
5966
- "get",
5823
+ "create",
5967
5824
  "index.js"
5968
5825
  ]
5969
5826
  },
@@ -6072,20 +5929,20 @@
6072
5929
  "index.js"
6073
5930
  ]
6074
5931
  },
6075
- "tenant:env:delete": {
5932
+ "tenant:cluster:delete": {
6076
5933
  "aliases": [],
6077
5934
  "args": {
6078
- "tenant_name": {
6079
- "description": "Tenant name",
6080
- "name": "tenant_name",
5935
+ "cluster_id": {
5936
+ "description": "Cluster ID to delete",
5937
+ "name": "cluster_id",
6081
5938
  "required": true
6082
5939
  }
6083
5940
  },
6084
- "description": "Delete an environment variable from a tenant",
5941
+ "description": "Delete a tenant cluster. This action cannot be undone.",
6085
5942
  "examples": [
6086
- "$ 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",
6087
- "$ xano tenant env delete my-tenant --name DATABASE_URL --force\nEnvironment variable 'DATABASE_URL' deleted from tenant my-tenant\n",
6088
- "$ xano tenant env delete my-tenant --name DATABASE_URL -f -w 5 -o json"
5943
+ "$ 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",
5944
+ "$ xano tenant cluster delete 3 --force\nTenant cluster 3 deleted successfully\n",
5945
+ "$ xano tenant cluster delete 3 -f -o json"
6089
5946
  ],
6090
5947
  "flags": {
6091
5948
  "profile": {
@@ -6115,15 +5972,6 @@
6115
5972
  "allowNo": false,
6116
5973
  "type": "boolean"
6117
5974
  },
6118
- "name": {
6119
- "char": "n",
6120
- "description": "Environment variable name",
6121
- "name": "name",
6122
- "required": true,
6123
- "hasDynamicHelp": false,
6124
- "multiple": false,
6125
- "type": "option"
6126
- },
6127
5975
  "output": {
6128
5976
  "char": "o",
6129
5977
  "description": "Output format",
@@ -6137,20 +5985,78 @@
6137
5985
  "json"
6138
5986
  ],
6139
5987
  "type": "option"
5988
+ }
5989
+ },
5990
+ "hasDynamicHelp": false,
5991
+ "hiddenAliases": [],
5992
+ "id": "tenant:cluster:delete",
5993
+ "pluginAlias": "@xano/cli",
5994
+ "pluginName": "@xano/cli",
5995
+ "pluginType": "core",
5996
+ "strict": true,
5997
+ "enableJsonFlag": false,
5998
+ "isESM": true,
5999
+ "relativePath": [
6000
+ "dist",
6001
+ "commands",
6002
+ "tenant",
6003
+ "cluster",
6004
+ "delete",
6005
+ "index.js"
6006
+ ]
6007
+ },
6008
+ "tenant:cluster:get": {
6009
+ "aliases": [],
6010
+ "args": {
6011
+ "cluster_id": {
6012
+ "description": "Cluster ID to retrieve",
6013
+ "name": "cluster_id",
6014
+ "required": true
6015
+ }
6016
+ },
6017
+ "description": "Get details of a specific tenant cluster",
6018
+ "examples": [
6019
+ "$ xano tenant cluster get 1\nCluster: us-east-1\n ID: 1\n Type: standard\n Domain: us-east-1.xano.io\n",
6020
+ "$ xano tenant cluster get 1 -o json"
6021
+ ],
6022
+ "flags": {
6023
+ "profile": {
6024
+ "char": "p",
6025
+ "description": "Profile to use (uses default profile if not specified)",
6026
+ "env": "XANO_PROFILE",
6027
+ "name": "profile",
6028
+ "required": false,
6029
+ "hasDynamicHelp": false,
6030
+ "multiple": false,
6031
+ "type": "option"
6140
6032
  },
6141
- "workspace": {
6142
- "char": "w",
6143
- "description": "Workspace ID (uses profile workspace if not provided)",
6144
- "name": "workspace",
6033
+ "verbose": {
6034
+ "char": "v",
6035
+ "description": "Show detailed request/response information",
6036
+ "env": "XANO_VERBOSE",
6037
+ "name": "verbose",
6038
+ "required": false,
6039
+ "allowNo": false,
6040
+ "type": "boolean"
6041
+ },
6042
+ "output": {
6043
+ "char": "o",
6044
+ "description": "Output format",
6045
+ "name": "output",
6145
6046
  "required": false,
6047
+ "default": "summary",
6146
6048
  "hasDynamicHelp": false,
6147
6049
  "multiple": false,
6050
+ "options": [
6051
+ "summary",
6052
+ "json"
6053
+ ],
6148
6054
  "type": "option"
6149
6055
  }
6150
6056
  },
6151
6057
  "hasDynamicHelp": false,
6152
6058
  "hiddenAliases": [],
6153
- "id": "tenant:env:delete",
6059
+ "id": "tenant:cluster:get",
6154
6060
  "pluginAlias": "@xano/cli",
6155
6061
  "pluginName": "@xano/cli",
6156
6062
  "pluginType": "core",
@@ -6161,8 +6067,8 @@
6161
6067
  "dist",
6162
6068
  "commands",
6163
6069
  "tenant",
6164
- "env",
6165
- "delete",
6070
+ "cluster",
6071
+ "get",
6166
6072
  "index.js"
6167
6073
  ]
6168
6074
  },
@@ -6227,7 +6133,7 @@
6227
6133
  "index.js"
6228
6134
  ]
6229
6135
  },
6230
- "tenant:env:set": {
6136
+ "tenant:env:delete": {
6231
6137
  "aliases": [],
6232
6138
  "args": {
6233
6139
  "tenant_name": {
@@ -6236,10 +6142,11 @@
6236
6142
  "required": true
6237
6143
  }
6238
6144
  },
6239
- "description": "Set (create or update) an environment variable for a tenant",
6145
+ "description": "Delete an environment variable from a tenant",
6240
6146
  "examples": [
6241
- "$ xano tenant env set my-tenant --name DATABASE_URL --value postgres://localhost:5432/mydb\nEnvironment variable 'DATABASE_URL' set for tenant my-tenant\n",
6242
- "$ xano tenant env set my-tenant --name DATABASE_URL --value postgres://localhost:5432/mydb -w 5 -o json"
6147
+ "$ 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",
6148
+ "$ xano tenant env delete my-tenant --name DATABASE_URL --force\nEnvironment variable 'DATABASE_URL' deleted from tenant my-tenant\n",
6149
+ "$ xano tenant env delete my-tenant --name DATABASE_URL -f -w 5 -o json"
6243
6150
  ],
6244
6151
  "flags": {
6245
6152
  "profile": {
@@ -6261,6 +6168,14 @@
6261
6168
  "allowNo": false,
6262
6169
  "type": "boolean"
6263
6170
  },
6171
+ "force": {
6172
+ "char": "f",
6173
+ "description": "Skip confirmation prompt",
6174
+ "name": "force",
6175
+ "required": false,
6176
+ "allowNo": false,
6177
+ "type": "boolean"
6178
+ },
6264
6179
  "name": {
6265
6180
  "char": "n",
6266
6181
  "description": "Environment variable name",
@@ -6284,14 +6199,6 @@
6284
6199
  ],
6285
6200
  "type": "option"
6286
6201
  },
6287
- "value": {
6288
- "description": "Environment variable value",
6289
- "name": "value",
6290
- "required": true,
6291
- "hasDynamicHelp": false,
6292
- "multiple": false,
6293
- "type": "option"
6294
- },
6295
6202
  "workspace": {
6296
6203
  "char": "w",
6297
6204
  "description": "Workspace ID (uses profile workspace if not provided)",
@@ -6304,7 +6211,7 @@
6304
6211
  },
6305
6212
  "hasDynamicHelp": false,
6306
6213
  "hiddenAliases": [],
6307
- "id": "tenant:env:set",
6214
+ "id": "tenant:env:delete",
6308
6215
  "pluginAlias": "@xano/cli",
6309
6216
  "pluginName": "@xano/cli",
6310
6217
  "pluginType": "core",
@@ -6316,7 +6223,7 @@
6316
6223
  "commands",
6317
6224
  "tenant",
6318
6225
  "env",
6319
- "set",
6226
+ "delete",
6320
6227
  "index.js"
6321
6228
  ]
6322
6229
  },
@@ -6499,7 +6406,7 @@
6499
6406
  "index.js"
6500
6407
  ]
6501
6408
  },
6502
- "tenant:env:set_all": {
6409
+ "tenant:env:list": {
6503
6410
  "aliases": [],
6504
6411
  "args": {
6505
6412
  "tenant_name": {
@@ -6508,11 +6415,10 @@
6508
6415
  "required": true
6509
6416
  }
6510
6417
  },
6511
- "description": "Set all environment variables for a tenant from a YAML file (replaces all existing)",
6418
+ "description": "List environment variable keys for a tenant",
6512
6419
  "examples": [
6513
- "$ xano tenant env set_all my-tenant\nReads from env_my-tenant.yaml\n",
6514
- "$ xano tenant env set_all my-tenant --file ./my-env.yaml",
6515
- "$ xano tenant env set_all my-tenant -o json"
6420
+ "$ xano tenant env list my-tenant\nEnvironment variables for tenant my-tenant:\n - DATABASE_URL\n - API_KEY\n - SECRET_TOKEN\n",
6421
+ "$ xano tenant env list my-tenant -w 5 -o json"
6516
6422
  ],
6517
6423
  "flags": {
6518
6424
  "profile": {
@@ -6529,26 +6435,10 @@
6529
6435
  "char": "v",
6530
6436
  "description": "Show detailed request/response information",
6531
6437
  "env": "XANO_VERBOSE",
6532
- "name": "verbose",
6533
- "required": false,
6534
- "allowNo": false,
6535
- "type": "boolean"
6536
- },
6537
- "clean": {
6538
- "description": "Remove the source file after successful upload",
6539
- "name": "clean",
6540
- "required": false,
6541
- "allowNo": false,
6542
- "type": "boolean"
6543
- },
6544
- "file": {
6545
- "char": "f",
6546
- "description": "Path to env file (default: env_<tenant_name>.yaml)",
6547
- "name": "file",
6438
+ "name": "verbose",
6548
6439
  "required": false,
6549
- "hasDynamicHelp": false,
6550
- "multiple": false,
6551
- "type": "option"
6440
+ "allowNo": false,
6441
+ "type": "boolean"
6552
6442
  },
6553
6443
  "output": {
6554
6444
  "char": "o",
@@ -6576,7 +6466,7 @@
6576
6466
  },
6577
6467
  "hasDynamicHelp": false,
6578
6468
  "hiddenAliases": [],
6579
- "id": "tenant:env:set_all",
6469
+ "id": "tenant:env:list",
6580
6470
  "pluginAlias": "@xano/cli",
6581
6471
  "pluginName": "@xano/cli",
6582
6472
  "pluginType": "core",
@@ -6588,11 +6478,11 @@
6588
6478
  "commands",
6589
6479
  "tenant",
6590
6480
  "env",
6591
- "set_all",
6481
+ "list",
6592
6482
  "index.js"
6593
6483
  ]
6594
6484
  },
6595
- "tenant:env:list": {
6485
+ "tenant:env:set": {
6596
6486
  "aliases": [],
6597
6487
  "args": {
6598
6488
  "tenant_name": {
@@ -6601,10 +6491,10 @@
6601
6491
  "required": true
6602
6492
  }
6603
6493
  },
6604
- "description": "List environment variable keys for a tenant",
6494
+ "description": "Set (create or update) an environment variable for a tenant",
6605
6495
  "examples": [
6606
- "$ xano tenant env list my-tenant\nEnvironment variables for tenant my-tenant:\n - DATABASE_URL\n - API_KEY\n - SECRET_TOKEN\n",
6607
- "$ xano tenant env list my-tenant -w 5 -o json"
6496
+ "$ xano tenant env set my-tenant --name DATABASE_URL --value postgres://localhost:5432/mydb\nEnvironment variable 'DATABASE_URL' set for tenant my-tenant\n",
6497
+ "$ xano tenant env set my-tenant --name DATABASE_URL --value postgres://localhost:5432/mydb -w 5 -o json"
6608
6498
  ],
6609
6499
  "flags": {
6610
6500
  "profile": {
@@ -6626,6 +6516,15 @@
6626
6516
  "allowNo": false,
6627
6517
  "type": "boolean"
6628
6518
  },
6519
+ "name": {
6520
+ "char": "n",
6521
+ "description": "Environment variable name",
6522
+ "name": "name",
6523
+ "required": true,
6524
+ "hasDynamicHelp": false,
6525
+ "multiple": false,
6526
+ "type": "option"
6527
+ },
6629
6528
  "output": {
6630
6529
  "char": "o",
6631
6530
  "description": "Output format",
@@ -6640,6 +6539,14 @@
6640
6539
  ],
6641
6540
  "type": "option"
6642
6541
  },
6542
+ "value": {
6543
+ "description": "Environment variable value",
6544
+ "name": "value",
6545
+ "required": true,
6546
+ "hasDynamicHelp": false,
6547
+ "multiple": false,
6548
+ "type": "option"
6549
+ },
6643
6550
  "workspace": {
6644
6551
  "char": "w",
6645
6552
  "description": "Workspace ID (uses profile workspace if not provided)",
@@ -6652,7 +6559,7 @@
6652
6559
  },
6653
6560
  "hasDynamicHelp": false,
6654
6561
  "hiddenAliases": [],
6655
- "id": "tenant:env:list",
6562
+ "id": "tenant:env:set",
6656
6563
  "pluginAlias": "@xano/cli",
6657
6564
  "pluginName": "@xano/cli",
6658
6565
  "pluginType": "core",
@@ -6664,11 +6571,11 @@
6664
6571
  "commands",
6665
6572
  "tenant",
6666
6573
  "env",
6667
- "list",
6574
+ "set",
6668
6575
  "index.js"
6669
6576
  ]
6670
6577
  },
6671
- "tenant:license:get": {
6578
+ "tenant:env:set_all": {
6672
6579
  "aliases": [],
6673
6580
  "args": {
6674
6581
  "tenant_name": {
@@ -6677,12 +6584,11 @@
6677
6584
  "required": true
6678
6585
  }
6679
6586
  },
6680
- "description": "Get the license for a tenant",
6587
+ "description": "Set all environment variables for a tenant from a YAML file (replaces all existing)",
6681
6588
  "examples": [
6682
- "$ xano tenant license get my-tenant\nLicense saved to license_my-tenant.yaml\n",
6683
- "$ xano tenant license get my-tenant --file ./my-license.yaml\nLicense saved to my-license.yaml\n",
6684
- "$ xano tenant license get my-tenant --view",
6685
- "$ xano tenant license get my-tenant -o json"
6589
+ "$ xano tenant env set_all my-tenant\nReads from env_my-tenant.yaml\n",
6590
+ "$ xano tenant env set_all my-tenant --file ./my-env.yaml",
6591
+ "$ xano tenant env set_all my-tenant -o json"
6686
6592
  ],
6687
6593
  "flags": {
6688
6594
  "profile": {
@@ -6704,9 +6610,16 @@
6704
6610
  "allowNo": false,
6705
6611
  "type": "boolean"
6706
6612
  },
6613
+ "clean": {
6614
+ "description": "Remove the source file after successful upload",
6615
+ "name": "clean",
6616
+ "required": false,
6617
+ "allowNo": false,
6618
+ "type": "boolean"
6619
+ },
6707
6620
  "file": {
6708
6621
  "char": "f",
6709
- "description": "Output file path (default: license_<tenant_name>.yaml)",
6622
+ "description": "Path to env file (default: env_<tenant_name>.yaml)",
6710
6623
  "name": "file",
6711
6624
  "required": false,
6712
6625
  "hasDynamicHelp": false,
@@ -6727,13 +6640,6 @@
6727
6640
  ],
6728
6641
  "type": "option"
6729
6642
  },
6730
- "view": {
6731
- "description": "Print license to stdout instead of saving to file",
6732
- "name": "view",
6733
- "required": false,
6734
- "allowNo": false,
6735
- "type": "boolean"
6736
- },
6737
6643
  "workspace": {
6738
6644
  "char": "w",
6739
6645
  "description": "Workspace ID (uses profile workspace if not provided)",
@@ -6746,7 +6652,7 @@
6746
6652
  },
6747
6653
  "hasDynamicHelp": false,
6748
6654
  "hiddenAliases": [],
6749
- "id": "tenant:license:get",
6655
+ "id": "tenant:env:set_all",
6750
6656
  "pluginAlias": "@xano/cli",
6751
6657
  "pluginName": "@xano/cli",
6752
6658
  "pluginType": "core",
@@ -6757,12 +6663,12 @@
6757
6663
  "dist",
6758
6664
  "commands",
6759
6665
  "tenant",
6760
- "license",
6761
- "get",
6666
+ "env",
6667
+ "set_all",
6762
6668
  "index.js"
6763
6669
  ]
6764
6670
  },
6765
- "tenant:license:set": {
6671
+ "tenant:license:get": {
6766
6672
  "aliases": [],
6767
6673
  "args": {
6768
6674
  "tenant_name": {
@@ -6771,12 +6677,12 @@
6771
6677
  "required": true
6772
6678
  }
6773
6679
  },
6774
- "description": "Set/update the license for a tenant",
6680
+ "description": "Get the license for a tenant",
6775
6681
  "examples": [
6776
- "$ xano tenant license set my-tenant\nReads from license_my-tenant.yaml\n",
6777
- "$ xano tenant license set my-tenant --file ./license.yaml",
6778
- "$ xano tenant license set my-tenant --value 'key: value'",
6779
- "$ xano tenant license set my-tenant -o json"
6682
+ "$ xano tenant license get my-tenant\nLicense saved to license_my-tenant.yaml\n",
6683
+ "$ xano tenant license get my-tenant --file ./my-license.yaml\nLicense saved to my-license.yaml\n",
6684
+ "$ xano tenant license get my-tenant --view",
6685
+ "$ xano tenant license get my-tenant -o json"
6780
6686
  ],
6781
6687
  "flags": {
6782
6688
  "profile": {
@@ -6798,22 +6704,9 @@
6798
6704
  "allowNo": false,
6799
6705
  "type": "boolean"
6800
6706
  },
6801
- "clean": {
6802
- "description": "Remove the source file after successful upload",
6803
- "exclusive": [
6804
- "value"
6805
- ],
6806
- "name": "clean",
6807
- "required": false,
6808
- "allowNo": false,
6809
- "type": "boolean"
6810
- },
6811
6707
  "file": {
6812
6708
  "char": "f",
6813
- "description": "Path to license file (default: license_<tenant_name>.yaml)",
6814
- "exclusive": [
6815
- "value"
6816
- ],
6709
+ "description": "Output file path (default: license_<tenant_name>.yaml)",
6817
6710
  "name": "file",
6818
6711
  "required": false,
6819
6712
  "hasDynamicHelp": false,
@@ -6834,17 +6727,12 @@
6834
6727
  ],
6835
6728
  "type": "option"
6836
6729
  },
6837
- "value": {
6838
- "description": "Inline license value",
6839
- "exclusive": [
6840
- "file",
6841
- "clean"
6842
- ],
6843
- "name": "value",
6730
+ "view": {
6731
+ "description": "Print license to stdout instead of saving to file",
6732
+ "name": "view",
6844
6733
  "required": false,
6845
- "hasDynamicHelp": false,
6846
- "multiple": false,
6847
- "type": "option"
6734
+ "allowNo": false,
6735
+ "type": "boolean"
6848
6736
  },
6849
6737
  "workspace": {
6850
6738
  "char": "w",
@@ -6858,7 +6746,7 @@
6858
6746
  },
6859
6747
  "hasDynamicHelp": false,
6860
6748
  "hiddenAliases": [],
6861
- "id": "tenant:license:set",
6749
+ "id": "tenant:license:get",
6862
6750
  "pluginAlias": "@xano/cli",
6863
6751
  "pluginName": "@xano/cli",
6864
6752
  "pluginType": "core",
@@ -6870,25 +6758,25 @@
6870
6758
  "commands",
6871
6759
  "tenant",
6872
6760
  "license",
6873
- "set",
6761
+ "get",
6874
6762
  "index.js"
6875
6763
  ]
6876
6764
  },
6877
- "tenant:cluster:license:set": {
6765
+ "tenant:license:set": {
6878
6766
  "aliases": [],
6879
6767
  "args": {
6880
- "cluster_id": {
6881
- "description": "Tenant cluster ID",
6882
- "name": "cluster_id",
6768
+ "tenant_name": {
6769
+ "description": "Tenant name",
6770
+ "name": "tenant_name",
6883
6771
  "required": true
6884
6772
  }
6885
6773
  },
6886
- "description": "Set/update the license (kubeconfig) for a tenant cluster",
6774
+ "description": "Set/update the license for a tenant",
6887
6775
  "examples": [
6888
- "$ xano tenant cluster license set 1\nReads from kubeconfig-1.yaml\n",
6889
- "$ xano tenant cluster license set 1 --file ./kubeconfig.yaml",
6890
- "$ xano tenant cluster license set 1 --value 'apiVersion: v1...'",
6891
- "$ xano tenant cluster license set 1 -o json"
6776
+ "$ xano tenant license set my-tenant\nReads from license_my-tenant.yaml\n",
6777
+ "$ xano tenant license set my-tenant --file ./license.yaml",
6778
+ "$ xano tenant license set my-tenant --value 'key: value'",
6779
+ "$ xano tenant license set my-tenant -o json"
6892
6780
  ],
6893
6781
  "flags": {
6894
6782
  "profile": {
@@ -6922,7 +6810,7 @@
6922
6810
  },
6923
6811
  "file": {
6924
6812
  "char": "f",
6925
- "description": "Path to kubeconfig file (default: kubeconfig_<cluster_id>.yaml)",
6813
+ "description": "Path to license file (default: license_<tenant_name>.yaml)",
6926
6814
  "exclusive": [
6927
6815
  "value"
6928
6816
  ],
@@ -6947,7 +6835,7 @@
6947
6835
  "type": "option"
6948
6836
  },
6949
6837
  "value": {
6950
- "description": "Inline kubeconfig YAML value",
6838
+ "description": "Inline license value",
6951
6839
  "exclusive": [
6952
6840
  "file",
6953
6841
  "clean"
@@ -6957,11 +6845,20 @@
6957
6845
  "hasDynamicHelp": false,
6958
6846
  "multiple": false,
6959
6847
  "type": "option"
6848
+ },
6849
+ "workspace": {
6850
+ "char": "w",
6851
+ "description": "Workspace ID (uses profile workspace if not provided)",
6852
+ "name": "workspace",
6853
+ "required": false,
6854
+ "hasDynamicHelp": false,
6855
+ "multiple": false,
6856
+ "type": "option"
6960
6857
  }
6961
6858
  },
6962
6859
  "hasDynamicHelp": false,
6963
6860
  "hiddenAliases": [],
6964
- "id": "tenant:cluster:license:set",
6861
+ "id": "tenant:license:set",
6965
6862
  "pluginAlias": "@xano/cli",
6966
6863
  "pluginName": "@xano/cli",
6967
6864
  "pluginType": "core",
@@ -6972,7 +6869,6 @@
6972
6869
  "dist",
6973
6870
  "commands",
6974
6871
  "tenant",
6975
- "cluster",
6976
6872
  "license",
6977
6873
  "set",
6978
6874
  "index.js"
@@ -7157,7 +7053,111 @@
7157
7053
  "get",
7158
7054
  "index.js"
7159
7055
  ]
7056
+ },
7057
+ "tenant:cluster:license:set": {
7058
+ "aliases": [],
7059
+ "args": {
7060
+ "cluster_id": {
7061
+ "description": "Tenant cluster ID",
7062
+ "name": "cluster_id",
7063
+ "required": true
7064
+ }
7065
+ },
7066
+ "description": "Set/update the license (kubeconfig) for a tenant cluster",
7067
+ "examples": [
7068
+ "$ xano tenant cluster license set 1\nReads from kubeconfig-1.yaml\n",
7069
+ "$ xano tenant cluster license set 1 --file ./kubeconfig.yaml",
7070
+ "$ xano tenant cluster license set 1 --value 'apiVersion: v1...'",
7071
+ "$ xano tenant cluster license set 1 -o json"
7072
+ ],
7073
+ "flags": {
7074
+ "profile": {
7075
+ "char": "p",
7076
+ "description": "Profile to use (uses default profile if not specified)",
7077
+ "env": "XANO_PROFILE",
7078
+ "name": "profile",
7079
+ "required": false,
7080
+ "hasDynamicHelp": false,
7081
+ "multiple": false,
7082
+ "type": "option"
7083
+ },
7084
+ "verbose": {
7085
+ "char": "v",
7086
+ "description": "Show detailed request/response information",
7087
+ "env": "XANO_VERBOSE",
7088
+ "name": "verbose",
7089
+ "required": false,
7090
+ "allowNo": false,
7091
+ "type": "boolean"
7092
+ },
7093
+ "clean": {
7094
+ "description": "Remove the source file after successful upload",
7095
+ "exclusive": [
7096
+ "value"
7097
+ ],
7098
+ "name": "clean",
7099
+ "required": false,
7100
+ "allowNo": false,
7101
+ "type": "boolean"
7102
+ },
7103
+ "file": {
7104
+ "char": "f",
7105
+ "description": "Path to kubeconfig file (default: kubeconfig_<cluster_id>.yaml)",
7106
+ "exclusive": [
7107
+ "value"
7108
+ ],
7109
+ "name": "file",
7110
+ "required": false,
7111
+ "hasDynamicHelp": false,
7112
+ "multiple": false,
7113
+ "type": "option"
7114
+ },
7115
+ "output": {
7116
+ "char": "o",
7117
+ "description": "Output format",
7118
+ "name": "output",
7119
+ "required": false,
7120
+ "default": "summary",
7121
+ "hasDynamicHelp": false,
7122
+ "multiple": false,
7123
+ "options": [
7124
+ "summary",
7125
+ "json"
7126
+ ],
7127
+ "type": "option"
7128
+ },
7129
+ "value": {
7130
+ "description": "Inline kubeconfig YAML value",
7131
+ "exclusive": [
7132
+ "file",
7133
+ "clean"
7134
+ ],
7135
+ "name": "value",
7136
+ "required": false,
7137
+ "hasDynamicHelp": false,
7138
+ "multiple": false,
7139
+ "type": "option"
7140
+ }
7141
+ },
7142
+ "hasDynamicHelp": false,
7143
+ "hiddenAliases": [],
7144
+ "id": "tenant:cluster:license:set",
7145
+ "pluginAlias": "@xano/cli",
7146
+ "pluginName": "@xano/cli",
7147
+ "pluginType": "core",
7148
+ "strict": true,
7149
+ "enableJsonFlag": false,
7150
+ "isESM": true,
7151
+ "relativePath": [
7152
+ "dist",
7153
+ "commands",
7154
+ "tenant",
7155
+ "cluster",
7156
+ "license",
7157
+ "set",
7158
+ "index.js"
7159
+ ]
7160
7160
  }
7161
7161
  },
7162
- "version": "0.0.85"
7162
+ "version": "0.0.86"
7163
7163
  }