@xano/cli 0.0.67 → 0.0.68

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -93,20 +93,14 @@
93
93
  "index.js"
94
94
  ]
95
95
  },
96
- "branch:edit": {
96
+ "branch:create": {
97
97
  "aliases": [],
98
- "args": {
99
- "branch_label": {
100
- "description": "Branch label to edit (cannot edit \"v1\" label)",
101
- "name": "branch_label",
102
- "required": true
103
- }
104
- },
105
- "description": "Update an existing branch (cannot update \"v1\" label)",
98
+ "args": {},
99
+ "description": "Create a new branch by cloning from an existing branch",
106
100
  "examples": [
107
- "$ xano branch edit dev --label development\nUpdated branch: development\n",
108
- "$ xano branch edit feature-auth -l feature-authentication --color \"#ff5733\"\nUpdated branch: feature-authentication\n Color: #ff5733\n",
109
- "$ xano branch edit staging --description \"Staging environment\" -o json\n{\n \"created_at\": \"2024-02-10T09:15:00Z\",\n \"label\": \"staging\",\n \"backup\": false\n}\n"
101
+ "$ xano branch create --label dev\nCreated branch: dev\n Cloned from: v1\n",
102
+ "$ xano branch create -l feature-auth -s dev -d \"Authentication feature\"\nCreated branch: feature-auth\n Cloned from: dev\n Description: Authentication feature\n",
103
+ "$ xano branch create --label staging --color \"#ebc346\" --output json\n{\n \"created_at\": \"2024-02-11T10:00:00Z\",\n \"label\": \"staging\",\n \"backup\": false,\n \"live\": false\n}\n"
110
104
  ],
111
105
  "flags": {
112
106
  "profile": {
@@ -130,7 +124,7 @@
130
124
  },
131
125
  "color": {
132
126
  "char": "c",
133
- "description": "New color hex code for the branch (e.g., \"#ff5733\")",
127
+ "description": "Color hex code for the branch (e.g., \"#ebc346\")",
134
128
  "name": "color",
135
129
  "required": false,
136
130
  "hasDynamicHelp": false,
@@ -139,7 +133,7 @@
139
133
  },
140
134
  "description": {
141
135
  "char": "d",
142
- "description": "New description for the branch",
136
+ "description": "Description for the new branch",
143
137
  "name": "description",
144
138
  "required": false,
145
139
  "hasDynamicHelp": false,
@@ -148,9 +142,9 @@
148
142
  },
149
143
  "label": {
150
144
  "char": "l",
151
- "description": "New label for the branch",
145
+ "description": "Label for the new branch",
152
146
  "name": "label",
153
- "required": false,
147
+ "required": true,
154
148
  "hasDynamicHelp": false,
155
149
  "multiple": false,
156
150
  "type": "option"
@@ -169,6 +163,16 @@
169
163
  ],
170
164
  "type": "option"
171
165
  },
166
+ "source": {
167
+ "char": "s",
168
+ "description": "Source branch to clone from (defaults to \"v1\")",
169
+ "name": "source",
170
+ "required": false,
171
+ "default": "v1",
172
+ "hasDynamicHelp": false,
173
+ "multiple": false,
174
+ "type": "option"
175
+ },
172
176
  "workspace": {
173
177
  "char": "w",
174
178
  "description": "Workspace ID (uses profile workspace if not provided)",
@@ -181,7 +185,7 @@
181
185
  },
182
186
  "hasDynamicHelp": false,
183
187
  "hiddenAliases": [],
184
- "id": "branch:edit",
188
+ "id": "branch:create",
185
189
  "pluginAlias": "@xano/cli",
186
190
  "pluginName": "@xano/cli",
187
191
  "pluginType": "core",
@@ -192,7 +196,7 @@
192
196
  "dist",
193
197
  "commands",
194
198
  "branch",
195
- "edit",
199
+ "create",
196
200
  "index.js"
197
201
  ]
198
202
  },
@@ -280,14 +284,20 @@
280
284
  "index.js"
281
285
  ]
282
286
  },
283
- "branch:create": {
287
+ "branch:edit": {
284
288
  "aliases": [],
285
- "args": {},
286
- "description": "Create a new branch by cloning from an existing branch",
289
+ "args": {
290
+ "branch_label": {
291
+ "description": "Branch label to edit (cannot edit \"v1\" label)",
292
+ "name": "branch_label",
293
+ "required": true
294
+ }
295
+ },
296
+ "description": "Update an existing branch (cannot update \"v1\" label)",
287
297
  "examples": [
288
- "$ xano branch create --label dev\nCreated branch: dev\n Cloned from: v1\n",
289
- "$ xano branch create -l feature-auth -s dev -d \"Authentication feature\"\nCreated branch: feature-auth\n Cloned from: dev\n Description: Authentication feature\n",
290
- "$ xano branch create --label staging --color \"#ebc346\" --output json\n{\n \"created_at\": \"2024-02-11T10:00:00Z\",\n \"label\": \"staging\",\n \"backup\": false,\n \"live\": false\n}\n"
298
+ "$ xano branch edit dev --label development\nUpdated branch: development\n",
299
+ "$ xano branch edit feature-auth -l feature-authentication --color \"#ff5733\"\nUpdated branch: feature-authentication\n Color: #ff5733\n",
300
+ "$ xano branch edit staging --description \"Staging environment\" -o json\n{\n \"created_at\": \"2024-02-10T09:15:00Z\",\n \"label\": \"staging\",\n \"backup\": false\n}\n"
291
301
  ],
292
302
  "flags": {
293
303
  "profile": {
@@ -311,7 +321,7 @@
311
321
  },
312
322
  "color": {
313
323
  "char": "c",
314
- "description": "Color hex code for the branch (e.g., \"#ebc346\")",
324
+ "description": "New color hex code for the branch (e.g., \"#ff5733\")",
315
325
  "name": "color",
316
326
  "required": false,
317
327
  "hasDynamicHelp": false,
@@ -320,7 +330,7 @@
320
330
  },
321
331
  "description": {
322
332
  "char": "d",
323
- "description": "Description for the new branch",
333
+ "description": "New description for the branch",
324
334
  "name": "description",
325
335
  "required": false,
326
336
  "hasDynamicHelp": false,
@@ -329,9 +339,9 @@
329
339
  },
330
340
  "label": {
331
341
  "char": "l",
332
- "description": "Label for the new branch",
342
+ "description": "New label for the branch",
333
343
  "name": "label",
334
- "required": true,
344
+ "required": false,
335
345
  "hasDynamicHelp": false,
336
346
  "multiple": false,
337
347
  "type": "option"
@@ -350,16 +360,6 @@
350
360
  ],
351
361
  "type": "option"
352
362
  },
353
- "source": {
354
- "char": "s",
355
- "description": "Source branch to clone from (defaults to \"v1\")",
356
- "name": "source",
357
- "required": false,
358
- "default": "v1",
359
- "hasDynamicHelp": false,
360
- "multiple": false,
361
- "type": "option"
362
- },
363
363
  "workspace": {
364
364
  "char": "w",
365
365
  "description": "Workspace ID (uses profile workspace if not provided)",
@@ -372,7 +372,7 @@
372
372
  },
373
373
  "hasDynamicHelp": false,
374
374
  "hiddenAliases": [],
375
- "id": "branch:create",
375
+ "id": "branch:edit",
376
376
  "pluginAlias": "@xano/cli",
377
377
  "pluginName": "@xano/cli",
378
378
  "pluginType": "core",
@@ -383,7 +383,7 @@
383
383
  "dist",
384
384
  "commands",
385
385
  "branch",
386
- "create",
386
+ "edit",
387
387
  "index.js"
388
388
  ]
389
389
  },
@@ -463,20 +463,20 @@
463
463
  "index.js"
464
464
  ]
465
465
  },
466
- "branch:set_live": {
466
+ "branch:list": {
467
467
  "aliases": [],
468
468
  "args": {
469
- "branch_label": {
470
- "description": "Branch label to set as live (use \"v1\" for default branch)",
471
- "name": "branch_label",
472
- "required": true
469
+ "workspace_id": {
470
+ "description": "Workspace ID (uses profile workspace if not provided)",
471
+ "name": "workspace_id",
472
+ "required": false
473
473
  }
474
474
  },
475
- "description": "Set a branch as the live (active) branch for API requests",
475
+ "description": "List all branches in a workspace",
476
476
  "examples": [
477
- "$ 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",
478
- "$ xano branch set-live v1 --force\nBranch 'v1' is now live\n",
479
- "$ 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"
477
+ "$ xano branch list\nAvailable branches:\n - v1 (live)\n - dev\n - staging\n",
478
+ "$ xano branch list 123\nAvailable branches:\n - v1 (live)\n - feature-auth\n",
479
+ "$ xano branch list --output json\n[\n {\n \"created_at\": \"2024-01-15T10:30:00Z\",\n \"label\": \"v1\",\n \"backup\": false,\n \"live\": true\n }\n]\n"
480
480
  ],
481
481
  "flags": {
482
482
  "profile": {
@@ -498,14 +498,6 @@
498
498
  "allowNo": false,
499
499
  "type": "boolean"
500
500
  },
501
- "force": {
502
- "char": "f",
503
- "description": "Skip confirmation prompt",
504
- "name": "force",
505
- "required": false,
506
- "allowNo": false,
507
- "type": "boolean"
508
- },
509
501
  "output": {
510
502
  "char": "o",
511
503
  "description": "Output format",
@@ -519,20 +511,11 @@
519
511
  "json"
520
512
  ],
521
513
  "type": "option"
522
- },
523
- "workspace": {
524
- "char": "w",
525
- "description": "Workspace ID (uses profile workspace if not provided)",
526
- "name": "workspace",
527
- "required": false,
528
- "hasDynamicHelp": false,
529
- "multiple": false,
530
- "type": "option"
531
514
  }
532
515
  },
533
516
  "hasDynamicHelp": false,
534
517
  "hiddenAliases": [],
535
- "id": "branch:set_live",
518
+ "id": "branch:list",
536
519
  "pluginAlias": "@xano/cli",
537
520
  "pluginName": "@xano/cli",
538
521
  "pluginType": "core",
@@ -543,24 +526,23 @@
543
526
  "dist",
544
527
  "commands",
545
528
  "branch",
546
- "set_live",
529
+ "list",
547
530
  "index.js"
548
531
  ]
549
532
  },
550
- "branch:list": {
533
+ "platform:get": {
551
534
  "aliases": [],
552
535
  "args": {
553
- "workspace_id": {
554
- "description": "Workspace ID (uses profile workspace if not provided)",
555
- "name": "workspace_id",
556
- "required": false
536
+ "platform_id": {
537
+ "description": "Platform ID to retrieve",
538
+ "name": "platform_id",
539
+ "required": true
557
540
  }
558
541
  },
559
- "description": "List all branches in a workspace",
542
+ "description": "Get details of a specific platform",
560
543
  "examples": [
561
- "$ xano branch list\nAvailable branches:\n - v1 (live)\n - dev\n - staging\n",
562
- "$ xano branch list 123\nAvailable branches:\n - v1 (live)\n - feature-auth\n",
563
- "$ xano branch list --output json\n[\n {\n \"created_at\": \"2024-01-15T10:30:00Z\",\n \"label\": \"v1\",\n \"backup\": false,\n \"live\": true\n }\n]\n"
544
+ "$ xano platform get 23629\nPlatform ID: 23629\n Created: 2025-11-28\n Helm: 0.1.356\n Images:\n backend 0.0.2985\n frontend 0.1.3427\n database 0.1.6\n node 0.1.192\n deno 0.0.212\n redis 0.1.34\n realtime 0.1.149\n standalone 0.0.2456\n playwright 0.0.992\n static 0.0.10\n static-build 0.0.4\n backend-encoded 0.0.1396\n",
545
+ "$ xano platform get 23629 -o json"
564
546
  ],
565
547
  "flags": {
566
548
  "profile": {
@@ -599,7 +581,7 @@
599
581
  },
600
582
  "hasDynamicHelp": false,
601
583
  "hiddenAliases": [],
602
- "id": "branch:list",
584
+ "id": "platform:get",
603
585
  "pluginAlias": "@xano/cli",
604
586
  "pluginName": "@xano/cli",
605
587
  "pluginType": "core",
@@ -609,24 +591,18 @@
609
591
  "relativePath": [
610
592
  "dist",
611
593
  "commands",
612
- "branch",
613
- "list",
594
+ "platform",
595
+ "get",
614
596
  "index.js"
615
597
  ]
616
598
  },
617
- "platform:get": {
599
+ "platform:list": {
618
600
  "aliases": [],
619
- "args": {
620
- "platform_id": {
621
- "description": "Platform ID to retrieve",
622
- "name": "platform_id",
623
- "required": true
624
- }
625
- },
626
- "description": "Get details of a specific platform",
601
+ "args": {},
602
+ "description": "List all platforms",
627
603
  "examples": [
628
- "$ 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",
629
- "$ xano platform get 23629 -o json"
604
+ "$ xano platform list\nPlatforms:\n ID: 23629 | Helm: 0.1.356 | Created: 2025-11-28\n",
605
+ "$ xano platform list --output json"
630
606
  ],
631
607
  "flags": {
632
608
  "profile": {
@@ -665,7 +641,7 @@
665
641
  },
666
642
  "hasDynamicHelp": false,
667
643
  "hiddenAliases": [],
668
- "id": "platform:get",
644
+ "id": "platform:list",
669
645
  "pluginAlias": "@xano/cli",
670
646
  "pluginName": "@xano/cli",
671
647
  "pluginType": "core",
@@ -676,7 +652,7 @@
676
652
  "dist",
677
653
  "commands",
678
654
  "platform",
679
- "get",
655
+ "list",
680
656
  "index.js"
681
657
  ]
682
658
  },
@@ -905,13 +881,15 @@
905
881
  "index.js"
906
882
  ]
907
883
  },
908
- "platform:list": {
884
+ "function:list": {
909
885
  "aliases": [],
910
886
  "args": {},
911
- "description": "List all platforms",
887
+ "description": "List all functions in a workspace from the Xano Metadata API",
912
888
  "examples": [
913
- "$ xano platform list\nPlatforms:\n ID: 23629 | Helm: 0.1.356 | Created: 2025-11-28\n",
914
- "$ xano platform list --output json"
889
+ "$ xano function:list -w 40\nAvailable functions:\n - function-1 (ID: 1)\n - function-2 (ID: 2)\n - function-3 (ID: 3)\n",
890
+ "$ xano function:list --profile production\nAvailable functions:\n - my-function (ID: 1)\n - another-function (ID: 2)\n",
891
+ "$ xano function:list -w 40 --output json\n[\n {\n \"id\": 1,\n \"name\": \"function-1\"\n }\n]\n",
892
+ "$ xano function:list -p staging -o json --include_draft\n[\n {\n \"id\": 1,\n \"name\": \"function-1\"\n }\n]\n"
915
893
  ],
916
894
  "flags": {
917
895
  "profile": {
@@ -933,6 +911,33 @@
933
911
  "allowNo": false,
934
912
  "type": "boolean"
935
913
  },
914
+ "include_draft": {
915
+ "description": "Include draft functions",
916
+ "name": "include_draft",
917
+ "required": false,
918
+ "allowNo": false,
919
+ "type": "boolean"
920
+ },
921
+ "include_xanoscript": {
922
+ "description": "Include XanoScript in response",
923
+ "name": "include_xanoscript",
924
+ "required": false,
925
+ "allowNo": false,
926
+ "type": "boolean"
927
+ },
928
+ "order": {
929
+ "description": "Sort order",
930
+ "name": "order",
931
+ "required": false,
932
+ "default": "desc",
933
+ "hasDynamicHelp": false,
934
+ "multiple": false,
935
+ "options": [
936
+ "asc",
937
+ "desc"
938
+ ],
939
+ "type": "option"
940
+ },
936
941
  "output": {
937
942
  "char": "o",
938
943
  "description": "Output format",
@@ -946,11 +951,47 @@
946
951
  "json"
947
952
  ],
948
953
  "type": "option"
954
+ },
955
+ "page": {
956
+ "description": "Page number for pagination",
957
+ "name": "page",
958
+ "required": false,
959
+ "default": 1,
960
+ "hasDynamicHelp": false,
961
+ "multiple": false,
962
+ "type": "option"
963
+ },
964
+ "per_page": {
965
+ "description": "Number of results per page",
966
+ "name": "per_page",
967
+ "required": false,
968
+ "default": 50,
969
+ "hasDynamicHelp": false,
970
+ "multiple": false,
971
+ "type": "option"
972
+ },
973
+ "sort": {
974
+ "description": "Sort field",
975
+ "name": "sort",
976
+ "required": false,
977
+ "default": "created_at",
978
+ "hasDynamicHelp": false,
979
+ "multiple": false,
980
+ "type": "option"
981
+ },
982
+ "workspace": {
983
+ "char": "w",
984
+ "description": "Workspace ID (optional if set in profile)",
985
+ "name": "workspace",
986
+ "required": false,
987
+ "hasDynamicHelp": false,
988
+ "multiple": false,
989
+ "type": "option"
949
990
  }
950
991
  },
951
992
  "hasDynamicHelp": false,
952
993
  "hiddenAliases": [],
953
- "id": "platform:list",
994
+ "id": "function:list",
954
995
  "pluginAlias": "@xano/cli",
955
996
  "pluginName": "@xano/cli",
956
997
  "pluginType": "core",
@@ -960,7 +1001,7 @@
960
1001
  "relativePath": [
961
1002
  "dist",
962
1003
  "commands",
963
- "platform",
1004
+ "function",
964
1005
  "list",
965
1006
  "index.js"
966
1007
  ]
@@ -1059,107 +1100,78 @@
1059
1100
  "index.js"
1060
1101
  ]
1061
1102
  },
1062
- "function:list": {
1103
+ "profile:create": {
1063
1104
  "aliases": [],
1064
- "args": {},
1065
- "description": "List all functions in a workspace from the Xano Metadata API",
1105
+ "args": {
1106
+ "name": {
1107
+ "description": "Profile name",
1108
+ "name": "name",
1109
+ "required": true
1110
+ }
1111
+ },
1112
+ "description": "Create a new profile configuration",
1066
1113
  "examples": [
1067
- "$ xano function:list -w 40\nAvailable functions:\n - function-1 (ID: 1)\n - function-2 (ID: 2)\n - function-3 (ID: 3)\n",
1068
- "$ xano function:list --profile production\nAvailable functions:\n - my-function (ID: 1)\n - another-function (ID: 2)\n",
1069
- "$ xano function:list -w 40 --output json\n[\n {\n \"id\": 1,\n \"name\": \"function-1\"\n }\n]\n",
1070
- "$ xano function:list -p staging -o json --include_draft\n[\n {\n \"id\": 1,\n \"name\": \"function-1\"\n }\n]\n"
1071
- ],
1114
+ "$ xano profile:create production --account_origin https://account.xano.com --instance_origin https://instance.xano.com --access_token token123\nProfile 'production' created successfully at ~/.xano/credentials.yaml\n",
1115
+ "$ xano profile:create staging -a https://staging-account.xano.com -i https://staging-instance.xano.com -t token456\nProfile 'staging' created successfully at ~/.xano/credentials.yaml\n",
1116
+ "$ xano profile:create dev -i https://dev-instance.xano.com -t token789 -w my-workspace -b feature-branch\nProfile 'dev' created successfully at ~/.xano/credentials.yaml\n",
1117
+ "$ xano profile:create production --account_origin https://account.xano.com --instance_origin https://instance.xano.com --access_token token123 --default\nProfile 'production' created successfully at ~/.xano/credentials.yaml\nDefault profile set to 'production'\n",
1118
+ "$ xano profile:create selfhosted -i https://self-signed.example.com -t token123 --insecure\nProfile 'selfhosted' created successfully at ~/.xano/credentials.yaml\n"
1119
+ ],
1072
1120
  "flags": {
1073
- "profile": {
1074
- "char": "p",
1075
- "description": "Profile to use (uses default profile if not specified)",
1076
- "env": "XANO_PROFILE",
1077
- "name": "profile",
1078
- "required": false,
1121
+ "access_token": {
1122
+ "char": "t",
1123
+ "description": "Access token for the Xano Metadata API",
1124
+ "name": "access_token",
1125
+ "required": true,
1079
1126
  "hasDynamicHelp": false,
1080
1127
  "multiple": false,
1081
1128
  "type": "option"
1082
1129
  },
1083
- "verbose": {
1084
- "char": "v",
1085
- "description": "Show detailed request/response information",
1086
- "env": "XANO_VERBOSE",
1087
- "name": "verbose",
1088
- "required": false,
1089
- "allowNo": false,
1090
- "type": "boolean"
1091
- },
1092
- "include_draft": {
1093
- "description": "Include draft functions",
1094
- "name": "include_draft",
1095
- "required": false,
1096
- "allowNo": false,
1097
- "type": "boolean"
1098
- },
1099
- "include_xanoscript": {
1100
- "description": "Include XanoScript in response",
1101
- "name": "include_xanoscript",
1102
- "required": false,
1103
- "allowNo": false,
1104
- "type": "boolean"
1105
- },
1106
- "order": {
1107
- "description": "Sort order",
1108
- "name": "order",
1130
+ "account_origin": {
1131
+ "char": "a",
1132
+ "description": "Account origin URL. Optional for self hosted installs.",
1133
+ "name": "account_origin",
1109
1134
  "required": false,
1110
- "default": "desc",
1111
1135
  "hasDynamicHelp": false,
1112
1136
  "multiple": false,
1113
- "options": [
1114
- "asc",
1115
- "desc"
1116
- ],
1117
1137
  "type": "option"
1118
1138
  },
1119
- "output": {
1120
- "char": "o",
1121
- "description": "Output format",
1122
- "name": "output",
1139
+ "branch": {
1140
+ "char": "b",
1141
+ "description": "Branch name",
1142
+ "name": "branch",
1123
1143
  "required": false,
1124
- "default": "summary",
1125
1144
  "hasDynamicHelp": false,
1126
1145
  "multiple": false,
1127
- "options": [
1128
- "summary",
1129
- "json"
1130
- ],
1131
1146
  "type": "option"
1132
1147
  },
1133
- "page": {
1134
- "description": "Page number for pagination",
1135
- "name": "page",
1148
+ "default": {
1149
+ "description": "Set this profile as the default",
1150
+ "name": "default",
1136
1151
  "required": false,
1137
- "default": 1,
1138
- "hasDynamicHelp": false,
1139
- "multiple": false,
1140
- "type": "option"
1152
+ "allowNo": false,
1153
+ "type": "boolean"
1141
1154
  },
1142
- "per_page": {
1143
- "description": "Number of results per page",
1144
- "name": "per_page",
1155
+ "insecure": {
1156
+ "char": "k",
1157
+ "description": "Skip TLS certificate verification (for self-signed certificates)",
1158
+ "name": "insecure",
1145
1159
  "required": false,
1146
- "default": 50,
1147
- "hasDynamicHelp": false,
1148
- "multiple": false,
1149
- "type": "option"
1160
+ "allowNo": false,
1161
+ "type": "boolean"
1150
1162
  },
1151
- "sort": {
1152
- "description": "Sort field",
1153
- "name": "sort",
1154
- "required": false,
1155
- "default": "created_at",
1163
+ "instance_origin": {
1164
+ "char": "i",
1165
+ "description": "Instance origin URL",
1166
+ "name": "instance_origin",
1167
+ "required": true,
1156
1168
  "hasDynamicHelp": false,
1157
1169
  "multiple": false,
1158
1170
  "type": "option"
1159
1171
  },
1160
1172
  "workspace": {
1161
1173
  "char": "w",
1162
- "description": "Workspace ID (optional if set in profile)",
1174
+ "description": "Workspace name",
1163
1175
  "name": "workspace",
1164
1176
  "required": false,
1165
1177
  "hasDynamicHelp": false,
@@ -1169,49 +1181,7 @@
1169
1181
  },
1170
1182
  "hasDynamicHelp": false,
1171
1183
  "hiddenAliases": [],
1172
- "id": "function:list",
1173
- "pluginAlias": "@xano/cli",
1174
- "pluginName": "@xano/cli",
1175
- "pluginType": "core",
1176
- "strict": true,
1177
- "enableJsonFlag": false,
1178
- "isESM": true,
1179
- "relativePath": [
1180
- "dist",
1181
- "commands",
1182
- "function",
1183
- "list",
1184
- "index.js"
1185
- ]
1186
- },
1187
- "profile:delete": {
1188
- "aliases": [],
1189
- "args": {
1190
- "name": {
1191
- "description": "Profile name to delete",
1192
- "name": "name",
1193
- "required": true
1194
- }
1195
- },
1196
- "description": "Delete a profile configuration",
1197
- "examples": [
1198
- "$ 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",
1199
- "$ xano profile:delete old-profile --force\nProfile 'old-profile' deleted successfully from ~/.xano/credentials.yaml\n",
1200
- "$ xano profile:delete old-profile -f\nProfile 'old-profile' deleted successfully from ~/.xano/credentials.yaml\n"
1201
- ],
1202
- "flags": {
1203
- "force": {
1204
- "char": "f",
1205
- "description": "Skip confirmation prompt",
1206
- "name": "force",
1207
- "required": false,
1208
- "allowNo": false,
1209
- "type": "boolean"
1210
- }
1211
- },
1212
- "hasDynamicHelp": false,
1213
- "hiddenAliases": [],
1214
- "id": "profile:delete",
1184
+ "id": "profile:create",
1215
1185
  "pluginAlias": "@xano/cli",
1216
1186
  "pluginName": "@xano/cli",
1217
1187
  "pluginType": "core",
@@ -1222,7 +1192,7 @@
1222
1192
  "dist",
1223
1193
  "commands",
1224
1194
  "profile",
1225
- "delete",
1195
+ "create",
1226
1196
  "index.js"
1227
1197
  ]
1228
1198
  },
@@ -1356,6 +1326,73 @@
1356
1326
  "index.js"
1357
1327
  ]
1358
1328
  },
1329
+ "profile:delete": {
1330
+ "aliases": [],
1331
+ "args": {
1332
+ "name": {
1333
+ "description": "Profile name to delete",
1334
+ "name": "name",
1335
+ "required": true
1336
+ }
1337
+ },
1338
+ "description": "Delete a profile configuration",
1339
+ "examples": [
1340
+ "$ xano profile:delete old-profile\nAre you sure you want to delete profile 'old-profile'? (y/n): y\nProfile 'old-profile' deleted successfully from ~/.xano/credentials.yaml\n",
1341
+ "$ xano profile:delete old-profile --force\nProfile 'old-profile' deleted successfully from ~/.xano/credentials.yaml\n",
1342
+ "$ xano profile:delete old-profile -f\nProfile 'old-profile' deleted successfully from ~/.xano/credentials.yaml\n"
1343
+ ],
1344
+ "flags": {
1345
+ "force": {
1346
+ "char": "f",
1347
+ "description": "Skip confirmation prompt",
1348
+ "name": "force",
1349
+ "required": false,
1350
+ "allowNo": false,
1351
+ "type": "boolean"
1352
+ }
1353
+ },
1354
+ "hasDynamicHelp": false,
1355
+ "hiddenAliases": [],
1356
+ "id": "profile:delete",
1357
+ "pluginAlias": "@xano/cli",
1358
+ "pluginName": "@xano/cli",
1359
+ "pluginType": "core",
1360
+ "strict": true,
1361
+ "enableJsonFlag": false,
1362
+ "isESM": true,
1363
+ "relativePath": [
1364
+ "dist",
1365
+ "commands",
1366
+ "profile",
1367
+ "delete",
1368
+ "index.js"
1369
+ ]
1370
+ },
1371
+ "profile:get": {
1372
+ "aliases": [],
1373
+ "args": {},
1374
+ "description": "Get the current default profile name",
1375
+ "examples": [
1376
+ "$ xano profile get\nproduction\n"
1377
+ ],
1378
+ "flags": {},
1379
+ "hasDynamicHelp": false,
1380
+ "hiddenAliases": [],
1381
+ "id": "profile:get",
1382
+ "pluginAlias": "@xano/cli",
1383
+ "pluginName": "@xano/cli",
1384
+ "pluginType": "core",
1385
+ "strict": true,
1386
+ "enableJsonFlag": false,
1387
+ "isESM": true,
1388
+ "relativePath": [
1389
+ "dist",
1390
+ "commands",
1391
+ "profile",
1392
+ "get",
1393
+ "index.js"
1394
+ ]
1395
+ },
1359
1396
  "profile:list": {
1360
1397
  "aliases": [],
1361
1398
  "args": {},
@@ -1563,17 +1600,18 @@
1563
1600
  "index.js"
1564
1601
  ]
1565
1602
  },
1566
- "profile:get": {
1603
+ "profile:workspace": {
1567
1604
  "aliases": [],
1568
1605
  "args": {},
1569
- "description": "Get the current default profile name",
1606
+ "description": "Print the workspace ID for the default profile",
1570
1607
  "examples": [
1571
- "$ xano profile get\nproduction\n"
1608
+ "$ xano profile:workspace\nabc123-workspace-id\n",
1609
+ "$ xano profile:workspace | pbcopy\n# Copies the workspace ID to clipboard on macOS\n"
1572
1610
  ],
1573
1611
  "flags": {},
1574
1612
  "hasDynamicHelp": false,
1575
1613
  "hiddenAliases": [],
1576
- "id": "profile:get",
1614
+ "id": "profile:workspace",
1577
1615
  "pluginAlias": "@xano/cli",
1578
1616
  "pluginName": "@xano/cli",
1579
1617
  "pluginType": "core",
@@ -1584,82 +1622,70 @@
1584
1622
  "dist",
1585
1623
  "commands",
1586
1624
  "profile",
1587
- "get",
1625
+ "workspace",
1588
1626
  "index.js"
1589
1627
  ]
1590
1628
  },
1591
- "profile:create": {
1629
+ "branch:set_live": {
1592
1630
  "aliases": [],
1593
1631
  "args": {
1594
- "name": {
1595
- "description": "Profile name",
1596
- "name": "name",
1632
+ "branch_label": {
1633
+ "description": "Branch label to set as live (use \"v1\" for default branch)",
1634
+ "name": "branch_label",
1597
1635
  "required": true
1598
1636
  }
1599
1637
  },
1600
- "description": "Create a new profile configuration",
1638
+ "description": "Set a branch as the live (active) branch for API requests",
1601
1639
  "examples": [
1602
- "$ xano profile:create production --account_origin https://account.xano.com --instance_origin https://instance.xano.com --access_token token123\nProfile 'production' created successfully at ~/.xano/credentials.yaml\n",
1603
- "$ xano profile:create staging -a https://staging-account.xano.com -i https://staging-instance.xano.com -t token456\nProfile 'staging' created successfully at ~/.xano/credentials.yaml\n",
1604
- "$ xano profile:create dev -i https://dev-instance.xano.com -t token789 -w my-workspace -b feature-branch\nProfile 'dev' created successfully at ~/.xano/credentials.yaml\n",
1605
- "$ xano profile:create production --account_origin https://account.xano.com --instance_origin https://instance.xano.com --access_token token123 --default\nProfile 'production' created successfully at ~/.xano/credentials.yaml\nDefault profile set to 'production'\n",
1606
- "$ xano profile:create selfhosted -i https://self-signed.example.com -t token123 --insecure\nProfile 'selfhosted' created successfully at ~/.xano/credentials.yaml\n"
1640
+ "$ xano branch set-live staging\nAre you sure you want to set 'staging' as the live branch? (y/N) y\nBranch 'staging' is now live\n",
1641
+ "$ xano branch set-live v1 --force\nBranch 'v1' is now live\n",
1642
+ "$ xano branch set-live production -f -o json\n{\n \"created_at\": \"2024-02-10T09:15:00Z\",\n \"label\": \"production\",\n \"backup\": false,\n \"live\": true\n}\n"
1607
1643
  ],
1608
1644
  "flags": {
1609
- "access_token": {
1610
- "char": "t",
1611
- "description": "Access token for the Xano Metadata API",
1612
- "name": "access_token",
1613
- "required": true,
1645
+ "profile": {
1646
+ "char": "p",
1647
+ "description": "Profile to use (uses default profile if not specified)",
1648
+ "env": "XANO_PROFILE",
1649
+ "name": "profile",
1650
+ "required": false,
1614
1651
  "hasDynamicHelp": false,
1615
1652
  "multiple": false,
1616
1653
  "type": "option"
1617
1654
  },
1618
- "account_origin": {
1619
- "char": "a",
1620
- "description": "Account origin URL. Optional for self hosted installs.",
1621
- "name": "account_origin",
1622
- "required": false,
1623
- "hasDynamicHelp": false,
1624
- "multiple": false,
1625
- "type": "option"
1626
- },
1627
- "branch": {
1628
- "char": "b",
1629
- "description": "Branch name",
1630
- "name": "branch",
1631
- "required": false,
1632
- "hasDynamicHelp": false,
1633
- "multiple": false,
1634
- "type": "option"
1635
- },
1636
- "default": {
1637
- "description": "Set this profile as the default",
1638
- "name": "default",
1655
+ "verbose": {
1656
+ "char": "v",
1657
+ "description": "Show detailed request/response information",
1658
+ "env": "XANO_VERBOSE",
1659
+ "name": "verbose",
1639
1660
  "required": false,
1640
1661
  "allowNo": false,
1641
1662
  "type": "boolean"
1642
1663
  },
1643
- "insecure": {
1644
- "char": "k",
1645
- "description": "Skip TLS certificate verification (for self-signed certificates)",
1646
- "name": "insecure",
1664
+ "force": {
1665
+ "char": "f",
1666
+ "description": "Skip confirmation prompt",
1667
+ "name": "force",
1647
1668
  "required": false,
1648
1669
  "allowNo": false,
1649
1670
  "type": "boolean"
1650
1671
  },
1651
- "instance_origin": {
1652
- "char": "i",
1653
- "description": "Instance origin URL",
1654
- "name": "instance_origin",
1655
- "required": true,
1672
+ "output": {
1673
+ "char": "o",
1674
+ "description": "Output format",
1675
+ "name": "output",
1676
+ "required": false,
1677
+ "default": "summary",
1656
1678
  "hasDynamicHelp": false,
1657
1679
  "multiple": false,
1680
+ "options": [
1681
+ "summary",
1682
+ "json"
1683
+ ],
1658
1684
  "type": "option"
1659
1685
  },
1660
1686
  "workspace": {
1661
1687
  "char": "w",
1662
- "description": "Workspace name",
1688
+ "description": "Workspace ID (uses profile workspace if not provided)",
1663
1689
  "name": "workspace",
1664
1690
  "required": false,
1665
1691
  "hasDynamicHelp": false,
@@ -1669,7 +1695,7 @@
1669
1695
  },
1670
1696
  "hasDynamicHelp": false,
1671
1697
  "hiddenAliases": [],
1672
- "id": "profile:create",
1698
+ "id": "branch:set_live",
1673
1699
  "pluginAlias": "@xano/cli",
1674
1700
  "pluginName": "@xano/cli",
1675
1701
  "pluginType": "core",
@@ -1679,8 +1705,8 @@
1679
1705
  "relativePath": [
1680
1706
  "dist",
1681
1707
  "commands",
1682
- "profile",
1683
- "create",
1708
+ "branch",
1709
+ "set_live",
1684
1710
  "index.js"
1685
1711
  ]
1686
1712
  },
@@ -1795,32 +1821,6 @@
1795
1821
  "index.js"
1796
1822
  ]
1797
1823
  },
1798
- "profile:workspace": {
1799
- "aliases": [],
1800
- "args": {},
1801
- "description": "Print the workspace ID for the default profile",
1802
- "examples": [
1803
- "$ xano profile:workspace\nabc123-workspace-id\n",
1804
- "$ xano profile:workspace | pbcopy\n# Copies the workspace ID to clipboard on macOS\n"
1805
- ],
1806
- "flags": {},
1807
- "hasDynamicHelp": false,
1808
- "hiddenAliases": [],
1809
- "id": "profile:workspace",
1810
- "pluginAlias": "@xano/cli",
1811
- "pluginName": "@xano/cli",
1812
- "pluginType": "core",
1813
- "strict": true,
1814
- "enableJsonFlag": false,
1815
- "isESM": true,
1816
- "relativePath": [
1817
- "dist",
1818
- "commands",
1819
- "profile",
1820
- "workspace",
1821
- "index.js"
1822
- ]
1823
- },
1824
1824
  "release:delete": {
1825
1825
  "aliases": [],
1826
1826
  "args": {
@@ -1998,90 +1998,6 @@
1998
1998
  "index.js"
1999
1999
  ]
2000
2000
  },
2001
- "release:export": {
2002
- "aliases": [],
2003
- "args": {
2004
- "release_name": {
2005
- "description": "Release name to export",
2006
- "name": "release_name",
2007
- "required": true
2008
- }
2009
- },
2010
- "description": "Export (download) a release to a local file",
2011
- "examples": [
2012
- "$ xano release export v1.0\nDownloaded release 'v1.0' to ./release-v1.0.tar.gz\n",
2013
- "$ xano release export v1.0 --output ./backups/my-release.tar.gz",
2014
- "$ xano release export v1.0 -o json"
2015
- ],
2016
- "flags": {
2017
- "profile": {
2018
- "char": "p",
2019
- "description": "Profile to use (uses default profile if not specified)",
2020
- "env": "XANO_PROFILE",
2021
- "name": "profile",
2022
- "required": false,
2023
- "hasDynamicHelp": false,
2024
- "multiple": false,
2025
- "type": "option"
2026
- },
2027
- "verbose": {
2028
- "char": "v",
2029
- "description": "Show detailed request/response information",
2030
- "env": "XANO_VERBOSE",
2031
- "name": "verbose",
2032
- "required": false,
2033
- "allowNo": false,
2034
- "type": "boolean"
2035
- },
2036
- "format": {
2037
- "char": "o",
2038
- "description": "Output format",
2039
- "name": "format",
2040
- "required": false,
2041
- "default": "summary",
2042
- "hasDynamicHelp": false,
2043
- "multiple": false,
2044
- "options": [
2045
- "summary",
2046
- "json"
2047
- ],
2048
- "type": "option"
2049
- },
2050
- "output": {
2051
- "description": "Output file path (defaults to ./release-{name}.tar.gz)",
2052
- "name": "output",
2053
- "required": false,
2054
- "hasDynamicHelp": false,
2055
- "multiple": false,
2056
- "type": "option"
2057
- },
2058
- "workspace": {
2059
- "char": "w",
2060
- "description": "Workspace ID (uses profile workspace if not provided)",
2061
- "name": "workspace",
2062
- "required": false,
2063
- "hasDynamicHelp": false,
2064
- "multiple": false,
2065
- "type": "option"
2066
- }
2067
- },
2068
- "hasDynamicHelp": false,
2069
- "hiddenAliases": [],
2070
- "id": "release:export",
2071
- "pluginAlias": "@xano/cli",
2072
- "pluginName": "@xano/cli",
2073
- "pluginType": "core",
2074
- "strict": true,
2075
- "enableJsonFlag": false,
2076
- "isESM": true,
2077
- "relativePath": [
2078
- "dist",
2079
- "commands",
2080
- "release",
2081
- "export",
2082
- "index.js"
2083
- ]
2084
- },
2085
2001
  "release:get": {
2086
2002
  "aliases": [],
2087
2003
  "args": {
@@ -2596,19 +2512,20 @@
2596
2512
  "index.js"
2597
2513
  ]
2598
2514
  },
2599
- "tenant:create": {
2515
+ "release:export": {
2600
2516
  "aliases": [],
2601
2517
  "args": {
2602
- "display": {
2603
- "description": "Display name for the tenant",
2604
- "name": "display",
2518
+ "release_name": {
2519
+ "description": "Release name to export",
2520
+ "name": "release_name",
2605
2521
  "required": true
2606
2522
  }
2607
2523
  },
2608
- "description": "Create a new tenant in a workspace",
2524
+ "description": "Export (download) a release to a local file",
2609
2525
  "examples": [
2610
- "$ xano tenant create \"Production\"\nCreated tenant: Production (production) - ID: 42\n",
2611
- "$ xano tenant create \"Staging\" --description \"Staging env\" --cluster_id 1 --platform_id 1 --license tier2 -o json"
2526
+ "$ xano release export v1.0\nDownloaded release 'v1.0' to ./release-v1.0.tar.gz\n",
2527
+ "$ xano release export v1.0 --output ./backups/my-release.tar.gz",
2528
+ "$ xano release export v1.0 -o json"
2612
2529
  ],
2613
2530
  "flags": {
2614
2531
  "profile": {
@@ -2630,61 +2547,10 @@
2630
2547
  "allowNo": false,
2631
2548
  "type": "boolean"
2632
2549
  },
2633
- "cluster_id": {
2634
- "description": "Cluster ID to deploy to (required for tier2/tier3)",
2635
- "name": "cluster_id",
2636
- "required": false,
2637
- "hasDynamicHelp": false,
2638
- "multiple": false,
2639
- "type": "option"
2640
- },
2641
- "description": {
2642
- "char": "d",
2643
- "description": "Tenant description",
2644
- "name": "description",
2645
- "required": false,
2646
- "hasDynamicHelp": false,
2647
- "multiple": false,
2648
- "type": "option"
2649
- },
2650
- "domain": {
2651
- "description": "Custom domain for the tenant",
2652
- "name": "domain",
2653
- "required": false,
2654
- "hasDynamicHelp": false,
2655
- "multiple": false,
2656
- "type": "option"
2657
- },
2658
- "ephemeral": {
2659
- "description": "Mark tenant as ephemeral (allows push operations)",
2660
- "name": "ephemeral",
2661
- "allowNo": false,
2662
- "type": "boolean"
2663
- },
2664
- "ingress": {
2665
- "description": "Enable ingress",
2666
- "name": "ingress",
2667
- "allowNo": true,
2668
- "type": "boolean"
2669
- },
2670
- "license": {
2671
- "description": "License tier",
2672
- "name": "license",
2673
- "required": false,
2674
- "default": "tier1",
2675
- "hasDynamicHelp": false,
2676
- "multiple": false,
2677
- "options": [
2678
- "tier1",
2679
- "tier2",
2680
- "tier3"
2681
- ],
2682
- "type": "option"
2683
- },
2684
- "output": {
2550
+ "format": {
2685
2551
  "char": "o",
2686
2552
  "description": "Output format",
2687
- "name": "output",
2553
+ "name": "format",
2688
2554
  "required": false,
2689
2555
  "default": "summary",
2690
2556
  "hasDynamicHelp": false,
@@ -2695,20 +2561,14 @@
2695
2561
  ],
2696
2562
  "type": "option"
2697
2563
  },
2698
- "platform_id": {
2699
- "description": "Platform ID to use",
2700
- "name": "platform_id",
2564
+ "output": {
2565
+ "description": "Output file path (defaults to ./release-{name}.tar.gz)",
2566
+ "name": "output",
2701
2567
  "required": false,
2702
2568
  "hasDynamicHelp": false,
2703
2569
  "multiple": false,
2704
2570
  "type": "option"
2705
2571
  },
2706
- "tasks": {
2707
- "description": "Enable background tasks",
2708
- "name": "tasks",
2709
- "allowNo": true,
2710
- "type": "boolean"
2711
- },
2712
2572
  "workspace": {
2713
2573
  "char": "w",
2714
2574
  "description": "Workspace ID (uses profile workspace if not provided)",
@@ -2721,7 +2581,7 @@
2721
2581
  },
2722
2582
  "hasDynamicHelp": false,
2723
2583
  "hiddenAliases": [],
2724
- "id": "tenant:create",
2584
+ "id": "release:export",
2725
2585
  "pluginAlias": "@xano/cli",
2726
2586
  "pluginName": "@xano/cli",
2727
2587
  "pluginType": "core",
@@ -2731,8 +2591,8 @@
2731
2591
  "relativePath": [
2732
2592
  "dist",
2733
2593
  "commands",
2734
- "tenant",
2735
- "create",
2594
+ "release",
2595
+ "export",
2736
2596
  "index.js"
2737
2597
  ]
2738
2598
  },
@@ -2820,19 +2680,19 @@
2820
2680
  "index.js"
2821
2681
  ]
2822
2682
  },
2823
- "tenant:deploy_platform": {
2683
+ "tenant:create": {
2824
2684
  "aliases": [],
2825
2685
  "args": {
2826
- "tenant_name": {
2827
- "description": "Tenant name to deploy to",
2828
- "name": "tenant_name",
2686
+ "display": {
2687
+ "description": "Display name for the tenant",
2688
+ "name": "display",
2829
2689
  "required": true
2830
2690
  }
2831
2691
  },
2832
- "description": "Deploy a platform version to a tenant",
2692
+ "description": "Create a new tenant in a workspace",
2833
2693
  "examples": [
2834
- "$ xano tenant deploy_platform t1234-abcd-xyz1 --platform_id 5\nDeployed platform 5 to tenant: My Tenant (my-tenant)\n",
2835
- "$ xano tenant deploy_platform t1234-abcd-xyz1 --platform_id 5 -o json"
2694
+ "$ xano tenant create \"Production\"\nCreated tenant: Production (production) - ID: 42\n",
2695
+ "$ xano tenant create \"Staging\" --description \"Staging env\" --cluster_id 1 --platform_id 1 --license tier2 -o json"
2836
2696
  ],
2837
2697
  "flags": {
2838
2698
  "profile": {
@@ -2854,6 +2714,57 @@
2854
2714
  "allowNo": false,
2855
2715
  "type": "boolean"
2856
2716
  },
2717
+ "cluster_id": {
2718
+ "description": "Cluster ID to deploy to (required for tier2/tier3)",
2719
+ "name": "cluster_id",
2720
+ "required": false,
2721
+ "hasDynamicHelp": false,
2722
+ "multiple": false,
2723
+ "type": "option"
2724
+ },
2725
+ "description": {
2726
+ "char": "d",
2727
+ "description": "Tenant description",
2728
+ "name": "description",
2729
+ "required": false,
2730
+ "hasDynamicHelp": false,
2731
+ "multiple": false,
2732
+ "type": "option"
2733
+ },
2734
+ "domain": {
2735
+ "description": "Custom domain for the tenant",
2736
+ "name": "domain",
2737
+ "required": false,
2738
+ "hasDynamicHelp": false,
2739
+ "multiple": false,
2740
+ "type": "option"
2741
+ },
2742
+ "ephemeral": {
2743
+ "description": "Mark tenant as ephemeral (allows push operations)",
2744
+ "name": "ephemeral",
2745
+ "allowNo": false,
2746
+ "type": "boolean"
2747
+ },
2748
+ "ingress": {
2749
+ "description": "Enable ingress",
2750
+ "name": "ingress",
2751
+ "allowNo": true,
2752
+ "type": "boolean"
2753
+ },
2754
+ "license": {
2755
+ "description": "License tier",
2756
+ "name": "license",
2757
+ "required": false,
2758
+ "default": "tier1",
2759
+ "hasDynamicHelp": false,
2760
+ "multiple": false,
2761
+ "options": [
2762
+ "tier1",
2763
+ "tier2",
2764
+ "tier3"
2765
+ ],
2766
+ "type": "option"
2767
+ },
2857
2768
  "output": {
2858
2769
  "char": "o",
2859
2770
  "description": "Output format",
@@ -2869,13 +2780,19 @@
2869
2780
  "type": "option"
2870
2781
  },
2871
2782
  "platform_id": {
2872
- "description": "Platform ID to deploy",
2783
+ "description": "Platform ID to use",
2873
2784
  "name": "platform_id",
2874
- "required": true,
2785
+ "required": false,
2875
2786
  "hasDynamicHelp": false,
2876
2787
  "multiple": false,
2877
2788
  "type": "option"
2878
2789
  },
2790
+ "tasks": {
2791
+ "description": "Enable background tasks",
2792
+ "name": "tasks",
2793
+ "allowNo": true,
2794
+ "type": "boolean"
2795
+ },
2879
2796
  "workspace": {
2880
2797
  "char": "w",
2881
2798
  "description": "Workspace ID (uses profile workspace if not provided)",
@@ -2888,7 +2805,7 @@
2888
2805
  },
2889
2806
  "hasDynamicHelp": false,
2890
2807
  "hiddenAliases": [],
2891
- "id": "tenant:deploy_platform",
2808
+ "id": "tenant:create",
2892
2809
  "pluginAlias": "@xano/cli",
2893
2810
  "pluginName": "@xano/cli",
2894
2811
  "pluginType": "core",
@@ -2899,7 +2816,7 @@
2899
2816
  "dist",
2900
2817
  "commands",
2901
2818
  "tenant",
2902
- "deploy_platform",
2819
+ "create",
2903
2820
  "index.js"
2904
2821
  ]
2905
2822
  },
@@ -3191,6 +3108,89 @@
3191
3108
  "index.js"
3192
3109
  ]
3193
3110
  },
3111
+ "tenant:deploy_platform": {
3112
+ "aliases": [],
3113
+ "args": {
3114
+ "tenant_name": {
3115
+ "description": "Tenant name to deploy to",
3116
+ "name": "tenant_name",
3117
+ "required": true
3118
+ }
3119
+ },
3120
+ "description": "Deploy a platform version to a tenant",
3121
+ "examples": [
3122
+ "$ xano tenant deploy_platform t1234-abcd-xyz1 --platform_id 5\nDeployed platform 5 to tenant: My Tenant (my-tenant)\n",
3123
+ "$ xano tenant deploy_platform t1234-abcd-xyz1 --platform_id 5 -o json"
3124
+ ],
3125
+ "flags": {
3126
+ "profile": {
3127
+ "char": "p",
3128
+ "description": "Profile to use (uses default profile if not specified)",
3129
+ "env": "XANO_PROFILE",
3130
+ "name": "profile",
3131
+ "required": false,
3132
+ "hasDynamicHelp": false,
3133
+ "multiple": false,
3134
+ "type": "option"
3135
+ },
3136
+ "verbose": {
3137
+ "char": "v",
3138
+ "description": "Show detailed request/response information",
3139
+ "env": "XANO_VERBOSE",
3140
+ "name": "verbose",
3141
+ "required": false,
3142
+ "allowNo": false,
3143
+ "type": "boolean"
3144
+ },
3145
+ "output": {
3146
+ "char": "o",
3147
+ "description": "Output format",
3148
+ "name": "output",
3149
+ "required": false,
3150
+ "default": "summary",
3151
+ "hasDynamicHelp": false,
3152
+ "multiple": false,
3153
+ "options": [
3154
+ "summary",
3155
+ "json"
3156
+ ],
3157
+ "type": "option"
3158
+ },
3159
+ "platform_id": {
3160
+ "description": "Platform ID to deploy",
3161
+ "name": "platform_id",
3162
+ "required": true,
3163
+ "hasDynamicHelp": false,
3164
+ "multiple": false,
3165
+ "type": "option"
3166
+ },
3167
+ "workspace": {
3168
+ "char": "w",
3169
+ "description": "Workspace ID (uses profile workspace if not provided)",
3170
+ "name": "workspace",
3171
+ "required": false,
3172
+ "hasDynamicHelp": false,
3173
+ "multiple": false,
3174
+ "type": "option"
3175
+ }
3176
+ },
3177
+ "hasDynamicHelp": false,
3178
+ "hiddenAliases": [],
3179
+ "id": "tenant:deploy_platform",
3180
+ "pluginAlias": "@xano/cli",
3181
+ "pluginName": "@xano/cli",
3182
+ "pluginType": "core",
3183
+ "strict": true,
3184
+ "enableJsonFlag": false,
3185
+ "isESM": true,
3186
+ "relativePath": [
3187
+ "dist",
3188
+ "commands",
3189
+ "tenant",
3190
+ "deploy_platform",
3191
+ "index.js"
3192
+ ]
3193
+ },
3194
3194
  "tenant:impersonate": {
3195
3195
  "aliases": [],
3196
3196
  "args": {
@@ -3343,6 +3343,98 @@
3343
3343
  "index.js"
3344
3344
  ]
3345
3345
  },
3346
+ "unit_test:list": {
3347
+ "aliases": [],
3348
+ "args": {},
3349
+ "description": "List all unit tests in a workspace",
3350
+ "examples": [
3351
+ "$ xano unit-test list\nUnit tests in workspace 5:\n - my-test (ID: abc-123) [function: math]\n - auth-check (ID: def-456) [query: /user/login]\n",
3352
+ "$ xano unit-test list -w 5 --output json",
3353
+ "$ xano unit-test list --obj-type function"
3354
+ ],
3355
+ "flags": {
3356
+ "profile": {
3357
+ "char": "p",
3358
+ "description": "Profile to use (uses default profile if not specified)",
3359
+ "env": "XANO_PROFILE",
3360
+ "name": "profile",
3361
+ "required": false,
3362
+ "hasDynamicHelp": false,
3363
+ "multiple": false,
3364
+ "type": "option"
3365
+ },
3366
+ "verbose": {
3367
+ "char": "v",
3368
+ "description": "Show detailed request/response information",
3369
+ "env": "XANO_VERBOSE",
3370
+ "name": "verbose",
3371
+ "required": false,
3372
+ "allowNo": false,
3373
+ "type": "boolean"
3374
+ },
3375
+ "branch": {
3376
+ "char": "b",
3377
+ "description": "Filter by branch name",
3378
+ "name": "branch",
3379
+ "required": false,
3380
+ "hasDynamicHelp": false,
3381
+ "multiple": false,
3382
+ "type": "option"
3383
+ },
3384
+ "obj-type": {
3385
+ "description": "Filter by object type",
3386
+ "name": "obj-type",
3387
+ "required": false,
3388
+ "hasDynamicHelp": false,
3389
+ "multiple": false,
3390
+ "options": [
3391
+ "function",
3392
+ "query",
3393
+ "middleware"
3394
+ ],
3395
+ "type": "option"
3396
+ },
3397
+ "output": {
3398
+ "char": "o",
3399
+ "description": "Output format",
3400
+ "name": "output",
3401
+ "required": false,
3402
+ "default": "summary",
3403
+ "hasDynamicHelp": false,
3404
+ "multiple": false,
3405
+ "options": [
3406
+ "summary",
3407
+ "json"
3408
+ ],
3409
+ "type": "option"
3410
+ },
3411
+ "workspace": {
3412
+ "char": "w",
3413
+ "description": "Workspace ID (uses profile workspace if not provided)",
3414
+ "name": "workspace",
3415
+ "required": false,
3416
+ "hasDynamicHelp": false,
3417
+ "multiple": false,
3418
+ "type": "option"
3419
+ }
3420
+ },
3421
+ "hasDynamicHelp": false,
3422
+ "hiddenAliases": [],
3423
+ "id": "unit_test:list",
3424
+ "pluginAlias": "@xano/cli",
3425
+ "pluginName": "@xano/cli",
3426
+ "pluginType": "core",
3427
+ "strict": true,
3428
+ "enableJsonFlag": false,
3429
+ "isESM": true,
3430
+ "relativePath": [
3431
+ "dist",
3432
+ "commands",
3433
+ "unit_test",
3434
+ "list",
3435
+ "index.js"
3436
+ ]
3437
+ },
3346
3438
  "tenant:push": {
3347
3439
  "aliases": [],
3348
3440
  "args": {
@@ -3438,21 +3530,19 @@
3438
3530
  "index.js"
3439
3531
  ]
3440
3532
  },
3441
- "tenant:pull": {
3533
+ "unit_test:run": {
3442
3534
  "aliases": [],
3443
3535
  "args": {
3444
- "directory": {
3445
- "description": "Output directory for pulled documents",
3446
- "name": "directory",
3536
+ "unit_test_id": {
3537
+ "description": "ID of the unit test to run",
3538
+ "name": "unit_test_id",
3447
3539
  "required": true
3448
3540
  }
3449
3541
  },
3450
- "description": "Pull a tenant multidoc from the Xano Metadata API and split into individual files",
3542
+ "description": "Run a unit test",
3451
3543
  "examples": [
3452
- "$ xano tenant pull ./my-tenant -t my-tenant\nPulled 42 documents from tenant my-tenant to ./my-tenant\n",
3453
- "$ xano tenant pull ./output -t my-tenant -w 40\nPulled 15 documents from tenant my-tenant to ./output\n",
3454
- "$ xano tenant pull ./backup -t my-tenant --profile production --env --records\nPulled 58 documents from tenant my-tenant to ./backup\n",
3455
- "$ xano tenant pull ./my-tenant -t my-tenant --draft\nPulled 42 documents from tenant my-tenant to ./my-tenant\n"
3544
+ "$ xano unit-test run abc-123\nRunning unit test abc-123...\nResult: PASS\n",
3545
+ "$ xano unit-test run abc-123 -o json"
3456
3546
  ],
3457
3547
  "flags": {
3458
3548
  "profile": {
@@ -3474,39 +3564,23 @@
3474
3564
  "allowNo": false,
3475
3565
  "type": "boolean"
3476
3566
  },
3477
- "draft": {
3478
- "description": "Include draft versions",
3479
- "name": "draft",
3480
- "required": false,
3481
- "allowNo": false,
3482
- "type": "boolean"
3483
- },
3484
- "env": {
3485
- "description": "Include environment variables",
3486
- "name": "env",
3487
- "required": false,
3488
- "allowNo": false,
3489
- "type": "boolean"
3490
- },
3491
- "records": {
3492
- "description": "Include records",
3493
- "name": "records",
3567
+ "output": {
3568
+ "char": "o",
3569
+ "description": "Output format",
3570
+ "name": "output",
3494
3571
  "required": false,
3495
- "allowNo": false,
3496
- "type": "boolean"
3497
- },
3498
- "tenant": {
3499
- "char": "t",
3500
- "description": "Tenant name to pull from",
3501
- "name": "tenant",
3502
- "required": true,
3572
+ "default": "summary",
3503
3573
  "hasDynamicHelp": false,
3504
3574
  "multiple": false,
3575
+ "options": [
3576
+ "summary",
3577
+ "json"
3578
+ ],
3505
3579
  "type": "option"
3506
3580
  },
3507
3581
  "workspace": {
3508
3582
  "char": "w",
3509
- "description": "Workspace ID (optional if set in profile)",
3583
+ "description": "Workspace ID (uses profile workspace if not provided)",
3510
3584
  "name": "workspace",
3511
3585
  "required": false,
3512
3586
  "hasDynamicHelp": false,
@@ -3516,7 +3590,7 @@
3516
3590
  },
3517
3591
  "hasDynamicHelp": false,
3518
3592
  "hiddenAliases": [],
3519
- "id": "tenant:pull",
3593
+ "id": "unit_test:run",
3520
3594
  "pluginAlias": "@xano/cli",
3521
3595
  "pluginName": "@xano/cli",
3522
3596
  "pluginType": "core",
@@ -3526,8 +3600,8 @@
3526
3600
  "relativePath": [
3527
3601
  "dist",
3528
3602
  "commands",
3529
- "tenant",
3530
- "pull",
3603
+ "unit_test",
3604
+ "run",
3531
3605
  "index.js"
3532
3606
  ]
3533
3607
  },
@@ -3789,14 +3863,21 @@
3789
3863
  "index.js"
3790
3864
  ]
3791
3865
  },
3792
- "unit_test:list": {
3866
+ "tenant:pull": {
3793
3867
  "aliases": [],
3794
- "args": {},
3795
- "description": "List all unit tests in a workspace",
3868
+ "args": {
3869
+ "directory": {
3870
+ "description": "Output directory for pulled documents",
3871
+ "name": "directory",
3872
+ "required": true
3873
+ }
3874
+ },
3875
+ "description": "Pull a tenant multidoc from the Xano Metadata API and split into individual files",
3796
3876
  "examples": [
3797
- "$ 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",
3798
- "$ xano unit-test list -w 5 --output json",
3799
- "$ xano unit-test list --obj-type function"
3877
+ "$ xano tenant pull ./my-tenant -t my-tenant\nPulled 42 documents from tenant my-tenant to ./my-tenant\n",
3878
+ "$ xano tenant pull ./output -t my-tenant -w 40\nPulled 15 documents from tenant my-tenant to ./output\n",
3879
+ "$ xano tenant pull ./backup -t my-tenant --profile production --env --records\nPulled 58 documents from tenant my-tenant to ./backup\n",
3880
+ "$ xano tenant pull ./my-tenant -t my-tenant --draft\nPulled 42 documents from tenant my-tenant to ./my-tenant\n"
3800
3881
  ],
3801
3882
  "flags": {
3802
3883
  "profile": {
@@ -3818,45 +3899,39 @@
3818
3899
  "allowNo": false,
3819
3900
  "type": "boolean"
3820
3901
  },
3821
- "branch": {
3822
- "char": "b",
3823
- "description": "Filter by branch name",
3824
- "name": "branch",
3902
+ "draft": {
3903
+ "description": "Include draft versions",
3904
+ "name": "draft",
3825
3905
  "required": false,
3826
- "hasDynamicHelp": false,
3827
- "multiple": false,
3828
- "type": "option"
3906
+ "allowNo": false,
3907
+ "type": "boolean"
3829
3908
  },
3830
- "obj-type": {
3831
- "description": "Filter by object type",
3832
- "name": "obj-type",
3909
+ "env": {
3910
+ "description": "Include environment variables",
3911
+ "name": "env",
3833
3912
  "required": false,
3834
- "hasDynamicHelp": false,
3835
- "multiple": false,
3836
- "options": [
3837
- "function",
3838
- "query",
3839
- "middleware"
3840
- ],
3841
- "type": "option"
3913
+ "allowNo": false,
3914
+ "type": "boolean"
3842
3915
  },
3843
- "output": {
3844
- "char": "o",
3845
- "description": "Output format",
3846
- "name": "output",
3916
+ "records": {
3917
+ "description": "Include records",
3918
+ "name": "records",
3847
3919
  "required": false,
3848
- "default": "summary",
3920
+ "allowNo": false,
3921
+ "type": "boolean"
3922
+ },
3923
+ "tenant": {
3924
+ "char": "t",
3925
+ "description": "Tenant name to pull from",
3926
+ "name": "tenant",
3927
+ "required": true,
3849
3928
  "hasDynamicHelp": false,
3850
3929
  "multiple": false,
3851
- "options": [
3852
- "summary",
3853
- "json"
3854
- ],
3855
3930
  "type": "option"
3856
3931
  },
3857
3932
  "workspace": {
3858
3933
  "char": "w",
3859
- "description": "Workspace ID (uses profile workspace if not provided)",
3934
+ "description": "Workspace ID (optional if set in profile)",
3860
3935
  "name": "workspace",
3861
3936
  "required": false,
3862
3937
  "hasDynamicHelp": false,
@@ -3866,7 +3941,7 @@
3866
3941
  },
3867
3942
  "hasDynamicHelp": false,
3868
3943
  "hiddenAliases": [],
3869
- "id": "unit_test:list",
3944
+ "id": "tenant:pull",
3870
3945
  "pluginAlias": "@xano/cli",
3871
3946
  "pluginName": "@xano/cli",
3872
3947
  "pluginType": "core",
@@ -3876,8 +3951,8 @@
3876
3951
  "relativePath": [
3877
3952
  "dist",
3878
3953
  "commands",
3879
- "unit_test",
3880
- "list",
3954
+ "tenant",
3955
+ "pull",
3881
3956
  "index.js"
3882
3957
  ]
3883
3958
  },
@@ -3960,19 +4035,13 @@
3960
4035
  "index.js"
3961
4036
  ]
3962
4037
  },
3963
- "workflow_test:run": {
4038
+ "workflow_test:run_all": {
3964
4039
  "aliases": [],
3965
- "args": {
3966
- "workflow_test_id": {
3967
- "description": "ID of the workflow test to run",
3968
- "name": "workflow_test_id",
3969
- "required": true
3970
- }
3971
- },
3972
- "description": "Run a workflow test",
4040
+ "args": {},
4041
+ "description": "Run all workflow tests in a workspace",
3973
4042
  "examples": [
3974
- "$ xano workflow-test run 1\nRunning workflow test 1...\nResult: PASS (1.234s)\n",
3975
- "$ xano workflow-test run 1 -o json"
4043
+ "$ 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",
4044
+ "$ xano workflow-test run-all --branch main -o json"
3976
4045
  ],
3977
4046
  "flags": {
3978
4047
  "profile": {
@@ -3994,6 +4063,15 @@
3994
4063
  "allowNo": false,
3995
4064
  "type": "boolean"
3996
4065
  },
4066
+ "branch": {
4067
+ "char": "b",
4068
+ "description": "Filter by branch name",
4069
+ "name": "branch",
4070
+ "required": false,
4071
+ "hasDynamicHelp": false,
4072
+ "multiple": false,
4073
+ "type": "option"
4074
+ },
3997
4075
  "output": {
3998
4076
  "char": "o",
3999
4077
  "description": "Output format",
@@ -4020,7 +4098,7 @@
4020
4098
  },
4021
4099
  "hasDynamicHelp": false,
4022
4100
  "hiddenAliases": [],
4023
- "id": "workflow_test:run",
4101
+ "id": "workflow_test:run_all",
4024
4102
  "pluginAlias": "@xano/cli",
4025
4103
  "pluginName": "@xano/cli",
4026
4104
  "pluginType": "core",
@@ -4031,17 +4109,23 @@
4031
4109
  "dist",
4032
4110
  "commands",
4033
4111
  "workflow_test",
4034
- "run",
4112
+ "run_all",
4035
4113
  "index.js"
4036
4114
  ]
4037
4115
  },
4038
- "workflow_test:run_all": {
4116
+ "workflow_test:run": {
4039
4117
  "aliases": [],
4040
- "args": {},
4041
- "description": "Run all workflow tests in a workspace",
4118
+ "args": {
4119
+ "workflow_test_id": {
4120
+ "description": "ID of the workflow test to run",
4121
+ "name": "workflow_test_id",
4122
+ "required": true
4123
+ }
4124
+ },
4125
+ "description": "Run a workflow test",
4042
4126
  "examples": [
4043
- "$ 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",
4044
- "$ xano workflow-test run-all --branch main -o json"
4127
+ "$ xano workflow-test run 1\nRunning workflow test 1...\nResult: PASS (1.234s)\n",
4128
+ "$ xano workflow-test run 1 -o json"
4045
4129
  ],
4046
4130
  "flags": {
4047
4131
  "profile": {
@@ -4063,15 +4147,6 @@
4063
4147
  "allowNo": false,
4064
4148
  "type": "boolean"
4065
4149
  },
4066
- "branch": {
4067
- "char": "b",
4068
- "description": "Filter by branch name",
4069
- "name": "branch",
4070
- "required": false,
4071
- "hasDynamicHelp": false,
4072
- "multiple": false,
4073
- "type": "option"
4074
- },
4075
4150
  "output": {
4076
4151
  "char": "o",
4077
4152
  "description": "Output format",
@@ -4098,7 +4173,7 @@
4098
4173
  },
4099
4174
  "hasDynamicHelp": false,
4100
4175
  "hiddenAliases": [],
4101
- "id": "workflow_test:run_all",
4176
+ "id": "workflow_test:run",
4102
4177
  "pluginAlias": "@xano/cli",
4103
4178
  "pluginName": "@xano/cli",
4104
4179
  "pluginType": "core",
@@ -4109,23 +4184,24 @@
4109
4184
  "dist",
4110
4185
  "commands",
4111
4186
  "workflow_test",
4112
- "run_all",
4187
+ "run",
4113
4188
  "index.js"
4114
4189
  ]
4115
4190
  },
4116
- "unit_test:run": {
4191
+ "workspace:delete": {
4117
4192
  "aliases": [],
4118
4193
  "args": {
4119
- "unit_test_id": {
4120
- "description": "ID of the unit test to run",
4121
- "name": "unit_test_id",
4194
+ "workspace_id": {
4195
+ "description": "Workspace ID to delete",
4196
+ "name": "workspace_id",
4122
4197
  "required": true
4123
4198
  }
4124
4199
  },
4125
- "description": "Run a unit test",
4200
+ "description": "Delete a workspace via the Xano Metadata API. Cannot delete workspaces with active tenants.",
4126
4201
  "examples": [
4127
- "$ xano unit-test run abc-123\nRunning unit test abc-123...\nResult: PASS\n",
4128
- "$ xano unit-test run abc-123 -o json"
4202
+ "$ xano workspace delete 123\nAre you sure you want to delete workspace 123? This action cannot be undone. (y/N) y\nDeleted workspace 123\n",
4203
+ "$ xano workspace delete 123 --force\nDeleted workspace 123\n",
4204
+ "$ xano workspace delete 123 -f -o json\n{\n \"deleted\": true,\n \"workspace_id\": 123\n}\n"
4129
4205
  ],
4130
4206
  "flags": {
4131
4207
  "profile": {
@@ -4147,6 +4223,14 @@
4147
4223
  "allowNo": false,
4148
4224
  "type": "boolean"
4149
4225
  },
4226
+ "force": {
4227
+ "char": "f",
4228
+ "description": "Skip confirmation prompt",
4229
+ "name": "force",
4230
+ "required": false,
4231
+ "allowNo": false,
4232
+ "type": "boolean"
4233
+ },
4150
4234
  "output": {
4151
4235
  "char": "o",
4152
4236
  "description": "Output format",
@@ -4160,20 +4244,11 @@
4160
4244
  "json"
4161
4245
  ],
4162
4246
  "type": "option"
4163
- },
4164
- "workspace": {
4165
- "char": "w",
4166
- "description": "Workspace ID (uses profile workspace if not provided)",
4167
- "name": "workspace",
4168
- "required": false,
4169
- "hasDynamicHelp": false,
4170
- "multiple": false,
4171
- "type": "option"
4172
4247
  }
4173
4248
  },
4174
4249
  "hasDynamicHelp": false,
4175
4250
  "hiddenAliases": [],
4176
- "id": "unit_test:run",
4251
+ "id": "workspace:delete",
4177
4252
  "pluginAlias": "@xano/cli",
4178
4253
  "pluginName": "@xano/cli",
4179
4254
  "pluginType": "core",
@@ -4183,25 +4258,25 @@
4183
4258
  "relativePath": [
4184
4259
  "dist",
4185
4260
  "commands",
4186
- "unit_test",
4187
- "run",
4261
+ "workspace",
4262
+ "delete",
4188
4263
  "index.js"
4189
4264
  ]
4190
4265
  },
4191
- "workspace:create": {
4266
+ "workspace:get": {
4192
4267
  "aliases": [],
4193
4268
  "args": {
4194
- "name": {
4195
- "description": "Name of the workspace",
4196
- "name": "name",
4197
- "required": true
4269
+ "workspace_id": {
4270
+ "description": "Workspace ID to get details for (uses profile workspace if not provided)",
4271
+ "name": "workspace_id",
4272
+ "required": false
4198
4273
  }
4199
4274
  },
4200
- "description": "Create a new workspace via the Xano Metadata API",
4275
+ "description": "Get details of a specific workspace from the Xano Metadata API",
4201
4276
  "examples": [
4202
- "$ xano workspace create my-workspace\nCreated workspace: my-workspace (ID: 123)\n",
4203
- "$ xano workspace create my-app --description \"My application workspace\"\nCreated workspace: my-app (ID: 456)\n Description: My application workspace\n",
4204
- "$ 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"
4277
+ "$ xano workspace get 123\nWorkspace: my-workspace (ID: 123)\n Description: My workspace description\n Created: 2024-01-15\n",
4278
+ "$ xano workspace get --output json\n{\n \"id\": 123,\n \"name\": \"my-workspace\",\n \"description\": \"My workspace description\"\n}\n",
4279
+ "$ xano workspace get 456 -p production -o json\n{\n \"id\": 456,\n \"name\": \"production-workspace\"\n}\n"
4205
4280
  ],
4206
4281
  "flags": {
4207
4282
  "profile": {
@@ -4223,15 +4298,6 @@
4223
4298
  "allowNo": false,
4224
4299
  "type": "boolean"
4225
4300
  },
4226
- "description": {
4227
- "char": "d",
4228
- "description": "Description for the workspace",
4229
- "name": "description",
4230
- "required": false,
4231
- "hasDynamicHelp": false,
4232
- "multiple": false,
4233
- "type": "option"
4234
- },
4235
4301
  "output": {
4236
4302
  "char": "o",
4237
4303
  "description": "Output format",
@@ -4249,7 +4315,7 @@
4249
4315
  },
4250
4316
  "hasDynamicHelp": false,
4251
4317
  "hiddenAliases": [],
4252
- "id": "workspace:create",
4318
+ "id": "workspace:get",
4253
4319
  "pluginAlias": "@xano/cli",
4254
4320
  "pluginName": "@xano/cli",
4255
4321
  "pluginType": "core",
@@ -4260,24 +4326,24 @@
4260
4326
  "dist",
4261
4327
  "commands",
4262
4328
  "workspace",
4263
- "create",
4329
+ "get",
4264
4330
  "index.js"
4265
4331
  ]
4266
4332
  },
4267
- "workspace:delete": {
4333
+ "workspace:create": {
4268
4334
  "aliases": [],
4269
4335
  "args": {
4270
- "workspace_id": {
4271
- "description": "Workspace ID to delete",
4272
- "name": "workspace_id",
4336
+ "name": {
4337
+ "description": "Name of the workspace",
4338
+ "name": "name",
4273
4339
  "required": true
4274
4340
  }
4275
4341
  },
4276
- "description": "Delete a workspace via the Xano Metadata API. Cannot delete workspaces with active tenants.",
4342
+ "description": "Create a new workspace via the Xano Metadata API",
4277
4343
  "examples": [
4278
- "$ xano workspace delete 123\nAre you sure you want to delete workspace 123? This action cannot be undone. (y/N) y\nDeleted workspace 123\n",
4279
- "$ xano workspace delete 123 --force\nDeleted workspace 123\n",
4280
- "$ xano workspace delete 123 -f -o json\n{\n \"deleted\": true,\n \"workspace_id\": 123\n}\n"
4344
+ "$ xano workspace create my-workspace\nCreated workspace: my-workspace (ID: 123)\n",
4345
+ "$ xano workspace create my-app --description \"My application workspace\"\nCreated workspace: my-app (ID: 456)\n Description: My application workspace\n",
4346
+ "$ xano workspace create new-project -d \"New project workspace\" -o json\n{\n \"id\": 789,\n \"name\": \"new-project\",\n \"description\": \"New project workspace\"\n}\n"
4281
4347
  ],
4282
4348
  "flags": {
4283
4349
  "profile": {
@@ -4299,13 +4365,14 @@
4299
4365
  "allowNo": false,
4300
4366
  "type": "boolean"
4301
4367
  },
4302
- "force": {
4303
- "char": "f",
4304
- "description": "Skip confirmation prompt",
4305
- "name": "force",
4368
+ "description": {
4369
+ "char": "d",
4370
+ "description": "Description for the workspace",
4371
+ "name": "description",
4306
4372
  "required": false,
4307
- "allowNo": false,
4308
- "type": "boolean"
4373
+ "hasDynamicHelp": false,
4374
+ "multiple": false,
4375
+ "type": "option"
4309
4376
  },
4310
4377
  "output": {
4311
4378
  "char": "o",
@@ -4324,7 +4391,7 @@
4324
4391
  },
4325
4392
  "hasDynamicHelp": false,
4326
4393
  "hiddenAliases": [],
4327
- "id": "workspace:delete",
4394
+ "id": "workspace:create",
4328
4395
  "pluginAlias": "@xano/cli",
4329
4396
  "pluginName": "@xano/cli",
4330
4397
  "pluginType": "core",
@@ -4335,7 +4402,7 @@
4335
4402
  "dist",
4336
4403
  "commands",
4337
4404
  "workspace",
4338
- "delete",
4405
+ "create",
4339
4406
  "index.js"
4340
4407
  ]
4341
4408
  },
@@ -4439,73 +4506,6 @@
4439
4506
  "index.js"
4440
4507
  ]
4441
4508
  },
4442
- "workspace:get": {
4443
- "aliases": [],
4444
- "args": {
4445
- "workspace_id": {
4446
- "description": "Workspace ID to get details for (uses profile workspace if not provided)",
4447
- "name": "workspace_id",
4448
- "required": false
4449
- }
4450
- },
4451
- "description": "Get details of a specific workspace from the Xano Metadata API",
4452
- "examples": [
4453
- "$ xano workspace get 123\nWorkspace: my-workspace (ID: 123)\n Description: My workspace description\n Created: 2024-01-15\n",
4454
- "$ xano workspace get --output json\n{\n \"id\": 123,\n \"name\": \"my-workspace\",\n \"description\": \"My workspace description\"\n}\n",
4455
- "$ xano workspace get 456 -p production -o json\n{\n \"id\": 456,\n \"name\": \"production-workspace\"\n}\n"
4456
- ],
4457
- "flags": {
4458
- "profile": {
4459
- "char": "p",
4460
- "description": "Profile to use (uses default profile if not specified)",
4461
- "env": "XANO_PROFILE",
4462
- "name": "profile",
4463
- "required": false,
4464
- "hasDynamicHelp": false,
4465
- "multiple": false,
4466
- "type": "option"
4467
- },
4468
- "verbose": {
4469
- "char": "v",
4470
- "description": "Show detailed request/response information",
4471
- "env": "XANO_VERBOSE",
4472
- "name": "verbose",
4473
- "required": false,
4474
- "allowNo": false,
4475
- "type": "boolean"
4476
- },
4477
- "output": {
4478
- "char": "o",
4479
- "description": "Output format",
4480
- "name": "output",
4481
- "required": false,
4482
- "default": "summary",
4483
- "hasDynamicHelp": false,
4484
- "multiple": false,
4485
- "options": [
4486
- "summary",
4487
- "json"
4488
- ],
4489
- "type": "option"
4490
- }
4491
- },
4492
- "hasDynamicHelp": false,
4493
- "hiddenAliases": [],
4494
- "id": "workspace:get",
4495
- "pluginAlias": "@xano/cli",
4496
- "pluginName": "@xano/cli",
4497
- "pluginType": "core",
4498
- "strict": true,
4499
- "enableJsonFlag": false,
4500
- "isESM": true,
4501
- "relativePath": [
4502
- "dist",
4503
- "commands",
4504
- "workspace",
4505
- "get",
4506
- "index.js"
4507
- ]
4508
- },
4509
4509
  "workspace:list": {
4510
4510
  "aliases": [],
4511
4511
  "args": {},
@@ -4568,127 +4568,6 @@
4568
4568
  "index.js"
4569
4569
  ]
4570
4570
  },
4571
- "workspace:push": {
4572
- "aliases": [],
4573
- "args": {
4574
- "directory": {
4575
- "description": "Directory containing documents to push (as produced by workspace pull)",
4576
- "name": "directory",
4577
- "required": true
4578
- }
4579
- },
4580
- "description": "Push local documents to a workspace via the Xano Metadata API multidoc endpoint",
4581
- "examples": [
4582
- "$ xano workspace push ./my-workspace\nPushed 42 documents from ./my-workspace\n",
4583
- "$ xano workspace push ./output -w 40\nPushed 15 documents from ./output\n",
4584
- "$ xano workspace push ./backup --profile production\nPushed 58 documents from ./backup\n",
4585
- "$ xano workspace push ./my-workspace -b dev\nPushed 42 documents from ./my-workspace\n",
4586
- "$ xano workspace push ./my-functions --partial\nPush some files without a workspace block (implies --no-delete)\n",
4587
- "$ xano workspace push ./my-workspace --no-delete\nPatch files without deleting existing workspace objects\n",
4588
- "$ xano workspace push ./my-workspace --no-records\nPush schema only, skip importing table records\n",
4589
- "$ xano workspace push ./my-workspace --no-env\nPush without overwriting environment variables\n",
4590
- "$ xano workspace push ./my-workspace --truncate\nTruncate all table records before importing\n",
4591
- "$ xano workspace push ./my-workspace --truncate --no-records\nTruncate all table records without importing new ones\n",
4592
- "$ xano workspace push ./my-workspace --no-records --no-env\nPush schema only, skip records and environment variables\n"
4593
- ],
4594
- "flags": {
4595
- "profile": {
4596
- "char": "p",
4597
- "description": "Profile to use (uses default profile if not specified)",
4598
- "env": "XANO_PROFILE",
4599
- "name": "profile",
4600
- "required": false,
4601
- "hasDynamicHelp": false,
4602
- "multiple": false,
4603
- "type": "option"
4604
- },
4605
- "verbose": {
4606
- "char": "v",
4607
- "description": "Show detailed request/response information",
4608
- "env": "XANO_VERBOSE",
4609
- "name": "verbose",
4610
- "required": false,
4611
- "allowNo": false,
4612
- "type": "boolean"
4613
- },
4614
- "branch": {
4615
- "char": "b",
4616
- "description": "Branch name (optional if set in profile, defaults to live)",
4617
- "name": "branch",
4618
- "required": false,
4619
- "hasDynamicHelp": false,
4620
- "multiple": false,
4621
- "type": "option"
4622
- },
4623
- "delete": {
4624
- "description": "Delete workspace objects not included in the push (default: false)",
4625
- "name": "delete",
4626
- "required": false,
4627
- "allowNo": true,
4628
- "type": "boolean"
4629
- },
4630
- "env": {
4631
- "description": "Include environment variables in import (default: true, use --no-env to exclude)",
4632
- "name": "env",
4633
- "required": false,
4634
- "allowNo": true,
4635
- "type": "boolean"
4636
- },
4637
- "partial": {
4638
- "description": "Partial push — workspace block is not required, existing objects are kept (implies --no-delete)",
4639
- "name": "partial",
4640
- "required": false,
4641
- "allowNo": false,
4642
- "type": "boolean"
4643
- },
4644
- "records": {
4645
- "description": "Include records in import (default: true, use --no-records to exclude)",
4646
- "name": "records",
4647
- "required": false,
4648
- "allowNo": true,
4649
- "type": "boolean"
4650
- },
4651
- "sync-guids": {
4652
- "description": "Write server-assigned GUIDs back to local files (use --no-sync-guids to skip)",
4653
- "name": "sync-guids",
4654
- "required": false,
4655
- "allowNo": true,
4656
- "type": "boolean"
4657
- },
4658
- "truncate": {
4659
- "description": "Truncate all table records before importing",
4660
- "name": "truncate",
4661
- "required": false,
4662
- "allowNo": false,
4663
- "type": "boolean"
4664
- },
4665
- "workspace": {
4666
- "char": "w",
4667
- "description": "Workspace ID (optional if set in profile)",
4668
- "name": "workspace",
4669
- "required": false,
4670
- "hasDynamicHelp": false,
4671
- "multiple": false,
4672
- "type": "option"
4673
- }
4674
- },
4675
- "hasDynamicHelp": false,
4676
- "hiddenAliases": [],
4677
- "id": "workspace:push",
4678
- "pluginAlias": "@xano/cli",
4679
- "pluginName": "@xano/cli",
4680
- "pluginType": "core",
4681
- "strict": true,
4682
- "enableJsonFlag": false,
4683
- "isESM": true,
4684
- "relativePath": [
4685
- "dist",
4686
- "commands",
4687
- "workspace",
4688
- "push",
4689
- "index.js"
4690
- ]
4691
- },
4692
4571
  "workspace:pull": {
4693
4572
  "aliases": [],
4694
4573
  "args": {
@@ -4830,26 +4709,20 @@
4830
4709
  "index.js"
4831
4710
  ]
4832
4711
  },
4833
- "static_host:build:get": {
4712
+ "static_host:build:create": {
4834
4713
  "aliases": [],
4835
4714
  "args": {
4836
- "build_id": {
4837
- "description": "Build ID",
4838
- "name": "build_id",
4839
- "required": true
4840
- },
4841
4715
  "static_host": {
4842
4716
  "description": "Static Host name",
4843
4717
  "name": "static_host",
4844
4718
  "required": true
4845
4719
  }
4846
4720
  },
4847
- "description": "Get details of a specific build for a static host",
4721
+ "description": "Create a new build for a static host",
4848
4722
  "examples": [
4849
- "$ xano static_host:build:get default 52\nBuild Details:\nID: 52\nName: v1.0.0\nStatus: completed\n",
4850
- "$ xano static_host:build:get default 52 -w 40\nBuild Details:\nID: 52\nName: v1.0.0\nStatus: completed\n",
4851
- "$ xano static_host:build:get myhost 123 --profile production\nBuild Details:\nID: 123\nName: production-build\n",
4852
- "$ xano static_host:build:get default 52 -o json\n{\n \"id\": 52,\n \"name\": \"v1.0.0\",\n \"status\": \"completed\"\n}\n"
4723
+ "$ 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",
4724
+ "$ 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",
4725
+ "$ 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"
4853
4726
  ],
4854
4727
  "flags": {
4855
4728
  "profile": {
@@ -4871,33 +4744,60 @@
4871
4744
  "allowNo": false,
4872
4745
  "type": "boolean"
4873
4746
  },
4874
- "output": {
4875
- "char": "o",
4876
- "description": "Output format",
4877
- "name": "output",
4747
+ "description": {
4748
+ "char": "d",
4749
+ "description": "Build description",
4750
+ "name": "description",
4878
4751
  "required": false,
4879
- "default": "summary",
4880
4752
  "hasDynamicHelp": false,
4881
4753
  "multiple": false,
4882
- "options": [
4883
- "summary",
4884
- "json"
4885
- ],
4886
4754
  "type": "option"
4887
4755
  },
4888
- "workspace": {
4889
- "char": "w",
4890
- "description": "Workspace ID (optional if set in profile)",
4891
- "name": "workspace",
4892
- "required": false,
4893
- "hasDynamicHelp": false,
4756
+ "file": {
4757
+ "char": "f",
4758
+ "description": "Path to zip file to upload",
4759
+ "name": "file",
4760
+ "required": true,
4761
+ "hasDynamicHelp": false,
4762
+ "multiple": false,
4763
+ "type": "option"
4764
+ },
4765
+ "name": {
4766
+ "char": "n",
4767
+ "description": "Build name",
4768
+ "name": "name",
4769
+ "required": true,
4770
+ "hasDynamicHelp": false,
4771
+ "multiple": false,
4772
+ "type": "option"
4773
+ },
4774
+ "output": {
4775
+ "char": "o",
4776
+ "description": "Output format",
4777
+ "name": "output",
4778
+ "required": false,
4779
+ "default": "summary",
4780
+ "hasDynamicHelp": false,
4781
+ "multiple": false,
4782
+ "options": [
4783
+ "summary",
4784
+ "json"
4785
+ ],
4786
+ "type": "option"
4787
+ },
4788
+ "workspace": {
4789
+ "char": "w",
4790
+ "description": "Workspace ID (optional if set in profile)",
4791
+ "name": "workspace",
4792
+ "required": false,
4793
+ "hasDynamicHelp": false,
4894
4794
  "multiple": false,
4895
4795
  "type": "option"
4896
4796
  }
4897
4797
  },
4898
4798
  "hasDynamicHelp": false,
4899
4799
  "hiddenAliases": [],
4900
- "id": "static_host:build:get",
4800
+ "id": "static_host:build:create",
4901
4801
  "pluginAlias": "@xano/cli",
4902
4802
  "pluginName": "@xano/cli",
4903
4803
  "pluginType": "core",
@@ -4909,24 +4809,30 @@
4909
4809
  "commands",
4910
4810
  "static_host",
4911
4811
  "build",
4912
- "get",
4812
+ "create",
4913
4813
  "index.js"
4914
4814
  ]
4915
4815
  },
4916
- "static_host:build:create": {
4816
+ "static_host:build:get": {
4917
4817
  "aliases": [],
4918
4818
  "args": {
4819
+ "build_id": {
4820
+ "description": "Build ID",
4821
+ "name": "build_id",
4822
+ "required": true
4823
+ },
4919
4824
  "static_host": {
4920
4825
  "description": "Static Host name",
4921
4826
  "name": "static_host",
4922
4827
  "required": true
4923
4828
  }
4924
4829
  },
4925
- "description": "Create a new build for a static host",
4830
+ "description": "Get details of a specific build for a static host",
4926
4831
  "examples": [
4927
- "$ 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",
4928
- "$ 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",
4929
- "$ 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"
4832
+ "$ xano static_host:build:get default 52\nBuild Details:\nID: 52\nName: v1.0.0\nStatus: completed\n",
4833
+ "$ xano static_host:build:get default 52 -w 40\nBuild Details:\nID: 52\nName: v1.0.0\nStatus: completed\n",
4834
+ "$ xano static_host:build:get myhost 123 --profile production\nBuild Details:\nID: 123\nName: production-build\n",
4835
+ "$ xano static_host:build:get default 52 -o json\n{\n \"id\": 52,\n \"name\": \"v1.0.0\",\n \"status\": \"completed\"\n}\n"
4930
4836
  ],
4931
4837
  "flags": {
4932
4838
  "profile": {
@@ -4948,33 +4854,6 @@
4948
4854
  "allowNo": false,
4949
4855
  "type": "boolean"
4950
4856
  },
4951
- "description": {
4952
- "char": "d",
4953
- "description": "Build description",
4954
- "name": "description",
4955
- "required": false,
4956
- "hasDynamicHelp": false,
4957
- "multiple": false,
4958
- "type": "option"
4959
- },
4960
- "file": {
4961
- "char": "f",
4962
- "description": "Path to zip file to upload",
4963
- "name": "file",
4964
- "required": true,
4965
- "hasDynamicHelp": false,
4966
- "multiple": false,
4967
- "type": "option"
4968
- },
4969
- "name": {
4970
- "char": "n",
4971
- "description": "Build name",
4972
- "name": "name",
4973
- "required": true,
4974
- "hasDynamicHelp": false,
4975
- "multiple": false,
4976
- "type": "option"
4977
- },
4978
4857
  "output": {
4979
4858
  "char": "o",
4980
4859
  "description": "Output format",
@@ -5001,7 +4880,7 @@
5001
4880
  },
5002
4881
  "hasDynamicHelp": false,
5003
4882
  "hiddenAliases": [],
5004
- "id": "static_host:build:create",
4883
+ "id": "static_host:build:get",
5005
4884
  "pluginAlias": "@xano/cli",
5006
4885
  "pluginName": "@xano/cli",
5007
4886
  "pluginType": "core",
@@ -5013,7 +4892,7 @@
5013
4892
  "commands",
5014
4893
  "static_host",
5015
4894
  "build",
5016
- "create",
4895
+ "get",
5017
4896
  "index.js"
5018
4897
  ]
5019
4898
  },
@@ -5113,6 +4992,99 @@
5113
4992
  "index.js"
5114
4993
  ]
5115
4994
  },
4995
+ "tenant:backup:delete": {
4996
+ "aliases": [],
4997
+ "args": {
4998
+ "tenant_name": {
4999
+ "description": "Tenant name that owns the backup",
5000
+ "name": "tenant_name",
5001
+ "required": true
5002
+ }
5003
+ },
5004
+ "description": "Delete a tenant backup permanently. This action cannot be undone.",
5005
+ "examples": [
5006
+ "$ xano tenant backup delete t1234-abcd-xyz1 --backup_id 10\nAre you sure you want to delete backup #10? This action cannot be undone. (y/N) y\nDeleted backup #10\n",
5007
+ "$ xano tenant backup delete t1234-abcd-xyz1 --backup_id 10 --force",
5008
+ "$ xano tenant backup delete t1234-abcd-xyz1 --backup_id 10 -o json"
5009
+ ],
5010
+ "flags": {
5011
+ "profile": {
5012
+ "char": "p",
5013
+ "description": "Profile to use (uses default profile if not specified)",
5014
+ "env": "XANO_PROFILE",
5015
+ "name": "profile",
5016
+ "required": false,
5017
+ "hasDynamicHelp": false,
5018
+ "multiple": false,
5019
+ "type": "option"
5020
+ },
5021
+ "verbose": {
5022
+ "char": "v",
5023
+ "description": "Show detailed request/response information",
5024
+ "env": "XANO_VERBOSE",
5025
+ "name": "verbose",
5026
+ "required": false,
5027
+ "allowNo": false,
5028
+ "type": "boolean"
5029
+ },
5030
+ "backup_id": {
5031
+ "description": "Backup ID to delete",
5032
+ "name": "backup_id",
5033
+ "required": true,
5034
+ "hasDynamicHelp": false,
5035
+ "multiple": false,
5036
+ "type": "option"
5037
+ },
5038
+ "force": {
5039
+ "char": "f",
5040
+ "description": "Skip confirmation prompt",
5041
+ "name": "force",
5042
+ "required": false,
5043
+ "allowNo": false,
5044
+ "type": "boolean"
5045
+ },
5046
+ "output": {
5047
+ "char": "o",
5048
+ "description": "Output format",
5049
+ "name": "output",
5050
+ "required": false,
5051
+ "default": "summary",
5052
+ "hasDynamicHelp": false,
5053
+ "multiple": false,
5054
+ "options": [
5055
+ "summary",
5056
+ "json"
5057
+ ],
5058
+ "type": "option"
5059
+ },
5060
+ "workspace": {
5061
+ "char": "w",
5062
+ "description": "Workspace ID (uses profile workspace if not provided)",
5063
+ "name": "workspace",
5064
+ "required": false,
5065
+ "hasDynamicHelp": false,
5066
+ "multiple": false,
5067
+ "type": "option"
5068
+ }
5069
+ },
5070
+ "hasDynamicHelp": false,
5071
+ "hiddenAliases": [],
5072
+ "id": "tenant:backup:delete",
5073
+ "pluginAlias": "@xano/cli",
5074
+ "pluginName": "@xano/cli",
5075
+ "pluginType": "core",
5076
+ "strict": true,
5077
+ "enableJsonFlag": false,
5078
+ "isESM": true,
5079
+ "relativePath": [
5080
+ "dist",
5081
+ "commands",
5082
+ "tenant",
5083
+ "backup",
5084
+ "delete",
5085
+ "index.js"
5086
+ ]
5087
+ },
5116
5088
  "tenant:backup:create": {
5117
5089
  "aliases": [],
5118
5090
  "args": {
@@ -5199,19 +5171,20 @@
5199
5171
  "index.js"
5200
5172
  ]
5201
5173
  },
5202
- "tenant:backup:list": {
5174
+ "tenant:backup:export": {
5203
5175
  "aliases": [],
5204
5176
  "args": {
5205
5177
  "tenant_name": {
5206
- "description": "Tenant name to list backups for",
5178
+ "description": "Tenant name to export backup from",
5207
5179
  "name": "tenant_name",
5208
5180
  "required": true
5209
5181
  }
5210
5182
  },
5211
- "description": "List backups for a tenant",
5183
+ "description": "Export (download) a tenant backup to a local file",
5212
5184
  "examples": [
5213
- "$ xano tenant backup list t1234-abcd-xyz1\nBackups for tenant t1234-abcd-xyz1:\n - #1 - Pre-deploy backup (2024-01-15)\n - #2 - Daily backup (2024-01-16)\n",
5214
- "$ xano tenant backup list t1234-abcd-xyz1 -o json"
5185
+ "$ xano tenant backup export t1234-abcd-xyz1 --backup_id 10\nDownloaded backup #10 to ./tenant-t1234-abcd-xyz1-backup-10.tar.gz\n",
5186
+ "$ xano tenant backup export t1234-abcd-xyz1 --backup_id 10 --output ./backups/my-backup.tar.gz",
5187
+ "$ xano tenant backup export t1234-abcd-xyz1 --backup_id 10 -o json"
5215
5188
  ],
5216
5189
  "flags": {
5217
5190
  "profile": {
@@ -5233,10 +5206,18 @@
5233
5206
  "allowNo": false,
5234
5207
  "type": "boolean"
5235
5208
  },
5236
- "output": {
5209
+ "backup_id": {
5210
+ "description": "Backup ID to export",
5211
+ "name": "backup_id",
5212
+ "required": true,
5213
+ "hasDynamicHelp": false,
5214
+ "multiple": false,
5215
+ "type": "option"
5216
+ },
5217
+ "format": {
5237
5218
  "char": "o",
5238
5219
  "description": "Output format",
5239
- "name": "output",
5220
+ "name": "format",
5240
5221
  "required": false,
5241
5222
  "default": "summary",
5242
5223
  "hasDynamicHelp": false,
@@ -5247,11 +5228,10 @@
5247
5228
  ],
5248
5229
  "type": "option"
5249
5230
  },
5250
- "page": {
5251
- "description": "Page number for pagination",
5252
- "name": "page",
5231
+ "output": {
5232
+ "description": "Output file path (defaults to ./tenant-{name}-backup-{backup_id}.tar.gz)",
5233
+ "name": "output",
5253
5234
  "required": false,
5254
- "default": 1,
5255
5235
  "hasDynamicHelp": false,
5256
5236
  "multiple": false,
5257
5237
  "type": "option"
@@ -5268,7 +5248,7 @@
5268
5248
  },
5269
5249
  "hasDynamicHelp": false,
5270
5250
  "hiddenAliases": [],
5271
- "id": "tenant:backup:list",
5251
+ "id": "tenant:backup:export",
5272
5252
  "pluginAlias": "@xano/cli",
5273
5253
  "pluginName": "@xano/cli",
5274
5254
  "pluginType": "core",
@@ -5280,23 +5260,23 @@
5280
5260
  "commands",
5281
5261
  "tenant",
5282
5262
  "backup",
5283
- "list",
5263
+ "export",
5284
5264
  "index.js"
5285
5265
  ]
5286
5266
  },
5287
- "tenant:backup:restore": {
5267
+ "tenant:backup:import": {
5288
5268
  "aliases": [],
5289
5269
  "args": {
5290
5270
  "tenant_name": {
5291
- "description": "Tenant name to restore",
5271
+ "description": "Tenant name to import backup into",
5292
5272
  "name": "tenant_name",
5293
5273
  "required": true
5294
5274
  }
5295
5275
  },
5296
- "description": "Restore a tenant from a backup. This replaces the current tenant data.",
5276
+ "description": "Import a backup file into a tenant",
5297
5277
  "examples": [
5298
- "$ xano tenant backup restore t1234-abcd-xyz1 --backup_id 10\nAre you sure you want to restore tenant t1234-abcd-xyz1 from backup 10? This will replace current data. (y/N) y\nRestored tenant t1234-abcd-xyz1 from backup #10\n",
5299
- "$ xano tenant backup restore t1234-abcd-xyz1 --backup_id 10 --force -o json"
5278
+ "$ xano tenant backup import t1234-abcd-xyz1 --file ./my-backup.tar.gz\nImported backup as #15 for tenant t1234-abcd-xyz1\n",
5279
+ "$ xano tenant backup import t1234-abcd-xyz1 --file ./my-backup.tar.gz --description \"Restored from production\" -o json"
5300
5280
  ],
5301
5281
  "flags": {
5302
5282
  "profile": {
@@ -5318,21 +5298,24 @@
5318
5298
  "allowNo": false,
5319
5299
  "type": "boolean"
5320
5300
  },
5321
- "backup_id": {
5322
- "description": "Backup ID to restore from",
5323
- "name": "backup_id",
5324
- "required": true,
5301
+ "description": {
5302
+ "char": "d",
5303
+ "description": "Backup description",
5304
+ "name": "description",
5305
+ "required": false,
5306
+ "default": "",
5325
5307
  "hasDynamicHelp": false,
5326
5308
  "multiple": false,
5327
5309
  "type": "option"
5328
5310
  },
5329
- "force": {
5311
+ "file": {
5330
5312
  "char": "f",
5331
- "description": "Skip confirmation prompt",
5332
- "name": "force",
5333
- "required": false,
5334
- "allowNo": false,
5335
- "type": "boolean"
5313
+ "description": "Path to the backup file (.tar.gz)",
5314
+ "name": "file",
5315
+ "required": true,
5316
+ "hasDynamicHelp": false,
5317
+ "multiple": false,
5318
+ "type": "option"
5336
5319
  },
5337
5320
  "output": {
5338
5321
  "char": "o",
@@ -5360,7 +5343,7 @@
5360
5343
  },
5361
5344
  "hasDynamicHelp": false,
5362
5345
  "hiddenAliases": [],
5363
- "id": "tenant:backup:restore",
5346
+ "id": "tenant:backup:import",
5364
5347
  "pluginAlias": "@xano/cli",
5365
5348
  "pluginName": "@xano/cli",
5366
5349
  "pluginType": "core",
@@ -5372,23 +5355,144 @@
5372
5355
  "commands",
5373
5356
  "tenant",
5374
5357
  "backup",
5375
- "restore",
5358
+ "import",
5376
5359
  "index.js"
5377
5360
  ]
5378
5361
  },
5379
- "tenant:backup:import": {
5362
+ "workspace:push": {
5363
+ "aliases": [],
5364
+ "args": {
5365
+ "directory": {
5366
+ "description": "Directory containing documents to push (as produced by workspace pull)",
5367
+ "name": "directory",
5368
+ "required": true
5369
+ }
5370
+ },
5371
+ "description": "Push local documents to a workspace via the Xano Metadata API multidoc endpoint",
5372
+ "examples": [
5373
+ "$ xano workspace push ./my-workspace\nPushed 42 documents from ./my-workspace\n",
5374
+ "$ xano workspace push ./output -w 40\nPushed 15 documents from ./output\n",
5375
+ "$ xano workspace push ./backup --profile production\nPushed 58 documents from ./backup\n",
5376
+ "$ xano workspace push ./my-workspace -b dev\nPushed 42 documents from ./my-workspace\n",
5377
+ "$ xano workspace push ./my-functions --partial\nPush some files without a workspace block (implies --no-delete)\n",
5378
+ "$ xano workspace push ./my-workspace --no-delete\nPatch files without deleting existing workspace objects\n",
5379
+ "$ xano workspace push ./my-workspace --no-records\nPush schema only, skip importing table records\n",
5380
+ "$ xano workspace push ./my-workspace --no-env\nPush without overwriting environment variables\n",
5381
+ "$ xano workspace push ./my-workspace --truncate\nTruncate all table records before importing\n",
5382
+ "$ xano workspace push ./my-workspace --truncate --no-records\nTruncate all table records without importing new ones\n",
5383
+ "$ xano workspace push ./my-workspace --no-records --no-env\nPush schema only, skip records and environment variables\n"
5384
+ ],
5385
+ "flags": {
5386
+ "profile": {
5387
+ "char": "p",
5388
+ "description": "Profile to use (uses default profile if not specified)",
5389
+ "env": "XANO_PROFILE",
5390
+ "name": "profile",
5391
+ "required": false,
5392
+ "hasDynamicHelp": false,
5393
+ "multiple": false,
5394
+ "type": "option"
5395
+ },
5396
+ "verbose": {
5397
+ "char": "v",
5398
+ "description": "Show detailed request/response information",
5399
+ "env": "XANO_VERBOSE",
5400
+ "name": "verbose",
5401
+ "required": false,
5402
+ "allowNo": false,
5403
+ "type": "boolean"
5404
+ },
5405
+ "branch": {
5406
+ "char": "b",
5407
+ "description": "Branch name (optional if set in profile, defaults to live)",
5408
+ "name": "branch",
5409
+ "required": false,
5410
+ "hasDynamicHelp": false,
5411
+ "multiple": false,
5412
+ "type": "option"
5413
+ },
5414
+ "delete": {
5415
+ "description": "Delete workspace objects not included in the push (default: false)",
5416
+ "name": "delete",
5417
+ "required": false,
5418
+ "allowNo": true,
5419
+ "type": "boolean"
5420
+ },
5421
+ "env": {
5422
+ "description": "Include environment variables in import (default: true, use --no-env to exclude)",
5423
+ "name": "env",
5424
+ "required": false,
5425
+ "allowNo": true,
5426
+ "type": "boolean"
5427
+ },
5428
+ "partial": {
5429
+ "description": "Partial push — workspace block is not required, existing objects are kept (implies --no-delete)",
5430
+ "name": "partial",
5431
+ "required": false,
5432
+ "allowNo": false,
5433
+ "type": "boolean"
5434
+ },
5435
+ "records": {
5436
+ "description": "Include records in import (default: true, use --no-records to exclude)",
5437
+ "name": "records",
5438
+ "required": false,
5439
+ "allowNo": true,
5440
+ "type": "boolean"
5441
+ },
5442
+ "sync-guids": {
5443
+ "description": "Write server-assigned GUIDs back to local files (use --no-sync-guids to skip)",
5444
+ "name": "sync-guids",
5445
+ "required": false,
5446
+ "allowNo": true,
5447
+ "type": "boolean"
5448
+ },
5449
+ "truncate": {
5450
+ "description": "Truncate all table records before importing",
5451
+ "name": "truncate",
5452
+ "required": false,
5453
+ "allowNo": false,
5454
+ "type": "boolean"
5455
+ },
5456
+ "workspace": {
5457
+ "char": "w",
5458
+ "description": "Workspace ID (optional if set in profile)",
5459
+ "name": "workspace",
5460
+ "required": false,
5461
+ "hasDynamicHelp": false,
5462
+ "multiple": false,
5463
+ "type": "option"
5464
+ }
5465
+ },
5466
+ "hasDynamicHelp": false,
5467
+ "hiddenAliases": [],
5468
+ "id": "workspace:push",
5469
+ "pluginAlias": "@xano/cli",
5470
+ "pluginName": "@xano/cli",
5471
+ "pluginType": "core",
5472
+ "strict": true,
5473
+ "enableJsonFlag": false,
5474
+ "isESM": true,
5475
+ "relativePath": [
5476
+ "dist",
5477
+ "commands",
5478
+ "workspace",
5479
+ "push",
5480
+ "index.js"
5481
+ ]
5482
+ },
5483
+ "tenant:backup:list": {
5380
5484
  "aliases": [],
5381
5485
  "args": {
5382
5486
  "tenant_name": {
5383
- "description": "Tenant name to import backup into",
5487
+ "description": "Tenant name to list backups for",
5384
5488
  "name": "tenant_name",
5385
5489
  "required": true
5386
5490
  }
5387
5491
  },
5388
- "description": "Import a backup file into a tenant",
5492
+ "description": "List backups for a tenant",
5389
5493
  "examples": [
5390
- "$ xano tenant backup import t1234-abcd-xyz1 --file ./my-backup.tar.gz\nImported backup as #15 for tenant t1234-abcd-xyz1\n",
5391
- "$ xano tenant backup import t1234-abcd-xyz1 --file ./my-backup.tar.gz --description \"Restored from production\" -o json"
5494
+ "$ xano tenant backup list t1234-abcd-xyz1\nBackups for tenant t1234-abcd-xyz1:\n - #1 - Pre-deploy backup (2024-01-15)\n - #2 - Daily backup (2024-01-16)\n",
5495
+ "$ xano tenant backup list t1234-abcd-xyz1 -o json"
5392
5496
  ],
5393
5497
  "flags": {
5394
5498
  "profile": {
@@ -5410,25 +5514,107 @@
5410
5514
  "allowNo": false,
5411
5515
  "type": "boolean"
5412
5516
  },
5413
- "description": {
5414
- "char": "d",
5415
- "description": "Backup description",
5416
- "name": "description",
5517
+ "output": {
5518
+ "char": "o",
5519
+ "description": "Output format",
5520
+ "name": "output",
5417
5521
  "required": false,
5418
- "default": "",
5522
+ "default": "summary",
5523
+ "hasDynamicHelp": false,
5524
+ "multiple": false,
5525
+ "options": [
5526
+ "summary",
5527
+ "json"
5528
+ ],
5529
+ "type": "option"
5530
+ },
5531
+ "page": {
5532
+ "description": "Page number for pagination",
5533
+ "name": "page",
5534
+ "required": false,
5535
+ "default": 1,
5419
5536
  "hasDynamicHelp": false,
5420
5537
  "multiple": false,
5421
5538
  "type": "option"
5422
5539
  },
5423
- "file": {
5424
- "char": "f",
5425
- "description": "Path to the backup file (.tar.gz)",
5426
- "name": "file",
5540
+ "workspace": {
5541
+ "char": "w",
5542
+ "description": "Workspace ID (uses profile workspace if not provided)",
5543
+ "name": "workspace",
5544
+ "required": false,
5545
+ "hasDynamicHelp": false,
5546
+ "multiple": false,
5547
+ "type": "option"
5548
+ }
5549
+ },
5550
+ "hasDynamicHelp": false,
5551
+ "hiddenAliases": [],
5552
+ "id": "tenant:backup:list",
5553
+ "pluginAlias": "@xano/cli",
5554
+ "pluginName": "@xano/cli",
5555
+ "pluginType": "core",
5556
+ "strict": true,
5557
+ "enableJsonFlag": false,
5558
+ "isESM": true,
5559
+ "relativePath": [
5560
+ "dist",
5561
+ "commands",
5562
+ "tenant",
5563
+ "backup",
5564
+ "list",
5565
+ "index.js"
5566
+ ]
5567
+ },
5568
+ "tenant:backup:restore": {
5569
+ "aliases": [],
5570
+ "args": {
5571
+ "tenant_name": {
5572
+ "description": "Tenant name to restore",
5573
+ "name": "tenant_name",
5574
+ "required": true
5575
+ }
5576
+ },
5577
+ "description": "Restore a tenant from a backup. This replaces the current tenant data.",
5578
+ "examples": [
5579
+ "$ xano tenant backup restore t1234-abcd-xyz1 --backup_id 10\nAre you sure you want to restore tenant t1234-abcd-xyz1 from backup 10? This will replace current data. (y/N) y\nRestored tenant t1234-abcd-xyz1 from backup #10\n",
5580
+ "$ xano tenant backup restore t1234-abcd-xyz1 --backup_id 10 --force -o json"
5581
+ ],
5582
+ "flags": {
5583
+ "profile": {
5584
+ "char": "p",
5585
+ "description": "Profile to use (uses default profile if not specified)",
5586
+ "env": "XANO_PROFILE",
5587
+ "name": "profile",
5588
+ "required": false,
5589
+ "hasDynamicHelp": false,
5590
+ "multiple": false,
5591
+ "type": "option"
5592
+ },
5593
+ "verbose": {
5594
+ "char": "v",
5595
+ "description": "Show detailed request/response information",
5596
+ "env": "XANO_VERBOSE",
5597
+ "name": "verbose",
5598
+ "required": false,
5599
+ "allowNo": false,
5600
+ "type": "boolean"
5601
+ },
5602
+ "backup_id": {
5603
+ "description": "Backup ID to restore from",
5604
+ "name": "backup_id",
5427
5605
  "required": true,
5428
5606
  "hasDynamicHelp": false,
5429
5607
  "multiple": false,
5430
5608
  "type": "option"
5431
5609
  },
5610
+ "force": {
5611
+ "char": "f",
5612
+ "description": "Skip confirmation prompt",
5613
+ "name": "force",
5614
+ "required": false,
5615
+ "allowNo": false,
5616
+ "type": "boolean"
5617
+ },
5432
5618
  "output": {
5433
5619
  "char": "o",
5434
5620
  "description": "Output format",
@@ -5455,7 +5641,7 @@
5455
5641
  },
5456
5642
  "hasDynamicHelp": false,
5457
5643
  "hiddenAliases": [],
5458
- "id": "tenant:backup:import",
5644
+ "id": "tenant:backup:restore",
5459
5645
  "pluginAlias": "@xano/cli",
5460
5646
  "pluginName": "@xano/cli",
5461
5647
  "pluginType": "core",
@@ -5467,7 +5653,7 @@
5467
5653
  "commands",
5468
5654
  "tenant",
5469
5655
  "backup",
5470
- "import",
5656
+ "restore",
5471
5657
  "index.js"
5472
5658
  ]
5473
5659
  },
@@ -5698,73 +5884,6 @@
5698
5884
  "index.js"
5699
5885
  ]
5700
5886
  },
5701
- "tenant:cluster:get": {
5702
- "aliases": [],
5703
- "args": {
5704
- "cluster_id": {
5705
- "description": "Cluster ID to retrieve",
5706
- "name": "cluster_id",
5707
- "required": true
5708
- }
5709
- },
5710
- "description": "Get details of a specific tenant cluster",
5711
- "examples": [
5712
- "$ xano tenant cluster get 1\nCluster: us-east-1\n ID: 1\n Type: standard\n Domain: us-east-1.xano.io\n",
5713
- "$ xano tenant cluster get 1 -o json"
5714
- ],
5715
- "flags": {
5716
- "profile": {
5717
- "char": "p",
5718
- "description": "Profile to use (uses default profile if not specified)",
5719
- "env": "XANO_PROFILE",
5720
- "name": "profile",
5721
- "required": false,
5722
- "hasDynamicHelp": false,
5723
- "multiple": false,
5724
- "type": "option"
5725
- },
5726
- "verbose": {
5727
- "char": "v",
5728
- "description": "Show detailed request/response information",
5729
- "env": "XANO_VERBOSE",
5730
- "name": "verbose",
5731
- "required": false,
5732
- "allowNo": false,
5733
- "type": "boolean"
5734
- },
5735
- "output": {
5736
- "char": "o",
5737
- "description": "Output format",
5738
- "name": "output",
5739
- "required": false,
5740
- "default": "summary",
5741
- "hasDynamicHelp": false,
5742
- "multiple": false,
5743
- "options": [
5744
- "summary",
5745
- "json"
5746
- ],
5747
- "type": "option"
5748
- }
5749
- },
5750
- "hasDynamicHelp": false,
5751
- "hiddenAliases": [],
5752
- "id": "tenant:cluster:get",
5753
- "pluginAlias": "@xano/cli",
5754
- "pluginName": "@xano/cli",
5755
- "pluginType": "core",
5756
- "strict": true,
5757
- "enableJsonFlag": false,
5758
- "isESM": true,
5759
- "relativePath": [
5760
- "dist",
5761
- "commands",
5762
- "tenant",
5763
- "cluster",
5764
- "get",
5765
- "index.js"
5766
- ]
5767
- },
5768
5887
  "tenant:cluster:delete": {
5769
5888
  "aliases": [],
5770
5889
  "args": {
@@ -5841,20 +5960,19 @@
5841
5960
  "index.js"
5842
5961
  ]
5843
5962
  },
5844
- "tenant:backup:export": {
5963
+ "tenant:cluster:get": {
5845
5964
  "aliases": [],
5846
5965
  "args": {
5847
- "tenant_name": {
5848
- "description": "Tenant name to export backup from",
5849
- "name": "tenant_name",
5966
+ "cluster_id": {
5967
+ "description": "Cluster ID to retrieve",
5968
+ "name": "cluster_id",
5850
5969
  "required": true
5851
5970
  }
5852
5971
  },
5853
- "description": "Export (download) a tenant backup to a local file",
5972
+ "description": "Get details of a specific tenant cluster",
5854
5973
  "examples": [
5855
- "$ xano tenant backup export t1234-abcd-xyz1 --backup_id 10\nDownloaded backup #10 to ./tenant-t1234-abcd-xyz1-backup-10.tar.gz\n",
5856
- "$ xano tenant backup export t1234-abcd-xyz1 --backup_id 10 --output ./backups/my-backup.tar.gz",
5857
- "$ xano tenant backup export t1234-abcd-xyz1 --backup_id 10 -o json"
5974
+ "$ xano tenant cluster get 1\nCluster: us-east-1\n ID: 1\n Type: standard\n Domain: us-east-1.xano.io\n",
5975
+ "$ xano tenant cluster get 1 -o json"
5858
5976
  ],
5859
5977
  "flags": {
5860
5978
  "profile": {
@@ -5876,18 +5994,10 @@
5876
5994
  "allowNo": false,
5877
5995
  "type": "boolean"
5878
5996
  },
5879
- "backup_id": {
5880
- "description": "Backup ID to export",
5881
- "name": "backup_id",
5882
- "required": true,
5883
- "hasDynamicHelp": false,
5884
- "multiple": false,
5885
- "type": "option"
5886
- },
5887
- "format": {
5997
+ "output": {
5888
5998
  "char": "o",
5889
5999
  "description": "Output format",
5890
- "name": "format",
6000
+ "name": "output",
5891
6001
  "required": false,
5892
6002
  "default": "summary",
5893
6003
  "hasDynamicHelp": false,
@@ -5897,28 +6007,11 @@
5897
6007
  "json"
5898
6008
  ],
5899
6009
  "type": "option"
5900
- },
5901
- "output": {
5902
- "description": "Output file path (defaults to ./tenant-{name}-backup-{backup_id}.tar.gz)",
5903
- "name": "output",
5904
- "required": false,
5905
- "hasDynamicHelp": false,
5906
- "multiple": false,
5907
- "type": "option"
5908
- },
5909
- "workspace": {
5910
- "char": "w",
5911
- "description": "Workspace ID (uses profile workspace if not provided)",
5912
- "name": "workspace",
5913
- "required": false,
5914
- "hasDynamicHelp": false,
5915
- "multiple": false,
5916
- "type": "option"
5917
6010
  }
5918
6011
  },
5919
6012
  "hasDynamicHelp": false,
5920
6013
  "hiddenAliases": [],
5921
- "id": "tenant:backup:export",
6014
+ "id": "tenant:cluster:get",
5922
6015
  "pluginAlias": "@xano/cli",
5923
6016
  "pluginName": "@xano/cli",
5924
6017
  "pluginType": "core",
@@ -5929,8 +6022,8 @@
5929
6022
  "dist",
5930
6023
  "commands",
5931
6024
  "tenant",
5932
- "backup",
5933
- "export",
6025
+ "cluster",
6026
+ "get",
5934
6027
  "index.js"
5935
6028
  ]
5936
6029
  },
@@ -5995,20 +6088,19 @@
5995
6088
  "index.js"
5996
6089
  ]
5997
6090
  },
5998
- "tenant:backup:delete": {
6091
+ "tenant:env:get": {
5999
6092
  "aliases": [],
6000
6093
  "args": {
6001
6094
  "tenant_name": {
6002
- "description": "Tenant name that owns the backup",
6095
+ "description": "Tenant name",
6003
6096
  "name": "tenant_name",
6004
6097
  "required": true
6005
6098
  }
6006
6099
  },
6007
- "description": "Delete a tenant backup permanently. This action cannot be undone.",
6100
+ "description": "Get a single environment variable for a tenant",
6008
6101
  "examples": [
6009
- "$ 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",
6010
- "$ xano tenant backup delete t1234-abcd-xyz1 --backup_id 10 --force",
6011
- "$ xano tenant backup delete t1234-abcd-xyz1 --backup_id 10 -o json"
6102
+ "$ xano tenant env get my-tenant --name DATABASE_URL\npostgres://localhost:5432/mydb\n",
6103
+ "$ xano tenant env get my-tenant --name DATABASE_URL -w 5 -o json"
6012
6104
  ],
6013
6105
  "flags": {
6014
6106
  "profile": {
@@ -6030,22 +6122,15 @@
6030
6122
  "allowNo": false,
6031
6123
  "type": "boolean"
6032
6124
  },
6033
- "backup_id": {
6034
- "description": "Backup ID to delete",
6035
- "name": "backup_id",
6125
+ "name": {
6126
+ "char": "n",
6127
+ "description": "Environment variable name",
6128
+ "name": "name",
6036
6129
  "required": true,
6037
6130
  "hasDynamicHelp": false,
6038
6131
  "multiple": false,
6039
6132
  "type": "option"
6040
6133
  },
6041
- "force": {
6042
- "char": "f",
6043
- "description": "Skip confirmation prompt",
6044
- "name": "force",
6045
- "required": false,
6046
- "allowNo": false,
6047
- "type": "boolean"
6048
- },
6049
6134
  "output": {
6050
6135
  "char": "o",
6051
6136
  "description": "Output format",
@@ -6072,7 +6157,7 @@
6072
6157
  },
6073
6158
  "hasDynamicHelp": false,
6074
6159
  "hiddenAliases": [],
6075
- "id": "tenant:backup:delete",
6160
+ "id": "tenant:env:get",
6076
6161
  "pluginAlias": "@xano/cli",
6077
6162
  "pluginName": "@xano/cli",
6078
6163
  "pluginType": "core",
@@ -6083,8 +6168,8 @@
6083
6168
  "dist",
6084
6169
  "commands",
6085
6170
  "tenant",
6086
- "backup",
6087
- "delete",
6171
+ "env",
6172
+ "get",
6088
6173
  "index.js"
6089
6174
  ]
6090
6175
  },
@@ -6222,93 +6307,10 @@
6222
6307
  "char": "f",
6223
6308
  "description": "Output file path (default: env_<tenant_name>.yaml)",
6224
6309
  "name": "file",
6225
- "required": false,
6226
- "hasDynamicHelp": false,
6227
- "multiple": false,
6228
- "type": "option"
6229
- },
6230
- "output": {
6231
- "char": "o",
6232
- "description": "Output format",
6233
- "name": "output",
6234
- "required": false,
6235
- "default": "summary",
6236
- "hasDynamicHelp": false,
6237
- "multiple": false,
6238
- "options": [
6239
- "summary",
6240
- "json"
6241
- ],
6242
- "type": "option"
6243
- },
6244
- "view": {
6245
- "description": "Print environment variables to stdout instead of saving to file",
6246
- "name": "view",
6247
- "required": false,
6248
- "allowNo": false,
6249
- "type": "boolean"
6250
- },
6251
- "workspace": {
6252
- "char": "w",
6253
- "description": "Workspace ID (uses profile workspace if not provided)",
6254
- "name": "workspace",
6255
- "required": false,
6256
- "hasDynamicHelp": false,
6257
- "multiple": false,
6258
- "type": "option"
6259
- }
6260
- },
6261
- "hasDynamicHelp": false,
6262
- "hiddenAliases": [],
6263
- "id": "tenant:env:get_all",
6264
- "pluginAlias": "@xano/cli",
6265
- "pluginName": "@xano/cli",
6266
- "pluginType": "core",
6267
- "strict": true,
6268
- "enableJsonFlag": false,
6269
- "isESM": true,
6270
- "relativePath": [
6271
- "dist",
6272
- "commands",
6273
- "tenant",
6274
- "env",
6275
- "get_all",
6276
- "index.js"
6277
- ]
6278
- },
6279
- "tenant:env:list": {
6280
- "aliases": [],
6281
- "args": {
6282
- "tenant_name": {
6283
- "description": "Tenant name",
6284
- "name": "tenant_name",
6285
- "required": true
6286
- }
6287
- },
6288
- "description": "List environment variable keys for a tenant",
6289
- "examples": [
6290
- "$ xano tenant env list my-tenant\nEnvironment variables for tenant my-tenant:\n - DATABASE_URL\n - API_KEY\n - SECRET_TOKEN\n",
6291
- "$ xano tenant env list my-tenant -w 5 -o json"
6292
- ],
6293
- "flags": {
6294
- "profile": {
6295
- "char": "p",
6296
- "description": "Profile to use (uses default profile if not specified)",
6297
- "env": "XANO_PROFILE",
6298
- "name": "profile",
6299
- "required": false,
6300
- "hasDynamicHelp": false,
6301
- "multiple": false,
6302
- "type": "option"
6303
- },
6304
- "verbose": {
6305
- "char": "v",
6306
- "description": "Show detailed request/response information",
6307
- "env": "XANO_VERBOSE",
6308
- "name": "verbose",
6309
- "required": false,
6310
- "allowNo": false,
6311
- "type": "boolean"
6310
+ "required": false,
6311
+ "hasDynamicHelp": false,
6312
+ "multiple": false,
6313
+ "type": "option"
6312
6314
  },
6313
6315
  "output": {
6314
6316
  "char": "o",
@@ -6324,6 +6326,13 @@
6324
6326
  ],
6325
6327
  "type": "option"
6326
6328
  },
6329
+ "view": {
6330
+ "description": "Print environment variables to stdout instead of saving to file",
6331
+ "name": "view",
6332
+ "required": false,
6333
+ "allowNo": false,
6334
+ "type": "boolean"
6335
+ },
6327
6336
  "workspace": {
6328
6337
  "char": "w",
6329
6338
  "description": "Workspace ID (uses profile workspace if not provided)",
@@ -6336,7 +6345,7 @@
6336
6345
  },
6337
6346
  "hasDynamicHelp": false,
6338
6347
  "hiddenAliases": [],
6339
- "id": "tenant:env:list",
6348
+ "id": "tenant:env:get_all",
6340
6349
  "pluginAlias": "@xano/cli",
6341
6350
  "pluginName": "@xano/cli",
6342
6351
  "pluginType": "core",
@@ -6348,11 +6357,11 @@
6348
6357
  "commands",
6349
6358
  "tenant",
6350
6359
  "env",
6351
- "list",
6360
+ "get_all",
6352
6361
  "index.js"
6353
6362
  ]
6354
6363
  },
6355
- "tenant:env:get": {
6364
+ "tenant:env:list": {
6356
6365
  "aliases": [],
6357
6366
  "args": {
6358
6367
  "tenant_name": {
@@ -6361,10 +6370,10 @@
6361
6370
  "required": true
6362
6371
  }
6363
6372
  },
6364
- "description": "Get a single environment variable for a tenant",
6373
+ "description": "List environment variable keys for a tenant",
6365
6374
  "examples": [
6366
- "$ xano tenant env get my-tenant --name DATABASE_URL\npostgres://localhost:5432/mydb\n",
6367
- "$ xano tenant env get my-tenant --name DATABASE_URL -w 5 -o json"
6375
+ "$ xano tenant env list my-tenant\nEnvironment variables for tenant my-tenant:\n - DATABASE_URL\n - API_KEY\n - SECRET_TOKEN\n",
6376
+ "$ xano tenant env list my-tenant -w 5 -o json"
6368
6377
  ],
6369
6378
  "flags": {
6370
6379
  "profile": {
@@ -6386,15 +6395,6 @@
6386
6395
  "allowNo": false,
6387
6396
  "type": "boolean"
6388
6397
  },
6389
- "name": {
6390
- "char": "n",
6391
- "description": "Environment variable name",
6392
- "name": "name",
6393
- "required": true,
6394
- "hasDynamicHelp": false,
6395
- "multiple": false,
6396
- "type": "option"
6397
- },
6398
6398
  "output": {
6399
6399
  "char": "o",
6400
6400
  "description": "Output format",
@@ -6421,7 +6421,7 @@
6421
6421
  },
6422
6422
  "hasDynamicHelp": false,
6423
6423
  "hiddenAliases": [],
6424
- "id": "tenant:env:get",
6424
+ "id": "tenant:env:list",
6425
6425
  "pluginAlias": "@xano/cli",
6426
6426
  "pluginName": "@xano/cli",
6427
6427
  "pluginType": "core",
@@ -6433,11 +6433,11 @@
6433
6433
  "commands",
6434
6434
  "tenant",
6435
6435
  "env",
6436
- "get",
6436
+ "list",
6437
6437
  "index.js"
6438
6438
  ]
6439
6439
  },
6440
- "tenant:license:get": {
6440
+ "tenant:env:set": {
6441
6441
  "aliases": [],
6442
6442
  "args": {
6443
6443
  "tenant_name": {
@@ -6446,12 +6446,10 @@
6446
6446
  "required": true
6447
6447
  }
6448
6448
  },
6449
- "description": "Get the license for a tenant",
6449
+ "description": "Set (create or update) an environment variable for a tenant",
6450
6450
  "examples": [
6451
- "$ xano tenant license get my-tenant\nLicense saved to license_my-tenant.yaml\n",
6452
- "$ xano tenant license get my-tenant --file ./my-license.yaml\nLicense saved to my-license.yaml\n",
6453
- "$ xano tenant license get my-tenant --view",
6454
- "$ xano tenant license get my-tenant -o json"
6451
+ "$ xano tenant env set my-tenant --name DATABASE_URL --value postgres://localhost:5432/mydb\nEnvironment variable 'DATABASE_URL' set for tenant my-tenant\n",
6452
+ "$ xano tenant env set my-tenant --name DATABASE_URL --value postgres://localhost:5432/mydb -w 5 -o json"
6455
6453
  ],
6456
6454
  "flags": {
6457
6455
  "profile": {
@@ -6473,11 +6471,11 @@
6473
6471
  "allowNo": false,
6474
6472
  "type": "boolean"
6475
6473
  },
6476
- "file": {
6477
- "char": "f",
6478
- "description": "Output file path (default: license_<tenant_name>.yaml)",
6479
- "name": "file",
6480
- "required": false,
6474
+ "name": {
6475
+ "char": "n",
6476
+ "description": "Environment variable name",
6477
+ "name": "name",
6478
+ "required": true,
6481
6479
  "hasDynamicHelp": false,
6482
6480
  "multiple": false,
6483
6481
  "type": "option"
@@ -6496,12 +6494,13 @@
6496
6494
  ],
6497
6495
  "type": "option"
6498
6496
  },
6499
- "view": {
6500
- "description": "Print license to stdout instead of saving to file",
6501
- "name": "view",
6502
- "required": false,
6503
- "allowNo": false,
6504
- "type": "boolean"
6497
+ "value": {
6498
+ "description": "Environment variable value",
6499
+ "name": "value",
6500
+ "required": true,
6501
+ "hasDynamicHelp": false,
6502
+ "multiple": false,
6503
+ "type": "option"
6505
6504
  },
6506
6505
  "workspace": {
6507
6506
  "char": "w",
@@ -6515,7 +6514,7 @@
6515
6514
  },
6516
6515
  "hasDynamicHelp": false,
6517
6516
  "hiddenAliases": [],
6518
- "id": "tenant:license:get",
6517
+ "id": "tenant:env:set",
6519
6518
  "pluginAlias": "@xano/cli",
6520
6519
  "pluginName": "@xano/cli",
6521
6520
  "pluginType": "core",
@@ -6526,8 +6525,8 @@
6526
6525
  "dist",
6527
6526
  "commands",
6528
6527
  "tenant",
6529
- "license",
6530
- "get",
6528
+ "env",
6529
+ "set",
6531
6530
  "index.js"
6532
6531
  ]
6533
6532
  },
@@ -6624,7 +6623,7 @@
6624
6623
  "index.js"
6625
6624
  ]
6626
6625
  },
6627
- "tenant:env:set": {
6626
+ "tenant:license:get": {
6628
6627
  "aliases": [],
6629
6628
  "args": {
6630
6629
  "tenant_name": {
@@ -6633,10 +6632,12 @@
6633
6632
  "required": true
6634
6633
  }
6635
6634
  },
6636
- "description": "Set (create or update) an environment variable for a tenant",
6635
+ "description": "Get the license for a tenant",
6637
6636
  "examples": [
6638
- "$ xano tenant env set my-tenant --name DATABASE_URL --value postgres://localhost:5432/mydb\nEnvironment variable 'DATABASE_URL' set for tenant my-tenant\n",
6639
- "$ xano tenant env set my-tenant --name DATABASE_URL --value postgres://localhost:5432/mydb -w 5 -o json"
6637
+ "$ xano tenant license get my-tenant\nLicense saved to license_my-tenant.yaml\n",
6638
+ "$ xano tenant license get my-tenant --file ./my-license.yaml\nLicense saved to my-license.yaml\n",
6639
+ "$ xano tenant license get my-tenant --view",
6640
+ "$ xano tenant license get my-tenant -o json"
6640
6641
  ],
6641
6642
  "flags": {
6642
6643
  "profile": {
@@ -6658,11 +6659,11 @@
6658
6659
  "allowNo": false,
6659
6660
  "type": "boolean"
6660
6661
  },
6661
- "name": {
6662
- "char": "n",
6663
- "description": "Environment variable name",
6664
- "name": "name",
6665
- "required": true,
6662
+ "file": {
6663
+ "char": "f",
6664
+ "description": "Output file path (default: license_<tenant_name>.yaml)",
6665
+ "name": "file",
6666
+ "required": false,
6666
6667
  "hasDynamicHelp": false,
6667
6668
  "multiple": false,
6668
6669
  "type": "option"
@@ -6681,13 +6682,12 @@
6681
6682
  ],
6682
6683
  "type": "option"
6683
6684
  },
6684
- "value": {
6685
- "description": "Environment variable value",
6686
- "name": "value",
6687
- "required": true,
6688
- "hasDynamicHelp": false,
6689
- "multiple": false,
6690
- "type": "option"
6685
+ "view": {
6686
+ "description": "Print license to stdout instead of saving to file",
6687
+ "name": "view",
6688
+ "required": false,
6689
+ "allowNo": false,
6690
+ "type": "boolean"
6691
6691
  },
6692
6692
  "workspace": {
6693
6693
  "char": "w",
@@ -6701,7 +6701,7 @@
6701
6701
  },
6702
6702
  "hasDynamicHelp": false,
6703
6703
  "hiddenAliases": [],
6704
- "id": "tenant:env:set",
6704
+ "id": "tenant:license:get",
6705
6705
  "pluginAlias": "@xano/cli",
6706
6706
  "pluginName": "@xano/cli",
6707
6707
  "pluginType": "core",
@@ -6712,26 +6712,26 @@
6712
6712
  "dist",
6713
6713
  "commands",
6714
6714
  "tenant",
6715
- "env",
6716
- "set",
6715
+ "license",
6716
+ "get",
6717
6717
  "index.js"
6718
6718
  ]
6719
6719
  },
6720
- "tenant:cluster:license:get": {
6720
+ "tenant:license:set": {
6721
6721
  "aliases": [],
6722
6722
  "args": {
6723
- "cluster_id": {
6724
- "description": "Tenant cluster ID",
6725
- "name": "cluster_id",
6723
+ "tenant_name": {
6724
+ "description": "Tenant name",
6725
+ "name": "tenant_name",
6726
6726
  "required": true
6727
6727
  }
6728
6728
  },
6729
- "description": "Get the license (kubeconfig) for a tenant cluster",
6729
+ "description": "Set/update the license for a tenant",
6730
6730
  "examples": [
6731
- "$ xano tenant cluster license get 1\nLicense saved to kubeconfig-1.yaml\n",
6732
- "$ xano tenant cluster license get 1 --file ./my-kubeconfig.yaml\nLicense saved to my-kubeconfig.yaml\n",
6733
- "$ xano tenant cluster license get 1 --view",
6734
- "$ xano tenant cluster license get 1 -o json"
6731
+ "$ xano tenant license set my-tenant\nReads from license_my-tenant.yaml\n",
6732
+ "$ xano tenant license set my-tenant --file ./license.yaml",
6733
+ "$ xano tenant license set my-tenant --value 'key: value'",
6734
+ "$ xano tenant license set my-tenant -o json"
6735
6735
  ],
6736
6736
  "flags": {
6737
6737
  "profile": {
@@ -6753,9 +6753,22 @@
6753
6753
  "allowNo": false,
6754
6754
  "type": "boolean"
6755
6755
  },
6756
+ "clean": {
6757
+ "description": "Remove the source file after successful upload",
6758
+ "exclusive": [
6759
+ "value"
6760
+ ],
6761
+ "name": "clean",
6762
+ "required": false,
6763
+ "allowNo": false,
6764
+ "type": "boolean"
6765
+ },
6756
6766
  "file": {
6757
6767
  "char": "f",
6758
- "description": "Output file path (default: kubeconfig_<cluster_id>.yaml)",
6768
+ "description": "Path to license file (default: license_<tenant_name>.yaml)",
6769
+ "exclusive": [
6770
+ "value"
6771
+ ],
6759
6772
  "name": "file",
6760
6773
  "required": false,
6761
6774
  "hasDynamicHelp": false,
@@ -6776,17 +6789,31 @@
6776
6789
  ],
6777
6790
  "type": "option"
6778
6791
  },
6779
- "view": {
6780
- "description": "Print license to stdout instead of saving to file",
6781
- "name": "view",
6792
+ "value": {
6793
+ "description": "Inline license value",
6794
+ "exclusive": [
6795
+ "file",
6796
+ "clean"
6797
+ ],
6798
+ "name": "value",
6782
6799
  "required": false,
6783
- "allowNo": false,
6784
- "type": "boolean"
6800
+ "hasDynamicHelp": false,
6801
+ "multiple": false,
6802
+ "type": "option"
6803
+ },
6804
+ "workspace": {
6805
+ "char": "w",
6806
+ "description": "Workspace ID (uses profile workspace if not provided)",
6807
+ "name": "workspace",
6808
+ "required": false,
6809
+ "hasDynamicHelp": false,
6810
+ "multiple": false,
6811
+ "type": "option"
6785
6812
  }
6786
6813
  },
6787
6814
  "hasDynamicHelp": false,
6788
6815
  "hiddenAliases": [],
6789
- "id": "tenant:cluster:license:get",
6816
+ "id": "tenant:license:set",
6790
6817
  "pluginAlias": "@xano/cli",
6791
6818
  "pluginName": "@xano/cli",
6792
6819
  "pluginType": "core",
@@ -6797,9 +6824,8 @@
6797
6824
  "dist",
6798
6825
  "commands",
6799
6826
  "tenant",
6800
- "cluster",
6801
6827
  "license",
6802
- "get",
6828
+ "set",
6803
6829
  "index.js"
6804
6830
  ]
6805
6831
  },
@@ -6897,21 +6923,21 @@
6897
6923
  "index.js"
6898
6924
  ]
6899
6925
  },
6900
- "tenant:license:set": {
6926
+ "tenant:cluster:license:set": {
6901
6927
  "aliases": [],
6902
6928
  "args": {
6903
- "tenant_name": {
6904
- "description": "Tenant name",
6905
- "name": "tenant_name",
6929
+ "cluster_id": {
6930
+ "description": "Tenant cluster ID",
6931
+ "name": "cluster_id",
6906
6932
  "required": true
6907
6933
  }
6908
6934
  },
6909
- "description": "Set/update the license for a tenant",
6935
+ "description": "Set/update the license (kubeconfig) for a tenant cluster",
6910
6936
  "examples": [
6911
- "$ xano tenant license set my-tenant\nReads from license_my-tenant.yaml\n",
6912
- "$ xano tenant license set my-tenant --file ./license.yaml",
6913
- "$ xano tenant license set my-tenant --value 'key: value'",
6914
- "$ xano tenant license set my-tenant -o json"
6937
+ "$ xano tenant cluster license set 1\nReads from kubeconfig-1.yaml\n",
6938
+ "$ xano tenant cluster license set 1 --file ./kubeconfig.yaml",
6939
+ "$ xano tenant cluster license set 1 --value 'apiVersion: v1...'",
6940
+ "$ xano tenant cluster license set 1 -o json"
6915
6941
  ],
6916
6942
  "flags": {
6917
6943
  "profile": {
@@ -6945,7 +6971,7 @@
6945
6971
  },
6946
6972
  "file": {
6947
6973
  "char": "f",
6948
- "description": "Path to license file (default: license_<tenant_name>.yaml)",
6974
+ "description": "Path to kubeconfig file (default: kubeconfig_<cluster_id>.yaml)",
6949
6975
  "exclusive": [
6950
6976
  "value"
6951
6977
  ],
@@ -6970,7 +6996,7 @@
6970
6996
  "type": "option"
6971
6997
  },
6972
6998
  "value": {
6973
- "description": "Inline license value",
6999
+ "description": "Inline kubeconfig YAML value",
6974
7000
  "exclusive": [
6975
7001
  "file",
6976
7002
  "clean"
@@ -6980,20 +7006,11 @@
6980
7006
  "hasDynamicHelp": false,
6981
7007
  "multiple": false,
6982
7008
  "type": "option"
6983
- },
6984
- "workspace": {
6985
- "char": "w",
6986
- "description": "Workspace ID (uses profile workspace if not provided)",
6987
- "name": "workspace",
6988
- "required": false,
6989
- "hasDynamicHelp": false,
6990
- "multiple": false,
6991
- "type": "option"
6992
7009
  }
6993
7010
  },
6994
7011
  "hasDynamicHelp": false,
6995
7012
  "hiddenAliases": [],
6996
- "id": "tenant:license:set",
7013
+ "id": "tenant:cluster:license:set",
6997
7014
  "pluginAlias": "@xano/cli",
6998
7015
  "pluginName": "@xano/cli",
6999
7016
  "pluginType": "core",
@@ -7004,12 +7021,13 @@
7004
7021
  "dist",
7005
7022
  "commands",
7006
7023
  "tenant",
7024
+ "cluster",
7007
7025
  "license",
7008
7026
  "set",
7009
7027
  "index.js"
7010
7028
  ]
7011
7029
  },
7012
- "tenant:cluster:license:set": {
7030
+ "tenant:cluster:license:get": {
7013
7031
  "aliases": [],
7014
7032
  "args": {
7015
7033
  "cluster_id": {
@@ -7018,12 +7036,12 @@
7018
7036
  "required": true
7019
7037
  }
7020
7038
  },
7021
- "description": "Set/update the license (kubeconfig) for a tenant cluster",
7039
+ "description": "Get the license (kubeconfig) for a tenant cluster",
7022
7040
  "examples": [
7023
- "$ xano tenant cluster license set 1\nReads from kubeconfig-1.yaml\n",
7024
- "$ xano tenant cluster license set 1 --file ./kubeconfig.yaml",
7025
- "$ xano tenant cluster license set 1 --value 'apiVersion: v1...'",
7026
- "$ xano tenant cluster license set 1 -o json"
7041
+ "$ xano tenant cluster license get 1\nLicense saved to kubeconfig-1.yaml\n",
7042
+ "$ xano tenant cluster license get 1 --file ./my-kubeconfig.yaml\nLicense saved to my-kubeconfig.yaml\n",
7043
+ "$ xano tenant cluster license get 1 --view",
7044
+ "$ xano tenant cluster license get 1 -o json"
7027
7045
  ],
7028
7046
  "flags": {
7029
7047
  "profile": {
@@ -7045,22 +7063,9 @@
7045
7063
  "allowNo": false,
7046
7064
  "type": "boolean"
7047
7065
  },
7048
- "clean": {
7049
- "description": "Remove the source file after successful upload",
7050
- "exclusive": [
7051
- "value"
7052
- ],
7053
- "name": "clean",
7054
- "required": false,
7055
- "allowNo": false,
7056
- "type": "boolean"
7057
- },
7058
7066
  "file": {
7059
7067
  "char": "f",
7060
- "description": "Path to kubeconfig file (default: kubeconfig_<cluster_id>.yaml)",
7061
- "exclusive": [
7062
- "value"
7063
- ],
7068
+ "description": "Output file path (default: kubeconfig_<cluster_id>.yaml)",
7064
7069
  "name": "file",
7065
7070
  "required": false,
7066
7071
  "hasDynamicHelp": false,
@@ -7081,22 +7086,17 @@
7081
7086
  ],
7082
7087
  "type": "option"
7083
7088
  },
7084
- "value": {
7085
- "description": "Inline kubeconfig YAML value",
7086
- "exclusive": [
7087
- "file",
7088
- "clean"
7089
- ],
7090
- "name": "value",
7089
+ "view": {
7090
+ "description": "Print license to stdout instead of saving to file",
7091
+ "name": "view",
7091
7092
  "required": false,
7092
- "hasDynamicHelp": false,
7093
- "multiple": false,
7094
- "type": "option"
7093
+ "allowNo": false,
7094
+ "type": "boolean"
7095
7095
  }
7096
7096
  },
7097
7097
  "hasDynamicHelp": false,
7098
7098
  "hiddenAliases": [],
7099
- "id": "tenant:cluster:license:set",
7099
+ "id": "tenant:cluster:license:get",
7100
7100
  "pluginAlias": "@xano/cli",
7101
7101
  "pluginName": "@xano/cli",
7102
7102
  "pluginType": "core",
@@ -7109,10 +7109,10 @@
7109
7109
  "tenant",
7110
7110
  "cluster",
7111
7111
  "license",
7112
- "set",
7112
+ "get",
7113
7113
  "index.js"
7114
7114
  ]
7115
7115
  }
7116
7116
  },
7117
- "version": "0.0.67"
7117
+ "version": "0.0.68"
7118
7118
  }