@xano/cli 0.0.84 → 0.0.86

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -100,20 +100,14 @@
100
100
  "index.js"
101
101
  ]
102
102
  },
103
- "branch:delete": {
103
+ "branch:create": {
104
104
  "aliases": [],
105
- "args": {
106
- "branch_label": {
107
- "description": "Branch label to delete (cannot delete \"v1\" or the live branch)",
108
- "name": "branch_label",
109
- "required": true
110
- }
111
- },
112
- "description": "Delete a branch (cannot delete \"v1\" or the live branch)",
105
+ "args": {},
106
+ "description": "Create a new branch by cloning from an existing branch",
113
107
  "examples": [
114
- "$ xano branch delete feature-old\nAre you sure you want to delete branch 'feature-old'? This action cannot be undone. (y/N) y\nDeleted branch: feature-old\n",
115
- "$ xano branch delete dev --force\nDeleted branch: dev\n",
116
- "$ xano branch delete staging -f -o json\n{\n \"deleted\": true,\n \"branch_label\": \"staging\"\n}\n"
108
+ "$ xano branch create --label dev\nCreated branch: dev\n Cloned from: v1\n",
109
+ "$ xano branch create -l feature-auth -s dev -d \"Authentication feature\"\nCreated branch: feature-auth\n Cloned from: dev\n Description: Authentication feature\n",
110
+ "$ 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"
117
111
  ],
118
112
  "flags": {
119
113
  "profile": {
@@ -135,13 +129,32 @@
135
129
  "allowNo": false,
136
130
  "type": "boolean"
137
131
  },
138
- "force": {
139
- "char": "f",
140
- "description": "Skip confirmation prompt",
141
- "name": "force",
132
+ "color": {
133
+ "char": "c",
134
+ "description": "Color hex code for the branch (e.g., \"#ebc346\")",
135
+ "name": "color",
142
136
  "required": false,
143
- "allowNo": false,
144
- "type": "boolean"
137
+ "hasDynamicHelp": false,
138
+ "multiple": false,
139
+ "type": "option"
140
+ },
141
+ "description": {
142
+ "char": "d",
143
+ "description": "Description for the new branch",
144
+ "name": "description",
145
+ "required": false,
146
+ "hasDynamicHelp": false,
147
+ "multiple": false,
148
+ "type": "option"
149
+ },
150
+ "label": {
151
+ "char": "l",
152
+ "description": "Label for the new branch",
153
+ "name": "label",
154
+ "required": true,
155
+ "hasDynamicHelp": false,
156
+ "multiple": false,
157
+ "type": "option"
145
158
  },
146
159
  "output": {
147
160
  "char": "o",
@@ -157,6 +170,16 @@
157
170
  ],
158
171
  "type": "option"
159
172
  },
173
+ "source": {
174
+ "char": "s",
175
+ "description": "Source branch to clone from (defaults to \"v1\")",
176
+ "name": "source",
177
+ "required": false,
178
+ "default": "v1",
179
+ "hasDynamicHelp": false,
180
+ "multiple": false,
181
+ "type": "option"
182
+ },
160
183
  "workspace": {
161
184
  "char": "w",
162
185
  "description": "Workspace ID (uses profile workspace if not provided)",
@@ -169,7 +192,7 @@
169
192
  },
170
193
  "hasDynamicHelp": false,
171
194
  "hiddenAliases": [],
172
- "id": "branch:delete",
195
+ "id": "branch:create",
173
196
  "pluginAlias": "@xano/cli",
174
197
  "pluginName": "@xano/cli",
175
198
  "pluginType": "core",
@@ -180,18 +203,24 @@
180
203
  "dist",
181
204
  "commands",
182
205
  "branch",
183
- "delete",
206
+ "create",
184
207
  "index.js"
185
208
  ]
186
209
  },
187
- "branch:create": {
210
+ "branch:delete": {
188
211
  "aliases": [],
189
- "args": {},
190
- "description": "Create a new branch by cloning from an existing branch",
212
+ "args": {
213
+ "branch_label": {
214
+ "description": "Branch label to delete (cannot delete \"v1\" or the live branch)",
215
+ "name": "branch_label",
216
+ "required": true
217
+ }
218
+ },
219
+ "description": "Delete a branch (cannot delete \"v1\" or the live branch)",
191
220
  "examples": [
192
- "$ xano branch create --label dev\nCreated branch: dev\n Cloned from: v1\n",
193
- "$ xano branch create -l feature-auth -s dev -d \"Authentication feature\"\nCreated branch: feature-auth\n Cloned from: dev\n Description: Authentication feature\n",
194
- "$ 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"
221
+ "$ xano branch delete feature-old\nAre you sure you want to delete branch 'feature-old'? This action cannot be undone. (y/N) y\nDeleted branch: feature-old\n",
222
+ "$ xano branch delete dev --force\nDeleted branch: dev\n",
223
+ "$ xano branch delete staging -f -o json\n{\n \"deleted\": true,\n \"branch_label\": \"staging\"\n}\n"
195
224
  ],
196
225
  "flags": {
197
226
  "profile": {
@@ -213,32 +242,13 @@
213
242
  "allowNo": false,
214
243
  "type": "boolean"
215
244
  },
216
- "color": {
217
- "char": "c",
218
- "description": "Color hex code for the branch (e.g., \"#ebc346\")",
219
- "name": "color",
220
- "required": false,
221
- "hasDynamicHelp": false,
222
- "multiple": false,
223
- "type": "option"
224
- },
225
- "description": {
226
- "char": "d",
227
- "description": "Description for the new branch",
228
- "name": "description",
245
+ "force": {
246
+ "char": "f",
247
+ "description": "Skip confirmation prompt",
248
+ "name": "force",
229
249
  "required": false,
230
- "hasDynamicHelp": false,
231
- "multiple": false,
232
- "type": "option"
233
- },
234
- "label": {
235
- "char": "l",
236
- "description": "Label for the new branch",
237
- "name": "label",
238
- "required": true,
239
- "hasDynamicHelp": false,
240
- "multiple": false,
241
- "type": "option"
250
+ "allowNo": false,
251
+ "type": "boolean"
242
252
  },
243
253
  "output": {
244
254
  "char": "o",
@@ -254,16 +264,6 @@
254
264
  ],
255
265
  "type": "option"
256
266
  },
257
- "source": {
258
- "char": "s",
259
- "description": "Source branch to clone from (defaults to \"v1\")",
260
- "name": "source",
261
- "required": false,
262
- "default": "v1",
263
- "hasDynamicHelp": false,
264
- "multiple": false,
265
- "type": "option"
266
- },
267
267
  "workspace": {
268
268
  "char": "w",
269
269
  "description": "Workspace ID (uses profile workspace if not provided)",
@@ -276,7 +276,7 @@
276
276
  },
277
277
  "hasDynamicHelp": false,
278
278
  "hiddenAliases": [],
279
- "id": "branch:create",
279
+ "id": "branch:delete",
280
280
  "pluginAlias": "@xano/cli",
281
281
  "pluginName": "@xano/cli",
282
282
  "pluginType": "core",
@@ -287,24 +287,24 @@
287
287
  "dist",
288
288
  "commands",
289
289
  "branch",
290
- "create",
290
+ "delete",
291
291
  "index.js"
292
292
  ]
293
293
  },
294
- "branch:list": {
294
+ "branch:edit": {
295
295
  "aliases": [],
296
296
  "args": {
297
- "workspace_id": {
298
- "description": "Workspace ID (uses profile workspace if not provided)",
299
- "name": "workspace_id",
300
- "required": false
297
+ "branch_label": {
298
+ "description": "Branch label to edit (cannot edit \"v1\" label)",
299
+ "name": "branch_label",
300
+ "required": true
301
301
  }
302
302
  },
303
- "description": "List all branches in a workspace",
303
+ "description": "Update an existing branch (cannot update \"v1\" label)",
304
304
  "examples": [
305
- "$ xano branch list\nAvailable branches:\n - v1 (live)\n - dev\n - staging\n",
306
- "$ xano branch list 123\nAvailable branches:\n - v1 (live)\n - feature-auth\n",
307
- "$ 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"
305
+ "$ xano branch edit dev --label development\nUpdated branch: development\n",
306
+ "$ xano branch edit feature-auth -l feature-authentication --color \"#ff5733\"\nUpdated branch: feature-authentication\n Color: #ff5733\n",
307
+ "$ xano branch edit staging --description \"Staging environment\" -o json\n{\n \"created_at\": \"2024-02-10T09:15:00Z\",\n \"label\": \"staging\",\n \"backup\": false\n}\n"
308
308
  ],
309
309
  "flags": {
310
310
  "profile": {
@@ -326,6 +326,33 @@
326
326
  "allowNo": false,
327
327
  "type": "boolean"
328
328
  },
329
+ "color": {
330
+ "char": "c",
331
+ "description": "New color hex code for the branch (e.g., \"#ff5733\")",
332
+ "name": "color",
333
+ "required": false,
334
+ "hasDynamicHelp": false,
335
+ "multiple": false,
336
+ "type": "option"
337
+ },
338
+ "description": {
339
+ "char": "d",
340
+ "description": "New description for the branch",
341
+ "name": "description",
342
+ "required": false,
343
+ "hasDynamicHelp": false,
344
+ "multiple": false,
345
+ "type": "option"
346
+ },
347
+ "label": {
348
+ "char": "l",
349
+ "description": "New label for the branch",
350
+ "name": "label",
351
+ "required": false,
352
+ "hasDynamicHelp": false,
353
+ "multiple": false,
354
+ "type": "option"
355
+ },
329
356
  "output": {
330
357
  "char": "o",
331
358
  "description": "Output format",
@@ -339,11 +366,20 @@
339
366
  "json"
340
367
  ],
341
368
  "type": "option"
369
+ },
370
+ "workspace": {
371
+ "char": "w",
372
+ "description": "Workspace ID (uses profile workspace if not provided)",
373
+ "name": "workspace",
374
+ "required": false,
375
+ "hasDynamicHelp": false,
376
+ "multiple": false,
377
+ "type": "option"
342
378
  }
343
379
  },
344
380
  "hasDynamicHelp": false,
345
381
  "hiddenAliases": [],
346
- "id": "branch:list",
382
+ "id": "branch:edit",
347
383
  "pluginAlias": "@xano/cli",
348
384
  "pluginName": "@xano/cli",
349
385
  "pluginType": "core",
@@ -354,24 +390,24 @@
354
390
  "dist",
355
391
  "commands",
356
392
  "branch",
357
- "list",
393
+ "edit",
358
394
  "index.js"
359
395
  ]
360
396
  },
361
- "branch:set_live": {
397
+ "branch:list": {
362
398
  "aliases": [],
363
399
  "args": {
364
- "branch_label": {
365
- "description": "Branch label to set as live (use \"v1\" for default branch)",
366
- "name": "branch_label",
367
- "required": true
400
+ "workspace_id": {
401
+ "description": "Workspace ID (uses profile workspace if not provided)",
402
+ "name": "workspace_id",
403
+ "required": false
368
404
  }
369
405
  },
370
- "description": "Set a branch as the live (active) branch for API requests",
406
+ "description": "List all branches in a workspace",
371
407
  "examples": [
372
- "$ 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",
373
- "$ xano branch set-live v1 --force\nBranch 'v1' is now live\n",
374
- "$ 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"
408
+ "$ xano branch list\nAvailable branches:\n - v1 (live)\n - dev\n - staging\n",
409
+ "$ xano branch list 123\nAvailable branches:\n - v1 (live)\n - feature-auth\n",
410
+ "$ xano branch list --output json\n[\n {\n \"created_at\": \"2024-01-15T10:30:00Z\",\n \"label\": \"v1\",\n \"backup\": false,\n \"live\": true\n }\n]\n"
375
411
  ],
376
412
  "flags": {
377
413
  "profile": {
@@ -393,14 +429,6 @@
393
429
  "allowNo": false,
394
430
  "type": "boolean"
395
431
  },
396
- "force": {
397
- "char": "f",
398
- "description": "Skip confirmation prompt",
399
- "name": "force",
400
- "required": false,
401
- "allowNo": false,
402
- "type": "boolean"
403
- },
404
432
  "output": {
405
433
  "char": "o",
406
434
  "description": "Output format",
@@ -414,20 +442,11 @@
414
442
  "json"
415
443
  ],
416
444
  "type": "option"
417
- },
418
- "workspace": {
419
- "char": "w",
420
- "description": "Workspace ID (uses profile workspace if not provided)",
421
- "name": "workspace",
422
- "required": false,
423
- "hasDynamicHelp": false,
424
- "multiple": false,
425
- "type": "option"
426
445
  }
427
446
  },
428
447
  "hasDynamicHelp": false,
429
448
  "hiddenAliases": [],
430
- "id": "branch:set_live",
449
+ "id": "branch:list",
431
450
  "pluginAlias": "@xano/cli",
432
451
  "pluginName": "@xano/cli",
433
452
  "pluginType": "core",
@@ -438,7 +457,7 @@
438
457
  "dist",
439
458
  "commands",
440
459
  "branch",
441
- "set_live",
460
+ "list",
442
461
  "index.js"
443
462
  ]
444
463
  },
@@ -548,25 +567,20 @@
548
567
  "index.js"
549
568
  ]
550
569
  },
551
- "function:edit": {
570
+ "branch:set_live": {
552
571
  "aliases": [],
553
572
  "args": {
554
- "function_id": {
555
- "description": "Function ID to edit",
556
- "name": "function_id",
557
- "required": false
573
+ "branch_label": {
574
+ "description": "Branch label to set as live (use \"v1\" for default branch)",
575
+ "name": "branch_label",
576
+ "required": true
558
577
  }
559
578
  },
560
- "description": "Edit a function in a workspace",
579
+ "description": "Set a branch as the live (active) branch for API requests",
561
580
  "examples": [
562
- "$ xano function:edit 163\n# Fetches the function code and opens it in $EDITOR for editing\nFunction updated successfully!\nID: 163\nName: my_function\n",
563
- "$ xano function:edit\n# Prompts for function, fetches the code and opens it in $EDITOR for editing\nSelect a function to edit:\n ❯ my_function (ID: 163) - Sample function\n another-func (ID: 164)\n",
564
- "$ xano function:edit 163 -f function.xs\nFunction updated successfully!\nID: 163\nName: my_function\n",
565
- "$ xano function:edit 163 -w 40 -f function.xs\nFunction updated successfully!\nID: 163\nName: my_function\n",
566
- "$ xano function:edit -f function.xs\nSelect a function to edit:\n ❯ my_function (ID: 163) - Sample function\n another-func (ID: 164)\n",
567
- "$ xano function:edit 163 -f function.xs --edit\n# Opens function.xs in $EDITOR, then updates function with edited content\nFunction updated successfully!\nID: 163\nName: my_function\n",
568
- "$ cat function.xs | xano function:edit 163 --stdin\nFunction updated successfully!\nID: 163\nName: my_function\n",
569
- "$ xano function:edit 163 -f function.xs -o json\n{\n \"id\": 163,\n \"name\": \"my_function\",\n ...\n}\n"
581
+ "$ xano branch set-live staging\nAre you sure you want to set 'staging' as the live branch? (y/N) y\nBranch 'staging' is now live\n",
582
+ "$ xano branch set-live v1 --force\nBranch 'v1' is now live\n",
583
+ "$ xano branch set-live production -f -o json\n{\n \"created_at\": \"2024-02-10T09:15:00Z\",\n \"label\": \"production\",\n \"backup\": false,\n \"live\": true\n}\n"
570
584
  ],
571
585
  "flags": {
572
586
  "profile": {
@@ -588,16 +602,105 @@
588
602
  "allowNo": false,
589
603
  "type": "boolean"
590
604
  },
591
- "edit": {
592
- "char": "e",
593
- "description": "Open file in editor before updating function (requires --file)",
594
- "name": "edit",
605
+ "force": {
606
+ "char": "f",
607
+ "description": "Skip confirmation prompt",
608
+ "name": "force",
595
609
  "required": false,
596
610
  "allowNo": false,
597
611
  "type": "boolean"
598
612
  },
599
- "file": {
600
- "char": "f",
613
+ "output": {
614
+ "char": "o",
615
+ "description": "Output format",
616
+ "name": "output",
617
+ "required": false,
618
+ "default": "summary",
619
+ "hasDynamicHelp": false,
620
+ "multiple": false,
621
+ "options": [
622
+ "summary",
623
+ "json"
624
+ ],
625
+ "type": "option"
626
+ },
627
+ "workspace": {
628
+ "char": "w",
629
+ "description": "Workspace ID (uses profile workspace if not provided)",
630
+ "name": "workspace",
631
+ "required": false,
632
+ "hasDynamicHelp": false,
633
+ "multiple": false,
634
+ "type": "option"
635
+ }
636
+ },
637
+ "hasDynamicHelp": false,
638
+ "hiddenAliases": [],
639
+ "id": "branch:set_live",
640
+ "pluginAlias": "@xano/cli",
641
+ "pluginName": "@xano/cli",
642
+ "pluginType": "core",
643
+ "strict": true,
644
+ "enableJsonFlag": false,
645
+ "isESM": true,
646
+ "relativePath": [
647
+ "dist",
648
+ "commands",
649
+ "branch",
650
+ "set_live",
651
+ "index.js"
652
+ ]
653
+ },
654
+ "function:edit": {
655
+ "aliases": [],
656
+ "args": {
657
+ "function_id": {
658
+ "description": "Function ID to edit",
659
+ "name": "function_id",
660
+ "required": false
661
+ }
662
+ },
663
+ "description": "Edit a function in a workspace",
664
+ "examples": [
665
+ "$ xano function:edit 163\n# Fetches the function code and opens it in $EDITOR for editing\nFunction updated successfully!\nID: 163\nName: my_function\n",
666
+ "$ xano function:edit\n# Prompts for function, fetches the code and opens it in $EDITOR for editing\nSelect a function to edit:\n ❯ my_function (ID: 163) - Sample function\n another-func (ID: 164)\n",
667
+ "$ xano function:edit 163 -f function.xs\nFunction updated successfully!\nID: 163\nName: my_function\n",
668
+ "$ xano function:edit 163 -w 40 -f function.xs\nFunction updated successfully!\nID: 163\nName: my_function\n",
669
+ "$ xano function:edit -f function.xs\nSelect a function to edit:\n ❯ my_function (ID: 163) - Sample function\n another-func (ID: 164)\n",
670
+ "$ xano function:edit 163 -f function.xs --edit\n# Opens function.xs in $EDITOR, then updates function with edited content\nFunction updated successfully!\nID: 163\nName: my_function\n",
671
+ "$ cat function.xs | xano function:edit 163 --stdin\nFunction updated successfully!\nID: 163\nName: my_function\n",
672
+ "$ xano function:edit 163 -f function.xs -o json\n{\n \"id\": 163,\n \"name\": \"my_function\",\n ...\n}\n"
673
+ ],
674
+ "flags": {
675
+ "profile": {
676
+ "char": "p",
677
+ "description": "Profile to use (uses default profile if not specified)",
678
+ "env": "XANO_PROFILE",
679
+ "name": "profile",
680
+ "required": false,
681
+ "hasDynamicHelp": false,
682
+ "multiple": false,
683
+ "type": "option"
684
+ },
685
+ "verbose": {
686
+ "char": "v",
687
+ "description": "Show detailed request/response information",
688
+ "env": "XANO_VERBOSE",
689
+ "name": "verbose",
690
+ "required": false,
691
+ "allowNo": false,
692
+ "type": "boolean"
693
+ },
694
+ "edit": {
695
+ "char": "e",
696
+ "description": "Open file in editor before updating function (requires --file)",
697
+ "name": "edit",
698
+ "required": false,
699
+ "allowNo": false,
700
+ "type": "boolean"
701
+ },
702
+ "file": {
703
+ "char": "f",
601
704
  "description": "Path to file containing XanoScript code",
602
705
  "exclusive": [
603
706
  "stdin"
@@ -886,58 +989,78 @@
886
989
  "index.js"
887
990
  ]
888
991
  },
889
- "branch:get": {
992
+ "profile:create": {
890
993
  "aliases": [],
891
994
  "args": {
892
- "branch_label": {
893
- "description": "Branch label (e.g., \"v1\", \"dev\")",
894
- "name": "branch_label",
995
+ "name": {
996
+ "description": "Profile name",
997
+ "name": "name",
895
998
  "required": true
896
999
  }
897
1000
  },
898
- "description": "Get details for a specific branch",
1001
+ "description": "Create a new profile configuration",
899
1002
  "examples": [
900
- "$ xano branch get v1\nBranch: v1 (live)\n Created: 2024-01-15\n",
901
- "$ xano branch get dev -w 123\nBranch: dev\n Created: 2024-02-01\n",
902
- "$ xano branch get staging --output json\n{\n \"created_at\": \"2024-02-10T09:15:00Z\",\n \"label\": \"staging\",\n \"backup\": false,\n \"live\": false\n}\n"
1003
+ "$ 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",
1004
+ "$ 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",
1005
+ "$ 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",
1006
+ "$ 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",
1007
+ "$ xano profile:create selfhosted -i https://self-signed.example.com -t token123 --insecure\nProfile 'selfhosted' created successfully at ~/.xano/credentials.yaml\n"
903
1008
  ],
904
1009
  "flags": {
905
- "profile": {
906
- "char": "p",
907
- "description": "Profile to use (uses default profile if not specified)",
908
- "env": "XANO_PROFILE",
909
- "name": "profile",
1010
+ "access_token": {
1011
+ "char": "t",
1012
+ "description": "Access token for the Xano Metadata API",
1013
+ "name": "access_token",
1014
+ "required": true,
1015
+ "hasDynamicHelp": false,
1016
+ "multiple": false,
1017
+ "type": "option"
1018
+ },
1019
+ "account_origin": {
1020
+ "char": "a",
1021
+ "description": "Account origin URL. Optional for self hosted installs.",
1022
+ "name": "account_origin",
910
1023
  "required": false,
911
1024
  "hasDynamicHelp": false,
912
1025
  "multiple": false,
913
1026
  "type": "option"
914
1027
  },
915
- "verbose": {
916
- "char": "v",
917
- "description": "Show detailed request/response information",
918
- "env": "XANO_VERBOSE",
919
- "name": "verbose",
1028
+ "branch": {
1029
+ "char": "b",
1030
+ "description": "Branch name",
1031
+ "name": "branch",
1032
+ "required": false,
1033
+ "hasDynamicHelp": false,
1034
+ "multiple": false,
1035
+ "type": "option"
1036
+ },
1037
+ "default": {
1038
+ "description": "Set this profile as the default",
1039
+ "name": "default",
920
1040
  "required": false,
921
1041
  "allowNo": false,
922
1042
  "type": "boolean"
923
1043
  },
924
- "output": {
925
- "char": "o",
926
- "description": "Output format",
927
- "name": "output",
1044
+ "insecure": {
1045
+ "char": "k",
1046
+ "description": "Skip TLS certificate verification (for self-signed certificates)",
1047
+ "name": "insecure",
928
1048
  "required": false,
929
- "default": "summary",
1049
+ "allowNo": false,
1050
+ "type": "boolean"
1051
+ },
1052
+ "instance_origin": {
1053
+ "char": "i",
1054
+ "description": "Instance origin URL",
1055
+ "name": "instance_origin",
1056
+ "required": true,
930
1057
  "hasDynamicHelp": false,
931
1058
  "multiple": false,
932
- "options": [
933
- "summary",
934
- "json"
935
- ],
936
1059
  "type": "option"
937
1060
  },
938
1061
  "workspace": {
939
1062
  "char": "w",
940
- "description": "Workspace ID (uses profile workspace if not provided)",
1063
+ "description": "Workspace name",
941
1064
  "name": "workspace",
942
1065
  "required": false,
943
1066
  "hasDynamicHelp": false,
@@ -947,7 +1070,7 @@
947
1070
  },
948
1071
  "hasDynamicHelp": false,
949
1072
  "hiddenAliases": [],
950
- "id": "branch:get",
1073
+ "id": "profile:create",
951
1074
  "pluginAlias": "@xano/cli",
952
1075
  "pluginName": "@xano/cli",
953
1076
  "pluginType": "core",
@@ -957,25 +1080,24 @@
957
1080
  "relativePath": [
958
1081
  "dist",
959
1082
  "commands",
960
- "branch",
961
- "get",
1083
+ "profile",
1084
+ "create",
962
1085
  "index.js"
963
1086
  ]
964
1087
  },
965
- "branch:edit": {
1088
+ "platform:get": {
966
1089
  "aliases": [],
967
1090
  "args": {
968
- "branch_label": {
969
- "description": "Branch label to edit (cannot edit \"v1\" label)",
970
- "name": "branch_label",
1091
+ "platform_id": {
1092
+ "description": "Platform ID to retrieve",
1093
+ "name": "platform_id",
971
1094
  "required": true
972
1095
  }
973
1096
  },
974
- "description": "Update an existing branch (cannot update \"v1\" label)",
1097
+ "description": "Get details of a specific platform",
975
1098
  "examples": [
976
- "$ xano branch edit dev --label development\nUpdated branch: development\n",
977
- "$ xano branch edit feature-auth -l feature-authentication --color \"#ff5733\"\nUpdated branch: feature-authentication\n Color: #ff5733\n",
978
- "$ 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"
1099
+ "$ xano platform get 23629\nPlatform ID: 23629\n Created: 2025-11-28\n Helm: 0.1.356\n Images:\n backend 0.0.2985\n frontend 0.1.3427\n database 0.1.6\n node 0.1.192\n deno 0.0.212\n redis 0.1.34\n realtime 0.1.149\n standalone 0.0.2456\n playwright 0.0.992\n static 0.0.10\n static-build 0.0.4\n backend-encoded 0.0.1396\n",
1100
+ "$ xano platform get 23629 -o json"
979
1101
  ],
980
1102
  "flags": {
981
1103
  "profile": {
@@ -997,33 +1119,6 @@
997
1119
  "allowNo": false,
998
1120
  "type": "boolean"
999
1121
  },
1000
- "color": {
1001
- "char": "c",
1002
- "description": "New color hex code for the branch (e.g., \"#ff5733\")",
1003
- "name": "color",
1004
- "required": false,
1005
- "hasDynamicHelp": false,
1006
- "multiple": false,
1007
- "type": "option"
1008
- },
1009
- "description": {
1010
- "char": "d",
1011
- "description": "New description for the branch",
1012
- "name": "description",
1013
- "required": false,
1014
- "hasDynamicHelp": false,
1015
- "multiple": false,
1016
- "type": "option"
1017
- },
1018
- "label": {
1019
- "char": "l",
1020
- "description": "New label for the branch",
1021
- "name": "label",
1022
- "required": false,
1023
- "hasDynamicHelp": false,
1024
- "multiple": false,
1025
- "type": "option"
1026
- },
1027
1122
  "output": {
1028
1123
  "char": "o",
1029
1124
  "description": "Output format",
@@ -1037,20 +1132,11 @@
1037
1132
  "json"
1038
1133
  ],
1039
1134
  "type": "option"
1040
- },
1041
- "workspace": {
1042
- "char": "w",
1043
- "description": "Workspace ID (uses profile workspace if not provided)",
1044
- "name": "workspace",
1045
- "required": false,
1046
- "hasDynamicHelp": false,
1047
- "multiple": false,
1048
- "type": "option"
1049
1135
  }
1050
1136
  },
1051
1137
  "hasDynamicHelp": false,
1052
1138
  "hiddenAliases": [],
1053
- "id": "branch:edit",
1139
+ "id": "platform:get",
1054
1140
  "pluginAlias": "@xano/cli",
1055
1141
  "pluginName": "@xano/cli",
1056
1142
  "pluginType": "core",
@@ -1060,8 +1146,8 @@
1060
1146
  "relativePath": [
1061
1147
  "dist",
1062
1148
  "commands",
1063
- "branch",
1064
- "edit",
1149
+ "platform",
1150
+ "get",
1065
1151
  "index.js"
1066
1152
  ]
1067
1153
  },
@@ -1125,19 +1211,20 @@
1125
1211
  "index.js"
1126
1212
  ]
1127
1213
  },
1128
- "platform:get": {
1214
+ "branch:get": {
1129
1215
  "aliases": [],
1130
1216
  "args": {
1131
- "platform_id": {
1132
- "description": "Platform ID to retrieve",
1133
- "name": "platform_id",
1217
+ "branch_label": {
1218
+ "description": "Branch label (e.g., \"v1\", \"dev\")",
1219
+ "name": "branch_label",
1134
1220
  "required": true
1135
1221
  }
1136
1222
  },
1137
- "description": "Get details of a specific platform",
1223
+ "description": "Get details for a specific branch",
1138
1224
  "examples": [
1139
- "$ 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",
1140
- "$ xano platform get 23629 -o json"
1225
+ "$ xano branch get v1\nBranch: v1 (live)\n Created: 2024-01-15\n",
1226
+ "$ xano branch get dev -w 123\nBranch: dev\n Created: 2024-02-01\n",
1227
+ "$ xano branch get staging --output json\n{\n \"created_at\": \"2024-02-10T09:15:00Z\",\n \"label\": \"staging\",\n \"backup\": false,\n \"live\": false\n}\n"
1141
1228
  ],
1142
1229
  "flags": {
1143
1230
  "profile": {
@@ -1172,11 +1259,20 @@
1172
1259
  "json"
1173
1260
  ],
1174
1261
  "type": "option"
1262
+ },
1263
+ "workspace": {
1264
+ "char": "w",
1265
+ "description": "Workspace ID (uses profile workspace if not provided)",
1266
+ "name": "workspace",
1267
+ "required": false,
1268
+ "hasDynamicHelp": false,
1269
+ "multiple": false,
1270
+ "type": "option"
1175
1271
  }
1176
1272
  },
1177
1273
  "hasDynamicHelp": false,
1178
1274
  "hiddenAliases": [],
1179
- "id": "platform:get",
1275
+ "id": "branch:get",
1180
1276
  "pluginAlias": "@xano/cli",
1181
1277
  "pluginName": "@xano/cli",
1182
1278
  "pluginType": "core",
@@ -1186,11 +1282,53 @@
1186
1282
  "relativePath": [
1187
1283
  "dist",
1188
1284
  "commands",
1189
- "platform",
1285
+ "branch",
1190
1286
  "get",
1191
1287
  "index.js"
1192
1288
  ]
1193
1289
  },
1290
+ "profile:delete": {
1291
+ "aliases": [],
1292
+ "args": {
1293
+ "name": {
1294
+ "description": "Profile name to delete",
1295
+ "name": "name",
1296
+ "required": true
1297
+ }
1298
+ },
1299
+ "description": "Delete a profile configuration",
1300
+ "examples": [
1301
+ "$ xano profile:delete old-profile\nAre you sure you want to delete profile 'old-profile'? (y/n): y\nProfile 'old-profile' deleted successfully from ~/.xano/credentials.yaml\n",
1302
+ "$ xano profile:delete old-profile --force\nProfile 'old-profile' deleted successfully from ~/.xano/credentials.yaml\n",
1303
+ "$ xano profile:delete old-profile -f\nProfile 'old-profile' deleted successfully from ~/.xano/credentials.yaml\n"
1304
+ ],
1305
+ "flags": {
1306
+ "force": {
1307
+ "char": "f",
1308
+ "description": "Skip confirmation prompt",
1309
+ "name": "force",
1310
+ "required": false,
1311
+ "allowNo": false,
1312
+ "type": "boolean"
1313
+ }
1314
+ },
1315
+ "hasDynamicHelp": false,
1316
+ "hiddenAliases": [],
1317
+ "id": "profile:delete",
1318
+ "pluginAlias": "@xano/cli",
1319
+ "pluginName": "@xano/cli",
1320
+ "pluginType": "core",
1321
+ "strict": true,
1322
+ "enableJsonFlag": false,
1323
+ "isESM": true,
1324
+ "relativePath": [
1325
+ "dist",
1326
+ "commands",
1327
+ "profile",
1328
+ "delete",
1329
+ "index.js"
1330
+ ]
1331
+ },
1194
1332
  "profile:edit": {
1195
1333
  "aliases": [],
1196
1334
  "args": {
@@ -1346,42 +1484,6 @@
1346
1484
  "index.js"
1347
1485
  ]
1348
1486
  },
1349
- "profile:list": {
1350
- "aliases": [],
1351
- "args": {},
1352
- "description": "List all available profile configurations",
1353
- "examples": [
1354
- "$ xano profile:list\nAvailable profiles:\n - default\n - production\n - staging\n - development\n",
1355
- "$ xano profile:list --details\nAvailable profiles:\n\nProfile: default\n Account Origin: https://account.xano.com\n Instance Origin: https://instance.xano.com\n Access Token: ***...***\n Workspace: my-workspace\n Branch: main\n Project: my-project\n\nProfile: production\n Account Origin: https://account.xano.com\n Instance Origin: https://prod-instance.xano.com\n Access Token: ***...***\n",
1356
- "$ xano profile:list -d\nAvailable profiles:\n\nProfile: default\n Account Origin: https://account.xano.com\n Instance Origin: https://instance.xano.com\n Access Token: ***...***\n Workspace: my-workspace\n Branch: main\n Project: my-project\n"
1357
- ],
1358
- "flags": {
1359
- "details": {
1360
- "char": "d",
1361
- "description": "Show detailed information for each profile",
1362
- "name": "details",
1363
- "required": false,
1364
- "allowNo": false,
1365
- "type": "boolean"
1366
- }
1367
- },
1368
- "hasDynamicHelp": false,
1369
- "hiddenAliases": [],
1370
- "id": "profile:list",
1371
- "pluginAlias": "@xano/cli",
1372
- "pluginName": "@xano/cli",
1373
- "pluginType": "core",
1374
- "strict": true,
1375
- "enableJsonFlag": false,
1376
- "isESM": true,
1377
- "relativePath": [
1378
- "dist",
1379
- "commands",
1380
- "profile",
1381
- "list",
1382
- "index.js"
1383
- ]
1384
- },
1385
1487
  "profile:me": {
1386
1488
  "aliases": [],
1387
1489
  "args": {},
@@ -1500,122 +1602,20 @@
1500
1602
  "index.js"
1501
1603
  ]
1502
1604
  },
1503
- "profile:create": {
1504
- "aliases": [],
1505
- "args": {
1506
- "name": {
1507
- "description": "Profile name",
1508
- "name": "name",
1509
- "required": true
1510
- }
1511
- },
1512
- "description": "Create a new profile configuration",
1513
- "examples": [
1514
- "$ 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",
1515
- "$ 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",
1516
- "$ 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",
1517
- "$ 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",
1518
- "$ xano profile:create selfhosted -i https://self-signed.example.com -t token123 --insecure\nProfile 'selfhosted' created successfully at ~/.xano/credentials.yaml\n"
1519
- ],
1520
- "flags": {
1521
- "access_token": {
1522
- "char": "t",
1523
- "description": "Access token for the Xano Metadata API",
1524
- "name": "access_token",
1525
- "required": true,
1526
- "hasDynamicHelp": false,
1527
- "multiple": false,
1528
- "type": "option"
1529
- },
1530
- "account_origin": {
1531
- "char": "a",
1532
- "description": "Account origin URL. Optional for self hosted installs.",
1533
- "name": "account_origin",
1534
- "required": false,
1535
- "hasDynamicHelp": false,
1536
- "multiple": false,
1537
- "type": "option"
1538
- },
1539
- "branch": {
1540
- "char": "b",
1541
- "description": "Branch name",
1542
- "name": "branch",
1543
- "required": false,
1544
- "hasDynamicHelp": false,
1545
- "multiple": false,
1546
- "type": "option"
1547
- },
1548
- "default": {
1549
- "description": "Set this profile as the default",
1550
- "name": "default",
1551
- "required": false,
1552
- "allowNo": false,
1553
- "type": "boolean"
1554
- },
1555
- "insecure": {
1556
- "char": "k",
1557
- "description": "Skip TLS certificate verification (for self-signed certificates)",
1558
- "name": "insecure",
1559
- "required": false,
1560
- "allowNo": false,
1561
- "type": "boolean"
1562
- },
1563
- "instance_origin": {
1564
- "char": "i",
1565
- "description": "Instance origin URL",
1566
- "name": "instance_origin",
1567
- "required": true,
1568
- "hasDynamicHelp": false,
1569
- "multiple": false,
1570
- "type": "option"
1571
- },
1572
- "workspace": {
1573
- "char": "w",
1574
- "description": "Workspace name",
1575
- "name": "workspace",
1576
- "required": false,
1577
- "hasDynamicHelp": false,
1578
- "multiple": false,
1579
- "type": "option"
1580
- }
1581
- },
1582
- "hasDynamicHelp": false,
1583
- "hiddenAliases": [],
1584
- "id": "profile:create",
1585
- "pluginAlias": "@xano/cli",
1586
- "pluginName": "@xano/cli",
1587
- "pluginType": "core",
1588
- "strict": true,
1589
- "enableJsonFlag": false,
1590
- "isESM": true,
1591
- "relativePath": [
1592
- "dist",
1593
- "commands",
1594
- "profile",
1595
- "create",
1596
- "index.js"
1597
- ]
1598
- },
1599
- "profile:delete": {
1605
+ "profile:list": {
1600
1606
  "aliases": [],
1601
- "args": {
1602
- "name": {
1603
- "description": "Profile name to delete",
1604
- "name": "name",
1605
- "required": true
1606
- }
1607
- },
1608
- "description": "Delete a profile configuration",
1607
+ "args": {},
1608
+ "description": "List all available profile configurations",
1609
1609
  "examples": [
1610
- "$ 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",
1611
- "$ xano profile:delete old-profile --force\nProfile 'old-profile' deleted successfully from ~/.xano/credentials.yaml\n",
1612
- "$ xano profile:delete old-profile -f\nProfile 'old-profile' deleted successfully from ~/.xano/credentials.yaml\n"
1610
+ "$ xano profile:list\nAvailable profiles:\n - default\n - production\n - staging\n - development\n",
1611
+ "$ xano profile:list --details\nAvailable profiles:\n\nProfile: default\n Account Origin: https://account.xano.com\n Instance Origin: https://instance.xano.com\n Access Token: ***...***\n Workspace: my-workspace\n Branch: main\n Project: my-project\n\nProfile: production\n Account Origin: https://account.xano.com\n Instance Origin: https://prod-instance.xano.com\n Access Token: ***...***\n",
1612
+ "$ xano profile:list -d\nAvailable profiles:\n\nProfile: default\n Account Origin: https://account.xano.com\n Instance Origin: https://instance.xano.com\n Access Token: ***...***\n Workspace: my-workspace\n Branch: main\n Project: my-project\n"
1613
1613
  ],
1614
1614
  "flags": {
1615
- "force": {
1616
- "char": "f",
1617
- "description": "Skip confirmation prompt",
1618
- "name": "force",
1615
+ "details": {
1616
+ "char": "d",
1617
+ "description": "Show detailed information for each profile",
1618
+ "name": "details",
1619
1619
  "required": false,
1620
1620
  "allowNo": false,
1621
1621
  "type": "boolean"
@@ -1623,33 +1623,7 @@
1623
1623
  },
1624
1624
  "hasDynamicHelp": false,
1625
1625
  "hiddenAliases": [],
1626
- "id": "profile:delete",
1627
- "pluginAlias": "@xano/cli",
1628
- "pluginName": "@xano/cli",
1629
- "pluginType": "core",
1630
- "strict": true,
1631
- "enableJsonFlag": false,
1632
- "isESM": true,
1633
- "relativePath": [
1634
- "dist",
1635
- "commands",
1636
- "profile",
1637
- "delete",
1638
- "index.js"
1639
- ]
1640
- },
1641
- "profile:workspace": {
1642
- "aliases": [],
1643
- "args": {},
1644
- "description": "Print the workspace ID for the default profile",
1645
- "examples": [
1646
- "$ xano profile:workspace\nabc123-workspace-id\n",
1647
- "$ xano profile:workspace | pbcopy\n# Copies the workspace ID to clipboard on macOS\n"
1648
- ],
1649
- "flags": {},
1650
- "hasDynamicHelp": false,
1651
- "hiddenAliases": [],
1652
- "id": "profile:workspace",
1626
+ "id": "profile:list",
1653
1627
  "pluginAlias": "@xano/cli",
1654
1628
  "pluginName": "@xano/cli",
1655
1629
  "pluginType": "core",
@@ -1660,7 +1634,7 @@
1660
1634
  "dist",
1661
1635
  "commands",
1662
1636
  "profile",
1663
- "workspace",
1637
+ "list",
1664
1638
  "index.js"
1665
1639
  ]
1666
1640
  },
@@ -1828,28 +1802,53 @@
1828
1802
  "index.js"
1829
1803
  ]
1830
1804
  },
1831
- "release:delete": {
1805
+ "profile:workspace": {
1832
1806
  "aliases": [],
1833
- "args": {
1834
- "release_name": {
1835
- "description": "Release name to delete",
1836
- "name": "release_name",
1837
- "required": true
1838
- }
1839
- },
1840
- "description": "Delete a release permanently. This action cannot be undone.",
1807
+ "args": {},
1808
+ "description": "Print the workspace ID for the default profile",
1841
1809
  "examples": [
1842
- "$ xano release delete v1.0\nAre you sure you want to delete release 'v1.0'? This action cannot be undone. (y/N) y\nDeleted release 'v1.0'\n",
1843
- "$ xano release delete v1.0 --force\nDeleted release 'v1.0'\n",
1844
- "$ xano release delete v1.0 -f -o json"
1810
+ "$ xano profile:workspace\nabc123-workspace-id\n",
1811
+ "$ xano profile:workspace | pbcopy\n# Copies the workspace ID to clipboard on macOS\n"
1845
1812
  ],
1846
- "flags": {
1847
- "profile": {
1848
- "char": "p",
1849
- "description": "Profile to use (uses default profile if not specified)",
1850
- "env": "XANO_PROFILE",
1851
- "name": "profile",
1852
- "required": false,
1813
+ "flags": {},
1814
+ "hasDynamicHelp": false,
1815
+ "hiddenAliases": [],
1816
+ "id": "profile:workspace",
1817
+ "pluginAlias": "@xano/cli",
1818
+ "pluginName": "@xano/cli",
1819
+ "pluginType": "core",
1820
+ "strict": true,
1821
+ "enableJsonFlag": false,
1822
+ "isESM": true,
1823
+ "relativePath": [
1824
+ "dist",
1825
+ "commands",
1826
+ "profile",
1827
+ "workspace",
1828
+ "index.js"
1829
+ ]
1830
+ },
1831
+ "release:get": {
1832
+ "aliases": [],
1833
+ "args": {
1834
+ "release_name": {
1835
+ "description": "Release name to retrieve",
1836
+ "name": "release_name",
1837
+ "required": true
1838
+ }
1839
+ },
1840
+ "description": "Get details of a specific release",
1841
+ "examples": [
1842
+ "$ xano release get v1.0\nRelease: v1.0 - ID: 10\n Branch: main\n Description: Initial release\n Hotfix: false\n",
1843
+ "$ xano release get v1.0 -w 5 -o json"
1844
+ ],
1845
+ "flags": {
1846
+ "profile": {
1847
+ "char": "p",
1848
+ "description": "Profile to use (uses default profile if not specified)",
1849
+ "env": "XANO_PROFILE",
1850
+ "name": "profile",
1851
+ "required": false,
1853
1852
  "hasDynamicHelp": false,
1854
1853
  "multiple": false,
1855
1854
  "type": "option"
@@ -1863,14 +1862,6 @@
1863
1862
  "allowNo": false,
1864
1863
  "type": "boolean"
1865
1864
  },
1866
- "force": {
1867
- "char": "f",
1868
- "description": "Skip confirmation prompt",
1869
- "name": "force",
1870
- "required": false,
1871
- "allowNo": false,
1872
- "type": "boolean"
1873
- },
1874
1865
  "output": {
1875
1866
  "char": "o",
1876
1867
  "description": "Output format",
@@ -1897,7 +1888,7 @@
1897
1888
  },
1898
1889
  "hasDynamicHelp": false,
1899
1890
  "hiddenAliases": [],
1900
- "id": "release:delete",
1891
+ "id": "release:get",
1901
1892
  "pluginAlias": "@xano/cli",
1902
1893
  "pluginName": "@xano/cli",
1903
1894
  "pluginType": "core",
@@ -1908,7 +1899,7 @@
1908
1899
  "dist",
1909
1900
  "commands",
1910
1901
  "release",
1911
- "delete",
1902
+ "get",
1912
1903
  "index.js"
1913
1904
  ]
1914
1905
  },
@@ -2005,15 +1996,20 @@
2005
1996
  "index.js"
2006
1997
  ]
2007
1998
  },
2008
- "static_host:list": {
1999
+ "release:export": {
2009
2000
  "aliases": [],
2010
- "args": {},
2011
- "description": "List all static hosts in a workspace from the Xano Metadata API",
2001
+ "args": {
2002
+ "release_name": {
2003
+ "description": "Release name to export",
2004
+ "name": "release_name",
2005
+ "required": true
2006
+ }
2007
+ },
2008
+ "description": "Export (download) a release to a local file",
2012
2009
  "examples": [
2013
- "$ xano static_host:list -w 40\nAvailable static hosts:\n - my-static-host (ID: 1)\n - another-host (ID: 2)\n",
2014
- "$ xano static_host:list --profile production\nAvailable static hosts:\n - my-static-host (ID: 1)\n - another-host (ID: 2)\n",
2015
- "$ xano static_host:list -w 40 --output json\n[\n {\n \"id\": 1,\n \"name\": \"my-static-host\",\n \"domain\": \"example.com\"\n }\n]\n",
2016
- "$ xano static_host:list -p staging -o json --page 2\n[\n {\n \"id\": 3,\n \"name\": \"static-host-3\"\n }\n]\n"
2010
+ "$ xano release export v1.0\nDownloaded release 'v1.0' to ./release-v1.0.tar.gz\n",
2011
+ "$ xano release export v1.0 --output ./backups/my-release.tar.gz",
2012
+ "$ xano release export v1.0 -o json"
2017
2013
  ],
2018
2014
  "flags": {
2019
2015
  "profile": {
@@ -2035,10 +2031,10 @@
2035
2031
  "allowNo": false,
2036
2032
  "type": "boolean"
2037
2033
  },
2038
- "output": {
2034
+ "format": {
2039
2035
  "char": "o",
2040
2036
  "description": "Output format",
2041
- "name": "output",
2037
+ "name": "format",
2042
2038
  "required": false,
2043
2039
  "default": "summary",
2044
2040
  "hasDynamicHelp": false,
@@ -2049,27 +2045,17 @@
2049
2045
  ],
2050
2046
  "type": "option"
2051
2047
  },
2052
- "page": {
2053
- "description": "Page number for pagination",
2054
- "name": "page",
2055
- "required": false,
2056
- "default": 1,
2057
- "hasDynamicHelp": false,
2058
- "multiple": false,
2059
- "type": "option"
2060
- },
2061
- "per_page": {
2062
- "description": "Number of results per page",
2063
- "name": "per_page",
2048
+ "output": {
2049
+ "description": "Output file path (defaults to ./release-{name}.tar.gz)",
2050
+ "name": "output",
2064
2051
  "required": false,
2065
- "default": 50,
2066
2052
  "hasDynamicHelp": false,
2067
2053
  "multiple": false,
2068
2054
  "type": "option"
2069
2055
  },
2070
2056
  "workspace": {
2071
2057
  "char": "w",
2072
- "description": "Workspace ID (optional if set in profile)",
2058
+ "description": "Workspace ID (uses profile workspace if not provided)",
2073
2059
  "name": "workspace",
2074
2060
  "required": false,
2075
2061
  "hasDynamicHelp": false,
@@ -2079,7 +2065,7 @@
2079
2065
  },
2080
2066
  "hasDynamicHelp": false,
2081
2067
  "hiddenAliases": [],
2082
- "id": "static_host:list",
2068
+ "id": "release:export",
2083
2069
  "pluginAlias": "@xano/cli",
2084
2070
  "pluginName": "@xano/cli",
2085
2071
  "pluginType": "core",
@@ -2089,25 +2075,25 @@
2089
2075
  "relativePath": [
2090
2076
  "dist",
2091
2077
  "commands",
2092
- "static_host",
2093
- "list",
2078
+ "release",
2079
+ "export",
2094
2080
  "index.js"
2095
2081
  ]
2096
2082
  },
2097
- "release:export": {
2083
+ "release:delete": {
2098
2084
  "aliases": [],
2099
2085
  "args": {
2100
2086
  "release_name": {
2101
- "description": "Release name to export",
2087
+ "description": "Release name to delete",
2102
2088
  "name": "release_name",
2103
2089
  "required": true
2104
2090
  }
2105
2091
  },
2106
- "description": "Export (download) a release to a local file",
2092
+ "description": "Delete a release permanently. This action cannot be undone.",
2107
2093
  "examples": [
2108
- "$ xano release export v1.0\nDownloaded release 'v1.0' to ./release-v1.0.tar.gz\n",
2109
- "$ xano release export v1.0 --output ./backups/my-release.tar.gz",
2110
- "$ xano release export v1.0 -o json"
2094
+ "$ xano release delete v1.0\nAre you sure you want to delete release 'v1.0'? This action cannot be undone. (y/N) y\nDeleted release 'v1.0'\n",
2095
+ "$ xano release delete v1.0 --force\nDeleted release 'v1.0'\n",
2096
+ "$ xano release delete v1.0 -f -o json"
2111
2097
  ],
2112
2098
  "flags": {
2113
2099
  "profile": {
@@ -2129,10 +2115,18 @@
2129
2115
  "allowNo": false,
2130
2116
  "type": "boolean"
2131
2117
  },
2132
- "format": {
2118
+ "force": {
2119
+ "char": "f",
2120
+ "description": "Skip confirmation prompt",
2121
+ "name": "force",
2122
+ "required": false,
2123
+ "allowNo": false,
2124
+ "type": "boolean"
2125
+ },
2126
+ "output": {
2133
2127
  "char": "o",
2134
2128
  "description": "Output format",
2135
- "name": "format",
2129
+ "name": "output",
2136
2130
  "required": false,
2137
2131
  "default": "summary",
2138
2132
  "hasDynamicHelp": false,
@@ -2143,14 +2137,6 @@
2143
2137
  ],
2144
2138
  "type": "option"
2145
2139
  },
2146
- "output": {
2147
- "description": "Output file path (defaults to ./release-{name}.tar.gz)",
2148
- "name": "output",
2149
- "required": false,
2150
- "hasDynamicHelp": false,
2151
- "multiple": false,
2152
- "type": "option"
2153
- },
2154
2140
  "workspace": {
2155
2141
  "char": "w",
2156
2142
  "description": "Workspace ID (uses profile workspace if not provided)",
@@ -2163,7 +2149,7 @@
2163
2149
  },
2164
2150
  "hasDynamicHelp": false,
2165
2151
  "hiddenAliases": [],
2166
- "id": "release:export",
2152
+ "id": "release:delete",
2167
2153
  "pluginAlias": "@xano/cli",
2168
2154
  "pluginName": "@xano/cli",
2169
2155
  "pluginType": "core",
@@ -2174,17 +2160,17 @@
2174
2160
  "dist",
2175
2161
  "commands",
2176
2162
  "release",
2177
- "export",
2163
+ "delete",
2178
2164
  "index.js"
2179
2165
  ]
2180
2166
  },
2181
- "release:import": {
2167
+ "release:list": {
2182
2168
  "aliases": [],
2183
2169
  "args": {},
2184
- "description": "Import a release file into a workspace",
2170
+ "description": "List all releases in a workspace",
2185
2171
  "examples": [
2186
- "$ xano release import --file ./my-release.tar.gz\nImported release as #15\n",
2187
- "$ xano release import --file ./my-release.tar.gz -o json"
2172
+ "$ xano release list\nReleases in workspace 5:\n - v1.0 (ID: 10) - main\n - v1.1-hotfix (ID: 11) - main [hotfix]\n",
2173
+ "$ xano release list -w 5 --output json"
2188
2174
  ],
2189
2175
  "flags": {
2190
2176
  "profile": {
@@ -2206,15 +2192,6 @@
2206
2192
  "allowNo": false,
2207
2193
  "type": "boolean"
2208
2194
  },
2209
- "file": {
2210
- "char": "f",
2211
- "description": "Path to the release file (.tar.gz)",
2212
- "name": "file",
2213
- "required": true,
2214
- "hasDynamicHelp": false,
2215
- "multiple": false,
2216
- "type": "option"
2217
- },
2218
2195
  "output": {
2219
2196
  "char": "o",
2220
2197
  "description": "Output format",
@@ -2241,7 +2218,7 @@
2241
2218
  },
2242
2219
  "hasDynamicHelp": false,
2243
2220
  "hiddenAliases": [],
2244
- "id": "release:import",
2221
+ "id": "release:list",
2245
2222
  "pluginAlias": "@xano/cli",
2246
2223
  "pluginName": "@xano/cli",
2247
2224
  "pluginType": "core",
@@ -2252,23 +2229,17 @@
2252
2229
  "dist",
2253
2230
  "commands",
2254
2231
  "release",
2255
- "import",
2232
+ "list",
2256
2233
  "index.js"
2257
2234
  ]
2258
2235
  },
2259
- "release:get": {
2236
+ "release:import": {
2260
2237
  "aliases": [],
2261
- "args": {
2262
- "release_name": {
2263
- "description": "Release name to retrieve",
2264
- "name": "release_name",
2265
- "required": true
2266
- }
2267
- },
2268
- "description": "Get details of a specific release",
2238
+ "args": {},
2239
+ "description": "Import a release file into a workspace",
2269
2240
  "examples": [
2270
- "$ xano release get v1.0\nRelease: v1.0 - ID: 10\n Branch: main\n Description: Initial release\n Hotfix: false\n",
2271
- "$ xano release get v1.0 -w 5 -o json"
2241
+ "$ xano release import --file ./my-release.tar.gz\nImported release as #15\n",
2242
+ "$ xano release import --file ./my-release.tar.gz -o json"
2272
2243
  ],
2273
2244
  "flags": {
2274
2245
  "profile": {
@@ -2290,6 +2261,15 @@
2290
2261
  "allowNo": false,
2291
2262
  "type": "boolean"
2292
2263
  },
2264
+ "file": {
2265
+ "char": "f",
2266
+ "description": "Path to the release file (.tar.gz)",
2267
+ "name": "file",
2268
+ "required": true,
2269
+ "hasDynamicHelp": false,
2270
+ "multiple": false,
2271
+ "type": "option"
2272
+ },
2293
2273
  "output": {
2294
2274
  "char": "o",
2295
2275
  "description": "Output format",
@@ -2316,7 +2296,7 @@
2316
2296
  },
2317
2297
  "hasDynamicHelp": false,
2318
2298
  "hiddenAliases": [],
2319
- "id": "release:get",
2299
+ "id": "release:import",
2320
2300
  "pluginAlias": "@xano/cli",
2321
2301
  "pluginName": "@xano/cli",
2322
2302
  "pluginType": "core",
@@ -2327,26 +2307,24 @@
2327
2307
  "dist",
2328
2308
  "commands",
2329
2309
  "release",
2330
- "get",
2310
+ "import",
2331
2311
  "index.js"
2332
2312
  ]
2333
2313
  },
2334
- "release:push": {
2314
+ "release:pull": {
2335
2315
  "aliases": [],
2336
2316
  "args": {
2337
2317
  "directory": {
2338
- "description": "Directory containing .xs documents to create the release from",
2318
+ "description": "Output directory for pulled documents",
2339
2319
  "name": "directory",
2340
2320
  "required": true
2341
2321
  }
2342
2322
  },
2343
- "description": "Create a new release from local XanoScript files via the multidoc endpoint",
2323
+ "description": "Pull a release multidoc from the Xano Metadata API and split into individual files",
2344
2324
  "examples": [
2345
- "$ xano release push ./my-release -n \"v1.0\"\nCreated release: v1.0 - ID: 10\n",
2346
- "$ xano release push ./output -n \"v2.0\" -w 40 -d \"Major update\"\nCreated release: v2.0 - ID: 15\n",
2347
- "$ xano release push ./backup -n \"v1.1-hotfix\" --hotfix --profile production\nCreated release: v1.1-hotfix - ID: 20\n",
2348
- "$ xano release push ./my-release -n \"v1.0\" --no-records --no-env\nCreate release from schema only, skip records and environment variables\n",
2349
- "$ xano release push ./my-release -n \"v1.0\" -o json\nOutput release details as JSON\n"
2325
+ "$ xano release pull ./my-release -r v1.0\nPulled 42 documents from release 'v1.0' to ./my-release\n",
2326
+ "$ xano release pull ./output -r v1.0 -w 40\nPulled 15 documents from release 'v1.0' to ./output\n",
2327
+ "$ xano release pull ./backup -r v1.0 --profile production --env --records\nPulled 58 documents from release 'v1.0' to ./backup\n"
2350
2328
  ],
2351
2329
  "flags": {
2352
2330
  "profile": {
@@ -2368,60 +2346,29 @@
2368
2346
  "allowNo": false,
2369
2347
  "type": "boolean"
2370
2348
  },
2371
- "description": {
2372
- "char": "d",
2373
- "description": "Release description",
2374
- "name": "description",
2375
- "required": false,
2376
- "default": "",
2377
- "hasDynamicHelp": false,
2378
- "multiple": false,
2379
- "type": "option"
2380
- },
2381
2349
  "env": {
2382
- "description": "Include environment variables (default: true, use --no-env to exclude)",
2350
+ "description": "Include environment variables",
2383
2351
  "name": "env",
2384
2352
  "required": false,
2385
- "allowNo": true,
2353
+ "allowNo": false,
2386
2354
  "type": "boolean"
2387
2355
  },
2388
- "hotfix": {
2389
- "description": "Mark as a hotfix release",
2390
- "name": "hotfix",
2356
+ "records": {
2357
+ "description": "Include records",
2358
+ "name": "records",
2391
2359
  "required": false,
2392
2360
  "allowNo": false,
2393
2361
  "type": "boolean"
2394
2362
  },
2395
- "name": {
2396
- "char": "n",
2397
- "description": "Name for the release",
2398
- "name": "name",
2363
+ "release": {
2364
+ "char": "r",
2365
+ "description": "Release name to pull from",
2366
+ "name": "release",
2399
2367
  "required": true,
2400
2368
  "hasDynamicHelp": false,
2401
2369
  "multiple": false,
2402
2370
  "type": "option"
2403
2371
  },
2404
- "output": {
2405
- "char": "o",
2406
- "description": "Output format",
2407
- "name": "output",
2408
- "required": false,
2409
- "default": "summary",
2410
- "hasDynamicHelp": false,
2411
- "multiple": false,
2412
- "options": [
2413
- "summary",
2414
- "json"
2415
- ],
2416
- "type": "option"
2417
- },
2418
- "records": {
2419
- "description": "Include records (default: true, use --no-records to exclude)",
2420
- "name": "records",
2421
- "required": false,
2422
- "allowNo": true,
2423
- "type": "boolean"
2424
- },
2425
2372
  "workspace": {
2426
2373
  "char": "w",
2427
2374
  "description": "Workspace ID (optional if set in profile)",
@@ -2434,7 +2381,7 @@
2434
2381
  },
2435
2382
  "hasDynamicHelp": false,
2436
2383
  "hiddenAliases": [],
2437
- "id": "release:push",
2384
+ "id": "release:pull",
2438
2385
  "pluginAlias": "@xano/cli",
2439
2386
  "pluginName": "@xano/cli",
2440
2387
  "pluginType": "core",
@@ -2445,17 +2392,19 @@
2445
2392
  "dist",
2446
2393
  "commands",
2447
2394
  "release",
2448
- "push",
2395
+ "pull",
2449
2396
  "index.js"
2450
2397
  ]
2451
2398
  },
2452
- "release:list": {
2399
+ "static_host:list": {
2453
2400
  "aliases": [],
2454
2401
  "args": {},
2455
- "description": "List all releases in a workspace",
2402
+ "description": "List all static hosts in a workspace from the Xano Metadata API",
2456
2403
  "examples": [
2457
- "$ xano release list\nReleases in workspace 5:\n - v1.0 (ID: 10) - main\n - v1.1-hotfix (ID: 11) - main [hotfix]\n",
2458
- "$ xano release list -w 5 --output json"
2404
+ "$ xano static_host:list -w 40\nAvailable static hosts:\n - my-static-host (ID: 1)\n - another-host (ID: 2)\n",
2405
+ "$ xano static_host:list --profile production\nAvailable static hosts:\n - my-static-host (ID: 1)\n - another-host (ID: 2)\n",
2406
+ "$ xano static_host:list -w 40 --output json\n[\n {\n \"id\": 1,\n \"name\": \"my-static-host\",\n \"domain\": \"example.com\"\n }\n]\n",
2407
+ "$ xano static_host:list -p staging -o json --page 2\n[\n {\n \"id\": 3,\n \"name\": \"static-host-3\"\n }\n]\n"
2459
2408
  ],
2460
2409
  "flags": {
2461
2410
  "profile": {
@@ -2491,9 +2440,27 @@
2491
2440
  ],
2492
2441
  "type": "option"
2493
2442
  },
2443
+ "page": {
2444
+ "description": "Page number for pagination",
2445
+ "name": "page",
2446
+ "required": false,
2447
+ "default": 1,
2448
+ "hasDynamicHelp": false,
2449
+ "multiple": false,
2450
+ "type": "option"
2451
+ },
2452
+ "per_page": {
2453
+ "description": "Number of results per page",
2454
+ "name": "per_page",
2455
+ "required": false,
2456
+ "default": 50,
2457
+ "hasDynamicHelp": false,
2458
+ "multiple": false,
2459
+ "type": "option"
2460
+ },
2494
2461
  "workspace": {
2495
2462
  "char": "w",
2496
- "description": "Workspace ID (uses profile workspace if not provided)",
2463
+ "description": "Workspace ID (optional if set in profile)",
2497
2464
  "name": "workspace",
2498
2465
  "required": false,
2499
2466
  "hasDynamicHelp": false,
@@ -2503,7 +2470,7 @@
2503
2470
  },
2504
2471
  "hasDynamicHelp": false,
2505
2472
  "hiddenAliases": [],
2506
- "id": "release:list",
2473
+ "id": "static_host:list",
2507
2474
  "pluginAlias": "@xano/cli",
2508
2475
  "pluginName": "@xano/cli",
2509
2476
  "pluginType": "core",
@@ -2513,25 +2480,27 @@
2513
2480
  "relativePath": [
2514
2481
  "dist",
2515
2482
  "commands",
2516
- "release",
2483
+ "static_host",
2517
2484
  "list",
2518
2485
  "index.js"
2519
2486
  ]
2520
2487
  },
2521
- "release:pull": {
2488
+ "release:push": {
2522
2489
  "aliases": [],
2523
2490
  "args": {
2524
2491
  "directory": {
2525
- "description": "Output directory for pulled documents",
2492
+ "description": "Directory containing .xs documents to create the release from",
2526
2493
  "name": "directory",
2527
2494
  "required": true
2528
2495
  }
2529
2496
  },
2530
- "description": "Pull a release multidoc from the Xano Metadata API and split into individual files",
2497
+ "description": "Create a new release from local XanoScript files via the multidoc endpoint",
2531
2498
  "examples": [
2532
- "$ xano release pull ./my-release -r v1.0\nPulled 42 documents from release 'v1.0' to ./my-release\n",
2533
- "$ xano release pull ./output -r v1.0 -w 40\nPulled 15 documents from release 'v1.0' to ./output\n",
2534
- "$ xano release pull ./backup -r v1.0 --profile production --env --records\nPulled 58 documents from release 'v1.0' to ./backup\n"
2499
+ "$ xano release push ./my-release -n \"v1.0\"\nCreated release: v1.0 - ID: 10\n",
2500
+ "$ xano release push ./output -n \"v2.0\" -w 40 -d \"Major update\"\nCreated release: v2.0 - ID: 15\n",
2501
+ "$ xano release push ./backup -n \"v1.1-hotfix\" --hotfix --profile production\nCreated release: v1.1-hotfix - ID: 20\n",
2502
+ "$ xano release push ./my-release -n \"v1.0\" --no-records --no-env\nCreate release from schema only, skip records and environment variables\n",
2503
+ "$ xano release push ./my-release -n \"v1.0\" -o json\nOutput release details as JSON\n"
2535
2504
  ],
2536
2505
  "flags": {
2537
2506
  "profile": {
@@ -2553,29 +2522,60 @@
2553
2522
  "allowNo": false,
2554
2523
  "type": "boolean"
2555
2524
  },
2525
+ "description": {
2526
+ "char": "d",
2527
+ "description": "Release description",
2528
+ "name": "description",
2529
+ "required": false,
2530
+ "default": "",
2531
+ "hasDynamicHelp": false,
2532
+ "multiple": false,
2533
+ "type": "option"
2534
+ },
2556
2535
  "env": {
2557
- "description": "Include environment variables",
2536
+ "description": "Include environment variables (default: true, use --no-env to exclude)",
2558
2537
  "name": "env",
2559
2538
  "required": false,
2560
- "allowNo": false,
2539
+ "allowNo": true,
2561
2540
  "type": "boolean"
2562
2541
  },
2563
- "records": {
2564
- "description": "Include records",
2565
- "name": "records",
2542
+ "hotfix": {
2543
+ "description": "Mark as a hotfix release",
2544
+ "name": "hotfix",
2566
2545
  "required": false,
2567
2546
  "allowNo": false,
2568
2547
  "type": "boolean"
2569
2548
  },
2570
- "release": {
2571
- "char": "r",
2572
- "description": "Release name to pull from",
2573
- "name": "release",
2549
+ "name": {
2550
+ "char": "n",
2551
+ "description": "Name for the release",
2552
+ "name": "name",
2574
2553
  "required": true,
2575
2554
  "hasDynamicHelp": false,
2576
2555
  "multiple": false,
2577
2556
  "type": "option"
2578
2557
  },
2558
+ "output": {
2559
+ "char": "o",
2560
+ "description": "Output format",
2561
+ "name": "output",
2562
+ "required": false,
2563
+ "default": "summary",
2564
+ "hasDynamicHelp": false,
2565
+ "multiple": false,
2566
+ "options": [
2567
+ "summary",
2568
+ "json"
2569
+ ],
2570
+ "type": "option"
2571
+ },
2572
+ "records": {
2573
+ "description": "Include records (default: true, use --no-records to exclude)",
2574
+ "name": "records",
2575
+ "required": false,
2576
+ "allowNo": true,
2577
+ "type": "boolean"
2578
+ },
2579
2579
  "workspace": {
2580
2580
  "char": "w",
2581
2581
  "description": "Workspace ID (optional if set in profile)",
@@ -2588,7 +2588,7 @@
2588
2588
  },
2589
2589
  "hasDynamicHelp": false,
2590
2590
  "hiddenAliases": [],
2591
- "id": "release:pull",
2591
+ "id": "release:push",
2592
2592
  "pluginAlias": "@xano/cli",
2593
2593
  "pluginName": "@xano/cli",
2594
2594
  "pluginType": "core",
@@ -2599,7 +2599,7 @@
2599
2599
  "dist",
2600
2600
  "commands",
2601
2601
  "release",
2602
- "pull",
2602
+ "push",
2603
2603
  "index.js"
2604
2604
  ]
2605
2605
  },
@@ -2743,6 +2743,90 @@
2743
2743
  "index.js"
2744
2744
  ]
2745
2745
  },
2746
+ "tenant:delete": {
2747
+ "aliases": [],
2748
+ "args": {
2749
+ "tenant_name": {
2750
+ "description": "Tenant name to delete",
2751
+ "name": "tenant_name",
2752
+ "required": true
2753
+ }
2754
+ },
2755
+ "description": "Delete a tenant permanently. This destroys all associated infrastructure and cannot be undone.",
2756
+ "examples": [
2757
+ "$ xano tenant delete t1234-abcd-xyz1\nAre you sure you want to delete tenant t1234-abcd-xyz1? This action cannot be undone. (y/N) y\nDeleted tenant t1234-abcd-xyz1\n",
2758
+ "$ xano tenant delete t1234-abcd-xyz1 --force\nDeleted tenant t1234-abcd-xyz1\n",
2759
+ "$ xano tenant delete t1234-abcd-xyz1 -f -o json"
2760
+ ],
2761
+ "flags": {
2762
+ "profile": {
2763
+ "char": "p",
2764
+ "description": "Profile to use (uses default profile if not specified)",
2765
+ "env": "XANO_PROFILE",
2766
+ "name": "profile",
2767
+ "required": false,
2768
+ "hasDynamicHelp": false,
2769
+ "multiple": false,
2770
+ "type": "option"
2771
+ },
2772
+ "verbose": {
2773
+ "char": "v",
2774
+ "description": "Show detailed request/response information",
2775
+ "env": "XANO_VERBOSE",
2776
+ "name": "verbose",
2777
+ "required": false,
2778
+ "allowNo": false,
2779
+ "type": "boolean"
2780
+ },
2781
+ "force": {
2782
+ "char": "f",
2783
+ "description": "Skip confirmation prompt",
2784
+ "name": "force",
2785
+ "required": false,
2786
+ "allowNo": false,
2787
+ "type": "boolean"
2788
+ },
2789
+ "output": {
2790
+ "char": "o",
2791
+ "description": "Output format",
2792
+ "name": "output",
2793
+ "required": false,
2794
+ "default": "summary",
2795
+ "hasDynamicHelp": false,
2796
+ "multiple": false,
2797
+ "options": [
2798
+ "summary",
2799
+ "json"
2800
+ ],
2801
+ "type": "option"
2802
+ },
2803
+ "workspace": {
2804
+ "char": "w",
2805
+ "description": "Workspace ID (uses profile workspace if not provided)",
2806
+ "name": "workspace",
2807
+ "required": false,
2808
+ "hasDynamicHelp": false,
2809
+ "multiple": false,
2810
+ "type": "option"
2811
+ }
2812
+ },
2813
+ "hasDynamicHelp": false,
2814
+ "hiddenAliases": [],
2815
+ "id": "tenant:delete",
2816
+ "pluginAlias": "@xano/cli",
2817
+ "pluginName": "@xano/cli",
2818
+ "pluginType": "core",
2819
+ "strict": true,
2820
+ "enableJsonFlag": false,
2821
+ "isESM": true,
2822
+ "relativePath": [
2823
+ "dist",
2824
+ "commands",
2825
+ "tenant",
2826
+ "delete",
2827
+ "index.js"
2828
+ ]
2829
+ },
2746
2830
  "tenant:edit": {
2747
2831
  "aliases": [],
2748
2832
  "args": {
@@ -3049,20 +3133,19 @@
3049
3133
  "index.js"
3050
3134
  ]
3051
3135
  },
3052
- "tenant:delete": {
3136
+ "tenant:get": {
3053
3137
  "aliases": [],
3054
3138
  "args": {
3055
3139
  "tenant_name": {
3056
- "description": "Tenant name to delete",
3140
+ "description": "Tenant name to retrieve",
3057
3141
  "name": "tenant_name",
3058
3142
  "required": true
3059
3143
  }
3060
3144
  },
3061
- "description": "Delete a tenant permanently. This destroys all associated infrastructure and cannot be undone.",
3145
+ "description": "Get details of a specific tenant",
3062
3146
  "examples": [
3063
- "$ xano tenant delete t1234-abcd-xyz1\nAre you sure you want to delete tenant t1234-abcd-xyz1? This action cannot be undone. (y/N) y\nDeleted tenant t1234-abcd-xyz1\n",
3064
- "$ xano tenant delete t1234-abcd-xyz1 --force\nDeleted tenant t1234-abcd-xyz1\n",
3065
- "$ xano tenant delete t1234-abcd-xyz1 -f -o json"
3147
+ "$ xano tenant get t1234-abcd-xyz1\nTenant: My Tenant (my-tenant)\n State: ok\n License: tier1\n Domain: my-tenant.xano.io\n Cluster: default\n Release: v1.0\n",
3148
+ "$ xano tenant get t1234-abcd-xyz1 -w 5 -o json"
3066
3149
  ],
3067
3150
  "flags": {
3068
3151
  "profile": {
@@ -3084,14 +3167,6 @@
3084
3167
  "allowNo": false,
3085
3168
  "type": "boolean"
3086
3169
  },
3087
- "force": {
3088
- "char": "f",
3089
- "description": "Skip confirmation prompt",
3090
- "name": "force",
3091
- "required": false,
3092
- "allowNo": false,
3093
- "type": "boolean"
3094
- },
3095
3170
  "output": {
3096
3171
  "char": "o",
3097
3172
  "description": "Output format",
@@ -3118,7 +3193,7 @@
3118
3193
  },
3119
3194
  "hasDynamicHelp": false,
3120
3195
  "hiddenAliases": [],
3121
- "id": "tenant:delete",
3196
+ "id": "tenant:get",
3122
3197
  "pluginAlias": "@xano/cli",
3123
3198
  "pluginName": "@xano/cli",
3124
3199
  "pluginType": "core",
@@ -3129,23 +3204,23 @@
3129
3204
  "dist",
3130
3205
  "commands",
3131
3206
  "tenant",
3132
- "delete",
3207
+ "get",
3133
3208
  "index.js"
3134
3209
  ]
3135
3210
  },
3136
- "tenant:get": {
3211
+ "tenant:impersonate": {
3137
3212
  "aliases": [],
3138
3213
  "args": {
3139
3214
  "tenant_name": {
3140
- "description": "Tenant name to retrieve",
3215
+ "description": "Tenant name to impersonate",
3141
3216
  "name": "tenant_name",
3142
3217
  "required": true
3143
3218
  }
3144
3219
  },
3145
- "description": "Get details of a specific tenant",
3220
+ "description": "Impersonate a tenant and open it in the browser",
3146
3221
  "examples": [
3147
- "$ xano tenant get t1234-abcd-xyz1\nTenant: My Tenant (my-tenant)\n State: ok\n License: tier1\n Domain: my-tenant.xano.io\n Cluster: default\n Release: v1.0\n",
3148
- "$ xano tenant get t1234-abcd-xyz1 -w 5 -o json"
3222
+ "$ xano tenant impersonate my-tenant\nOpening browser...\nImpersonation successful!\n",
3223
+ "$ xano tenant impersonate my-tenant -o json"
3149
3224
  ],
3150
3225
  "flags": {
3151
3226
  "profile": {
@@ -3181,6 +3256,14 @@
3181
3256
  ],
3182
3257
  "type": "option"
3183
3258
  },
3259
+ "url-only": {
3260
+ "char": "u",
3261
+ "description": "Print the URL without opening the browser",
3262
+ "name": "url-only",
3263
+ "required": false,
3264
+ "allowNo": false,
3265
+ "type": "boolean"
3266
+ },
3184
3267
  "workspace": {
3185
3268
  "char": "w",
3186
3269
  "description": "Workspace ID (uses profile workspace if not provided)",
@@ -3193,7 +3276,7 @@
3193
3276
  },
3194
3277
  "hasDynamicHelp": false,
3195
3278
  "hiddenAliases": [],
3196
- "id": "tenant:get",
3279
+ "id": "tenant:impersonate",
3197
3280
  "pluginAlias": "@xano/cli",
3198
3281
  "pluginName": "@xano/cli",
3199
3282
  "pluginType": "core",
@@ -3204,23 +3287,17 @@
3204
3287
  "dist",
3205
3288
  "commands",
3206
3289
  "tenant",
3207
- "get",
3290
+ "impersonate",
3208
3291
  "index.js"
3209
3292
  ]
3210
3293
  },
3211
- "tenant:impersonate": {
3294
+ "tenant:list": {
3212
3295
  "aliases": [],
3213
- "args": {
3214
- "tenant_name": {
3215
- "description": "Tenant name to impersonate",
3216
- "name": "tenant_name",
3217
- "required": true
3218
- }
3219
- },
3220
- "description": "Impersonate a tenant and open it in the browser",
3296
+ "args": {},
3297
+ "description": "List all tenants in a workspace",
3221
3298
  "examples": [
3222
- "$ xano tenant impersonate my-tenant\nOpening browser...\nImpersonation successful!\n",
3223
- "$ xano tenant impersonate my-tenant -o json"
3299
+ "$ xano tenant list\nTenants in workspace 5:\n - My Tenant (my-tenant) [ok] - tier1\n Cluster: us-central\n Release: r1\n Platform: default\n - Staging (staging) [ok] - tier1\n Cluster: us-central\n Release: r1\n",
3300
+ "$ xano tenant list -w 5 --output json"
3224
3301
  ],
3225
3302
  "flags": {
3226
3303
  "profile": {
@@ -3256,14 +3333,6 @@
3256
3333
  ],
3257
3334
  "type": "option"
3258
3335
  },
3259
- "url-only": {
3260
- "char": "u",
3261
- "description": "Print the URL without opening the browser",
3262
- "name": "url-only",
3263
- "required": false,
3264
- "allowNo": false,
3265
- "type": "boolean"
3266
- },
3267
3336
  "workspace": {
3268
3337
  "char": "w",
3269
3338
  "description": "Workspace ID (uses profile workspace if not provided)",
@@ -3276,7 +3345,7 @@
3276
3345
  },
3277
3346
  "hasDynamicHelp": false,
3278
3347
  "hiddenAliases": [],
3279
- "id": "tenant:impersonate",
3348
+ "id": "tenant:list",
3280
3349
  "pluginAlias": "@xano/cli",
3281
3350
  "pluginName": "@xano/cli",
3282
3351
  "pluginType": "core",
@@ -3287,15 +3356,117 @@
3287
3356
  "dist",
3288
3357
  "commands",
3289
3358
  "tenant",
3290
- "impersonate",
3359
+ "list",
3291
3360
  "index.js"
3292
3361
  ]
3293
3362
  },
3294
- "tenant:pull": {
3363
+ "tenant:push": {
3295
3364
  "aliases": [],
3296
3365
  "args": {
3297
3366
  "directory": {
3298
- "description": "Output directory for pulled documents",
3367
+ "description": "Directory containing documents to push (as produced by tenant pull or workspace pull)",
3368
+ "name": "directory",
3369
+ "required": true
3370
+ }
3371
+ },
3372
+ "description": "Push local documents to a tenant via the Xano Metadata API multidoc endpoint",
3373
+ "examples": [
3374
+ "$ xano tenant push ./my-workspace -t my-tenant\nPushed 42 documents to tenant my-tenant from ./my-workspace\n",
3375
+ "$ xano tenant push ./output -t my-tenant -w 40\nPushed 15 documents to tenant my-tenant from ./output\n",
3376
+ "$ xano tenant push ./backup -t my-tenant --profile production\nPushed 58 documents to tenant my-tenant from ./backup\n",
3377
+ "$ xano tenant push ./my-workspace -t my-tenant --records\nInclude table records in import\n",
3378
+ "$ xano tenant push ./my-workspace -t my-tenant --env\nInclude environment variables in import\n",
3379
+ "$ xano tenant push ./my-workspace -t my-tenant --truncate\nTruncate all table records before importing\n"
3380
+ ],
3381
+ "flags": {
3382
+ "profile": {
3383
+ "char": "p",
3384
+ "description": "Profile to use (uses default profile if not specified)",
3385
+ "env": "XANO_PROFILE",
3386
+ "name": "profile",
3387
+ "required": false,
3388
+ "hasDynamicHelp": false,
3389
+ "multiple": false,
3390
+ "type": "option"
3391
+ },
3392
+ "verbose": {
3393
+ "char": "v",
3394
+ "description": "Show detailed request/response information",
3395
+ "env": "XANO_VERBOSE",
3396
+ "name": "verbose",
3397
+ "required": false,
3398
+ "allowNo": false,
3399
+ "type": "boolean"
3400
+ },
3401
+ "env": {
3402
+ "description": "Include environment variables in import",
3403
+ "name": "env",
3404
+ "required": false,
3405
+ "allowNo": false,
3406
+ "type": "boolean"
3407
+ },
3408
+ "records": {
3409
+ "description": "Include records in import",
3410
+ "name": "records",
3411
+ "required": false,
3412
+ "allowNo": false,
3413
+ "type": "boolean"
3414
+ },
3415
+ "tenant": {
3416
+ "char": "t",
3417
+ "description": "Tenant name to push to",
3418
+ "name": "tenant",
3419
+ "required": true,
3420
+ "hasDynamicHelp": false,
3421
+ "multiple": false,
3422
+ "type": "option"
3423
+ },
3424
+ "transaction": {
3425
+ "description": "Wrap import in a database transaction (use --no-transaction for debugging purposes)",
3426
+ "name": "transaction",
3427
+ "required": false,
3428
+ "allowNo": true,
3429
+ "type": "boolean"
3430
+ },
3431
+ "truncate": {
3432
+ "description": "Truncate all table records before importing",
3433
+ "name": "truncate",
3434
+ "required": false,
3435
+ "allowNo": false,
3436
+ "type": "boolean"
3437
+ },
3438
+ "workspace": {
3439
+ "char": "w",
3440
+ "description": "Workspace ID (optional if set in profile)",
3441
+ "name": "workspace",
3442
+ "required": false,
3443
+ "hasDynamicHelp": false,
3444
+ "multiple": false,
3445
+ "type": "option"
3446
+ }
3447
+ },
3448
+ "hasDynamicHelp": false,
3449
+ "hiddenAliases": [],
3450
+ "id": "tenant:push",
3451
+ "pluginAlias": "@xano/cli",
3452
+ "pluginName": "@xano/cli",
3453
+ "pluginType": "core",
3454
+ "strict": true,
3455
+ "enableJsonFlag": false,
3456
+ "isESM": true,
3457
+ "relativePath": [
3458
+ "dist",
3459
+ "commands",
3460
+ "tenant",
3461
+ "push",
3462
+ "index.js"
3463
+ ]
3464
+ },
3465
+ "tenant:pull": {
3466
+ "aliases": [],
3467
+ "args": {
3468
+ "directory": {
3469
+ "description": "Output directory for pulled documents",
3299
3470
  "name": "directory",
3300
3471
  "required": true
3301
3472
  }
@@ -3384,13 +3555,19 @@
3384
3555
  "index.js"
3385
3556
  ]
3386
3557
  },
3387
- "tenant:list": {
3558
+ "unit_test:run": {
3388
3559
  "aliases": [],
3389
- "args": {},
3390
- "description": "List all tenants in a workspace",
3560
+ "args": {
3561
+ "unit_test_id": {
3562
+ "description": "ID of the unit test to run",
3563
+ "name": "unit_test_id",
3564
+ "required": true
3565
+ }
3566
+ },
3567
+ "description": "Run a unit test",
3391
3568
  "examples": [
3392
- "$ xano tenant list\nTenants in workspace 5:\n - My Tenant (my-tenant) [ok] - tier1\n Cluster: us-central\n Release: r1\n Platform: default\n - Staging (staging) [ok] - tier1\n Cluster: us-central\n Release: r1\n",
3393
- "$ xano tenant list -w 5 --output json"
3569
+ "$ xano unit-test run abc-123\nRunning unit test abc-123...\nResult: PASS\n",
3570
+ "$ xano unit-test run abc-123 -o json"
3394
3571
  ],
3395
3572
  "flags": {
3396
3573
  "profile": {
@@ -3438,7 +3615,7 @@
3438
3615
  },
3439
3616
  "hasDynamicHelp": false,
3440
3617
  "hiddenAliases": [],
3441
- "id": "tenant:list",
3618
+ "id": "unit_test:run",
3442
3619
  "pluginAlias": "@xano/cli",
3443
3620
  "pluginName": "@xano/cli",
3444
3621
  "pluginType": "core",
@@ -3448,19 +3625,18 @@
3448
3625
  "relativePath": [
3449
3626
  "dist",
3450
3627
  "commands",
3451
- "tenant",
3452
- "list",
3628
+ "unit_test",
3629
+ "run",
3453
3630
  "index.js"
3454
3631
  ]
3455
3632
  },
3456
- "unit_test:list": {
3633
+ "unit_test:run_all": {
3457
3634
  "aliases": [],
3458
3635
  "args": {},
3459
- "description": "List all unit tests in a workspace",
3636
+ "description": "Run all unit tests in a workspace",
3460
3637
  "examples": [
3461
- "$ 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",
3462
- "$ xano unit-test list -w 5 --output json",
3463
- "$ xano unit-test list --obj-type function"
3638
+ "$ xano unit-test run-all\nRunning 5 unit tests...\n\nPASS my-test [function: math]\nPASS auth-check [query: /user/login]\nFAIL data-validation [function: validate]\n Error: assertion failed\n\nResults: 2 passed, 1 failed\n",
3639
+ "$ xano unit-test run-all --obj-type function -o json"
3464
3640
  ],
3465
3641
  "flags": {
3466
3642
  "profile": {
@@ -3530,7 +3706,7 @@
3530
3706
  },
3531
3707
  "hasDynamicHelp": false,
3532
3708
  "hiddenAliases": [],
3533
- "id": "unit_test:list",
3709
+ "id": "unit_test:run_all",
3534
3710
  "pluginAlias": "@xano/cli",
3535
3711
  "pluginName": "@xano/cli",
3536
3712
  "pluginType": "core",
@@ -3541,23 +3717,24 @@
3541
3717
  "dist",
3542
3718
  "commands",
3543
3719
  "unit_test",
3544
- "list",
3720
+ "run_all",
3545
3721
  "index.js"
3546
3722
  ]
3547
3723
  },
3548
- "unit_test:run": {
3724
+ "workflow_test:get": {
3549
3725
  "aliases": [],
3550
3726
  "args": {
3551
- "unit_test_id": {
3552
- "description": "ID of the unit test to run",
3553
- "name": "unit_test_id",
3727
+ "workflow_test_id": {
3728
+ "description": "ID of the workflow test",
3729
+ "name": "workflow_test_id",
3554
3730
  "required": true
3555
3731
  }
3556
3732
  },
3557
- "description": "Run a unit test",
3733
+ "description": "Get a specific workflow test",
3558
3734
  "examples": [
3559
- "$ xano unit-test run abc-123\nRunning unit test abc-123...\nResult: PASS\n",
3560
- "$ xano unit-test run abc-123 -o json"
3735
+ "$ xano workflow-test get 1\nWorkflow Test: my-test (ID: 1)\n Description: Validates auth endpoints\n Branch: main\n",
3736
+ "$ xano workflow-test get 1 -o xs",
3737
+ "$ xano workflow-test get 1 -o json"
3561
3738
  ],
3562
3739
  "flags": {
3563
3740
  "profile": {
@@ -3579,6 +3756,13 @@
3579
3756
  "allowNo": false,
3580
3757
  "type": "boolean"
3581
3758
  },
3759
+ "include-draft": {
3760
+ "description": "Include draft version",
3761
+ "name": "include-draft",
3762
+ "required": false,
3763
+ "allowNo": false,
3764
+ "type": "boolean"
3765
+ },
3582
3766
  "output": {
3583
3767
  "char": "o",
3584
3768
  "description": "Output format",
@@ -3589,7 +3773,8 @@
3589
3773
  "multiple": false,
3590
3774
  "options": [
3591
3775
  "summary",
3592
- "json"
3776
+ "json",
3777
+ "xs"
3593
3778
  ],
3594
3779
  "type": "option"
3595
3780
  },
@@ -3605,7 +3790,7 @@
3605
3790
  },
3606
3791
  "hasDynamicHelp": false,
3607
3792
  "hiddenAliases": [],
3608
- "id": "unit_test:run",
3793
+ "id": "workflow_test:get",
3609
3794
  "pluginAlias": "@xano/cli",
3610
3795
  "pluginName": "@xano/cli",
3611
3796
  "pluginType": "core",
@@ -3615,28 +3800,24 @@
3615
3800
  "relativePath": [
3616
3801
  "dist",
3617
3802
  "commands",
3618
- "unit_test",
3619
- "run",
3803
+ "workflow_test",
3804
+ "get",
3620
3805
  "index.js"
3621
3806
  ]
3622
3807
  },
3623
- "tenant:push": {
3808
+ "workflow_test:delete": {
3624
3809
  "aliases": [],
3625
3810
  "args": {
3626
- "directory": {
3627
- "description": "Directory containing documents to push (as produced by tenant pull or workspace pull)",
3628
- "name": "directory",
3811
+ "workflow_test_id": {
3812
+ "description": "ID of the workflow test to delete",
3813
+ "name": "workflow_test_id",
3629
3814
  "required": true
3630
3815
  }
3631
3816
  },
3632
- "description": "Push local documents to a tenant via the Xano Metadata API multidoc endpoint",
3817
+ "description": "Delete a workflow test",
3633
3818
  "examples": [
3634
- "$ xano tenant push ./my-workspace -t my-tenant\nPushed 42 documents to tenant my-tenant from ./my-workspace\n",
3635
- "$ xano tenant push ./output -t my-tenant -w 40\nPushed 15 documents to tenant my-tenant from ./output\n",
3636
- "$ xano tenant push ./backup -t my-tenant --profile production\nPushed 58 documents to tenant my-tenant from ./backup\n",
3637
- "$ xano tenant push ./my-workspace -t my-tenant --records\nInclude table records in import\n",
3638
- "$ xano tenant push ./my-workspace -t my-tenant --env\nInclude environment variables in import\n",
3639
- "$ xano tenant push ./my-workspace -t my-tenant --truncate\nTruncate all table records before importing\n"
3819
+ "$ xano workflow-test delete 1\nAre you sure you want to delete workflow test 1? (y/N) y\nDeleted workflow test 1\n",
3820
+ "$ xano workflow-test delete 1 --force"
3640
3821
  ],
3641
3822
  "flags": {
3642
3823
  "profile": {
@@ -3658,46 +3839,31 @@
3658
3839
  "allowNo": false,
3659
3840
  "type": "boolean"
3660
3841
  },
3661
- "env": {
3662
- "description": "Include environment variables in import",
3663
- "name": "env",
3842
+ "force": {
3843
+ "char": "f",
3844
+ "description": "Skip confirmation prompt",
3845
+ "name": "force",
3664
3846
  "required": false,
3665
3847
  "allowNo": false,
3666
3848
  "type": "boolean"
3667
3849
  },
3668
- "records": {
3669
- "description": "Include records in import",
3670
- "name": "records",
3850
+ "output": {
3851
+ "char": "o",
3852
+ "description": "Output format",
3853
+ "name": "output",
3671
3854
  "required": false,
3672
- "allowNo": false,
3673
- "type": "boolean"
3674
- },
3675
- "tenant": {
3676
- "char": "t",
3677
- "description": "Tenant name to push to",
3678
- "name": "tenant",
3679
- "required": true,
3855
+ "default": "summary",
3680
3856
  "hasDynamicHelp": false,
3681
3857
  "multiple": false,
3858
+ "options": [
3859
+ "summary",
3860
+ "json"
3861
+ ],
3682
3862
  "type": "option"
3683
3863
  },
3684
- "transaction": {
3685
- "description": "Wrap import in a database transaction (use --no-transaction for debugging purposes)",
3686
- "name": "transaction",
3687
- "required": false,
3688
- "allowNo": true,
3689
- "type": "boolean"
3690
- },
3691
- "truncate": {
3692
- "description": "Truncate all table records before importing",
3693
- "name": "truncate",
3694
- "required": false,
3695
- "allowNo": false,
3696
- "type": "boolean"
3697
- },
3698
3864
  "workspace": {
3699
3865
  "char": "w",
3700
- "description": "Workspace ID (optional if set in profile)",
3866
+ "description": "Workspace ID (uses profile workspace if not provided)",
3701
3867
  "name": "workspace",
3702
3868
  "required": false,
3703
3869
  "hasDynamicHelp": false,
@@ -3707,7 +3873,7 @@
3707
3873
  },
3708
3874
  "hasDynamicHelp": false,
3709
3875
  "hiddenAliases": [],
3710
- "id": "tenant:push",
3876
+ "id": "workflow_test:delete",
3711
3877
  "pluginAlias": "@xano/cli",
3712
3878
  "pluginName": "@xano/cli",
3713
3879
  "pluginType": "core",
@@ -3717,18 +3883,19 @@
3717
3883
  "relativePath": [
3718
3884
  "dist",
3719
3885
  "commands",
3720
- "tenant",
3721
- "push",
3886
+ "workflow_test",
3887
+ "delete",
3722
3888
  "index.js"
3723
3889
  ]
3724
3890
  },
3725
- "unit_test:run_all": {
3891
+ "workflow_test:list": {
3726
3892
  "aliases": [],
3727
3893
  "args": {},
3728
- "description": "Run all unit tests in a workspace",
3894
+ "description": "List all workflow tests in a workspace",
3729
3895
  "examples": [
3730
- "$ xano unit-test run-all\nRunning 5 unit tests...\n\nPASS my-test [function: math]\nPASS auth-check [query: /user/login]\nFAIL data-validation [function: validate]\n Error: assertion failed\n\nResults: 2 passed, 1 failed\n",
3731
- "$ xano unit-test run-all --obj-type function -o json"
3896
+ "$ xano workflow-test list\nWorkflow tests in workspace 5:\n - my-test (ID: 1)\n - auth-flow (ID: 2) - Validates auth endpoints\n",
3897
+ "$ xano workflow-test list -w 5 --output json",
3898
+ "$ xano workflow-test list --branch main"
3732
3899
  ],
3733
3900
  "flags": {
3734
3901
  "profile": {
@@ -3759,25 +3926,12 @@
3759
3926
  "multiple": false,
3760
3927
  "type": "option"
3761
3928
  },
3762
- "obj-type": {
3763
- "description": "Filter by object type",
3764
- "name": "obj-type",
3929
+ "output": {
3930
+ "char": "o",
3931
+ "description": "Output format",
3932
+ "name": "output",
3765
3933
  "required": false,
3766
- "hasDynamicHelp": false,
3767
- "multiple": false,
3768
- "options": [
3769
- "function",
3770
- "query",
3771
- "middleware"
3772
- ],
3773
- "type": "option"
3774
- },
3775
- "output": {
3776
- "char": "o",
3777
- "description": "Output format",
3778
- "name": "output",
3779
- "required": false,
3780
- "default": "summary",
3934
+ "default": "summary",
3781
3935
  "hasDynamicHelp": false,
3782
3936
  "multiple": false,
3783
3937
  "options": [
@@ -3798,7 +3952,7 @@
3798
3952
  },
3799
3953
  "hasDynamicHelp": false,
3800
3954
  "hiddenAliases": [],
3801
- "id": "unit_test:run_all",
3955
+ "id": "workflow_test:list",
3802
3956
  "pluginAlias": "@xano/cli",
3803
3957
  "pluginName": "@xano/cli",
3804
3958
  "pluginType": "core",
@@ -3808,24 +3962,19 @@
3808
3962
  "relativePath": [
3809
3963
  "dist",
3810
3964
  "commands",
3811
- "unit_test",
3812
- "run_all",
3965
+ "workflow_test",
3966
+ "list",
3813
3967
  "index.js"
3814
3968
  ]
3815
3969
  },
3816
- "workflow_test:delete": {
3970
+ "unit_test:list": {
3817
3971
  "aliases": [],
3818
- "args": {
3819
- "workflow_test_id": {
3820
- "description": "ID of the workflow test to delete",
3821
- "name": "workflow_test_id",
3822
- "required": true
3823
- }
3824
- },
3825
- "description": "Delete a workflow test",
3972
+ "args": {},
3973
+ "description": "List all unit tests in a workspace",
3826
3974
  "examples": [
3827
- "$ xano workflow-test delete 1\nAre you sure you want to delete workflow test 1? (y/N) y\nDeleted workflow test 1\n",
3828
- "$ xano workflow-test delete 1 --force"
3975
+ "$ xano unit-test list\nUnit tests in workspace 5:\n - my-test (ID: abc-123) [function: math]\n - auth-check (ID: def-456) [query: /user/login]\n",
3976
+ "$ xano unit-test list -w 5 --output json",
3977
+ "$ xano unit-test list --obj-type function"
3829
3978
  ],
3830
3979
  "flags": {
3831
3980
  "profile": {
@@ -3847,13 +3996,27 @@
3847
3996
  "allowNo": false,
3848
3997
  "type": "boolean"
3849
3998
  },
3850
- "force": {
3851
- "char": "f",
3852
- "description": "Skip confirmation prompt",
3853
- "name": "force",
3999
+ "branch": {
4000
+ "char": "b",
4001
+ "description": "Filter by branch name",
4002
+ "name": "branch",
3854
4003
  "required": false,
3855
- "allowNo": false,
3856
- "type": "boolean"
4004
+ "hasDynamicHelp": false,
4005
+ "multiple": false,
4006
+ "type": "option"
4007
+ },
4008
+ "obj-type": {
4009
+ "description": "Filter by object type",
4010
+ "name": "obj-type",
4011
+ "required": false,
4012
+ "hasDynamicHelp": false,
4013
+ "multiple": false,
4014
+ "options": [
4015
+ "function",
4016
+ "query",
4017
+ "middleware"
4018
+ ],
4019
+ "type": "option"
3857
4020
  },
3858
4021
  "output": {
3859
4022
  "char": "o",
@@ -3881,7 +4044,7 @@
3881
4044
  },
3882
4045
  "hasDynamicHelp": false,
3883
4046
  "hiddenAliases": [],
3884
- "id": "workflow_test:delete",
4047
+ "id": "unit_test:list",
3885
4048
  "pluginAlias": "@xano/cli",
3886
4049
  "pluginName": "@xano/cli",
3887
4050
  "pluginType": "core",
@@ -3891,8 +4054,8 @@
3891
4054
  "relativePath": [
3892
4055
  "dist",
3893
4056
  "commands",
3894
- "workflow_test",
3895
- "delete",
4057
+ "unit_test",
4058
+ "list",
3896
4059
  "index.js"
3897
4060
  ]
3898
4061
  },
@@ -3971,14 +4134,13 @@
3971
4134
  "index.js"
3972
4135
  ]
3973
4136
  },
3974
- "workflow_test:list": {
4137
+ "workflow_test:run_all": {
3975
4138
  "aliases": [],
3976
4139
  "args": {},
3977
- "description": "List all workflow tests in a workspace",
4140
+ "description": "Run all workflow tests in a workspace",
3978
4141
  "examples": [
3979
- "$ xano workflow-test list\nWorkflow tests in workspace 5:\n - my-test (ID: 1)\n - auth-flow (ID: 2) - Validates auth endpoints\n",
3980
- "$ xano workflow-test list -w 5 --output json",
3981
- "$ xano workflow-test list --branch main"
4142
+ "$ xano workflow-test run-all\nRunning 3 workflow tests...\n\nPASS my-test (1.234s)\nPASS auth-flow (0.567s)\nFAIL data-validation (0.890s)\n Error: assertion failed at step 3\n\nResults: 2 passed, 1 failed (2.691s total)\n",
4143
+ "$ xano workflow-test run-all --branch main -o json"
3982
4144
  ],
3983
4145
  "flags": {
3984
4146
  "profile": {
@@ -4035,7 +4197,7 @@
4035
4197
  },
4036
4198
  "hasDynamicHelp": false,
4037
4199
  "hiddenAliases": [],
4038
- "id": "workflow_test:list",
4200
+ "id": "workflow_test:run_all",
4039
4201
  "pluginAlias": "@xano/cli",
4040
4202
  "pluginName": "@xano/cli",
4041
4203
  "pluginType": "core",
@@ -4046,24 +4208,25 @@
4046
4208
  "dist",
4047
4209
  "commands",
4048
4210
  "workflow_test",
4049
- "list",
4211
+ "run_all",
4050
4212
  "index.js"
4051
4213
  ]
4052
4214
  },
4053
- "workflow_test:get": {
4215
+ "workspace:edit": {
4054
4216
  "aliases": [],
4055
4217
  "args": {
4056
- "workflow_test_id": {
4057
- "description": "ID of the workflow test",
4058
- "name": "workflow_test_id",
4059
- "required": true
4218
+ "workspace_id": {
4219
+ "description": "Workspace ID to edit (uses profile workspace if not provided)",
4220
+ "name": "workspace_id",
4221
+ "required": false
4060
4222
  }
4061
4223
  },
4062
- "description": "Get a specific workflow test",
4224
+ "description": "Edit an existing workspace via the Xano Metadata API",
4063
4225
  "examples": [
4064
- "$ xano workflow-test get 1\nWorkflow Test: my-test (ID: 1)\n Description: Validates auth endpoints\n Branch: main\n",
4065
- "$ xano workflow-test get 1 -o xs",
4066
- "$ xano workflow-test get 1 -o json"
4226
+ "$ xano workspace edit 123 --name \"new-name\"\nUpdated workspace: new-name (ID: 123)\n",
4227
+ "$ xano workspace edit --name \"updated-workspace\" --description \"Updated description\"\nUpdated workspace: updated-workspace (ID: 123)\n Description: Updated description\n",
4228
+ "$ xano workspace edit 123 --swagger --require-token\nUpdated workspace: my-workspace (ID: 123)\n Swagger: enabled\n Require Token: true\n",
4229
+ "$ xano workspace edit 123 --no-swagger -o json\n{\n \"id\": 123,\n \"name\": \"my-workspace\",\n \"swagger\": false\n}\n"
4067
4230
  ],
4068
4231
  "flags": {
4069
4232
  "profile": {
@@ -4085,12 +4248,23 @@
4085
4248
  "allowNo": false,
4086
4249
  "type": "boolean"
4087
4250
  },
4088
- "include-draft": {
4089
- "description": "Include draft version",
4090
- "name": "include-draft",
4251
+ "description": {
4252
+ "char": "d",
4253
+ "description": "New description for the workspace",
4254
+ "name": "description",
4091
4255
  "required": false,
4092
- "allowNo": false,
4093
- "type": "boolean"
4256
+ "hasDynamicHelp": false,
4257
+ "multiple": false,
4258
+ "type": "option"
4259
+ },
4260
+ "name": {
4261
+ "char": "n",
4262
+ "description": "New name for the workspace",
4263
+ "name": "name",
4264
+ "required": false,
4265
+ "hasDynamicHelp": false,
4266
+ "multiple": false,
4267
+ "type": "option"
4094
4268
  },
4095
4269
  "output": {
4096
4270
  "char": "o",
@@ -4102,24 +4276,28 @@
4102
4276
  "multiple": false,
4103
4277
  "options": [
4104
4278
  "summary",
4105
- "json",
4106
- "xs"
4279
+ "json"
4107
4280
  ],
4108
4281
  "type": "option"
4109
4282
  },
4110
- "workspace": {
4111
- "char": "w",
4112
- "description": "Workspace ID (uses profile workspace if not provided)",
4113
- "name": "workspace",
4283
+ "require-token": {
4284
+ "description": "Whether to require a token for documentation access",
4285
+ "name": "require-token",
4114
4286
  "required": false,
4115
- "hasDynamicHelp": false,
4116
- "multiple": false,
4117
- "type": "option"
4287
+ "allowNo": true,
4288
+ "type": "boolean"
4289
+ },
4290
+ "swagger": {
4291
+ "description": "Enable or disable swagger documentation",
4292
+ "name": "swagger",
4293
+ "required": false,
4294
+ "allowNo": true,
4295
+ "type": "boolean"
4118
4296
  }
4119
4297
  },
4120
4298
  "hasDynamicHelp": false,
4121
4299
  "hiddenAliases": [],
4122
- "id": "workflow_test:get",
4300
+ "id": "workspace:edit",
4123
4301
  "pluginAlias": "@xano/cli",
4124
4302
  "pluginName": "@xano/cli",
4125
4303
  "pluginType": "core",
@@ -4129,18 +4307,25 @@
4129
4307
  "relativePath": [
4130
4308
  "dist",
4131
4309
  "commands",
4132
- "workflow_test",
4133
- "get",
4310
+ "workspace",
4311
+ "edit",
4134
4312
  "index.js"
4135
4313
  ]
4136
4314
  },
4137
- "workflow_test:run_all": {
4315
+ "workspace:delete": {
4138
4316
  "aliases": [],
4139
- "args": {},
4140
- "description": "Run all workflow tests in a workspace",
4317
+ "args": {
4318
+ "workspace_id": {
4319
+ "description": "Workspace ID to delete",
4320
+ "name": "workspace_id",
4321
+ "required": true
4322
+ }
4323
+ },
4324
+ "description": "Delete a workspace via the Xano Metadata API. Cannot delete workspaces with active tenants.",
4141
4325
  "examples": [
4142
- "$ xano workflow-test run-all\nRunning 3 workflow tests...\n\nPASS my-test (1.234s)\nPASS auth-flow (0.567s)\nFAIL data-validation (0.890s)\n Error: assertion failed at step 3\n\nResults: 2 passed, 1 failed (2.691s total)\n",
4143
- "$ xano workflow-test run-all --branch main -o json"
4326
+ "$ 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",
4327
+ "$ xano workspace delete 123 --force\nDeleted workspace 123\n",
4328
+ "$ xano workspace delete 123 -f -o json\n{\n \"deleted\": true,\n \"workspace_id\": 123\n}\n"
4144
4329
  ],
4145
4330
  "flags": {
4146
4331
  "profile": {
@@ -4162,14 +4347,13 @@
4162
4347
  "allowNo": false,
4163
4348
  "type": "boolean"
4164
4349
  },
4165
- "branch": {
4166
- "char": "b",
4167
- "description": "Filter by branch name",
4168
- "name": "branch",
4350
+ "force": {
4351
+ "char": "f",
4352
+ "description": "Skip confirmation prompt",
4353
+ "name": "force",
4169
4354
  "required": false,
4170
- "hasDynamicHelp": false,
4171
- "multiple": false,
4172
- "type": "option"
4355
+ "allowNo": false,
4356
+ "type": "boolean"
4173
4357
  },
4174
4358
  "output": {
4175
4359
  "char": "o",
@@ -4184,20 +4368,11 @@
4184
4368
  "json"
4185
4369
  ],
4186
4370
  "type": "option"
4187
- },
4188
- "workspace": {
4189
- "char": "w",
4190
- "description": "Workspace ID (uses profile workspace if not provided)",
4191
- "name": "workspace",
4192
- "required": false,
4193
- "hasDynamicHelp": false,
4194
- "multiple": false,
4195
- "type": "option"
4196
4371
  }
4197
4372
  },
4198
4373
  "hasDynamicHelp": false,
4199
4374
  "hiddenAliases": [],
4200
- "id": "workflow_test:run_all",
4375
+ "id": "workspace:delete",
4201
4376
  "pluginAlias": "@xano/cli",
4202
4377
  "pluginName": "@xano/cli",
4203
4378
  "pluginType": "core",
@@ -4207,25 +4382,25 @@
4207
4382
  "relativePath": [
4208
4383
  "dist",
4209
4384
  "commands",
4210
- "workflow_test",
4211
- "run_all",
4385
+ "workspace",
4386
+ "delete",
4212
4387
  "index.js"
4213
4388
  ]
4214
4389
  },
4215
- "workspace:delete": {
4390
+ "workspace:get": {
4216
4391
  "aliases": [],
4217
4392
  "args": {
4218
4393
  "workspace_id": {
4219
- "description": "Workspace ID to delete",
4394
+ "description": "Workspace ID to get details for (uses profile workspace if not provided)",
4220
4395
  "name": "workspace_id",
4221
- "required": true
4396
+ "required": false
4222
4397
  }
4223
4398
  },
4224
- "description": "Delete a workspace via the Xano Metadata API. Cannot delete workspaces with active tenants.",
4399
+ "description": "Get details of a specific workspace from the Xano Metadata API",
4225
4400
  "examples": [
4226
- "$ 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",
4227
- "$ xano workspace delete 123 --force\nDeleted workspace 123\n",
4228
- "$ xano workspace delete 123 -f -o json\n{\n \"deleted\": true,\n \"workspace_id\": 123\n}\n"
4401
+ "$ xano workspace get 123\nWorkspace: my-workspace (ID: 123)\n Description: My workspace description\n Created: 2024-01-15\n",
4402
+ "$ xano workspace get --output json\n{\n \"id\": 123,\n \"name\": \"my-workspace\",\n \"description\": \"My workspace description\"\n}\n",
4403
+ "$ xano workspace get 456 -p production -o json\n{\n \"id\": 456,\n \"name\": \"production-workspace\"\n}\n"
4229
4404
  ],
4230
4405
  "flags": {
4231
4406
  "profile": {
@@ -4247,14 +4422,6 @@
4247
4422
  "allowNo": false,
4248
4423
  "type": "boolean"
4249
4424
  },
4250
- "force": {
4251
- "char": "f",
4252
- "description": "Skip confirmation prompt",
4253
- "name": "force",
4254
- "required": false,
4255
- "allowNo": false,
4256
- "type": "boolean"
4257
- },
4258
4425
  "output": {
4259
4426
  "char": "o",
4260
4427
  "description": "Output format",
@@ -4272,7 +4439,7 @@
4272
4439
  },
4273
4440
  "hasDynamicHelp": false,
4274
4441
  "hiddenAliases": [],
4275
- "id": "workspace:delete",
4442
+ "id": "workspace:get",
4276
4443
  "pluginAlias": "@xano/cli",
4277
4444
  "pluginName": "@xano/cli",
4278
4445
  "pluginType": "core",
@@ -4283,24 +4450,19 @@
4283
4450
  "dist",
4284
4451
  "commands",
4285
4452
  "workspace",
4286
- "delete",
4453
+ "get",
4287
4454
  "index.js"
4288
4455
  ]
4289
4456
  },
4290
- "workspace:create": {
4457
+ "workspace:list": {
4291
4458
  "aliases": [],
4292
- "args": {
4293
- "name": {
4294
- "description": "Name of the workspace",
4295
- "name": "name",
4296
- "required": true
4297
- }
4298
- },
4299
- "description": "Create a new workspace via the Xano Metadata API",
4459
+ "args": {},
4460
+ "description": "List all workspaces from the Xano Metadata API",
4300
4461
  "examples": [
4301
- "$ xano workspace create my-workspace\nCreated workspace: my-workspace (ID: 123)\n",
4302
- "$ xano workspace create my-app --description \"My application workspace\"\nCreated workspace: my-app (ID: 456)\n Description: My application workspace\n",
4303
- "$ 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"
4462
+ "$ xano workspace:list\nAvailable workspaces:\n - workspace-1 (ID: 1)\n - workspace-2 (ID: 2)\n - workspace-3 (ID: 3)\n",
4463
+ "$ xano workspace:list --profile production\nAvailable workspaces:\n - my-app (ID: 1)\n - staging-env (ID: 2)\n",
4464
+ "$ xano workspace:list --output json\n{\n \"workspaces\": [\n {\n \"id\": 1,\n \"name\": \"workspace-1\"\n },\n {\n \"id\": 2,\n \"name\": \"workspace-2\"\n }\n ]\n}\n",
4465
+ "$ xano workspace:list -p staging -o json\n{\n \"workspaces\": [\n {\n \"id\": 1,\n \"name\": \"my-app\"\n }\n ]\n}\n"
4304
4466
  ],
4305
4467
  "flags": {
4306
4468
  "profile": {
@@ -4322,15 +4484,6 @@
4322
4484
  "allowNo": false,
4323
4485
  "type": "boolean"
4324
4486
  },
4325
- "description": {
4326
- "char": "d",
4327
- "description": "Description for the workspace",
4328
- "name": "description",
4329
- "required": false,
4330
- "hasDynamicHelp": false,
4331
- "multiple": false,
4332
- "type": "option"
4333
- },
4334
4487
  "output": {
4335
4488
  "char": "o",
4336
4489
  "description": "Output format",
@@ -4348,7 +4501,7 @@
4348
4501
  },
4349
4502
  "hasDynamicHelp": false,
4350
4503
  "hiddenAliases": [],
4351
- "id": "workspace:create",
4504
+ "id": "workspace:list",
4352
4505
  "pluginAlias": "@xano/cli",
4353
4506
  "pluginName": "@xano/cli",
4354
4507
  "pluginType": "core",
@@ -4359,25 +4512,24 @@
4359
4512
  "dist",
4360
4513
  "commands",
4361
4514
  "workspace",
4362
- "create",
4515
+ "list",
4363
4516
  "index.js"
4364
4517
  ]
4365
4518
  },
4366
- "workspace:edit": {
4519
+ "workspace:create": {
4367
4520
  "aliases": [],
4368
4521
  "args": {
4369
- "workspace_id": {
4370
- "description": "Workspace ID to edit (uses profile workspace if not provided)",
4371
- "name": "workspace_id",
4372
- "required": false
4522
+ "name": {
4523
+ "description": "Name of the workspace",
4524
+ "name": "name",
4525
+ "required": true
4373
4526
  }
4374
4527
  },
4375
- "description": "Edit an existing workspace via the Xano Metadata API",
4528
+ "description": "Create a new workspace via the Xano Metadata API",
4376
4529
  "examples": [
4377
- "$ xano workspace edit 123 --name \"new-name\"\nUpdated workspace: new-name (ID: 123)\n",
4378
- "$ xano workspace edit --name \"updated-workspace\" --description \"Updated description\"\nUpdated workspace: updated-workspace (ID: 123)\n Description: Updated description\n",
4379
- "$ xano workspace edit 123 --swagger --require-token\nUpdated workspace: my-workspace (ID: 123)\n Swagger: enabled\n Require Token: true\n",
4380
- "$ xano workspace edit 123 --no-swagger -o json\n{\n \"id\": 123,\n \"name\": \"my-workspace\",\n \"swagger\": false\n}\n"
4530
+ "$ xano workspace create my-workspace\nCreated workspace: my-workspace (ID: 123)\n",
4531
+ "$ xano workspace create my-app --description \"My application workspace\"\nCreated workspace: my-app (ID: 456)\n Description: My application workspace\n",
4532
+ "$ xano workspace create new-project -d \"New project workspace\" -o json\n{\n \"id\": 789,\n \"name\": \"new-project\",\n \"description\": \"New project workspace\"\n}\n"
4381
4533
  ],
4382
4534
  "flags": {
4383
4535
  "profile": {
@@ -4401,103 +4553,13 @@
4401
4553
  },
4402
4554
  "description": {
4403
4555
  "char": "d",
4404
- "description": "New description for the workspace",
4556
+ "description": "Description for the workspace",
4405
4557
  "name": "description",
4406
4558
  "required": false,
4407
4559
  "hasDynamicHelp": false,
4408
4560
  "multiple": false,
4409
4561
  "type": "option"
4410
4562
  },
4411
- "name": {
4412
- "char": "n",
4413
- "description": "New name for the workspace",
4414
- "name": "name",
4415
- "required": false,
4416
- "hasDynamicHelp": false,
4417
- "multiple": false,
4418
- "type": "option"
4419
- },
4420
- "output": {
4421
- "char": "o",
4422
- "description": "Output format",
4423
- "name": "output",
4424
- "required": false,
4425
- "default": "summary",
4426
- "hasDynamicHelp": false,
4427
- "multiple": false,
4428
- "options": [
4429
- "summary",
4430
- "json"
4431
- ],
4432
- "type": "option"
4433
- },
4434
- "require-token": {
4435
- "description": "Whether to require a token for documentation access",
4436
- "name": "require-token",
4437
- "required": false,
4438
- "allowNo": true,
4439
- "type": "boolean"
4440
- },
4441
- "swagger": {
4442
- "description": "Enable or disable swagger documentation",
4443
- "name": "swagger",
4444
- "required": false,
4445
- "allowNo": true,
4446
- "type": "boolean"
4447
- }
4448
- },
4449
- "hasDynamicHelp": false,
4450
- "hiddenAliases": [],
4451
- "id": "workspace:edit",
4452
- "pluginAlias": "@xano/cli",
4453
- "pluginName": "@xano/cli",
4454
- "pluginType": "core",
4455
- "strict": true,
4456
- "enableJsonFlag": false,
4457
- "isESM": true,
4458
- "relativePath": [
4459
- "dist",
4460
- "commands",
4461
- "workspace",
4462
- "edit",
4463
- "index.js"
4464
- ]
4465
- },
4466
- "workspace:get": {
4467
- "aliases": [],
4468
- "args": {
4469
- "workspace_id": {
4470
- "description": "Workspace ID to get details for (uses profile workspace if not provided)",
4471
- "name": "workspace_id",
4472
- "required": false
4473
- }
4474
- },
4475
- "description": "Get details of a specific workspace from the Xano Metadata API",
4476
- "examples": [
4477
- "$ xano workspace get 123\nWorkspace: my-workspace (ID: 123)\n Description: My workspace description\n Created: 2024-01-15\n",
4478
- "$ xano workspace get --output json\n{\n \"id\": 123,\n \"name\": \"my-workspace\",\n \"description\": \"My workspace description\"\n}\n",
4479
- "$ xano workspace get 456 -p production -o json\n{\n \"id\": 456,\n \"name\": \"production-workspace\"\n}\n"
4480
- ],
4481
- "flags": {
4482
- "profile": {
4483
- "char": "p",
4484
- "description": "Profile to use (uses default profile if not specified)",
4485
- "env": "XANO_PROFILE",
4486
- "name": "profile",
4487
- "required": false,
4488
- "hasDynamicHelp": false,
4489
- "multiple": false,
4490
- "type": "option"
4491
- },
4492
- "verbose": {
4493
- "char": "v",
4494
- "description": "Show detailed request/response information",
4495
- "env": "XANO_VERBOSE",
4496
- "name": "verbose",
4497
- "required": false,
4498
- "allowNo": false,
4499
- "type": "boolean"
4500
- },
4501
4563
  "output": {
4502
4564
  "char": "o",
4503
4565
  "description": "Output format",
@@ -4515,7 +4577,7 @@
4515
4577
  },
4516
4578
  "hasDynamicHelp": false,
4517
4579
  "hiddenAliases": [],
4518
- "id": "workspace:get",
4580
+ "id": "workspace:create",
4519
4581
  "pluginAlias": "@xano/cli",
4520
4582
  "pluginName": "@xano/cli",
4521
4583
  "pluginType": "core",
@@ -4526,7 +4588,7 @@
4526
4588
  "dist",
4527
4589
  "commands",
4528
4590
  "workspace",
4529
- "get",
4591
+ "create",
4530
4592
  "index.js"
4531
4593
  ]
4532
4594
  },
@@ -4633,16 +4695,16 @@
4633
4695
  "required": true
4634
4696
  }
4635
4697
  },
4636
- "description": "Push local documents to a workspace. Shows a preview of changes before pushing unless --force is specified. Use --dry-run to preview only.",
4698
+ "description": "Push local documents to a workspace. By default, only changed files are pushed (partial mode). Use --sync to push all files. Shows a preview of changes before pushing unless --force is specified. Use --dry-run to preview only.",
4637
4699
  "examples": [
4638
- "$ xano workspace push ./my-workspace\nShows preview of changes, requires confirmation\n",
4700
+ "$ xano workspace push ./my-workspace\nPush only changed files (default partial mode)\n",
4701
+ "$ xano workspace push ./my-workspace --sync\nPush all files to the workspace\n",
4702
+ "$ xano workspace push ./my-workspace --sync --delete\nPush all files and delete remote objects not included\n",
4639
4703
  "$ xano workspace push ./my-workspace --dry-run\nPreview changes without pushing\n",
4640
4704
  "$ xano workspace push ./my-workspace --force\nSkip preview and push immediately (for CI/CD)\n",
4641
- "$ xano workspace push ./my-workspace --delete\nShows preview including deletions, requires confirmation\n",
4642
4705
  "$ xano workspace push ./output -w 40\nPushed 15 documents from ./output\n",
4643
4706
  "$ xano workspace push ./backup --profile production\nPushed 58 documents from ./backup\n",
4644
4707
  "$ xano workspace push ./my-workspace -b dev\nPushed 42 documents from ./my-workspace\n",
4645
- "$ xano workspace push ./my-functions --partial\nPush some files without a workspace block (implies --no-delete)\n",
4646
4708
  "$ xano workspace push ./my-workspace --no-records\nPush schema only, skip importing table records\n",
4647
4709
  "$ xano workspace push ./my-workspace --no-env\nPush without overwriting environment variables\n",
4648
4710
  "$ xano workspace push ./my-workspace --truncate\nTruncate all table records before importing\n"
@@ -4677,7 +4739,7 @@
4677
4739
  "type": "option"
4678
4740
  },
4679
4741
  "delete": {
4680
- "description": "Delete workspace objects not included in the push",
4742
+ "description": "Delete workspace objects not included in the push (requires --sync)",
4681
4743
  "name": "delete",
4682
4744
  "required": false,
4683
4745
  "allowNo": false,
@@ -4697,9 +4759,9 @@
4697
4759
  "allowNo": false,
4698
4760
  "type": "boolean"
4699
4761
  },
4700
- "partial": {
4701
- "description": "Partial push — workspace block is not required, existing objects are kept (implies --no-delete)",
4702
- "name": "partial",
4762
+ "sync": {
4763
+ "description": "Full push — send all files, not just changed ones. Required for --delete.",
4764
+ "name": "sync",
4703
4765
  "required": false,
4704
4766
  "allowNo": false,
4705
4767
  "type": "boolean"
@@ -4711,9 +4773,9 @@
4711
4773
  "allowNo": false,
4712
4774
  "type": "boolean"
4713
4775
  },
4714
- "sync-guids": {
4715
- "description": "Write server-assigned GUIDs back to local files (use --no-sync-guids to skip)",
4716
- "name": "sync-guids",
4776
+ "guids": {
4777
+ "description": "Write server-assigned GUIDs back to local files (use --no-guids to skip)",
4778
+ "name": "guids",
4717
4779
  "required": false,
4718
4780
  "allowNo": true,
4719
4781
  "type": "boolean"
@@ -4813,26 +4875,20 @@
4813
4875
  "index.js"
4814
4876
  ]
4815
4877
  },
4816
- "static_host:build:get": {
4878
+ "tenant:backup:delete": {
4817
4879
  "aliases": [],
4818
4880
  "args": {
4819
- "build_id": {
4820
- "description": "Build ID",
4821
- "name": "build_id",
4822
- "required": true
4823
- },
4824
- "static_host": {
4825
- "description": "Static Host name",
4826
- "name": "static_host",
4881
+ "tenant_name": {
4882
+ "description": "Tenant name that owns the backup",
4883
+ "name": "tenant_name",
4827
4884
  "required": true
4828
4885
  }
4829
4886
  },
4830
- "description": "Get details of a specific build for a static host",
4887
+ "description": "Delete a tenant backup permanently. This action cannot be undone.",
4831
4888
  "examples": [
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"
4889
+ "$ xano tenant backup delete t1234-abcd-xyz1 --backup_id 10\nAre you sure you want to delete backup #10? This action cannot be undone. (y/N) y\nDeleted backup #10\n",
4890
+ "$ xano tenant backup delete t1234-abcd-xyz1 --backup_id 10 --force",
4891
+ "$ xano tenant backup delete t1234-abcd-xyz1 --backup_id 10 -o json"
4836
4892
  ],
4837
4893
  "flags": {
4838
4894
  "profile": {
@@ -4854,6 +4910,22 @@
4854
4910
  "allowNo": false,
4855
4911
  "type": "boolean"
4856
4912
  },
4913
+ "backup_id": {
4914
+ "description": "Backup ID to delete",
4915
+ "name": "backup_id",
4916
+ "required": true,
4917
+ "hasDynamicHelp": false,
4918
+ "multiple": false,
4919
+ "type": "option"
4920
+ },
4921
+ "force": {
4922
+ "char": "f",
4923
+ "description": "Skip confirmation prompt",
4924
+ "name": "force",
4925
+ "required": false,
4926
+ "allowNo": false,
4927
+ "type": "boolean"
4928
+ },
4857
4929
  "output": {
4858
4930
  "char": "o",
4859
4931
  "description": "Output format",
@@ -4870,7 +4942,7 @@
4870
4942
  },
4871
4943
  "workspace": {
4872
4944
  "char": "w",
4873
- "description": "Workspace ID (optional if set in profile)",
4945
+ "description": "Workspace ID (uses profile workspace if not provided)",
4874
4946
  "name": "workspace",
4875
4947
  "required": false,
4876
4948
  "hasDynamicHelp": false,
@@ -4880,7 +4952,7 @@
4880
4952
  },
4881
4953
  "hasDynamicHelp": false,
4882
4954
  "hiddenAliases": [],
4883
- "id": "static_host:build:get",
4955
+ "id": "tenant:backup:delete",
4884
4956
  "pluginAlias": "@xano/cli",
4885
4957
  "pluginName": "@xano/cli",
4886
4958
  "pluginType": "core",
@@ -4890,27 +4962,25 @@
4890
4962
  "relativePath": [
4891
4963
  "dist",
4892
4964
  "commands",
4893
- "static_host",
4894
- "build",
4895
- "get",
4965
+ "tenant",
4966
+ "backup",
4967
+ "delete",
4896
4968
  "index.js"
4897
4969
  ]
4898
4970
  },
4899
- "static_host:build:list": {
4971
+ "tenant:backup:create": {
4900
4972
  "aliases": [],
4901
4973
  "args": {
4902
- "static_host": {
4903
- "description": "Static Host name",
4904
- "name": "static_host",
4974
+ "tenant_name": {
4975
+ "description": "Tenant name to back up",
4976
+ "name": "tenant_name",
4905
4977
  "required": true
4906
4978
  }
4907
4979
  },
4908
- "description": "List all builds for a static host",
4980
+ "description": "Create a backup for a tenant",
4909
4981
  "examples": [
4910
- "$ xano static_host:build:list default -w 40\nAvailable builds:\n - v1.0.0 (ID: 1) - Status: completed\n - v1.0.1 (ID: 2) - Status: pending\n",
4911
- "$ xano static_host:build:list myhost --profile production\nAvailable builds:\n - production (ID: 1) - Status: completed\n - staging (ID: 2) - Status: completed\n",
4912
- "$ xano static_host:build:list default -w 40 --output json\n[\n {\n \"id\": 1,\n \"name\": \"v1.0.0\",\n \"status\": \"completed\"\n }\n]\n",
4913
- "$ xano static_host:build:list default -p staging -o json --page 2\n[\n {\n \"id\": 3,\n \"name\": \"v1.0.2\"\n }\n]\n"
4982
+ "$ xano tenant backup create t1234-abcd-xyz1 --description \"Pre-deploy backup\"\nCreated backup #15 for tenant t1234-abcd-xyz1\n",
4983
+ "$ xano tenant backup create t1234-abcd-xyz1 -d \"Daily backup\" -o json"
4914
4984
  ],
4915
4985
  "flags": {
4916
4986
  "profile": {
@@ -4932,6 +5002,16 @@
4932
5002
  "allowNo": false,
4933
5003
  "type": "boolean"
4934
5004
  },
5005
+ "description": {
5006
+ "char": "d",
5007
+ "description": "Backup description",
5008
+ "name": "description",
5009
+ "required": false,
5010
+ "default": "",
5011
+ "hasDynamicHelp": false,
5012
+ "multiple": false,
5013
+ "type": "option"
5014
+ },
4935
5015
  "output": {
4936
5016
  "char": "o",
4937
5017
  "description": "Output format",
@@ -4946,27 +5026,9 @@
4946
5026
  ],
4947
5027
  "type": "option"
4948
5028
  },
4949
- "page": {
4950
- "description": "Page number for pagination",
4951
- "name": "page",
4952
- "required": false,
4953
- "default": 1,
4954
- "hasDynamicHelp": false,
4955
- "multiple": false,
4956
- "type": "option"
4957
- },
4958
- "per_page": {
4959
- "description": "Number of results per page",
4960
- "name": "per_page",
4961
- "required": false,
4962
- "default": 50,
4963
- "hasDynamicHelp": false,
4964
- "multiple": false,
4965
- "type": "option"
4966
- },
4967
5029
  "workspace": {
4968
5030
  "char": "w",
4969
- "description": "Workspace ID (optional if set in profile)",
5031
+ "description": "Workspace ID (uses profile workspace if not provided)",
4970
5032
  "name": "workspace",
4971
5033
  "required": false,
4972
5034
  "hasDynamicHelp": false,
@@ -4976,7 +5038,7 @@
4976
5038
  },
4977
5039
  "hasDynamicHelp": false,
4978
5040
  "hiddenAliases": [],
4979
- "id": "static_host:build:list",
5041
+ "id": "tenant:backup:create",
4980
5042
  "pluginAlias": "@xano/cli",
4981
5043
  "pluginName": "@xano/cli",
4982
5044
  "pluginType": "core",
@@ -4986,26 +5048,26 @@
4986
5048
  "relativePath": [
4987
5049
  "dist",
4988
5050
  "commands",
4989
- "static_host",
4990
- "build",
4991
- "list",
5051
+ "tenant",
5052
+ "backup",
5053
+ "create",
4992
5054
  "index.js"
4993
5055
  ]
4994
5056
  },
4995
- "static_host:build:create": {
5057
+ "tenant:backup:export": {
4996
5058
  "aliases": [],
4997
5059
  "args": {
4998
- "static_host": {
4999
- "description": "Static Host name",
5000
- "name": "static_host",
5060
+ "tenant_name": {
5061
+ "description": "Tenant name to export backup from",
5062
+ "name": "tenant_name",
5001
5063
  "required": true
5002
5064
  }
5003
5065
  },
5004
- "description": "Create a new build for a static host",
5066
+ "description": "Export (download) a tenant backup to a local file",
5005
5067
  "examples": [
5006
- "$ 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",
5007
- "$ 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",
5008
- "$ 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"
5068
+ "$ xano tenant backup export t1234-abcd-xyz1 --backup_id 10\nDownloaded backup #10 to ./tenant-t1234-abcd-xyz1-backup-10.tar.gz\n",
5069
+ "$ xano tenant backup export t1234-abcd-xyz1 --backup_id 10 --output ./backups/my-backup.tar.gz",
5070
+ "$ xano tenant backup export t1234-abcd-xyz1 --backup_id 10 -o json"
5009
5071
  ],
5010
5072
  "flags": {
5011
5073
  "profile": {
@@ -5027,50 +5089,39 @@
5027
5089
  "allowNo": false,
5028
5090
  "type": "boolean"
5029
5091
  },
5030
- "description": {
5031
- "char": "d",
5032
- "description": "Build description",
5033
- "name": "description",
5034
- "required": false,
5092
+ "backup_id": {
5093
+ "description": "Backup ID to export",
5094
+ "name": "backup_id",
5095
+ "required": true,
5035
5096
  "hasDynamicHelp": false,
5036
5097
  "multiple": false,
5037
5098
  "type": "option"
5038
5099
  },
5039
- "file": {
5040
- "char": "f",
5041
- "description": "Path to zip file to upload",
5042
- "name": "file",
5043
- "required": true,
5044
- "hasDynamicHelp": false,
5045
- "multiple": false,
5046
- "type": "option"
5047
- },
5048
- "name": {
5049
- "char": "n",
5050
- "description": "Build name",
5051
- "name": "name",
5052
- "required": true,
5100
+ "format": {
5101
+ "char": "o",
5102
+ "description": "Output format",
5103
+ "name": "format",
5104
+ "required": false,
5105
+ "default": "summary",
5053
5106
  "hasDynamicHelp": false,
5054
5107
  "multiple": false,
5108
+ "options": [
5109
+ "summary",
5110
+ "json"
5111
+ ],
5055
5112
  "type": "option"
5056
5113
  },
5057
5114
  "output": {
5058
- "char": "o",
5059
- "description": "Output format",
5115
+ "description": "Output file path (defaults to ./tenant-{name}-backup-{backup_id}.tar.gz)",
5060
5116
  "name": "output",
5061
5117
  "required": false,
5062
- "default": "summary",
5063
5118
  "hasDynamicHelp": false,
5064
5119
  "multiple": false,
5065
- "options": [
5066
- "summary",
5067
- "json"
5068
- ],
5069
5120
  "type": "option"
5070
5121
  },
5071
5122
  "workspace": {
5072
5123
  "char": "w",
5073
- "description": "Workspace ID (optional if set in profile)",
5124
+ "description": "Workspace ID (uses profile workspace if not provided)",
5074
5125
  "name": "workspace",
5075
5126
  "required": false,
5076
5127
  "hasDynamicHelp": false,
@@ -5080,7 +5131,7 @@
5080
5131
  },
5081
5132
  "hasDynamicHelp": false,
5082
5133
  "hiddenAliases": [],
5083
- "id": "static_host:build:create",
5134
+ "id": "tenant:backup:export",
5084
5135
  "pluginAlias": "@xano/cli",
5085
5136
  "pluginName": "@xano/cli",
5086
5137
  "pluginType": "core",
@@ -5090,26 +5141,25 @@
5090
5141
  "relativePath": [
5091
5142
  "dist",
5092
5143
  "commands",
5093
- "static_host",
5094
- "build",
5095
- "create",
5144
+ "tenant",
5145
+ "backup",
5146
+ "export",
5096
5147
  "index.js"
5097
5148
  ]
5098
5149
  },
5099
- "tenant:backup:delete": {
5150
+ "tenant:backup:import": {
5100
5151
  "aliases": [],
5101
5152
  "args": {
5102
5153
  "tenant_name": {
5103
- "description": "Tenant name that owns the backup",
5154
+ "description": "Tenant name to import backup into",
5104
5155
  "name": "tenant_name",
5105
5156
  "required": true
5106
5157
  }
5107
5158
  },
5108
- "description": "Delete a tenant backup permanently. This action cannot be undone.",
5159
+ "description": "Import a backup file into a tenant",
5109
5160
  "examples": [
5110
- "$ 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",
5111
- "$ xano tenant backup delete t1234-abcd-xyz1 --backup_id 10 --force",
5112
- "$ xano tenant backup delete t1234-abcd-xyz1 --backup_id 10 -o json"
5161
+ "$ xano tenant backup import t1234-abcd-xyz1 --file ./my-backup.tar.gz\nImported backup as #15 for tenant t1234-abcd-xyz1\n",
5162
+ "$ xano tenant backup import t1234-abcd-xyz1 --file ./my-backup.tar.gz --description \"Restored from production\" -o json"
5113
5163
  ],
5114
5164
  "flags": {
5115
5165
  "profile": {
@@ -5131,21 +5181,24 @@
5131
5181
  "allowNo": false,
5132
5182
  "type": "boolean"
5133
5183
  },
5134
- "backup_id": {
5135
- "description": "Backup ID to delete",
5136
- "name": "backup_id",
5137
- "required": true,
5184
+ "description": {
5185
+ "char": "d",
5186
+ "description": "Backup description",
5187
+ "name": "description",
5188
+ "required": false,
5189
+ "default": "",
5138
5190
  "hasDynamicHelp": false,
5139
5191
  "multiple": false,
5140
5192
  "type": "option"
5141
5193
  },
5142
- "force": {
5194
+ "file": {
5143
5195
  "char": "f",
5144
- "description": "Skip confirmation prompt",
5145
- "name": "force",
5146
- "required": false,
5147
- "allowNo": false,
5148
- "type": "boolean"
5196
+ "description": "Path to the backup file (.tar.gz)",
5197
+ "name": "file",
5198
+ "required": true,
5199
+ "hasDynamicHelp": false,
5200
+ "multiple": false,
5201
+ "type": "option"
5149
5202
  },
5150
5203
  "output": {
5151
5204
  "char": "o",
@@ -5173,7 +5226,7 @@
5173
5226
  },
5174
5227
  "hasDynamicHelp": false,
5175
5228
  "hiddenAliases": [],
5176
- "id": "tenant:backup:delete",
5229
+ "id": "tenant:backup:import",
5177
5230
  "pluginAlias": "@xano/cli",
5178
5231
  "pluginName": "@xano/cli",
5179
5232
  "pluginType": "core",
@@ -5185,23 +5238,23 @@
5185
5238
  "commands",
5186
5239
  "tenant",
5187
5240
  "backup",
5188
- "delete",
5241
+ "import",
5189
5242
  "index.js"
5190
5243
  ]
5191
5244
  },
5192
- "tenant:backup:create": {
5245
+ "tenant:backup:list": {
5193
5246
  "aliases": [],
5194
5247
  "args": {
5195
5248
  "tenant_name": {
5196
- "description": "Tenant name to back up",
5249
+ "description": "Tenant name to list backups for",
5197
5250
  "name": "tenant_name",
5198
5251
  "required": true
5199
5252
  }
5200
5253
  },
5201
- "description": "Create a backup for a tenant",
5254
+ "description": "List backups for a tenant",
5202
5255
  "examples": [
5203
- "$ xano tenant backup create t1234-abcd-xyz1 --description \"Pre-deploy backup\"\nCreated backup #15 for tenant t1234-abcd-xyz1\n",
5204
- "$ xano tenant backup create t1234-abcd-xyz1 -d \"Daily backup\" -o json"
5256
+ "$ 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",
5257
+ "$ xano tenant backup list t1234-abcd-xyz1 -o json"
5205
5258
  ],
5206
5259
  "flags": {
5207
5260
  "profile": {
@@ -5223,16 +5276,6 @@
5223
5276
  "allowNo": false,
5224
5277
  "type": "boolean"
5225
5278
  },
5226
- "description": {
5227
- "char": "d",
5228
- "description": "Backup description",
5229
- "name": "description",
5230
- "required": false,
5231
- "default": "",
5232
- "hasDynamicHelp": false,
5233
- "multiple": false,
5234
- "type": "option"
5235
- },
5236
5279
  "output": {
5237
5280
  "char": "o",
5238
5281
  "description": "Output format",
@@ -5247,6 +5290,15 @@
5247
5290
  ],
5248
5291
  "type": "option"
5249
5292
  },
5293
+ "page": {
5294
+ "description": "Page number for pagination",
5295
+ "name": "page",
5296
+ "required": false,
5297
+ "default": 1,
5298
+ "hasDynamicHelp": false,
5299
+ "multiple": false,
5300
+ "type": "option"
5301
+ },
5250
5302
  "workspace": {
5251
5303
  "char": "w",
5252
5304
  "description": "Workspace ID (uses profile workspace if not provided)",
@@ -5259,7 +5311,7 @@
5259
5311
  },
5260
5312
  "hasDynamicHelp": false,
5261
5313
  "hiddenAliases": [],
5262
- "id": "tenant:backup:create",
5314
+ "id": "tenant:backup:list",
5263
5315
  "pluginAlias": "@xano/cli",
5264
5316
  "pluginName": "@xano/cli",
5265
5317
  "pluginType": "core",
@@ -5271,24 +5323,23 @@
5271
5323
  "commands",
5272
5324
  "tenant",
5273
5325
  "backup",
5274
- "create",
5326
+ "list",
5275
5327
  "index.js"
5276
5328
  ]
5277
5329
  },
5278
- "tenant:backup:export": {
5330
+ "tenant:backup:restore": {
5279
5331
  "aliases": [],
5280
5332
  "args": {
5281
5333
  "tenant_name": {
5282
- "description": "Tenant name to export backup from",
5334
+ "description": "Tenant name to restore",
5283
5335
  "name": "tenant_name",
5284
5336
  "required": true
5285
5337
  }
5286
5338
  },
5287
- "description": "Export (download) a tenant backup to a local file",
5339
+ "description": "Restore a tenant from a backup. This replaces the current tenant data.",
5288
5340
  "examples": [
5289
- "$ xano tenant backup export t1234-abcd-xyz1 --backup_id 10\nDownloaded backup #10 to ./tenant-t1234-abcd-xyz1-backup-10.tar.gz\n",
5290
- "$ xano tenant backup export t1234-abcd-xyz1 --backup_id 10 --output ./backups/my-backup.tar.gz",
5291
- "$ xano tenant backup export t1234-abcd-xyz1 --backup_id 10 -o json"
5341
+ "$ 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",
5342
+ "$ xano tenant backup restore t1234-abcd-xyz1 --backup_id 10 --force -o json"
5292
5343
  ],
5293
5344
  "flags": {
5294
5345
  "profile": {
@@ -5311,17 +5362,25 @@
5311
5362
  "type": "boolean"
5312
5363
  },
5313
5364
  "backup_id": {
5314
- "description": "Backup ID to export",
5365
+ "description": "Backup ID to restore from",
5315
5366
  "name": "backup_id",
5316
5367
  "required": true,
5317
5368
  "hasDynamicHelp": false,
5318
5369
  "multiple": false,
5319
5370
  "type": "option"
5320
5371
  },
5321
- "format": {
5372
+ "force": {
5373
+ "char": "f",
5374
+ "description": "Skip confirmation prompt",
5375
+ "name": "force",
5376
+ "required": false,
5377
+ "allowNo": false,
5378
+ "type": "boolean"
5379
+ },
5380
+ "output": {
5322
5381
  "char": "o",
5323
5382
  "description": "Output format",
5324
- "name": "format",
5383
+ "name": "output",
5325
5384
  "required": false,
5326
5385
  "default": "summary",
5327
5386
  "hasDynamicHelp": false,
@@ -5332,14 +5391,6 @@
5332
5391
  ],
5333
5392
  "type": "option"
5334
5393
  },
5335
- "output": {
5336
- "description": "Output file path (defaults to ./tenant-{name}-backup-{backup_id}.tar.gz)",
5337
- "name": "output",
5338
- "required": false,
5339
- "hasDynamicHelp": false,
5340
- "multiple": false,
5341
- "type": "option"
5342
- },
5343
5394
  "workspace": {
5344
5395
  "char": "w",
5345
5396
  "description": "Workspace ID (uses profile workspace if not provided)",
@@ -5352,7 +5403,7 @@
5352
5403
  },
5353
5404
  "hasDynamicHelp": false,
5354
5405
  "hiddenAliases": [],
5355
- "id": "tenant:backup:export",
5406
+ "id": "tenant:backup:restore",
5356
5407
  "pluginAlias": "@xano/cli",
5357
5408
  "pluginName": "@xano/cli",
5358
5409
  "pluginType": "core",
@@ -5364,23 +5415,24 @@
5364
5415
  "commands",
5365
5416
  "tenant",
5366
5417
  "backup",
5367
- "export",
5418
+ "restore",
5368
5419
  "index.js"
5369
5420
  ]
5370
5421
  },
5371
- "tenant:backup:list": {
5422
+ "static_host:build:create": {
5372
5423
  "aliases": [],
5373
5424
  "args": {
5374
- "tenant_name": {
5375
- "description": "Tenant name to list backups for",
5376
- "name": "tenant_name",
5425
+ "static_host": {
5426
+ "description": "Static Host name",
5427
+ "name": "static_host",
5377
5428
  "required": true
5378
5429
  }
5379
5430
  },
5380
- "description": "List backups for a tenant",
5431
+ "description": "Create a new build for a static host",
5381
5432
  "examples": [
5382
- "$ 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",
5383
- "$ xano tenant backup list t1234-abcd-xyz1 -o json"
5433
+ "$ xano static_host:build:create default -f ./build.zip -n \"v1.0.0\"\nBuild created successfully!\nID: 123\nName: v1.0.0\nStatus: pending\n",
5434
+ "$ xano static_host:build:create default -w 40 -f ./dist.zip -n \"production\" -d \"Production build\"\nBuild created successfully!\nID: 124\nName: production\nDescription: Production build\n",
5435
+ "$ xano static_host:build:create myhost -f ./app.zip -n \"release-1.2\" -o json\n{\n \"id\": 125,\n \"name\": \"release-1.2\",\n \"status\": \"pending\"\n}\n"
5384
5436
  ],
5385
5437
  "flags": {
5386
5438
  "profile": {
@@ -5402,6 +5454,33 @@
5402
5454
  "allowNo": false,
5403
5455
  "type": "boolean"
5404
5456
  },
5457
+ "description": {
5458
+ "char": "d",
5459
+ "description": "Build description",
5460
+ "name": "description",
5461
+ "required": false,
5462
+ "hasDynamicHelp": false,
5463
+ "multiple": false,
5464
+ "type": "option"
5465
+ },
5466
+ "file": {
5467
+ "char": "f",
5468
+ "description": "Path to zip file to upload",
5469
+ "name": "file",
5470
+ "required": true,
5471
+ "hasDynamicHelp": false,
5472
+ "multiple": false,
5473
+ "type": "option"
5474
+ },
5475
+ "name": {
5476
+ "char": "n",
5477
+ "description": "Build name",
5478
+ "name": "name",
5479
+ "required": true,
5480
+ "hasDynamicHelp": false,
5481
+ "multiple": false,
5482
+ "type": "option"
5483
+ },
5405
5484
  "output": {
5406
5485
  "char": "o",
5407
5486
  "description": "Output format",
@@ -5416,18 +5495,9 @@
5416
5495
  ],
5417
5496
  "type": "option"
5418
5497
  },
5419
- "page": {
5420
- "description": "Page number for pagination",
5421
- "name": "page",
5422
- "required": false,
5423
- "default": 1,
5424
- "hasDynamicHelp": false,
5425
- "multiple": false,
5426
- "type": "option"
5427
- },
5428
5498
  "workspace": {
5429
5499
  "char": "w",
5430
- "description": "Workspace ID (uses profile workspace if not provided)",
5500
+ "description": "Workspace ID (optional if set in profile)",
5431
5501
  "name": "workspace",
5432
5502
  "required": false,
5433
5503
  "hasDynamicHelp": false,
@@ -5437,7 +5507,7 @@
5437
5507
  },
5438
5508
  "hasDynamicHelp": false,
5439
5509
  "hiddenAliases": [],
5440
- "id": "tenant:backup:list",
5510
+ "id": "static_host:build:create",
5441
5511
  "pluginAlias": "@xano/cli",
5442
5512
  "pluginName": "@xano/cli",
5443
5513
  "pluginType": "core",
@@ -5447,25 +5517,32 @@
5447
5517
  "relativePath": [
5448
5518
  "dist",
5449
5519
  "commands",
5450
- "tenant",
5451
- "backup",
5452
- "list",
5520
+ "static_host",
5521
+ "build",
5522
+ "create",
5453
5523
  "index.js"
5454
5524
  ]
5455
5525
  },
5456
- "tenant:backup:restore": {
5526
+ "static_host:build:get": {
5457
5527
  "aliases": [],
5458
5528
  "args": {
5459
- "tenant_name": {
5460
- "description": "Tenant name to restore",
5461
- "name": "tenant_name",
5529
+ "build_id": {
5530
+ "description": "Build ID",
5531
+ "name": "build_id",
5532
+ "required": true
5533
+ },
5534
+ "static_host": {
5535
+ "description": "Static Host name",
5536
+ "name": "static_host",
5462
5537
  "required": true
5463
5538
  }
5464
5539
  },
5465
- "description": "Restore a tenant from a backup. This replaces the current tenant data.",
5540
+ "description": "Get details of a specific build for a static host",
5466
5541
  "examples": [
5467
- "$ 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",
5468
- "$ xano tenant backup restore t1234-abcd-xyz1 --backup_id 10 --force -o json"
5542
+ "$ xano static_host:build:get default 52\nBuild Details:\nID: 52\nName: v1.0.0\nStatus: completed\n",
5543
+ "$ xano static_host:build:get default 52 -w 40\nBuild Details:\nID: 52\nName: v1.0.0\nStatus: completed\n",
5544
+ "$ xano static_host:build:get myhost 123 --profile production\nBuild Details:\nID: 123\nName: production-build\n",
5545
+ "$ xano static_host:build:get default 52 -o json\n{\n \"id\": 52,\n \"name\": \"v1.0.0\",\n \"status\": \"completed\"\n}\n"
5469
5546
  ],
5470
5547
  "flags": {
5471
5548
  "profile": {
@@ -5487,18 +5564,80 @@
5487
5564
  "allowNo": false,
5488
5565
  "type": "boolean"
5489
5566
  },
5490
- "backup_id": {
5491
- "description": "Backup ID to restore from",
5492
- "name": "backup_id",
5493
- "required": true,
5567
+ "output": {
5568
+ "char": "o",
5569
+ "description": "Output format",
5570
+ "name": "output",
5571
+ "required": false,
5572
+ "default": "summary",
5494
5573
  "hasDynamicHelp": false,
5495
5574
  "multiple": false,
5575
+ "options": [
5576
+ "summary",
5577
+ "json"
5578
+ ],
5496
5579
  "type": "option"
5497
5580
  },
5498
- "force": {
5499
- "char": "f",
5500
- "description": "Skip confirmation prompt",
5501
- "name": "force",
5581
+ "workspace": {
5582
+ "char": "w",
5583
+ "description": "Workspace ID (optional if set in profile)",
5584
+ "name": "workspace",
5585
+ "required": false,
5586
+ "hasDynamicHelp": false,
5587
+ "multiple": false,
5588
+ "type": "option"
5589
+ }
5590
+ },
5591
+ "hasDynamicHelp": false,
5592
+ "hiddenAliases": [],
5593
+ "id": "static_host:build:get",
5594
+ "pluginAlias": "@xano/cli",
5595
+ "pluginName": "@xano/cli",
5596
+ "pluginType": "core",
5597
+ "strict": true,
5598
+ "enableJsonFlag": false,
5599
+ "isESM": true,
5600
+ "relativePath": [
5601
+ "dist",
5602
+ "commands",
5603
+ "static_host",
5604
+ "build",
5605
+ "get",
5606
+ "index.js"
5607
+ ]
5608
+ },
5609
+ "static_host:build:list": {
5610
+ "aliases": [],
5611
+ "args": {
5612
+ "static_host": {
5613
+ "description": "Static Host name",
5614
+ "name": "static_host",
5615
+ "required": true
5616
+ }
5617
+ },
5618
+ "description": "List all builds for a static host",
5619
+ "examples": [
5620
+ "$ xano static_host:build:list default -w 40\nAvailable builds:\n - v1.0.0 (ID: 1) - Status: completed\n - v1.0.1 (ID: 2) - Status: pending\n",
5621
+ "$ xano static_host:build:list myhost --profile production\nAvailable builds:\n - production (ID: 1) - Status: completed\n - staging (ID: 2) - Status: completed\n",
5622
+ "$ xano static_host:build:list default -w 40 --output json\n[\n {\n \"id\": 1,\n \"name\": \"v1.0.0\",\n \"status\": \"completed\"\n }\n]\n",
5623
+ "$ xano static_host:build:list default -p staging -o json --page 2\n[\n {\n \"id\": 3,\n \"name\": \"v1.0.2\"\n }\n]\n"
5624
+ ],
5625
+ "flags": {
5626
+ "profile": {
5627
+ "char": "p",
5628
+ "description": "Profile to use (uses default profile if not specified)",
5629
+ "env": "XANO_PROFILE",
5630
+ "name": "profile",
5631
+ "required": false,
5632
+ "hasDynamicHelp": false,
5633
+ "multiple": false,
5634
+ "type": "option"
5635
+ },
5636
+ "verbose": {
5637
+ "char": "v",
5638
+ "description": "Show detailed request/response information",
5639
+ "env": "XANO_VERBOSE",
5640
+ "name": "verbose",
5502
5641
  "required": false,
5503
5642
  "allowNo": false,
5504
5643
  "type": "boolean"
@@ -5517,9 +5656,27 @@
5517
5656
  ],
5518
5657
  "type": "option"
5519
5658
  },
5659
+ "page": {
5660
+ "description": "Page number for pagination",
5661
+ "name": "page",
5662
+ "required": false,
5663
+ "default": 1,
5664
+ "hasDynamicHelp": false,
5665
+ "multiple": false,
5666
+ "type": "option"
5667
+ },
5668
+ "per_page": {
5669
+ "description": "Number of results per page",
5670
+ "name": "per_page",
5671
+ "required": false,
5672
+ "default": 50,
5673
+ "hasDynamicHelp": false,
5674
+ "multiple": false,
5675
+ "type": "option"
5676
+ },
5520
5677
  "workspace": {
5521
5678
  "char": "w",
5522
- "description": "Workspace ID (uses profile workspace if not provided)",
5679
+ "description": "Workspace ID (optional if set in profile)",
5523
5680
  "name": "workspace",
5524
5681
  "required": false,
5525
5682
  "hasDynamicHelp": false,
@@ -5529,7 +5686,7 @@
5529
5686
  },
5530
5687
  "hasDynamicHelp": false,
5531
5688
  "hiddenAliases": [],
5532
- "id": "tenant:backup:restore",
5689
+ "id": "static_host:build:list",
5533
5690
  "pluginAlias": "@xano/cli",
5534
5691
  "pluginName": "@xano/cli",
5535
5692
  "pluginType": "core",
@@ -5539,9 +5696,9 @@
5539
5696
  "relativePath": [
5540
5697
  "dist",
5541
5698
  "commands",
5542
- "tenant",
5543
- "backup",
5544
- "restore",
5699
+ "static_host",
5700
+ "build",
5701
+ "list",
5545
5702
  "index.js"
5546
5703
  ]
5547
5704
  },
@@ -5667,20 +5824,19 @@
5667
5824
  "index.js"
5668
5825
  ]
5669
5826
  },
5670
- "tenant:cluster:delete": {
5827
+ "tenant:cluster:edit": {
5671
5828
  "aliases": [],
5672
5829
  "args": {
5673
5830
  "cluster_id": {
5674
- "description": "Cluster ID to delete",
5831
+ "description": "Cluster ID to edit",
5675
5832
  "name": "cluster_id",
5676
5833
  "required": true
5677
5834
  }
5678
5835
  },
5679
- "description": "Delete a tenant cluster. This action cannot be undone.",
5836
+ "description": "Update an existing tenant cluster",
5680
5837
  "examples": [
5681
- "$ xano tenant cluster delete 3\nAre you sure you want to delete tenant cluster 3? This action cannot be undone. (y/N) y\nTenant cluster 3 deleted successfully\n",
5682
- "$ xano tenant cluster delete 3 --force\nTenant cluster 3 deleted successfully\n",
5683
- "$ xano tenant cluster delete 3 -f -o json"
5838
+ "$ xano tenant cluster edit 1 --name \"us-east-1-updated\" --description \"Updated cluster\" --domain \"us-east.xano.io\" --type standard\nUpdated tenant cluster: us-east-1-updated (standard) - ID: 1\n",
5839
+ "$ xano tenant cluster edit 1 --name \"eu-west\" --description \"\" --domain \"\" --type run -o json"
5684
5840
  ],
5685
5841
  "flags": {
5686
5842
  "profile": {
@@ -5702,76 +5858,31 @@
5702
5858
  "allowNo": false,
5703
5859
  "type": "boolean"
5704
5860
  },
5705
- "force": {
5706
- "char": "f",
5707
- "description": "Skip confirmation prompt",
5708
- "name": "force",
5709
- "required": false,
5710
- "allowNo": false,
5711
- "type": "boolean"
5712
- },
5713
- "output": {
5714
- "char": "o",
5715
- "description": "Output format",
5716
- "name": "output",
5717
- "required": false,
5718
- "default": "summary",
5861
+ "description": {
5862
+ "char": "d",
5863
+ "description": "Cluster description",
5864
+ "name": "description",
5865
+ "required": true,
5719
5866
  "hasDynamicHelp": false,
5720
5867
  "multiple": false,
5721
- "options": [
5722
- "summary",
5723
- "json"
5724
- ],
5725
5868
  "type": "option"
5726
- }
5727
- },
5728
- "hasDynamicHelp": false,
5729
- "hiddenAliases": [],
5730
- "id": "tenant:cluster:delete",
5731
- "pluginAlias": "@xano/cli",
5732
- "pluginName": "@xano/cli",
5733
- "pluginType": "core",
5734
- "strict": true,
5735
- "enableJsonFlag": false,
5736
- "isESM": true,
5737
- "relativePath": [
5738
- "dist",
5739
- "commands",
5740
- "tenant",
5741
- "cluster",
5742
- "delete",
5743
- "index.js"
5744
- ]
5745
- },
5746
- "workspace:list": {
5747
- "aliases": [],
5748
- "args": {},
5749
- "description": "List all workspaces from the Xano Metadata API",
5750
- "examples": [
5751
- "$ xano workspace:list\nAvailable workspaces:\n - workspace-1 (ID: 1)\n - workspace-2 (ID: 2)\n - workspace-3 (ID: 3)\n",
5752
- "$ xano workspace:list --profile production\nAvailable workspaces:\n - my-app (ID: 1)\n - staging-env (ID: 2)\n",
5753
- "$ xano workspace:list --output json\n{\n \"workspaces\": [\n {\n \"id\": 1,\n \"name\": \"workspace-1\"\n },\n {\n \"id\": 2,\n \"name\": \"workspace-2\"\n }\n ]\n}\n",
5754
- "$ xano workspace:list -p staging -o json\n{\n \"workspaces\": [\n {\n \"id\": 1,\n \"name\": \"my-app\"\n }\n ]\n}\n"
5755
- ],
5756
- "flags": {
5757
- "profile": {
5758
- "char": "p",
5759
- "description": "Profile to use (uses default profile if not specified)",
5760
- "env": "XANO_PROFILE",
5761
- "name": "profile",
5762
- "required": false,
5869
+ },
5870
+ "domain": {
5871
+ "description": "Custom domain for the cluster",
5872
+ "name": "domain",
5873
+ "required": true,
5763
5874
  "hasDynamicHelp": false,
5764
5875
  "multiple": false,
5765
5876
  "type": "option"
5766
5877
  },
5767
- "verbose": {
5768
- "char": "v",
5769
- "description": "Show detailed request/response information",
5770
- "env": "XANO_VERBOSE",
5771
- "name": "verbose",
5772
- "required": false,
5773
- "allowNo": false,
5774
- "type": "boolean"
5878
+ "name": {
5879
+ "char": "n",
5880
+ "description": "Cluster name",
5881
+ "name": "name",
5882
+ "required": true,
5883
+ "hasDynamicHelp": false,
5884
+ "multiple": false,
5885
+ "type": "option"
5775
5886
  },
5776
5887
  "output": {
5777
5888
  "char": "o",
@@ -5786,11 +5897,23 @@
5786
5897
  "json"
5787
5898
  ],
5788
5899
  "type": "option"
5900
+ },
5901
+ "type": {
5902
+ "description": "Cluster type",
5903
+ "name": "type",
5904
+ "required": true,
5905
+ "hasDynamicHelp": false,
5906
+ "multiple": false,
5907
+ "options": [
5908
+ "standard",
5909
+ "run"
5910
+ ],
5911
+ "type": "option"
5789
5912
  }
5790
5913
  },
5791
5914
  "hasDynamicHelp": false,
5792
5915
  "hiddenAliases": [],
5793
- "id": "workspace:list",
5916
+ "id": "tenant:cluster:edit",
5794
5917
  "pluginAlias": "@xano/cli",
5795
5918
  "pluginName": "@xano/cli",
5796
5919
  "pluginType": "core",
@@ -5800,24 +5923,26 @@
5800
5923
  "relativePath": [
5801
5924
  "dist",
5802
5925
  "commands",
5803
- "workspace",
5804
- "list",
5926
+ "tenant",
5927
+ "cluster",
5928
+ "edit",
5805
5929
  "index.js"
5806
5930
  ]
5807
5931
  },
5808
- "tenant:backup:import": {
5932
+ "tenant:cluster:delete": {
5809
5933
  "aliases": [],
5810
5934
  "args": {
5811
- "tenant_name": {
5812
- "description": "Tenant name to import backup into",
5813
- "name": "tenant_name",
5935
+ "cluster_id": {
5936
+ "description": "Cluster ID to delete",
5937
+ "name": "cluster_id",
5814
5938
  "required": true
5815
5939
  }
5816
5940
  },
5817
- "description": "Import a backup file into a tenant",
5941
+ "description": "Delete a tenant cluster. This action cannot be undone.",
5818
5942
  "examples": [
5819
- "$ xano tenant backup import t1234-abcd-xyz1 --file ./my-backup.tar.gz\nImported backup as #15 for tenant t1234-abcd-xyz1\n",
5820
- "$ xano tenant backup import t1234-abcd-xyz1 --file ./my-backup.tar.gz --description \"Restored from production\" -o json"
5943
+ "$ xano tenant cluster delete 3\nAre you sure you want to delete tenant cluster 3? This action cannot be undone. (y/N) y\nTenant cluster 3 deleted successfully\n",
5944
+ "$ xano tenant cluster delete 3 --force\nTenant cluster 3 deleted successfully\n",
5945
+ "$ xano tenant cluster delete 3 -f -o json"
5821
5946
  ],
5822
5947
  "flags": {
5823
5948
  "profile": {
@@ -5839,24 +5964,13 @@
5839
5964
  "allowNo": false,
5840
5965
  "type": "boolean"
5841
5966
  },
5842
- "description": {
5843
- "char": "d",
5844
- "description": "Backup description",
5845
- "name": "description",
5846
- "required": false,
5847
- "default": "",
5848
- "hasDynamicHelp": false,
5849
- "multiple": false,
5850
- "type": "option"
5851
- },
5852
- "file": {
5967
+ "force": {
5853
5968
  "char": "f",
5854
- "description": "Path to the backup file (.tar.gz)",
5855
- "name": "file",
5856
- "required": true,
5857
- "hasDynamicHelp": false,
5858
- "multiple": false,
5859
- "type": "option"
5969
+ "description": "Skip confirmation prompt",
5970
+ "name": "force",
5971
+ "required": false,
5972
+ "allowNo": false,
5973
+ "type": "boolean"
5860
5974
  },
5861
5975
  "output": {
5862
5976
  "char": "o",
@@ -5871,20 +5985,11 @@
5871
5985
  "json"
5872
5986
  ],
5873
5987
  "type": "option"
5874
- },
5875
- "workspace": {
5876
- "char": "w",
5877
- "description": "Workspace ID (uses profile workspace if not provided)",
5878
- "name": "workspace",
5879
- "required": false,
5880
- "hasDynamicHelp": false,
5881
- "multiple": false,
5882
- "type": "option"
5883
5988
  }
5884
5989
  },
5885
5990
  "hasDynamicHelp": false,
5886
5991
  "hiddenAliases": [],
5887
- "id": "tenant:backup:import",
5992
+ "id": "tenant:cluster:delete",
5888
5993
  "pluginAlias": "@xano/cli",
5889
5994
  "pluginName": "@xano/cli",
5890
5995
  "pluginType": "core",
@@ -5895,24 +6000,24 @@
5895
6000
  "dist",
5896
6001
  "commands",
5897
6002
  "tenant",
5898
- "backup",
5899
- "import",
6003
+ "cluster",
6004
+ "delete",
5900
6005
  "index.js"
5901
6006
  ]
5902
6007
  },
5903
- "tenant:cluster:edit": {
6008
+ "tenant:cluster:get": {
5904
6009
  "aliases": [],
5905
6010
  "args": {
5906
6011
  "cluster_id": {
5907
- "description": "Cluster ID to edit",
6012
+ "description": "Cluster ID to retrieve",
5908
6013
  "name": "cluster_id",
5909
6014
  "required": true
5910
6015
  }
5911
6016
  },
5912
- "description": "Update an existing tenant cluster",
6017
+ "description": "Get details of a specific tenant cluster",
5913
6018
  "examples": [
5914
- "$ xano tenant cluster edit 1 --name \"us-east-1-updated\" --description \"Updated cluster\" --domain \"us-east.xano.io\" --type standard\nUpdated tenant cluster: us-east-1-updated (standard) - ID: 1\n",
5915
- "$ xano tenant cluster edit 1 --name \"eu-west\" --description \"\" --domain \"\" --type run -o json"
6019
+ "$ xano tenant cluster get 1\nCluster: us-east-1\n ID: 1\n Type: standard\n Domain: us-east-1.xano.io\n",
6020
+ "$ xano tenant cluster get 1 -o json"
5916
6021
  ],
5917
6022
  "flags": {
5918
6023
  "profile": {
@@ -5934,32 +6039,6 @@
5934
6039
  "allowNo": false,
5935
6040
  "type": "boolean"
5936
6041
  },
5937
- "description": {
5938
- "char": "d",
5939
- "description": "Cluster description",
5940
- "name": "description",
5941
- "required": true,
5942
- "hasDynamicHelp": false,
5943
- "multiple": false,
5944
- "type": "option"
5945
- },
5946
- "domain": {
5947
- "description": "Custom domain for the cluster",
5948
- "name": "domain",
5949
- "required": true,
5950
- "hasDynamicHelp": false,
5951
- "multiple": false,
5952
- "type": "option"
5953
- },
5954
- "name": {
5955
- "char": "n",
5956
- "description": "Cluster name",
5957
- "name": "name",
5958
- "required": true,
5959
- "hasDynamicHelp": false,
5960
- "multiple": false,
5961
- "type": "option"
5962
- },
5963
6042
  "output": {
5964
6043
  "char": "o",
5965
6044
  "description": "Output format",
@@ -5973,23 +6052,11 @@
5973
6052
  "json"
5974
6053
  ],
5975
6054
  "type": "option"
5976
- },
5977
- "type": {
5978
- "description": "Cluster type",
5979
- "name": "type",
5980
- "required": true,
5981
- "hasDynamicHelp": false,
5982
- "multiple": false,
5983
- "options": [
5984
- "standard",
5985
- "run"
5986
- ],
5987
- "type": "option"
5988
6055
  }
5989
6056
  },
5990
6057
  "hasDynamicHelp": false,
5991
6058
  "hiddenAliases": [],
5992
- "id": "tenant:cluster:edit",
6059
+ "id": "tenant:cluster:get",
5993
6060
  "pluginAlias": "@xano/cli",
5994
6061
  "pluginName": "@xano/cli",
5995
6062
  "pluginType": "core",
@@ -6001,23 +6068,17 @@
6001
6068
  "commands",
6002
6069
  "tenant",
6003
6070
  "cluster",
6004
- "edit",
6071
+ "get",
6005
6072
  "index.js"
6006
6073
  ]
6007
6074
  },
6008
- "tenant:cluster:get": {
6075
+ "tenant:cluster:list": {
6009
6076
  "aliases": [],
6010
- "args": {
6011
- "cluster_id": {
6012
- "description": "Cluster ID to retrieve",
6013
- "name": "cluster_id",
6014
- "required": true
6015
- }
6016
- },
6017
- "description": "Get details of a specific tenant cluster",
6077
+ "args": {},
6078
+ "description": "List all tenant clusters",
6018
6079
  "examples": [
6019
- "$ xano tenant cluster get 1\nCluster: us-east-1\n ID: 1\n Type: standard\n Domain: us-east-1.xano.io\n",
6020
- "$ xano tenant cluster get 1 -o json"
6080
+ "$ xano tenant cluster list\nTenant clusters:\n - us-east-1 (standard) [ID: 1]\n - eu-west-1 (run) [ID: 2]\n",
6081
+ "$ xano tenant cluster list --output json"
6021
6082
  ],
6022
6083
  "flags": {
6023
6084
  "profile": {
@@ -6056,7 +6117,7 @@
6056
6117
  },
6057
6118
  "hasDynamicHelp": false,
6058
6119
  "hiddenAliases": [],
6059
- "id": "tenant:cluster:get",
6120
+ "id": "tenant:cluster:list",
6060
6121
  "pluginAlias": "@xano/cli",
6061
6122
  "pluginName": "@xano/cli",
6062
6123
  "pluginType": "core",
@@ -6068,7 +6129,7 @@
6068
6129
  "commands",
6069
6130
  "tenant",
6070
6131
  "cluster",
6071
- "get",
6132
+ "list",
6072
6133
  "index.js"
6073
6134
  ]
6074
6135
  },
@@ -6166,7 +6227,7 @@
6166
6227
  "index.js"
6167
6228
  ]
6168
6229
  },
6169
- "tenant:env:get_all": {
6230
+ "tenant:env:get": {
6170
6231
  "aliases": [],
6171
6232
  "args": {
6172
6233
  "tenant_name": {
@@ -6175,12 +6236,10 @@
6175
6236
  "required": true
6176
6237
  }
6177
6238
  },
6178
- "description": "Get all environment variables for a tenant and save to a YAML file",
6239
+ "description": "Get a single environment variable for a tenant",
6179
6240
  "examples": [
6180
- "$ xano tenant env get_all my-tenant\nEnvironment variables saved to env_my-tenant.yaml\n",
6181
- "$ xano tenant env get_all my-tenant --file ./my-env.yaml",
6182
- "$ xano tenant env get_all my-tenant --view",
6183
- "$ xano tenant env get_all my-tenant -o json"
6241
+ "$ xano tenant env get my-tenant --name DATABASE_URL\npostgres://localhost:5432/mydb\n",
6242
+ "$ xano tenant env get my-tenant --name DATABASE_URL -w 5 -o json"
6184
6243
  ],
6185
6244
  "flags": {
6186
6245
  "profile": {
@@ -6202,11 +6261,11 @@
6202
6261
  "allowNo": false,
6203
6262
  "type": "boolean"
6204
6263
  },
6205
- "file": {
6206
- "char": "f",
6207
- "description": "Output file path (default: env_<tenant_name>.yaml)",
6208
- "name": "file",
6209
- "required": false,
6264
+ "name": {
6265
+ "char": "n",
6266
+ "description": "Environment variable name",
6267
+ "name": "name",
6268
+ "required": true,
6210
6269
  "hasDynamicHelp": false,
6211
6270
  "multiple": false,
6212
6271
  "type": "option"
@@ -6225,13 +6284,6 @@
6225
6284
  ],
6226
6285
  "type": "option"
6227
6286
  },
6228
- "view": {
6229
- "description": "Print environment variables to stdout instead of saving to file",
6230
- "name": "view",
6231
- "required": false,
6232
- "allowNo": false,
6233
- "type": "boolean"
6234
- },
6235
6287
  "workspace": {
6236
6288
  "char": "w",
6237
6289
  "description": "Workspace ID (uses profile workspace if not provided)",
@@ -6244,7 +6296,7 @@
6244
6296
  },
6245
6297
  "hasDynamicHelp": false,
6246
6298
  "hiddenAliases": [],
6247
- "id": "tenant:env:get_all",
6299
+ "id": "tenant:env:get",
6248
6300
  "pluginAlias": "@xano/cli",
6249
6301
  "pluginName": "@xano/cli",
6250
6302
  "pluginType": "core",
@@ -6256,11 +6308,11 @@
6256
6308
  "commands",
6257
6309
  "tenant",
6258
6310
  "env",
6259
- "get_all",
6311
+ "get",
6260
6312
  "index.js"
6261
6313
  ]
6262
6314
  },
6263
- "tenant:env:get": {
6315
+ "tenant:env:get_all": {
6264
6316
  "aliases": [],
6265
6317
  "args": {
6266
6318
  "tenant_name": {
@@ -6269,10 +6321,12 @@
6269
6321
  "required": true
6270
6322
  }
6271
6323
  },
6272
- "description": "Get a single environment variable for a tenant",
6324
+ "description": "Get all environment variables for a tenant and save to a YAML file",
6273
6325
  "examples": [
6274
- "$ xano tenant env get my-tenant --name DATABASE_URL\npostgres://localhost:5432/mydb\n",
6275
- "$ xano tenant env get my-tenant --name DATABASE_URL -w 5 -o json"
6326
+ "$ xano tenant env get_all my-tenant\nEnvironment variables saved to env_my-tenant.yaml\n",
6327
+ "$ xano tenant env get_all my-tenant --file ./my-env.yaml",
6328
+ "$ xano tenant env get_all my-tenant --view",
6329
+ "$ xano tenant env get_all my-tenant -o json"
6276
6330
  ],
6277
6331
  "flags": {
6278
6332
  "profile": {
@@ -6294,11 +6348,11 @@
6294
6348
  "allowNo": false,
6295
6349
  "type": "boolean"
6296
6350
  },
6297
- "name": {
6298
- "char": "n",
6299
- "description": "Environment variable name",
6300
- "name": "name",
6301
- "required": true,
6351
+ "file": {
6352
+ "char": "f",
6353
+ "description": "Output file path (default: env_<tenant_name>.yaml)",
6354
+ "name": "file",
6355
+ "required": false,
6302
6356
  "hasDynamicHelp": false,
6303
6357
  "multiple": false,
6304
6358
  "type": "option"
@@ -6317,6 +6371,13 @@
6317
6371
  ],
6318
6372
  "type": "option"
6319
6373
  },
6374
+ "view": {
6375
+ "description": "Print environment variables to stdout instead of saving to file",
6376
+ "name": "view",
6377
+ "required": false,
6378
+ "allowNo": false,
6379
+ "type": "boolean"
6380
+ },
6320
6381
  "workspace": {
6321
6382
  "char": "w",
6322
6383
  "description": "Workspace ID (uses profile workspace if not provided)",
@@ -6329,7 +6390,7 @@
6329
6390
  },
6330
6391
  "hasDynamicHelp": false,
6331
6392
  "hiddenAliases": [],
6332
- "id": "tenant:env:get",
6393
+ "id": "tenant:env:get_all",
6333
6394
  "pluginAlias": "@xano/cli",
6334
6395
  "pluginName": "@xano/cli",
6335
6396
  "pluginType": "core",
@@ -6341,7 +6402,7 @@
6341
6402
  "commands",
6342
6403
  "tenant",
6343
6404
  "env",
6344
- "get",
6405
+ "get_all",
6345
6406
  "index.js"
6346
6407
  ]
6347
6408
  },
@@ -6907,67 +6968,6 @@
6907
6968
  "index.js"
6908
6969
  ]
6909
6970
  },
6910
- "tenant:cluster:list": {
6911
- "aliases": [],
6912
- "args": {},
6913
- "description": "List all tenant clusters",
6914
- "examples": [
6915
- "$ xano tenant cluster list\nTenant clusters:\n - us-east-1 (standard) [ID: 1]\n - eu-west-1 (run) [ID: 2]\n",
6916
- "$ xano tenant cluster list --output json"
6917
- ],
6918
- "flags": {
6919
- "profile": {
6920
- "char": "p",
6921
- "description": "Profile to use (uses default profile if not specified)",
6922
- "env": "XANO_PROFILE",
6923
- "name": "profile",
6924
- "required": false,
6925
- "hasDynamicHelp": false,
6926
- "multiple": false,
6927
- "type": "option"
6928
- },
6929
- "verbose": {
6930
- "char": "v",
6931
- "description": "Show detailed request/response information",
6932
- "env": "XANO_VERBOSE",
6933
- "name": "verbose",
6934
- "required": false,
6935
- "allowNo": false,
6936
- "type": "boolean"
6937
- },
6938
- "output": {
6939
- "char": "o",
6940
- "description": "Output format",
6941
- "name": "output",
6942
- "required": false,
6943
- "default": "summary",
6944
- "hasDynamicHelp": false,
6945
- "multiple": false,
6946
- "options": [
6947
- "summary",
6948
- "json"
6949
- ],
6950
- "type": "option"
6951
- }
6952
- },
6953
- "hasDynamicHelp": false,
6954
- "hiddenAliases": [],
6955
- "id": "tenant:cluster:list",
6956
- "pluginAlias": "@xano/cli",
6957
- "pluginName": "@xano/cli",
6958
- "pluginType": "core",
6959
- "strict": true,
6960
- "enableJsonFlag": false,
6961
- "isESM": true,
6962
- "relativePath": [
6963
- "dist",
6964
- "commands",
6965
- "tenant",
6966
- "cluster",
6967
- "list",
6968
- "index.js"
6969
- ]
6970
- },
6971
6971
  "tenant:cluster:license:get": {
6972
6972
  "aliases": [],
6973
6973
  "args": {
@@ -7159,5 +7159,5 @@
7159
7159
  ]
7160
7160
  }
7161
7161
  },
7162
- "version": "0.0.84"
7162
+ "version": "0.0.86"
7163
7163
  }