@xano/cli 0.0.56 → 0.0.57

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.
Files changed (2) hide show
  1. package/oclif.manifest.json +1499 -1499
  2. package/package.json +1 -1
@@ -193,20 +193,20 @@
193
193
  "index.js"
194
194
  ]
195
195
  },
196
- "branch:delete": {
196
+ "branch:edit": {
197
197
  "aliases": [],
198
198
  "args": {
199
199
  "branch_label": {
200
- "description": "Branch label to delete (cannot delete \"v1\" or the live branch)",
200
+ "description": "Branch label to edit (cannot edit \"v1\" label)",
201
201
  "name": "branch_label",
202
202
  "required": true
203
203
  }
204
204
  },
205
- "description": "Delete a branch (cannot delete \"v1\" or the live branch)",
205
+ "description": "Update an existing branch (cannot update \"v1\" label)",
206
206
  "examples": [
207
- "$ 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",
208
- "$ xano branch delete dev --force\nDeleted branch: dev\n",
209
- "$ xano branch delete staging -f -o json\n{\n \"deleted\": true,\n \"branch_label\": \"staging\"\n}\n"
207
+ "$ xano branch edit dev --label development\nUpdated branch: development\n",
208
+ "$ xano branch edit feature-auth -l feature-authentication --color \"#ff5733\"\nUpdated branch: feature-authentication\n Color: #ff5733\n",
209
+ "$ 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"
210
210
  ],
211
211
  "flags": {
212
212
  "profile": {
@@ -228,13 +228,32 @@
228
228
  "allowNo": false,
229
229
  "type": "boolean"
230
230
  },
231
- "force": {
232
- "char": "f",
233
- "description": "Skip confirmation prompt",
234
- "name": "force",
231
+ "color": {
232
+ "char": "c",
233
+ "description": "New color hex code for the branch (e.g., \"#ff5733\")",
234
+ "name": "color",
235
235
  "required": false,
236
- "allowNo": false,
237
- "type": "boolean"
236
+ "hasDynamicHelp": false,
237
+ "multiple": false,
238
+ "type": "option"
239
+ },
240
+ "description": {
241
+ "char": "d",
242
+ "description": "New description for the branch",
243
+ "name": "description",
244
+ "required": false,
245
+ "hasDynamicHelp": false,
246
+ "multiple": false,
247
+ "type": "option"
248
+ },
249
+ "label": {
250
+ "char": "l",
251
+ "description": "New label for the branch",
252
+ "name": "label",
253
+ "required": false,
254
+ "hasDynamicHelp": false,
255
+ "multiple": false,
256
+ "type": "option"
238
257
  },
239
258
  "output": {
240
259
  "char": "o",
@@ -262,7 +281,7 @@
262
281
  },
263
282
  "hasDynamicHelp": false,
264
283
  "hiddenAliases": [],
265
- "id": "branch:delete",
284
+ "id": "branch:edit",
266
285
  "pluginAlias": "@xano/cli",
267
286
  "pluginName": "@xano/cli",
268
287
  "pluginType": "core",
@@ -273,7 +292,7 @@
273
292
  "dist",
274
293
  "commands",
275
294
  "branch",
276
- "delete",
295
+ "edit",
277
296
  "index.js"
278
297
  ]
279
298
  },
@@ -353,20 +372,20 @@
353
372
  "index.js"
354
373
  ]
355
374
  },
356
- "branch:edit": {
375
+ "branch:list": {
357
376
  "aliases": [],
358
377
  "args": {
359
- "branch_label": {
360
- "description": "Branch label to edit (cannot edit \"v1\" label)",
361
- "name": "branch_label",
362
- "required": true
378
+ "workspace_id": {
379
+ "description": "Workspace ID (uses profile workspace if not provided)",
380
+ "name": "workspace_id",
381
+ "required": false
363
382
  }
364
383
  },
365
- "description": "Update an existing branch (cannot update \"v1\" label)",
384
+ "description": "List all branches in a workspace",
366
385
  "examples": [
367
- "$ xano branch edit dev --label development\nUpdated branch: development\n",
368
- "$ xano branch edit feature-auth -l feature-authentication --color \"#ff5733\"\nUpdated branch: feature-authentication\n Color: #ff5733\n",
369
- "$ 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"
386
+ "$ xano branch list\nAvailable branches:\n - v1 (live)\n - dev\n - staging\n",
387
+ "$ xano branch list 123\nAvailable branches:\n - v1 (live)\n - feature-auth\n",
388
+ "$ 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"
370
389
  ],
371
390
  "flags": {
372
391
  "profile": {
@@ -388,33 +407,147 @@
388
407
  "allowNo": false,
389
408
  "type": "boolean"
390
409
  },
391
- "color": {
392
- "char": "c",
393
- "description": "New color hex code for the branch (e.g., \"#ff5733\")",
394
- "name": "color",
410
+ "output": {
411
+ "char": "o",
412
+ "description": "Output format",
413
+ "name": "output",
395
414
  "required": false,
415
+ "default": "summary",
396
416
  "hasDynamicHelp": false,
397
417
  "multiple": false,
418
+ "options": [
419
+ "summary",
420
+ "json"
421
+ ],
398
422
  "type": "option"
399
- },
400
- "description": {
401
- "char": "d",
402
- "description": "New description for the branch",
403
- "name": "description",
423
+ }
424
+ },
425
+ "hasDynamicHelp": false,
426
+ "hiddenAliases": [],
427
+ "id": "branch:list",
428
+ "pluginAlias": "@xano/cli",
429
+ "pluginName": "@xano/cli",
430
+ "pluginType": "core",
431
+ "strict": true,
432
+ "enableJsonFlag": false,
433
+ "isESM": true,
434
+ "relativePath": [
435
+ "dist",
436
+ "commands",
437
+ "branch",
438
+ "list",
439
+ "index.js"
440
+ ]
441
+ },
442
+ "platform:get": {
443
+ "aliases": [],
444
+ "args": {
445
+ "platform_id": {
446
+ "description": "Platform ID to retrieve",
447
+ "name": "platform_id",
448
+ "required": true
449
+ }
450
+ },
451
+ "description": "Get details of a specific platform",
452
+ "examples": [
453
+ "$ 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",
454
+ "$ xano platform get 23629 -o json"
455
+ ],
456
+ "flags": {
457
+ "profile": {
458
+ "char": "p",
459
+ "description": "Profile to use (uses default profile if not specified)",
460
+ "env": "XANO_PROFILE",
461
+ "name": "profile",
404
462
  "required": false,
405
463
  "hasDynamicHelp": false,
406
464
  "multiple": false,
407
465
  "type": "option"
408
466
  },
409
- "label": {
410
- "char": "l",
411
- "description": "New label for the branch",
412
- "name": "label",
467
+ "verbose": {
468
+ "char": "v",
469
+ "description": "Show detailed request/response information",
470
+ "env": "XANO_VERBOSE",
471
+ "name": "verbose",
472
+ "required": false,
473
+ "allowNo": false,
474
+ "type": "boolean"
475
+ },
476
+ "output": {
477
+ "char": "o",
478
+ "description": "Output format",
479
+ "name": "output",
480
+ "required": false,
481
+ "default": "summary",
482
+ "hasDynamicHelp": false,
483
+ "multiple": false,
484
+ "options": [
485
+ "summary",
486
+ "json"
487
+ ],
488
+ "type": "option"
489
+ }
490
+ },
491
+ "hasDynamicHelp": false,
492
+ "hiddenAliases": [],
493
+ "id": "platform:get",
494
+ "pluginAlias": "@xano/cli",
495
+ "pluginName": "@xano/cli",
496
+ "pluginType": "core",
497
+ "strict": true,
498
+ "enableJsonFlag": false,
499
+ "isESM": true,
500
+ "relativePath": [
501
+ "dist",
502
+ "commands",
503
+ "platform",
504
+ "get",
505
+ "index.js"
506
+ ]
507
+ },
508
+ "branch:set_live": {
509
+ "aliases": [],
510
+ "args": {
511
+ "branch_label": {
512
+ "description": "Branch label to set as live (use \"v1\" for default branch)",
513
+ "name": "branch_label",
514
+ "required": true
515
+ }
516
+ },
517
+ "description": "Set a branch as the live (active) branch for API requests",
518
+ "examples": [
519
+ "$ 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",
520
+ "$ xano branch set-live v1 --force\nBranch 'v1' is now live\n",
521
+ "$ 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"
522
+ ],
523
+ "flags": {
524
+ "profile": {
525
+ "char": "p",
526
+ "description": "Profile to use (uses default profile if not specified)",
527
+ "env": "XANO_PROFILE",
528
+ "name": "profile",
413
529
  "required": false,
414
530
  "hasDynamicHelp": false,
415
531
  "multiple": false,
416
532
  "type": "option"
417
533
  },
534
+ "verbose": {
535
+ "char": "v",
536
+ "description": "Show detailed request/response information",
537
+ "env": "XANO_VERBOSE",
538
+ "name": "verbose",
539
+ "required": false,
540
+ "allowNo": false,
541
+ "type": "boolean"
542
+ },
543
+ "force": {
544
+ "char": "f",
545
+ "description": "Skip confirmation prompt",
546
+ "name": "force",
547
+ "required": false,
548
+ "allowNo": false,
549
+ "type": "boolean"
550
+ },
418
551
  "output": {
419
552
  "char": "o",
420
553
  "description": "Output format",
@@ -441,7 +574,7 @@
441
574
  },
442
575
  "hasDynamicHelp": false,
443
576
  "hiddenAliases": [],
444
- "id": "branch:edit",
577
+ "id": "branch:set_live",
445
578
  "pluginAlias": "@xano/cli",
446
579
  "pluginName": "@xano/cli",
447
580
  "pluginType": "core",
@@ -452,24 +585,17 @@
452
585
  "dist",
453
586
  "commands",
454
587
  "branch",
455
- "edit",
588
+ "set_live",
456
589
  "index.js"
457
590
  ]
458
591
  },
459
- "branch:list": {
592
+ "platform:list": {
460
593
  "aliases": [],
461
- "args": {
462
- "workspace_id": {
463
- "description": "Workspace ID (uses profile workspace if not provided)",
464
- "name": "workspace_id",
465
- "required": false
466
- }
467
- },
468
- "description": "List all branches in a workspace",
594
+ "args": {},
595
+ "description": "List all platforms",
469
596
  "examples": [
470
- "$ xano branch list\nAvailable branches:\n - v1 (live)\n - dev\n - staging\n",
471
- "$ xano branch list 123\nAvailable branches:\n - v1 (live)\n - feature-auth\n",
472
- "$ 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"
597
+ "$ xano platform list\nPlatforms:\n ID: 23629 | Helm: 0.1.356 | Created: 2025-11-28\n",
598
+ "$ xano platform list --output json"
473
599
  ],
474
600
  "flags": {
475
601
  "profile": {
@@ -508,7 +634,7 @@
508
634
  },
509
635
  "hasDynamicHelp": false,
510
636
  "hiddenAliases": [],
511
- "id": "branch:list",
637
+ "id": "platform:list",
512
638
  "pluginAlias": "@xano/cli",
513
639
  "pluginName": "@xano/cli",
514
640
  "pluginType": "core",
@@ -518,7 +644,7 @@
518
644
  "relativePath": [
519
645
  "dist",
520
646
  "commands",
521
- "branch",
647
+ "platform",
522
648
  "list",
523
649
  "index.js"
524
650
  ]
@@ -629,20 +755,25 @@
629
755
  "index.js"
630
756
  ]
631
757
  },
632
- "branch:set_live": {
758
+ "function:edit": {
633
759
  "aliases": [],
634
760
  "args": {
635
- "branch_label": {
636
- "description": "Branch label to set as live (use \"v1\" for default branch)",
637
- "name": "branch_label",
638
- "required": true
761
+ "function_id": {
762
+ "description": "Function ID to edit",
763
+ "name": "function_id",
764
+ "required": false
639
765
  }
640
766
  },
641
- "description": "Set a branch as the live (active) branch for API requests",
767
+ "description": "Edit a function in a workspace",
642
768
  "examples": [
643
- "$ 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",
644
- "$ xano branch set-live v1 --force\nBranch 'v1' is now live\n",
645
- "$ 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"
769
+ "$ 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",
770
+ "$ 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",
771
+ "$ xano function:edit 163 -f function.xs\nFunction updated successfully!\nID: 163\nName: my_function\n",
772
+ "$ xano function:edit 163 -w 40 -f function.xs\nFunction updated successfully!\nID: 163\nName: my_function\n",
773
+ "$ xano function:edit -f function.xs\nSelect a function to edit:\n ❯ my_function (ID: 163) - Sample function\n another-func (ID: 164)\n",
774
+ "$ 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",
775
+ "$ cat function.xs | xano function:edit 163 --stdin\nFunction updated successfully!\nID: 163\nName: my_function\n",
776
+ "$ xano function:edit 163 -f function.xs -o json\n{\n \"id\": 163,\n \"name\": \"my_function\",\n ...\n}\n"
646
777
  ],
647
778
  "flags": {
648
779
  "profile": {
@@ -664,14 +795,26 @@
664
795
  "allowNo": false,
665
796
  "type": "boolean"
666
797
  },
667
- "force": {
668
- "char": "f",
669
- "description": "Skip confirmation prompt",
670
- "name": "force",
798
+ "edit": {
799
+ "char": "e",
800
+ "description": "Open file in editor before updating function (requires --file)",
801
+ "name": "edit",
671
802
  "required": false,
672
803
  "allowNo": false,
673
804
  "type": "boolean"
674
805
  },
806
+ "file": {
807
+ "char": "f",
808
+ "description": "Path to file containing XanoScript code",
809
+ "exclusive": [
810
+ "stdin"
811
+ ],
812
+ "name": "file",
813
+ "required": false,
814
+ "hasDynamicHelp": false,
815
+ "multiple": false,
816
+ "type": "option"
817
+ },
675
818
  "output": {
676
819
  "char": "o",
677
820
  "description": "Output format",
@@ -686,9 +829,27 @@
686
829
  ],
687
830
  "type": "option"
688
831
  },
832
+ "publish": {
833
+ "description": "Publish the function after editing",
834
+ "name": "publish",
835
+ "required": false,
836
+ "allowNo": false,
837
+ "type": "boolean"
838
+ },
839
+ "stdin": {
840
+ "char": "s",
841
+ "description": "Read XanoScript code from stdin",
842
+ "exclusive": [
843
+ "file"
844
+ ],
845
+ "name": "stdin",
846
+ "required": false,
847
+ "allowNo": false,
848
+ "type": "boolean"
849
+ },
689
850
  "workspace": {
690
851
  "char": "w",
691
- "description": "Workspace ID (uses profile workspace if not provided)",
852
+ "description": "Workspace ID (optional if set in profile)",
692
853
  "name": "workspace",
693
854
  "required": false,
694
855
  "hasDynamicHelp": false,
@@ -698,7 +859,7 @@
698
859
  },
699
860
  "hasDynamicHelp": false,
700
861
  "hiddenAliases": [],
701
- "id": "branch:set_live",
862
+ "id": "function:edit",
702
863
  "pluginAlias": "@xano/cli",
703
864
  "pluginName": "@xano/cli",
704
865
  "pluginType": "core",
@@ -708,8 +869,8 @@
708
869
  "relativePath": [
709
870
  "dist",
710
871
  "commands",
711
- "branch",
712
- "set_live",
872
+ "function",
873
+ "edit",
713
874
  "index.js"
714
875
  ]
715
876
  },
@@ -807,19 +968,15 @@
807
968
  "index.js"
808
969
  ]
809
970
  },
810
- "platform:get": {
971
+ "function:list": {
811
972
  "aliases": [],
812
- "args": {
813
- "platform_id": {
814
- "description": "Platform ID to retrieve",
815
- "name": "platform_id",
816
- "required": true
817
- }
818
- },
819
- "description": "Get details of a specific platform",
973
+ "args": {},
974
+ "description": "List all functions in a workspace from the Xano Metadata API",
820
975
  "examples": [
821
- "$ 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",
822
- "$ xano platform get 23629 -o json"
976
+ "$ xano function:list -w 40\nAvailable functions:\n - function-1 (ID: 1)\n - function-2 (ID: 2)\n - function-3 (ID: 3)\n",
977
+ "$ xano function:list --profile production\nAvailable functions:\n - my-function (ID: 1)\n - another-function (ID: 2)\n",
978
+ "$ xano function:list -w 40 --output json\n[\n {\n \"id\": 1,\n \"name\": \"function-1\"\n }\n]\n",
979
+ "$ xano function:list -p staging -o json --include_draft\n[\n {\n \"id\": 1,\n \"name\": \"function-1\"\n }\n]\n"
823
980
  ],
824
981
  "flags": {
825
982
  "profile": {
@@ -841,96 +998,31 @@
841
998
  "allowNo": false,
842
999
  "type": "boolean"
843
1000
  },
844
- "output": {
845
- "char": "o",
846
- "description": "Output format",
847
- "name": "output",
848
- "required": false,
849
- "default": "summary",
850
- "hasDynamicHelp": false,
851
- "multiple": false,
852
- "options": [
853
- "summary",
854
- "json"
855
- ],
856
- "type": "option"
857
- }
858
- },
859
- "hasDynamicHelp": false,
860
- "hiddenAliases": [],
861
- "id": "platform:get",
862
- "pluginAlias": "@xano/cli",
863
- "pluginName": "@xano/cli",
864
- "pluginType": "core",
865
- "strict": true,
866
- "enableJsonFlag": false,
867
- "isESM": true,
868
- "relativePath": [
869
- "dist",
870
- "commands",
871
- "platform",
872
- "get",
873
- "index.js"
874
- ]
875
- },
876
- "function:edit": {
877
- "aliases": [],
878
- "args": {
879
- "function_id": {
880
- "description": "Function ID to edit",
881
- "name": "function_id",
882
- "required": false
883
- }
884
- },
885
- "description": "Edit a function in a workspace",
886
- "examples": [
887
- "$ 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",
888
- "$ 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",
889
- "$ xano function:edit 163 -f function.xs\nFunction updated successfully!\nID: 163\nName: my_function\n",
890
- "$ xano function:edit 163 -w 40 -f function.xs\nFunction updated successfully!\nID: 163\nName: my_function\n",
891
- "$ xano function:edit -f function.xs\nSelect a function to edit:\n ❯ my_function (ID: 163) - Sample function\n another-func (ID: 164)\n",
892
- "$ 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",
893
- "$ cat function.xs | xano function:edit 163 --stdin\nFunction updated successfully!\nID: 163\nName: my_function\n",
894
- "$ xano function:edit 163 -f function.xs -o json\n{\n \"id\": 163,\n \"name\": \"my_function\",\n ...\n}\n"
895
- ],
896
- "flags": {
897
- "profile": {
898
- "char": "p",
899
- "description": "Profile to use (uses default profile if not specified)",
900
- "env": "XANO_PROFILE",
901
- "name": "profile",
902
- "required": false,
903
- "hasDynamicHelp": false,
904
- "multiple": false,
905
- "type": "option"
906
- },
907
- "verbose": {
908
- "char": "v",
909
- "description": "Show detailed request/response information",
910
- "env": "XANO_VERBOSE",
911
- "name": "verbose",
1001
+ "include_draft": {
1002
+ "description": "Include draft functions",
1003
+ "name": "include_draft",
912
1004
  "required": false,
913
1005
  "allowNo": false,
914
1006
  "type": "boolean"
915
1007
  },
916
- "edit": {
917
- "char": "e",
918
- "description": "Open file in editor before updating function (requires --file)",
919
- "name": "edit",
1008
+ "include_xanoscript": {
1009
+ "description": "Include XanoScript in response",
1010
+ "name": "include_xanoscript",
920
1011
  "required": false,
921
1012
  "allowNo": false,
922
1013
  "type": "boolean"
923
1014
  },
924
- "file": {
925
- "char": "f",
926
- "description": "Path to file containing XanoScript code",
927
- "exclusive": [
928
- "stdin"
929
- ],
930
- "name": "file",
1015
+ "order": {
1016
+ "description": "Sort order",
1017
+ "name": "order",
931
1018
  "required": false,
1019
+ "default": "desc",
932
1020
  "hasDynamicHelp": false,
933
1021
  "multiple": false,
1022
+ "options": [
1023
+ "asc",
1024
+ "desc"
1025
+ ],
934
1026
  "type": "option"
935
1027
  },
936
1028
  "output": {
@@ -947,97 +1039,46 @@
947
1039
  ],
948
1040
  "type": "option"
949
1041
  },
950
- "publish": {
951
- "description": "Publish the function after editing",
952
- "name": "publish",
953
- "required": false,
954
- "allowNo": false,
955
- "type": "boolean"
956
- },
957
- "stdin": {
958
- "char": "s",
959
- "description": "Read XanoScript code from stdin",
960
- "exclusive": [
961
- "file"
962
- ],
963
- "name": "stdin",
964
- "required": false,
965
- "allowNo": false,
966
- "type": "boolean"
967
- },
968
- "workspace": {
969
- "char": "w",
970
- "description": "Workspace ID (optional if set in profile)",
971
- "name": "workspace",
1042
+ "page": {
1043
+ "description": "Page number for pagination",
1044
+ "name": "page",
972
1045
  "required": false,
1046
+ "default": 1,
973
1047
  "hasDynamicHelp": false,
974
1048
  "multiple": false,
975
1049
  "type": "option"
976
- }
977
- },
978
- "hasDynamicHelp": false,
979
- "hiddenAliases": [],
980
- "id": "function:edit",
981
- "pluginAlias": "@xano/cli",
982
- "pluginName": "@xano/cli",
983
- "pluginType": "core",
984
- "strict": true,
985
- "enableJsonFlag": false,
986
- "isESM": true,
987
- "relativePath": [
988
- "dist",
989
- "commands",
990
- "function",
991
- "edit",
992
- "index.js"
993
- ]
994
- },
995
- "platform:list": {
996
- "aliases": [],
997
- "args": {},
998
- "description": "List all platforms",
999
- "examples": [
1000
- "$ xano platform list\nPlatforms:\n ID: 23629 | Helm: 0.1.356 | Created: 2025-11-28\n",
1001
- "$ xano platform list --output json"
1002
- ],
1003
- "flags": {
1004
- "profile": {
1005
- "char": "p",
1006
- "description": "Profile to use (uses default profile if not specified)",
1007
- "env": "XANO_PROFILE",
1008
- "name": "profile",
1050
+ },
1051
+ "per_page": {
1052
+ "description": "Number of results per page",
1053
+ "name": "per_page",
1009
1054
  "required": false,
1055
+ "default": 50,
1010
1056
  "hasDynamicHelp": false,
1011
1057
  "multiple": false,
1012
1058
  "type": "option"
1013
1059
  },
1014
- "verbose": {
1015
- "char": "v",
1016
- "description": "Show detailed request/response information",
1017
- "env": "XANO_VERBOSE",
1018
- "name": "verbose",
1060
+ "sort": {
1061
+ "description": "Sort field",
1062
+ "name": "sort",
1019
1063
  "required": false,
1020
- "allowNo": false,
1021
- "type": "boolean"
1064
+ "default": "created_at",
1065
+ "hasDynamicHelp": false,
1066
+ "multiple": false,
1067
+ "type": "option"
1022
1068
  },
1023
- "output": {
1024
- "char": "o",
1025
- "description": "Output format",
1026
- "name": "output",
1069
+ "workspace": {
1070
+ "char": "w",
1071
+ "description": "Workspace ID (optional if set in profile)",
1072
+ "name": "workspace",
1027
1073
  "required": false,
1028
- "default": "summary",
1029
1074
  "hasDynamicHelp": false,
1030
1075
  "multiple": false,
1031
- "options": [
1032
- "summary",
1033
- "json"
1034
- ],
1035
1076
  "type": "option"
1036
1077
  }
1037
1078
  },
1038
1079
  "hasDynamicHelp": false,
1039
1080
  "hiddenAliases": [],
1040
- "id": "platform:list",
1081
+ "id": "function:list",
1041
1082
  "pluginAlias": "@xano/cli",
1042
1083
  "pluginName": "@xano/cli",
1043
1084
  "pluginType": "core",
@@ -1047,7 +1088,7 @@
1047
1088
  "relativePath": [
1048
1089
  "dist",
1049
1090
  "commands",
1050
- "platform",
1091
+ "function",
1051
1092
  "list",
1052
1093
  "index.js"
1053
1094
  ]
@@ -1139,22 +1180,41 @@
1139
1180
  "index.js"
1140
1181
  ]
1141
1182
  },
1142
- "profile:delete": {
1183
+ "branch:delete": {
1143
1184
  "aliases": [],
1144
1185
  "args": {
1145
- "name": {
1146
- "description": "Profile name to delete",
1147
- "name": "name",
1148
- "required": true
1149
- }
1186
+ "branch_label": {
1187
+ "description": "Branch label to delete (cannot delete \"v1\" or the live branch)",
1188
+ "name": "branch_label",
1189
+ "required": true
1190
+ }
1150
1191
  },
1151
- "description": "Delete a profile configuration",
1192
+ "description": "Delete a branch (cannot delete \"v1\" or the live branch)",
1152
1193
  "examples": [
1153
- "$ 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",
1154
- "$ xano profile:delete old-profile --force\nProfile 'old-profile' deleted successfully from ~/.xano/credentials.yaml\n",
1155
- "$ xano profile:delete old-profile -f\nProfile 'old-profile' deleted successfully from ~/.xano/credentials.yaml\n"
1194
+ "$ 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",
1195
+ "$ xano branch delete dev --force\nDeleted branch: dev\n",
1196
+ "$ xano branch delete staging -f -o json\n{\n \"deleted\": true,\n \"branch_label\": \"staging\"\n}\n"
1156
1197
  ],
1157
1198
  "flags": {
1199
+ "profile": {
1200
+ "char": "p",
1201
+ "description": "Profile to use (uses default profile if not specified)",
1202
+ "env": "XANO_PROFILE",
1203
+ "name": "profile",
1204
+ "required": false,
1205
+ "hasDynamicHelp": false,
1206
+ "multiple": false,
1207
+ "type": "option"
1208
+ },
1209
+ "verbose": {
1210
+ "char": "v",
1211
+ "description": "Show detailed request/response information",
1212
+ "env": "XANO_VERBOSE",
1213
+ "name": "verbose",
1214
+ "required": false,
1215
+ "allowNo": false,
1216
+ "type": "boolean"
1217
+ },
1158
1218
  "force": {
1159
1219
  "char": "f",
1160
1220
  "description": "Skip confirmation prompt",
@@ -1162,11 +1222,34 @@
1162
1222
  "required": false,
1163
1223
  "allowNo": false,
1164
1224
  "type": "boolean"
1225
+ },
1226
+ "output": {
1227
+ "char": "o",
1228
+ "description": "Output format",
1229
+ "name": "output",
1230
+ "required": false,
1231
+ "default": "summary",
1232
+ "hasDynamicHelp": false,
1233
+ "multiple": false,
1234
+ "options": [
1235
+ "summary",
1236
+ "json"
1237
+ ],
1238
+ "type": "option"
1239
+ },
1240
+ "workspace": {
1241
+ "char": "w",
1242
+ "description": "Workspace ID (uses profile workspace if not provided)",
1243
+ "name": "workspace",
1244
+ "required": false,
1245
+ "hasDynamicHelp": false,
1246
+ "multiple": false,
1247
+ "type": "option"
1165
1248
  }
1166
1249
  },
1167
1250
  "hasDynamicHelp": false,
1168
1251
  "hiddenAliases": [],
1169
- "id": "profile:delete",
1252
+ "id": "branch:delete",
1170
1253
  "pluginAlias": "@xano/cli",
1171
1254
  "pluginName": "@xano/cli",
1172
1255
  "pluginType": "core",
@@ -1176,7 +1259,7 @@
1176
1259
  "relativePath": [
1177
1260
  "dist",
1178
1261
  "commands",
1179
- "profile",
1262
+ "branch",
1180
1263
  "delete",
1181
1264
  "index.js"
1182
1265
  ]
@@ -1331,53 +1414,17 @@
1331
1414
  "index.js"
1332
1415
  ]
1333
1416
  },
1334
- "profile:me": {
1417
+ "profile:get": {
1335
1418
  "aliases": [],
1336
1419
  "args": {},
1337
- "description": "Get information about the currently authenticated user",
1420
+ "description": "Get the current default profile name",
1338
1421
  "examples": [
1339
- "$ xano profile:me\nUser Information:\n ID: 1\n Name: John Doe\n Email: john@example.com\n",
1340
- "$ xano profile:me --profile production\nUser Information:\n ID: 42\n Name: Admin User\n Email: admin@example.com\n",
1341
- "$ xano profile:me --output json\n{\n \"id\": 1,\n \"name\": \"John Doe\",\n \"email\": \"john@example.com\"\n}\n"
1422
+ "$ xano profile get\nproduction\n"
1342
1423
  ],
1343
- "flags": {
1344
- "profile": {
1345
- "char": "p",
1346
- "description": "Profile to use (uses default profile if not specified)",
1347
- "env": "XANO_PROFILE",
1348
- "name": "profile",
1349
- "required": false,
1350
- "hasDynamicHelp": false,
1351
- "multiple": false,
1352
- "type": "option"
1353
- },
1354
- "verbose": {
1355
- "char": "v",
1356
- "description": "Show detailed request/response information",
1357
- "env": "XANO_VERBOSE",
1358
- "name": "verbose",
1359
- "required": false,
1360
- "allowNo": false,
1361
- "type": "boolean"
1362
- },
1363
- "output": {
1364
- "char": "o",
1365
- "description": "Output format",
1366
- "name": "output",
1367
- "required": false,
1368
- "default": "summary",
1369
- "hasDynamicHelp": false,
1370
- "multiple": false,
1371
- "options": [
1372
- "summary",
1373
- "json"
1374
- ],
1375
- "type": "option"
1376
- }
1377
- },
1424
+ "flags": {},
1378
1425
  "hasDynamicHelp": false,
1379
1426
  "hiddenAliases": [],
1380
- "id": "profile:me",
1427
+ "id": "profile:get",
1381
1428
  "pluginAlias": "@xano/cli",
1382
1429
  "pluginName": "@xano/cli",
1383
1430
  "pluginType": "core",
@@ -1388,19 +1435,18 @@
1388
1435
  "dist",
1389
1436
  "commands",
1390
1437
  "profile",
1391
- "me",
1438
+ "get",
1392
1439
  "index.js"
1393
1440
  ]
1394
1441
  },
1395
- "function:list": {
1442
+ "profile:me": {
1396
1443
  "aliases": [],
1397
1444
  "args": {},
1398
- "description": "List all functions in a workspace from the Xano Metadata API",
1445
+ "description": "Get information about the currently authenticated user",
1399
1446
  "examples": [
1400
- "$ xano function:list -w 40\nAvailable functions:\n - function-1 (ID: 1)\n - function-2 (ID: 2)\n - function-3 (ID: 3)\n",
1401
- "$ xano function:list --profile production\nAvailable functions:\n - my-function (ID: 1)\n - another-function (ID: 2)\n",
1402
- "$ xano function:list -w 40 --output json\n[\n {\n \"id\": 1,\n \"name\": \"function-1\"\n }\n]\n",
1403
- "$ xano function:list -p staging -o json --include_draft\n[\n {\n \"id\": 1,\n \"name\": \"function-1\"\n }\n]\n"
1447
+ "$ xano profile:me\nUser Information:\n ID: 1\n Name: John Doe\n Email: john@example.com\n",
1448
+ "$ xano profile:me --profile production\nUser Information:\n ID: 42\n Name: Admin User\n Email: admin@example.com\n",
1449
+ "$ xano profile:me --output json\n{\n \"id\": 1,\n \"name\": \"John Doe\",\n \"email\": \"john@example.com\"\n}\n"
1404
1450
  ],
1405
1451
  "flags": {
1406
1452
  "profile": {
@@ -1422,33 +1468,6 @@
1422
1468
  "allowNo": false,
1423
1469
  "type": "boolean"
1424
1470
  },
1425
- "include_draft": {
1426
- "description": "Include draft functions",
1427
- "name": "include_draft",
1428
- "required": false,
1429
- "allowNo": false,
1430
- "type": "boolean"
1431
- },
1432
- "include_xanoscript": {
1433
- "description": "Include XanoScript in response",
1434
- "name": "include_xanoscript",
1435
- "required": false,
1436
- "allowNo": false,
1437
- "type": "boolean"
1438
- },
1439
- "order": {
1440
- "description": "Sort order",
1441
- "name": "order",
1442
- "required": false,
1443
- "default": "desc",
1444
- "hasDynamicHelp": false,
1445
- "multiple": false,
1446
- "options": [
1447
- "asc",
1448
- "desc"
1449
- ],
1450
- "type": "option"
1451
- },
1452
1471
  "output": {
1453
1472
  "char": "o",
1454
1473
  "description": "Output format",
@@ -1462,47 +1481,11 @@
1462
1481
  "json"
1463
1482
  ],
1464
1483
  "type": "option"
1465
- },
1466
- "page": {
1467
- "description": "Page number for pagination",
1468
- "name": "page",
1469
- "required": false,
1470
- "default": 1,
1471
- "hasDynamicHelp": false,
1472
- "multiple": false,
1473
- "type": "option"
1474
- },
1475
- "per_page": {
1476
- "description": "Number of results per page",
1477
- "name": "per_page",
1478
- "required": false,
1479
- "default": 50,
1480
- "hasDynamicHelp": false,
1481
- "multiple": false,
1482
- "type": "option"
1483
- },
1484
- "sort": {
1485
- "description": "Sort field",
1486
- "name": "sort",
1487
- "required": false,
1488
- "default": "created_at",
1489
- "hasDynamicHelp": false,
1490
- "multiple": false,
1491
- "type": "option"
1492
- },
1493
- "workspace": {
1494
- "char": "w",
1495
- "description": "Workspace ID (optional if set in profile)",
1496
- "name": "workspace",
1497
- "required": false,
1498
- "hasDynamicHelp": false,
1499
- "multiple": false,
1500
- "type": "option"
1501
1484
  }
1502
1485
  },
1503
1486
  "hasDynamicHelp": false,
1504
1487
  "hiddenAliases": [],
1505
- "id": "function:list",
1488
+ "id": "profile:me",
1506
1489
  "pluginAlias": "@xano/cli",
1507
1490
  "pluginName": "@xano/cli",
1508
1491
  "pluginType": "core",
@@ -1512,22 +1495,23 @@
1512
1495
  "relativePath": [
1513
1496
  "dist",
1514
1497
  "commands",
1515
- "function",
1516
- "list",
1498
+ "profile",
1499
+ "me",
1517
1500
  "index.js"
1518
1501
  ]
1519
1502
  },
1520
- "profile:get": {
1503
+ "profile:token": {
1521
1504
  "aliases": [],
1522
1505
  "args": {},
1523
- "description": "Get the current default profile name",
1506
+ "description": "Print the access token for the default profile",
1524
1507
  "examples": [
1525
- "$ xano profile get\nproduction\n"
1508
+ "$ xano profile:token\neyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...\n",
1509
+ "$ xano profile:token | pbcopy\n# Copies the token to clipboard on macOS\n"
1526
1510
  ],
1527
1511
  "flags": {},
1528
1512
  "hasDynamicHelp": false,
1529
1513
  "hiddenAliases": [],
1530
- "id": "profile:get",
1514
+ "id": "profile:token",
1531
1515
  "pluginAlias": "@xano/cli",
1532
1516
  "pluginName": "@xano/cli",
1533
1517
  "pluginType": "core",
@@ -1538,22 +1522,38 @@
1538
1522
  "dist",
1539
1523
  "commands",
1540
1524
  "profile",
1541
- "get",
1525
+ "token",
1542
1526
  "index.js"
1543
1527
  ]
1544
1528
  },
1545
- "profile:token": {
1529
+ "profile:delete": {
1546
1530
  "aliases": [],
1547
- "args": {},
1548
- "description": "Print the access token for the default profile",
1531
+ "args": {
1532
+ "name": {
1533
+ "description": "Profile name to delete",
1534
+ "name": "name",
1535
+ "required": true
1536
+ }
1537
+ },
1538
+ "description": "Delete a profile configuration",
1549
1539
  "examples": [
1550
- "$ xano profile:token\neyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...\n",
1551
- "$ xano profile:token | pbcopy\n# Copies the token to clipboard on macOS\n"
1540
+ "$ 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",
1541
+ "$ xano profile:delete old-profile --force\nProfile 'old-profile' deleted successfully from ~/.xano/credentials.yaml\n",
1542
+ "$ xano profile:delete old-profile -f\nProfile 'old-profile' deleted successfully from ~/.xano/credentials.yaml\n"
1552
1543
  ],
1553
- "flags": {},
1544
+ "flags": {
1545
+ "force": {
1546
+ "char": "f",
1547
+ "description": "Skip confirmation prompt",
1548
+ "name": "force",
1549
+ "required": false,
1550
+ "allowNo": false,
1551
+ "type": "boolean"
1552
+ }
1553
+ },
1554
1554
  "hasDynamicHelp": false,
1555
1555
  "hiddenAliases": [],
1556
- "id": "profile:token",
1556
+ "id": "profile:delete",
1557
1557
  "pluginAlias": "@xano/cli",
1558
1558
  "pluginName": "@xano/cli",
1559
1559
  "pluginType": "core",
@@ -1564,7 +1564,7 @@
1564
1564
  "dist",
1565
1565
  "commands",
1566
1566
  "profile",
1567
- "token",
1567
+ "delete",
1568
1568
  "index.js"
1569
1569
  ]
1570
1570
  },
@@ -1599,6 +1599,32 @@
1599
1599
  "index.js"
1600
1600
  ]
1601
1601
  },
1602
+ "profile:workspace": {
1603
+ "aliases": [],
1604
+ "args": {},
1605
+ "description": "Print the workspace ID for the default profile",
1606
+ "examples": [
1607
+ "$ xano profile:workspace\nabc123-workspace-id\n",
1608
+ "$ xano profile:workspace | pbcopy\n# Copies the workspace ID to clipboard on macOS\n"
1609
+ ],
1610
+ "flags": {},
1611
+ "hasDynamicHelp": false,
1612
+ "hiddenAliases": [],
1613
+ "id": "profile:workspace",
1614
+ "pluginAlias": "@xano/cli",
1615
+ "pluginName": "@xano/cli",
1616
+ "pluginType": "core",
1617
+ "strict": true,
1618
+ "enableJsonFlag": false,
1619
+ "isESM": true,
1620
+ "relativePath": [
1621
+ "dist",
1622
+ "commands",
1623
+ "profile",
1624
+ "workspace",
1625
+ "index.js"
1626
+ ]
1627
+ },
1602
1628
  "profile:wizard": {
1603
1629
  "aliases": [],
1604
1630
  "args": {},
@@ -1644,143 +1670,6 @@
1644
1670
  "index.js"
1645
1671
  ]
1646
1672
  },
1647
- "profile:workspace": {
1648
- "aliases": [],
1649
- "args": {},
1650
- "description": "Print the workspace ID for the default profile",
1651
- "examples": [
1652
- "$ xano profile:workspace\nabc123-workspace-id\n",
1653
- "$ xano profile:workspace | pbcopy\n# Copies the workspace ID to clipboard on macOS\n"
1654
- ],
1655
- "flags": {},
1656
- "hasDynamicHelp": false,
1657
- "hiddenAliases": [],
1658
- "id": "profile:workspace",
1659
- "pluginAlias": "@xano/cli",
1660
- "pluginName": "@xano/cli",
1661
- "pluginType": "core",
1662
- "strict": true,
1663
- "enableJsonFlag": false,
1664
- "isESM": true,
1665
- "relativePath": [
1666
- "dist",
1667
- "commands",
1668
- "profile",
1669
- "workspace",
1670
- "index.js"
1671
- ]
1672
- },
1673
- "release:create": {
1674
- "aliases": [],
1675
- "args": {},
1676
- "description": "Create a new release in a workspace",
1677
- "examples": [
1678
- "$ xano release create --name \"v1.0\" --branch main\nCreated release: v1.0 - ID: 10\n",
1679
- "$ xano release create --name \"v1.1-hotfix\" --branch main --hotfix --description \"Critical fix\" -o json"
1680
- ],
1681
- "flags": {
1682
- "profile": {
1683
- "char": "p",
1684
- "description": "Profile to use (uses default profile if not specified)",
1685
- "env": "XANO_PROFILE",
1686
- "name": "profile",
1687
- "required": false,
1688
- "hasDynamicHelp": false,
1689
- "multiple": false,
1690
- "type": "option"
1691
- },
1692
- "verbose": {
1693
- "char": "v",
1694
- "description": "Show detailed request/response information",
1695
- "env": "XANO_VERBOSE",
1696
- "name": "verbose",
1697
- "required": false,
1698
- "allowNo": false,
1699
- "type": "boolean"
1700
- },
1701
- "branch": {
1702
- "char": "b",
1703
- "description": "Branch to create the release from",
1704
- "name": "branch",
1705
- "required": true,
1706
- "hasDynamicHelp": false,
1707
- "multiple": false,
1708
- "type": "option"
1709
- },
1710
- "description": {
1711
- "char": "d",
1712
- "description": "Release description",
1713
- "name": "description",
1714
- "required": false,
1715
- "hasDynamicHelp": false,
1716
- "multiple": false,
1717
- "type": "option"
1718
- },
1719
- "hotfix": {
1720
- "description": "Mark as a hotfix release",
1721
- "name": "hotfix",
1722
- "required": false,
1723
- "allowNo": false,
1724
- "type": "boolean"
1725
- },
1726
- "name": {
1727
- "char": "n",
1728
- "description": "Name for the release",
1729
- "name": "name",
1730
- "required": true,
1731
- "hasDynamicHelp": false,
1732
- "multiple": false,
1733
- "type": "option"
1734
- },
1735
- "output": {
1736
- "char": "o",
1737
- "description": "Output format",
1738
- "name": "output",
1739
- "required": false,
1740
- "default": "summary",
1741
- "hasDynamicHelp": false,
1742
- "multiple": false,
1743
- "options": [
1744
- "summary",
1745
- "json"
1746
- ],
1747
- "type": "option"
1748
- },
1749
- "table-ids": {
1750
- "description": "Comma-separated table IDs to include",
1751
- "name": "table-ids",
1752
- "required": false,
1753
- "hasDynamicHelp": false,
1754
- "multiple": false,
1755
- "type": "option"
1756
- },
1757
- "workspace": {
1758
- "char": "w",
1759
- "description": "Workspace ID (uses profile workspace if not provided)",
1760
- "name": "workspace",
1761
- "required": false,
1762
- "hasDynamicHelp": false,
1763
- "multiple": false,
1764
- "type": "option"
1765
- }
1766
- },
1767
- "hasDynamicHelp": false,
1768
- "hiddenAliases": [],
1769
- "id": "release:create",
1770
- "pluginAlias": "@xano/cli",
1771
- "pluginName": "@xano/cli",
1772
- "pluginType": "core",
1773
- "strict": true,
1774
- "enableJsonFlag": false,
1775
- "isESM": true,
1776
- "relativePath": [
1777
- "dist",
1778
- "commands",
1779
- "release",
1780
- "create",
1781
- "index.js"
1782
- ]
1783
- },
1784
1673
  "release:delete": {
1785
1674
  "aliases": [],
1786
1675
  "args": {
@@ -2042,19 +1931,13 @@
2042
1931
  "index.js"
2043
1932
  ]
2044
1933
  },
2045
- "release:get": {
1934
+ "release:create": {
2046
1935
  "aliases": [],
2047
- "args": {
2048
- "release_name": {
2049
- "description": "Release name to retrieve",
2050
- "name": "release_name",
2051
- "required": true
2052
- }
2053
- },
2054
- "description": "Get details of a specific release",
1936
+ "args": {},
1937
+ "description": "Create a new release in a workspace",
2055
1938
  "examples": [
2056
- "$ xano release get v1.0\nRelease: v1.0 - ID: 10\n Branch: main\n Description: Initial release\n Hotfix: false\n",
2057
- "$ xano release get v1.0 -w 5 -o json"
1939
+ "$ xano release create --name \"v1.0\" --branch main\nCreated release: v1.0 - ID: 10\n",
1940
+ "$ xano release create --name \"v1.1-hotfix\" --branch main --hotfix --description \"Critical fix\" -o json"
2058
1941
  ],
2059
1942
  "flags": {
2060
1943
  "profile": {
@@ -2076,6 +1959,40 @@
2076
1959
  "allowNo": false,
2077
1960
  "type": "boolean"
2078
1961
  },
1962
+ "branch": {
1963
+ "char": "b",
1964
+ "description": "Branch to create the release from",
1965
+ "name": "branch",
1966
+ "required": true,
1967
+ "hasDynamicHelp": false,
1968
+ "multiple": false,
1969
+ "type": "option"
1970
+ },
1971
+ "description": {
1972
+ "char": "d",
1973
+ "description": "Release description",
1974
+ "name": "description",
1975
+ "required": false,
1976
+ "hasDynamicHelp": false,
1977
+ "multiple": false,
1978
+ "type": "option"
1979
+ },
1980
+ "hotfix": {
1981
+ "description": "Mark as a hotfix release",
1982
+ "name": "hotfix",
1983
+ "required": false,
1984
+ "allowNo": false,
1985
+ "type": "boolean"
1986
+ },
1987
+ "name": {
1988
+ "char": "n",
1989
+ "description": "Name for the release",
1990
+ "name": "name",
1991
+ "required": true,
1992
+ "hasDynamicHelp": false,
1993
+ "multiple": false,
1994
+ "type": "option"
1995
+ },
2079
1996
  "output": {
2080
1997
  "char": "o",
2081
1998
  "description": "Output format",
@@ -2090,6 +2007,14 @@
2090
2007
  ],
2091
2008
  "type": "option"
2092
2009
  },
2010
+ "table-ids": {
2011
+ "description": "Comma-separated table IDs to include",
2012
+ "name": "table-ids",
2013
+ "required": false,
2014
+ "hasDynamicHelp": false,
2015
+ "multiple": false,
2016
+ "type": "option"
2017
+ },
2093
2018
  "workspace": {
2094
2019
  "char": "w",
2095
2020
  "description": "Workspace ID (uses profile workspace if not provided)",
@@ -2102,7 +2027,7 @@
2102
2027
  },
2103
2028
  "hasDynamicHelp": false,
2104
2029
  "hiddenAliases": [],
2105
- "id": "release:get",
2030
+ "id": "release:create",
2106
2031
  "pluginAlias": "@xano/cli",
2107
2032
  "pluginName": "@xano/cli",
2108
2033
  "pluginType": "core",
@@ -2113,7 +2038,7 @@
2113
2038
  "dist",
2114
2039
  "commands",
2115
2040
  "release",
2116
- "get",
2041
+ "create",
2117
2042
  "index.js"
2118
2043
  ]
2119
2044
  },
@@ -2264,22 +2189,20 @@
2264
2189
  "index.js"
2265
2190
  ]
2266
2191
  },
2267
- "release:push": {
2192
+ "release:pull": {
2268
2193
  "aliases": [],
2269
2194
  "args": {
2270
2195
  "directory": {
2271
- "description": "Directory containing .xs documents to create the release from",
2196
+ "description": "Output directory for pulled documents",
2272
2197
  "name": "directory",
2273
2198
  "required": true
2274
2199
  }
2275
2200
  },
2276
- "description": "Create a new release from local XanoScript files via the multidoc endpoint",
2201
+ "description": "Pull a release multidoc from the Xano Metadata API and split into individual files",
2277
2202
  "examples": [
2278
- "$ xano release push ./my-release -n \"v1.0\"\nCreated release: v1.0 - ID: 10\n",
2279
- "$ xano release push ./output -n \"v2.0\" -w 40 -d \"Major update\"\nCreated release: v2.0 - ID: 15\n",
2280
- "$ xano release push ./backup -n \"v1.1-hotfix\" --hotfix --profile production\nCreated release: v1.1-hotfix - ID: 20\n",
2281
- "$ xano release push ./my-release -n \"v1.0\" --no-records --no-env\nCreate release from schema only, skip records and environment variables\n",
2282
- "$ xano release push ./my-release -n \"v1.0\" -o json\nOutput release details as JSON\n"
2203
+ "$ xano release pull ./my-release -r v1.0\nPulled 42 documents from release 'v1.0' to ./my-release\n",
2204
+ "$ xano release pull ./output -r v1.0 -w 40\nPulled 15 documents from release 'v1.0' to ./output\n",
2205
+ "$ xano release pull ./backup -r v1.0 --profile production --env --records\nPulled 58 documents from release 'v1.0' to ./backup\n"
2283
2206
  ],
2284
2207
  "flags": {
2285
2208
  "profile": {
@@ -2301,64 +2224,33 @@
2301
2224
  "allowNo": false,
2302
2225
  "type": "boolean"
2303
2226
  },
2304
- "description": {
2305
- "char": "d",
2306
- "description": "Release description",
2307
- "name": "description",
2308
- "required": false,
2309
- "default": "",
2310
- "hasDynamicHelp": false,
2311
- "multiple": false,
2312
- "type": "option"
2313
- },
2314
2227
  "env": {
2315
- "description": "Include environment variables (default: true, use --no-env to exclude)",
2228
+ "description": "Include environment variables",
2316
2229
  "name": "env",
2317
2230
  "required": false,
2318
- "allowNo": true,
2231
+ "allowNo": false,
2319
2232
  "type": "boolean"
2320
2233
  },
2321
- "hotfix": {
2322
- "description": "Mark as a hotfix release",
2323
- "name": "hotfix",
2234
+ "records": {
2235
+ "description": "Include records",
2236
+ "name": "records",
2324
2237
  "required": false,
2325
2238
  "allowNo": false,
2326
2239
  "type": "boolean"
2327
2240
  },
2328
- "name": {
2329
- "char": "n",
2330
- "description": "Name for the release",
2331
- "name": "name",
2241
+ "release": {
2242
+ "char": "r",
2243
+ "description": "Release name to pull from",
2244
+ "name": "release",
2332
2245
  "required": true,
2333
2246
  "hasDynamicHelp": false,
2334
2247
  "multiple": false,
2335
2248
  "type": "option"
2336
2249
  },
2337
- "output": {
2338
- "char": "o",
2339
- "description": "Output format",
2340
- "name": "output",
2341
- "required": false,
2342
- "default": "summary",
2343
- "hasDynamicHelp": false,
2344
- "multiple": false,
2345
- "options": [
2346
- "summary",
2347
- "json"
2348
- ],
2349
- "type": "option"
2350
- },
2351
- "records": {
2352
- "description": "Include records (default: true, use --no-records to exclude)",
2353
- "name": "records",
2354
- "required": false,
2355
- "allowNo": true,
2356
- "type": "boolean"
2357
- },
2358
- "workspace": {
2359
- "char": "w",
2360
- "description": "Workspace ID (optional if set in profile)",
2361
- "name": "workspace",
2250
+ "workspace": {
2251
+ "char": "w",
2252
+ "description": "Workspace ID (optional if set in profile)",
2253
+ "name": "workspace",
2362
2254
  "required": false,
2363
2255
  "hasDynamicHelp": false,
2364
2256
  "multiple": false,
@@ -2367,7 +2259,7 @@
2367
2259
  },
2368
2260
  "hasDynamicHelp": false,
2369
2261
  "hiddenAliases": [],
2370
- "id": "release:push",
2262
+ "id": "release:pull",
2371
2263
  "pluginAlias": "@xano/cli",
2372
2264
  "pluginName": "@xano/cli",
2373
2265
  "pluginType": "core",
@@ -2378,24 +2270,26 @@
2378
2270
  "dist",
2379
2271
  "commands",
2380
2272
  "release",
2381
- "push",
2273
+ "pull",
2382
2274
  "index.js"
2383
2275
  ]
2384
2276
  },
2385
- "release:pull": {
2277
+ "release:push": {
2386
2278
  "aliases": [],
2387
2279
  "args": {
2388
2280
  "directory": {
2389
- "description": "Output directory for pulled documents",
2281
+ "description": "Directory containing .xs documents to create the release from",
2390
2282
  "name": "directory",
2391
2283
  "required": true
2392
2284
  }
2393
2285
  },
2394
- "description": "Pull a release multidoc from the Xano Metadata API and split into individual files",
2286
+ "description": "Create a new release from local XanoScript files via the multidoc endpoint",
2395
2287
  "examples": [
2396
- "$ xano release pull ./my-release -r v1.0\nPulled 42 documents from release 'v1.0' to ./my-release\n",
2397
- "$ xano release pull ./output -r v1.0 -w 40\nPulled 15 documents from release 'v1.0' to ./output\n",
2398
- "$ xano release pull ./backup -r v1.0 --profile production --env --records\nPulled 58 documents from release 'v1.0' to ./backup\n"
2288
+ "$ xano release push ./my-release -n \"v1.0\"\nCreated release: v1.0 - ID: 10\n",
2289
+ "$ xano release push ./output -n \"v2.0\" -w 40 -d \"Major update\"\nCreated release: v2.0 - ID: 15\n",
2290
+ "$ xano release push ./backup -n \"v1.1-hotfix\" --hotfix --profile production\nCreated release: v1.1-hotfix - ID: 20\n",
2291
+ "$ xano release push ./my-release -n \"v1.0\" --no-records --no-env\nCreate release from schema only, skip records and environment variables\n",
2292
+ "$ xano release push ./my-release -n \"v1.0\" -o json\nOutput release details as JSON\n"
2399
2293
  ],
2400
2294
  "flags": {
2401
2295
  "profile": {
@@ -2417,29 +2311,60 @@
2417
2311
  "allowNo": false,
2418
2312
  "type": "boolean"
2419
2313
  },
2314
+ "description": {
2315
+ "char": "d",
2316
+ "description": "Release description",
2317
+ "name": "description",
2318
+ "required": false,
2319
+ "default": "",
2320
+ "hasDynamicHelp": false,
2321
+ "multiple": false,
2322
+ "type": "option"
2323
+ },
2420
2324
  "env": {
2421
- "description": "Include environment variables",
2325
+ "description": "Include environment variables (default: true, use --no-env to exclude)",
2422
2326
  "name": "env",
2423
2327
  "required": false,
2424
- "allowNo": false,
2328
+ "allowNo": true,
2425
2329
  "type": "boolean"
2426
2330
  },
2427
- "records": {
2428
- "description": "Include records",
2429
- "name": "records",
2331
+ "hotfix": {
2332
+ "description": "Mark as a hotfix release",
2333
+ "name": "hotfix",
2430
2334
  "required": false,
2431
2335
  "allowNo": false,
2432
2336
  "type": "boolean"
2433
2337
  },
2434
- "release": {
2435
- "char": "r",
2436
- "description": "Release name to pull from",
2437
- "name": "release",
2338
+ "name": {
2339
+ "char": "n",
2340
+ "description": "Name for the release",
2341
+ "name": "name",
2438
2342
  "required": true,
2439
2343
  "hasDynamicHelp": false,
2440
2344
  "multiple": false,
2441
2345
  "type": "option"
2442
2346
  },
2347
+ "output": {
2348
+ "char": "o",
2349
+ "description": "Output format",
2350
+ "name": "output",
2351
+ "required": false,
2352
+ "default": "summary",
2353
+ "hasDynamicHelp": false,
2354
+ "multiple": false,
2355
+ "options": [
2356
+ "summary",
2357
+ "json"
2358
+ ],
2359
+ "type": "option"
2360
+ },
2361
+ "records": {
2362
+ "description": "Include records (default: true, use --no-records to exclude)",
2363
+ "name": "records",
2364
+ "required": false,
2365
+ "allowNo": true,
2366
+ "type": "boolean"
2367
+ },
2443
2368
  "workspace": {
2444
2369
  "char": "w",
2445
2370
  "description": "Workspace ID (optional if set in profile)",
@@ -2452,7 +2377,7 @@
2452
2377
  },
2453
2378
  "hasDynamicHelp": false,
2454
2379
  "hiddenAliases": [],
2455
- "id": "release:pull",
2380
+ "id": "release:push",
2456
2381
  "pluginAlias": "@xano/cli",
2457
2382
  "pluginName": "@xano/cli",
2458
2383
  "pluginType": "core",
@@ -2463,7 +2388,7 @@
2463
2388
  "dist",
2464
2389
  "commands",
2465
2390
  "release",
2466
- "pull",
2391
+ "push",
2467
2392
  "index.js"
2468
2393
  ]
2469
2394
  },
@@ -2556,6 +2481,164 @@
2556
2481
  "index.js"
2557
2482
  ]
2558
2483
  },
2484
+ "release:get": {
2485
+ "aliases": [],
2486
+ "args": {
2487
+ "release_name": {
2488
+ "description": "Release name to retrieve",
2489
+ "name": "release_name",
2490
+ "required": true
2491
+ }
2492
+ },
2493
+ "description": "Get details of a specific release",
2494
+ "examples": [
2495
+ "$ xano release get v1.0\nRelease: v1.0 - ID: 10\n Branch: main\n Description: Initial release\n Hotfix: false\n",
2496
+ "$ xano release get v1.0 -w 5 -o json"
2497
+ ],
2498
+ "flags": {
2499
+ "profile": {
2500
+ "char": "p",
2501
+ "description": "Profile to use (uses default profile if not specified)",
2502
+ "env": "XANO_PROFILE",
2503
+ "name": "profile",
2504
+ "required": false,
2505
+ "hasDynamicHelp": false,
2506
+ "multiple": false,
2507
+ "type": "option"
2508
+ },
2509
+ "verbose": {
2510
+ "char": "v",
2511
+ "description": "Show detailed request/response information",
2512
+ "env": "XANO_VERBOSE",
2513
+ "name": "verbose",
2514
+ "required": false,
2515
+ "allowNo": false,
2516
+ "type": "boolean"
2517
+ },
2518
+ "output": {
2519
+ "char": "o",
2520
+ "description": "Output format",
2521
+ "name": "output",
2522
+ "required": false,
2523
+ "default": "summary",
2524
+ "hasDynamicHelp": false,
2525
+ "multiple": false,
2526
+ "options": [
2527
+ "summary",
2528
+ "json"
2529
+ ],
2530
+ "type": "option"
2531
+ },
2532
+ "workspace": {
2533
+ "char": "w",
2534
+ "description": "Workspace ID (uses profile workspace if not provided)",
2535
+ "name": "workspace",
2536
+ "required": false,
2537
+ "hasDynamicHelp": false,
2538
+ "multiple": false,
2539
+ "type": "option"
2540
+ }
2541
+ },
2542
+ "hasDynamicHelp": false,
2543
+ "hiddenAliases": [],
2544
+ "id": "release:get",
2545
+ "pluginAlias": "@xano/cli",
2546
+ "pluginName": "@xano/cli",
2547
+ "pluginType": "core",
2548
+ "strict": true,
2549
+ "enableJsonFlag": false,
2550
+ "isESM": true,
2551
+ "relativePath": [
2552
+ "dist",
2553
+ "commands",
2554
+ "release",
2555
+ "get",
2556
+ "index.js"
2557
+ ]
2558
+ },
2559
+ "tenant:deploy_platform": {
2560
+ "aliases": [],
2561
+ "args": {
2562
+ "tenant_name": {
2563
+ "description": "Tenant name to deploy to",
2564
+ "name": "tenant_name",
2565
+ "required": true
2566
+ }
2567
+ },
2568
+ "description": "Deploy a platform version to a tenant",
2569
+ "examples": [
2570
+ "$ xano tenant deploy_platform t1234-abcd-xyz1 --platform_id 5\nDeployed platform 5 to tenant: My Tenant (my-tenant)\n",
2571
+ "$ xano tenant deploy_platform t1234-abcd-xyz1 --platform_id 5 -o json"
2572
+ ],
2573
+ "flags": {
2574
+ "profile": {
2575
+ "char": "p",
2576
+ "description": "Profile to use (uses default profile if not specified)",
2577
+ "env": "XANO_PROFILE",
2578
+ "name": "profile",
2579
+ "required": false,
2580
+ "hasDynamicHelp": false,
2581
+ "multiple": false,
2582
+ "type": "option"
2583
+ },
2584
+ "verbose": {
2585
+ "char": "v",
2586
+ "description": "Show detailed request/response information",
2587
+ "env": "XANO_VERBOSE",
2588
+ "name": "verbose",
2589
+ "required": false,
2590
+ "allowNo": false,
2591
+ "type": "boolean"
2592
+ },
2593
+ "output": {
2594
+ "char": "o",
2595
+ "description": "Output format",
2596
+ "name": "output",
2597
+ "required": false,
2598
+ "default": "summary",
2599
+ "hasDynamicHelp": false,
2600
+ "multiple": false,
2601
+ "options": [
2602
+ "summary",
2603
+ "json"
2604
+ ],
2605
+ "type": "option"
2606
+ },
2607
+ "platform_id": {
2608
+ "description": "Platform ID to deploy",
2609
+ "name": "platform_id",
2610
+ "required": true,
2611
+ "hasDynamicHelp": false,
2612
+ "multiple": false,
2613
+ "type": "option"
2614
+ },
2615
+ "workspace": {
2616
+ "char": "w",
2617
+ "description": "Workspace ID (uses profile workspace if not provided)",
2618
+ "name": "workspace",
2619
+ "required": false,
2620
+ "hasDynamicHelp": false,
2621
+ "multiple": false,
2622
+ "type": "option"
2623
+ }
2624
+ },
2625
+ "hasDynamicHelp": false,
2626
+ "hiddenAliases": [],
2627
+ "id": "tenant:deploy_platform",
2628
+ "pluginAlias": "@xano/cli",
2629
+ "pluginName": "@xano/cli",
2630
+ "pluginType": "core",
2631
+ "strict": true,
2632
+ "enableJsonFlag": false,
2633
+ "isESM": true,
2634
+ "relativePath": [
2635
+ "dist",
2636
+ "commands",
2637
+ "tenant",
2638
+ "deploy_platform",
2639
+ "index.js"
2640
+ ]
2641
+ },
2559
2642
  "tenant:delete": {
2560
2643
  "aliases": [],
2561
2644
  "args": {
@@ -2780,7 +2863,7 @@
2780
2863
  "index.js"
2781
2864
  ]
2782
2865
  },
2783
- "tenant:deploy_platform": {
2866
+ "tenant:deploy_release": {
2784
2867
  "aliases": [],
2785
2868
  "args": {
2786
2869
  "tenant_name": {
@@ -2789,10 +2872,10 @@
2789
2872
  "required": true
2790
2873
  }
2791
2874
  },
2792
- "description": "Deploy a platform version to a tenant",
2875
+ "description": "Deploy a release to a tenant",
2793
2876
  "examples": [
2794
- "$ xano tenant deploy_platform t1234-abcd-xyz1 --platform_id 5\nDeployed platform 5 to tenant: My Tenant (my-tenant)\n",
2795
- "$ xano tenant deploy_platform t1234-abcd-xyz1 --platform_id 5 -o json"
2877
+ "$ xano tenant deploy_release t1234-abcd-xyz1 --release v1.0\nDeployed release \"v1.0\" to tenant: My Tenant (my-tenant)\n",
2878
+ "$ xano tenant deploy_release t1234-abcd-xyz1 --release v1.0 -o json"
2796
2879
  ],
2797
2880
  "flags": {
2798
2881
  "profile": {
@@ -2828,11 +2911,12 @@
2828
2911
  ],
2829
2912
  "type": "option"
2830
2913
  },
2831
- "platform_id": {
2832
- "description": "Platform ID to deploy",
2833
- "name": "platform_id",
2834
- "required": true,
2835
- "hasDynamicHelp": false,
2914
+ "release": {
2915
+ "char": "r",
2916
+ "description": "Release name to deploy",
2917
+ "name": "release",
2918
+ "required": true,
2919
+ "hasDynamicHelp": false,
2836
2920
  "multiple": false,
2837
2921
  "type": "option"
2838
2922
  },
@@ -2848,7 +2932,7 @@
2848
2932
  },
2849
2933
  "hasDynamicHelp": false,
2850
2934
  "hiddenAliases": [],
2851
- "id": "tenant:deploy_platform",
2935
+ "id": "tenant:deploy_release",
2852
2936
  "pluginAlias": "@xano/cli",
2853
2937
  "pluginName": "@xano/cli",
2854
2938
  "pluginType": "core",
@@ -2859,7 +2943,7 @@
2859
2943
  "dist",
2860
2944
  "commands",
2861
2945
  "tenant",
2862
- "deploy_platform",
2946
+ "deploy_release",
2863
2947
  "index.js"
2864
2948
  ]
2865
2949
  },
@@ -2992,90 +3076,6 @@
2992
3076
  "index.js"
2993
3077
  ]
2994
3078
  },
2995
- "tenant:deploy_release": {
2996
- "aliases": [],
2997
- "args": {
2998
- "tenant_name": {
2999
- "description": "Tenant name to deploy to",
3000
- "name": "tenant_name",
3001
- "required": true
3002
- }
3003
- },
3004
- "description": "Deploy a release to a tenant",
3005
- "examples": [
3006
- "$ xano tenant deploy_release t1234-abcd-xyz1 --release v1.0\nDeployed release \"v1.0\" to tenant: My Tenant (my-tenant)\n",
3007
- "$ xano tenant deploy_release t1234-abcd-xyz1 --release v1.0 -o json"
3008
- ],
3009
- "flags": {
3010
- "profile": {
3011
- "char": "p",
3012
- "description": "Profile to use (uses default profile if not specified)",
3013
- "env": "XANO_PROFILE",
3014
- "name": "profile",
3015
- "required": false,
3016
- "hasDynamicHelp": false,
3017
- "multiple": false,
3018
- "type": "option"
3019
- },
3020
- "verbose": {
3021
- "char": "v",
3022
- "description": "Show detailed request/response information",
3023
- "env": "XANO_VERBOSE",
3024
- "name": "verbose",
3025
- "required": false,
3026
- "allowNo": false,
3027
- "type": "boolean"
3028
- },
3029
- "output": {
3030
- "char": "o",
3031
- "description": "Output format",
3032
- "name": "output",
3033
- "required": false,
3034
- "default": "summary",
3035
- "hasDynamicHelp": false,
3036
- "multiple": false,
3037
- "options": [
3038
- "summary",
3039
- "json"
3040
- ],
3041
- "type": "option"
3042
- },
3043
- "release": {
3044
- "char": "r",
3045
- "description": "Release name to deploy",
3046
- "name": "release",
3047
- "required": true,
3048
- "hasDynamicHelp": false,
3049
- "multiple": false,
3050
- "type": "option"
3051
- },
3052
- "workspace": {
3053
- "char": "w",
3054
- "description": "Workspace ID (uses profile workspace if not provided)",
3055
- "name": "workspace",
3056
- "required": false,
3057
- "hasDynamicHelp": false,
3058
- "multiple": false,
3059
- "type": "option"
3060
- }
3061
- },
3062
- "hasDynamicHelp": false,
3063
- "hiddenAliases": [],
3064
- "id": "tenant:deploy_release",
3065
- "pluginAlias": "@xano/cli",
3066
- "pluginName": "@xano/cli",
3067
- "pluginType": "core",
3068
- "strict": true,
3069
- "enableJsonFlag": false,
3070
- "isESM": true,
3071
- "relativePath": [
3072
- "dist",
3073
- "commands",
3074
- "tenant",
3075
- "deploy_release",
3076
- "index.js"
3077
- ]
3078
- },
3079
3079
  "tenant:get": {
3080
3080
  "aliases": [],
3081
3081
  "args": {
@@ -3162,348 +3162,8 @@
3162
3162
  },
3163
3163
  "description": "Impersonate a tenant and open it in the browser",
3164
3164
  "examples": [
3165
- "$ xano tenant impersonate my-tenant\nOpening browser...\nImpersonation successful!\n",
3166
- "$ xano tenant impersonate my-tenant -o json"
3167
- ],
3168
- "flags": {
3169
- "profile": {
3170
- "char": "p",
3171
- "description": "Profile to use (uses default profile if not specified)",
3172
- "env": "XANO_PROFILE",
3173
- "name": "profile",
3174
- "required": false,
3175
- "hasDynamicHelp": false,
3176
- "multiple": false,
3177
- "type": "option"
3178
- },
3179
- "verbose": {
3180
- "char": "v",
3181
- "description": "Show detailed request/response information",
3182
- "env": "XANO_VERBOSE",
3183
- "name": "verbose",
3184
- "required": false,
3185
- "allowNo": false,
3186
- "type": "boolean"
3187
- },
3188
- "output": {
3189
- "char": "o",
3190
- "description": "Output format",
3191
- "name": "output",
3192
- "required": false,
3193
- "default": "summary",
3194
- "hasDynamicHelp": false,
3195
- "multiple": false,
3196
- "options": [
3197
- "summary",
3198
- "json"
3199
- ],
3200
- "type": "option"
3201
- },
3202
- "url-only": {
3203
- "char": "u",
3204
- "description": "Print the URL without opening the browser",
3205
- "name": "url-only",
3206
- "required": false,
3207
- "allowNo": false,
3208
- "type": "boolean"
3209
- },
3210
- "workspace": {
3211
- "char": "w",
3212
- "description": "Workspace ID (uses profile workspace if not provided)",
3213
- "name": "workspace",
3214
- "required": false,
3215
- "hasDynamicHelp": false,
3216
- "multiple": false,
3217
- "type": "option"
3218
- }
3219
- },
3220
- "hasDynamicHelp": false,
3221
- "hiddenAliases": [],
3222
- "id": "tenant:impersonate",
3223
- "pluginAlias": "@xano/cli",
3224
- "pluginName": "@xano/cli",
3225
- "pluginType": "core",
3226
- "strict": true,
3227
- "enableJsonFlag": false,
3228
- "isESM": true,
3229
- "relativePath": [
3230
- "dist",
3231
- "commands",
3232
- "tenant",
3233
- "impersonate",
3234
- "index.js"
3235
- ]
3236
- },
3237
- "tenant:list": {
3238
- "aliases": [],
3239
- "args": {},
3240
- "description": "List all tenants in a workspace",
3241
- "examples": [
3242
- "$ xano tenant list\nTenants in workspace 5:\n - My Tenant (my-tenant) [ok] - tier1\n - Staging (staging) [ok] - tier1\n",
3243
- "$ xano tenant list -w 5 --output json"
3244
- ],
3245
- "flags": {
3246
- "profile": {
3247
- "char": "p",
3248
- "description": "Profile to use (uses default profile if not specified)",
3249
- "env": "XANO_PROFILE",
3250
- "name": "profile",
3251
- "required": false,
3252
- "hasDynamicHelp": false,
3253
- "multiple": false,
3254
- "type": "option"
3255
- },
3256
- "verbose": {
3257
- "char": "v",
3258
- "description": "Show detailed request/response information",
3259
- "env": "XANO_VERBOSE",
3260
- "name": "verbose",
3261
- "required": false,
3262
- "allowNo": false,
3263
- "type": "boolean"
3264
- },
3265
- "output": {
3266
- "char": "o",
3267
- "description": "Output format",
3268
- "name": "output",
3269
- "required": false,
3270
- "default": "summary",
3271
- "hasDynamicHelp": false,
3272
- "multiple": false,
3273
- "options": [
3274
- "summary",
3275
- "json"
3276
- ],
3277
- "type": "option"
3278
- },
3279
- "workspace": {
3280
- "char": "w",
3281
- "description": "Workspace ID (uses profile workspace if not provided)",
3282
- "name": "workspace",
3283
- "required": false,
3284
- "hasDynamicHelp": false,
3285
- "multiple": false,
3286
- "type": "option"
3287
- }
3288
- },
3289
- "hasDynamicHelp": false,
3290
- "hiddenAliases": [],
3291
- "id": "tenant:list",
3292
- "pluginAlias": "@xano/cli",
3293
- "pluginName": "@xano/cli",
3294
- "pluginType": "core",
3295
- "strict": true,
3296
- "enableJsonFlag": false,
3297
- "isESM": true,
3298
- "relativePath": [
3299
- "dist",
3300
- "commands",
3301
- "tenant",
3302
- "list",
3303
- "index.js"
3304
- ]
3305
- },
3306
- "tenant:push": {
3307
- "aliases": [],
3308
- "args": {
3309
- "directory": {
3310
- "description": "Directory containing documents to push (as produced by tenant pull or workspace pull)",
3311
- "name": "directory",
3312
- "required": true
3313
- }
3314
- },
3315
- "description": "Push local documents to a tenant via the Xano Metadata API multidoc endpoint",
3316
- "examples": [
3317
- "$ xano tenant push ./my-workspace -t my-tenant\nPushed 42 documents to tenant my-tenant from ./my-workspace\n",
3318
- "$ xano tenant push ./output -t my-tenant -w 40\nPushed 15 documents to tenant my-tenant from ./output\n",
3319
- "$ xano tenant push ./backup -t my-tenant --profile production\nPushed 58 documents to tenant my-tenant from ./backup\n",
3320
- "$ xano tenant push ./my-workspace -t my-tenant --no-records\nPush schema only, skip importing table records\n",
3321
- "$ xano tenant push ./my-workspace -t my-tenant --no-env\nPush without overwriting environment variables\n",
3322
- "$ xano tenant push ./my-workspace -t my-tenant --truncate\nTruncate all table records before importing\n"
3323
- ],
3324
- "flags": {
3325
- "profile": {
3326
- "char": "p",
3327
- "description": "Profile to use (uses default profile if not specified)",
3328
- "env": "XANO_PROFILE",
3329
- "name": "profile",
3330
- "required": false,
3331
- "hasDynamicHelp": false,
3332
- "multiple": false,
3333
- "type": "option"
3334
- },
3335
- "verbose": {
3336
- "char": "v",
3337
- "description": "Show detailed request/response information",
3338
- "env": "XANO_VERBOSE",
3339
- "name": "verbose",
3340
- "required": false,
3341
- "allowNo": false,
3342
- "type": "boolean"
3343
- },
3344
- "env": {
3345
- "description": "Include environment variables in import (default: true, use --no-env to exclude)",
3346
- "name": "env",
3347
- "required": false,
3348
- "allowNo": true,
3349
- "type": "boolean"
3350
- },
3351
- "records": {
3352
- "description": "Include records in import (default: true, use --no-records to exclude)",
3353
- "name": "records",
3354
- "required": false,
3355
- "allowNo": true,
3356
- "type": "boolean"
3357
- },
3358
- "tenant": {
3359
- "char": "t",
3360
- "description": "Tenant name to push to",
3361
- "name": "tenant",
3362
- "required": true,
3363
- "hasDynamicHelp": false,
3364
- "multiple": false,
3365
- "type": "option"
3366
- },
3367
- "truncate": {
3368
- "description": "Truncate all table records before importing",
3369
- "name": "truncate",
3370
- "required": false,
3371
- "allowNo": false,
3372
- "type": "boolean"
3373
- },
3374
- "workspace": {
3375
- "char": "w",
3376
- "description": "Workspace ID (optional if set in profile)",
3377
- "name": "workspace",
3378
- "required": false,
3379
- "hasDynamicHelp": false,
3380
- "multiple": false,
3381
- "type": "option"
3382
- }
3383
- },
3384
- "hasDynamicHelp": false,
3385
- "hiddenAliases": [],
3386
- "id": "tenant:push",
3387
- "pluginAlias": "@xano/cli",
3388
- "pluginName": "@xano/cli",
3389
- "pluginType": "core",
3390
- "strict": true,
3391
- "enableJsonFlag": false,
3392
- "isESM": true,
3393
- "relativePath": [
3394
- "dist",
3395
- "commands",
3396
- "tenant",
3397
- "push",
3398
- "index.js"
3399
- ]
3400
- },
3401
- "tenant:pull": {
3402
- "aliases": [],
3403
- "args": {
3404
- "directory": {
3405
- "description": "Output directory for pulled documents",
3406
- "name": "directory",
3407
- "required": true
3408
- }
3409
- },
3410
- "description": "Pull a tenant multidoc from the Xano Metadata API and split into individual files",
3411
- "examples": [
3412
- "$ xano tenant pull ./my-tenant -t my-tenant\nPulled 42 documents from tenant my-tenant to ./my-tenant\n",
3413
- "$ xano tenant pull ./output -t my-tenant -w 40\nPulled 15 documents from tenant my-tenant to ./output\n",
3414
- "$ xano tenant pull ./backup -t my-tenant --profile production --env --records\nPulled 58 documents from tenant my-tenant to ./backup\n",
3415
- "$ xano tenant pull ./my-tenant -t my-tenant --draft\nPulled 42 documents from tenant my-tenant to ./my-tenant\n"
3416
- ],
3417
- "flags": {
3418
- "profile": {
3419
- "char": "p",
3420
- "description": "Profile to use (uses default profile if not specified)",
3421
- "env": "XANO_PROFILE",
3422
- "name": "profile",
3423
- "required": false,
3424
- "hasDynamicHelp": false,
3425
- "multiple": false,
3426
- "type": "option"
3427
- },
3428
- "verbose": {
3429
- "char": "v",
3430
- "description": "Show detailed request/response information",
3431
- "env": "XANO_VERBOSE",
3432
- "name": "verbose",
3433
- "required": false,
3434
- "allowNo": false,
3435
- "type": "boolean"
3436
- },
3437
- "draft": {
3438
- "description": "Include draft versions",
3439
- "name": "draft",
3440
- "required": false,
3441
- "allowNo": false,
3442
- "type": "boolean"
3443
- },
3444
- "env": {
3445
- "description": "Include environment variables",
3446
- "name": "env",
3447
- "required": false,
3448
- "allowNo": false,
3449
- "type": "boolean"
3450
- },
3451
- "records": {
3452
- "description": "Include records",
3453
- "name": "records",
3454
- "required": false,
3455
- "allowNo": false,
3456
- "type": "boolean"
3457
- },
3458
- "tenant": {
3459
- "char": "t",
3460
- "description": "Tenant name to pull from",
3461
- "name": "tenant",
3462
- "required": true,
3463
- "hasDynamicHelp": false,
3464
- "multiple": false,
3465
- "type": "option"
3466
- },
3467
- "workspace": {
3468
- "char": "w",
3469
- "description": "Workspace ID (optional if set in profile)",
3470
- "name": "workspace",
3471
- "required": false,
3472
- "hasDynamicHelp": false,
3473
- "multiple": false,
3474
- "type": "option"
3475
- }
3476
- },
3477
- "hasDynamicHelp": false,
3478
- "hiddenAliases": [],
3479
- "id": "tenant:pull",
3480
- "pluginAlias": "@xano/cli",
3481
- "pluginName": "@xano/cli",
3482
- "pluginType": "core",
3483
- "strict": true,
3484
- "enableJsonFlag": false,
3485
- "isESM": true,
3486
- "relativePath": [
3487
- "dist",
3488
- "commands",
3489
- "tenant",
3490
- "pull",
3491
- "index.js"
3492
- ]
3493
- },
3494
- "unit_test:run": {
3495
- "aliases": [],
3496
- "args": {
3497
- "unit_test_id": {
3498
- "description": "ID of the unit test to run",
3499
- "name": "unit_test_id",
3500
- "required": true
3501
- }
3502
- },
3503
- "description": "Run a unit test",
3504
- "examples": [
3505
- "$ xano unit-test run abc-123\nRunning unit test abc-123...\nResult: PASS\n",
3506
- "$ xano unit-test run abc-123 -o json"
3165
+ "$ xano tenant impersonate my-tenant\nOpening browser...\nImpersonation successful!\n",
3166
+ "$ xano tenant impersonate my-tenant -o json"
3507
3167
  ],
3508
3168
  "flags": {
3509
3169
  "profile": {
@@ -3539,6 +3199,14 @@
3539
3199
  ],
3540
3200
  "type": "option"
3541
3201
  },
3202
+ "url-only": {
3203
+ "char": "u",
3204
+ "description": "Print the URL without opening the browser",
3205
+ "name": "url-only",
3206
+ "required": false,
3207
+ "allowNo": false,
3208
+ "type": "boolean"
3209
+ },
3542
3210
  "workspace": {
3543
3211
  "char": "w",
3544
3212
  "description": "Workspace ID (uses profile workspace if not provided)",
@@ -3551,7 +3219,7 @@
3551
3219
  },
3552
3220
  "hasDynamicHelp": false,
3553
3221
  "hiddenAliases": [],
3554
- "id": "unit_test:run",
3222
+ "id": "tenant:impersonate",
3555
3223
  "pluginAlias": "@xano/cli",
3556
3224
  "pluginName": "@xano/cli",
3557
3225
  "pluginType": "core",
@@ -3561,19 +3229,18 @@
3561
3229
  "relativePath": [
3562
3230
  "dist",
3563
3231
  "commands",
3564
- "unit_test",
3565
- "run",
3232
+ "tenant",
3233
+ "impersonate",
3566
3234
  "index.js"
3567
3235
  ]
3568
3236
  },
3569
- "unit_test:list": {
3237
+ "tenant:list": {
3570
3238
  "aliases": [],
3571
3239
  "args": {},
3572
- "description": "List all unit tests in a workspace",
3240
+ "description": "List all tenants in a workspace",
3573
3241
  "examples": [
3574
- "$ 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",
3575
- "$ xano unit-test list -w 5 --output json",
3576
- "$ xano unit-test list --obj-type function"
3242
+ "$ xano tenant list\nTenants in workspace 5:\n - My Tenant (my-tenant) [ok] - tier1\n - Staging (staging) [ok] - tier1\n",
3243
+ "$ xano tenant list -w 5 --output json"
3577
3244
  ],
3578
3245
  "flags": {
3579
3246
  "profile": {
@@ -3595,28 +3262,6 @@
3595
3262
  "allowNo": false,
3596
3263
  "type": "boolean"
3597
3264
  },
3598
- "branch": {
3599
- "char": "b",
3600
- "description": "Filter by branch name",
3601
- "name": "branch",
3602
- "required": false,
3603
- "hasDynamicHelp": false,
3604
- "multiple": false,
3605
- "type": "option"
3606
- },
3607
- "obj-type": {
3608
- "description": "Filter by object type",
3609
- "name": "obj-type",
3610
- "required": false,
3611
- "hasDynamicHelp": false,
3612
- "multiple": false,
3613
- "options": [
3614
- "function",
3615
- "query",
3616
- "middleware"
3617
- ],
3618
- "type": "option"
3619
- },
3620
3265
  "output": {
3621
3266
  "char": "o",
3622
3267
  "description": "Output format",
@@ -3643,7 +3288,7 @@
3643
3288
  },
3644
3289
  "hasDynamicHelp": false,
3645
3290
  "hiddenAliases": [],
3646
- "id": "unit_test:list",
3291
+ "id": "tenant:list",
3647
3292
  "pluginAlias": "@xano/cli",
3648
3293
  "pluginName": "@xano/cli",
3649
3294
  "pluginType": "core",
@@ -3653,18 +3298,26 @@
3653
3298
  "relativePath": [
3654
3299
  "dist",
3655
3300
  "commands",
3656
- "unit_test",
3301
+ "tenant",
3657
3302
  "list",
3658
3303
  "index.js"
3659
3304
  ]
3660
3305
  },
3661
- "unit_test:run_all": {
3306
+ "tenant:pull": {
3662
3307
  "aliases": [],
3663
- "args": {},
3664
- "description": "Run all unit tests in a workspace",
3308
+ "args": {
3309
+ "directory": {
3310
+ "description": "Output directory for pulled documents",
3311
+ "name": "directory",
3312
+ "required": true
3313
+ }
3314
+ },
3315
+ "description": "Pull a tenant multidoc from the Xano Metadata API and split into individual files",
3665
3316
  "examples": [
3666
- "$ 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",
3667
- "$ xano unit-test run-all --obj-type function -o json"
3317
+ "$ xano tenant pull ./my-tenant -t my-tenant\nPulled 42 documents from tenant my-tenant to ./my-tenant\n",
3318
+ "$ xano tenant pull ./output -t my-tenant -w 40\nPulled 15 documents from tenant my-tenant to ./output\n",
3319
+ "$ xano tenant pull ./backup -t my-tenant --profile production --env --records\nPulled 58 documents from tenant my-tenant to ./backup\n",
3320
+ "$ xano tenant pull ./my-tenant -t my-tenant --draft\nPulled 42 documents from tenant my-tenant to ./my-tenant\n"
3668
3321
  ],
3669
3322
  "flags": {
3670
3323
  "profile": {
@@ -3686,45 +3339,39 @@
3686
3339
  "allowNo": false,
3687
3340
  "type": "boolean"
3688
3341
  },
3689
- "branch": {
3690
- "char": "b",
3691
- "description": "Filter by branch name",
3692
- "name": "branch",
3342
+ "draft": {
3343
+ "description": "Include draft versions",
3344
+ "name": "draft",
3693
3345
  "required": false,
3694
- "hasDynamicHelp": false,
3695
- "multiple": false,
3696
- "type": "option"
3346
+ "allowNo": false,
3347
+ "type": "boolean"
3697
3348
  },
3698
- "obj-type": {
3699
- "description": "Filter by object type",
3700
- "name": "obj-type",
3349
+ "env": {
3350
+ "description": "Include environment variables",
3351
+ "name": "env",
3701
3352
  "required": false,
3702
- "hasDynamicHelp": false,
3703
- "multiple": false,
3704
- "options": [
3705
- "function",
3706
- "query",
3707
- "middleware"
3708
- ],
3709
- "type": "option"
3353
+ "allowNo": false,
3354
+ "type": "boolean"
3710
3355
  },
3711
- "output": {
3712
- "char": "o",
3713
- "description": "Output format",
3714
- "name": "output",
3356
+ "records": {
3357
+ "description": "Include records",
3358
+ "name": "records",
3715
3359
  "required": false,
3716
- "default": "summary",
3360
+ "allowNo": false,
3361
+ "type": "boolean"
3362
+ },
3363
+ "tenant": {
3364
+ "char": "t",
3365
+ "description": "Tenant name to pull from",
3366
+ "name": "tenant",
3367
+ "required": true,
3717
3368
  "hasDynamicHelp": false,
3718
3369
  "multiple": false,
3719
- "options": [
3720
- "summary",
3721
- "json"
3722
- ],
3723
3370
  "type": "option"
3724
3371
  },
3725
3372
  "workspace": {
3726
3373
  "char": "w",
3727
- "description": "Workspace ID (uses profile workspace if not provided)",
3374
+ "description": "Workspace ID (optional if set in profile)",
3728
3375
  "name": "workspace",
3729
3376
  "required": false,
3730
3377
  "hasDynamicHelp": false,
@@ -3734,7 +3381,7 @@
3734
3381
  },
3735
3382
  "hasDynamicHelp": false,
3736
3383
  "hiddenAliases": [],
3737
- "id": "unit_test:run_all",
3384
+ "id": "tenant:pull",
3738
3385
  "pluginAlias": "@xano/cli",
3739
3386
  "pluginName": "@xano/cli",
3740
3387
  "pluginType": "core",
@@ -3744,25 +3391,28 @@
3744
3391
  "relativePath": [
3745
3392
  "dist",
3746
3393
  "commands",
3747
- "unit_test",
3748
- "run_all",
3394
+ "tenant",
3395
+ "pull",
3749
3396
  "index.js"
3750
3397
  ]
3751
3398
  },
3752
- "workflow_test:get": {
3399
+ "tenant:push": {
3753
3400
  "aliases": [],
3754
3401
  "args": {
3755
- "workflow_test_id": {
3756
- "description": "ID of the workflow test",
3757
- "name": "workflow_test_id",
3402
+ "directory": {
3403
+ "description": "Directory containing documents to push (as produced by tenant pull or workspace pull)",
3404
+ "name": "directory",
3758
3405
  "required": true
3759
3406
  }
3760
3407
  },
3761
- "description": "Get a specific workflow test",
3408
+ "description": "Push local documents to a tenant via the Xano Metadata API multidoc endpoint",
3762
3409
  "examples": [
3763
- "$ xano workflow-test get 1\nWorkflow Test: my-test (ID: 1)\n Description: Validates auth endpoints\n Branch: main\n",
3764
- "$ xano workflow-test get 1 -o xs",
3765
- "$ xano workflow-test get 1 -o json"
3410
+ "$ xano tenant push ./my-workspace -t my-tenant\nPushed 42 documents to tenant my-tenant from ./my-workspace\n",
3411
+ "$ xano tenant push ./output -t my-tenant -w 40\nPushed 15 documents to tenant my-tenant from ./output\n",
3412
+ "$ xano tenant push ./backup -t my-tenant --profile production\nPushed 58 documents to tenant my-tenant from ./backup\n",
3413
+ "$ xano tenant push ./my-workspace -t my-tenant --no-records\nPush schema only, skip importing table records\n",
3414
+ "$ xano tenant push ./my-workspace -t my-tenant --no-env\nPush without overwriting environment variables\n",
3415
+ "$ xano tenant push ./my-workspace -t my-tenant --truncate\nTruncate all table records before importing\n"
3766
3416
  ],
3767
3417
  "flags": {
3768
3418
  "profile": {
@@ -3784,31 +3434,39 @@
3784
3434
  "allowNo": false,
3785
3435
  "type": "boolean"
3786
3436
  },
3787
- "include-draft": {
3788
- "description": "Include draft version",
3789
- "name": "include-draft",
3437
+ "env": {
3438
+ "description": "Include environment variables in import (default: true, use --no-env to exclude)",
3439
+ "name": "env",
3790
3440
  "required": false,
3791
- "allowNo": false,
3441
+ "allowNo": true,
3792
3442
  "type": "boolean"
3793
3443
  },
3794
- "output": {
3795
- "char": "o",
3796
- "description": "Output format",
3797
- "name": "output",
3444
+ "records": {
3445
+ "description": "Include records in import (default: true, use --no-records to exclude)",
3446
+ "name": "records",
3798
3447
  "required": false,
3799
- "default": "summary",
3448
+ "allowNo": true,
3449
+ "type": "boolean"
3450
+ },
3451
+ "tenant": {
3452
+ "char": "t",
3453
+ "description": "Tenant name to push to",
3454
+ "name": "tenant",
3455
+ "required": true,
3800
3456
  "hasDynamicHelp": false,
3801
3457
  "multiple": false,
3802
- "options": [
3803
- "summary",
3804
- "json",
3805
- "xs"
3806
- ],
3807
3458
  "type": "option"
3808
3459
  },
3460
+ "truncate": {
3461
+ "description": "Truncate all table records before importing",
3462
+ "name": "truncate",
3463
+ "required": false,
3464
+ "allowNo": false,
3465
+ "type": "boolean"
3466
+ },
3809
3467
  "workspace": {
3810
3468
  "char": "w",
3811
- "description": "Workspace ID (uses profile workspace if not provided)",
3469
+ "description": "Workspace ID (optional if set in profile)",
3812
3470
  "name": "workspace",
3813
3471
  "required": false,
3814
3472
  "hasDynamicHelp": false,
@@ -3818,7 +3476,7 @@
3818
3476
  },
3819
3477
  "hasDynamicHelp": false,
3820
3478
  "hiddenAliases": [],
3821
- "id": "workflow_test:get",
3479
+ "id": "tenant:push",
3822
3480
  "pluginAlias": "@xano/cli",
3823
3481
  "pluginName": "@xano/cli",
3824
3482
  "pluginType": "core",
@@ -3828,24 +3486,24 @@
3828
3486
  "relativePath": [
3829
3487
  "dist",
3830
3488
  "commands",
3831
- "workflow_test",
3832
- "get",
3489
+ "tenant",
3490
+ "push",
3833
3491
  "index.js"
3834
3492
  ]
3835
3493
  },
3836
- "workflow_test:delete": {
3494
+ "unit_test:run": {
3837
3495
  "aliases": [],
3838
3496
  "args": {
3839
- "workflow_test_id": {
3840
- "description": "ID of the workflow test to delete",
3841
- "name": "workflow_test_id",
3497
+ "unit_test_id": {
3498
+ "description": "ID of the unit test to run",
3499
+ "name": "unit_test_id",
3842
3500
  "required": true
3843
3501
  }
3844
3502
  },
3845
- "description": "Delete a workflow test",
3503
+ "description": "Run a unit test",
3846
3504
  "examples": [
3847
- "$ xano workflow-test delete 1\nAre you sure you want to delete workflow test 1? (y/N) y\nDeleted workflow test 1\n",
3848
- "$ xano workflow-test delete 1 --force"
3505
+ "$ xano unit-test run abc-123\nRunning unit test abc-123...\nResult: PASS\n",
3506
+ "$ xano unit-test run abc-123 -o json"
3849
3507
  ],
3850
3508
  "flags": {
3851
3509
  "profile": {
@@ -3867,14 +3525,6 @@
3867
3525
  "allowNo": false,
3868
3526
  "type": "boolean"
3869
3527
  },
3870
- "force": {
3871
- "char": "f",
3872
- "description": "Skip confirmation prompt",
3873
- "name": "force",
3874
- "required": false,
3875
- "allowNo": false,
3876
- "type": "boolean"
3877
- },
3878
3528
  "output": {
3879
3529
  "char": "o",
3880
3530
  "description": "Output format",
@@ -3901,7 +3551,7 @@
3901
3551
  },
3902
3552
  "hasDynamicHelp": false,
3903
3553
  "hiddenAliases": [],
3904
- "id": "workflow_test:delete",
3554
+ "id": "unit_test:run",
3905
3555
  "pluginAlias": "@xano/cli",
3906
3556
  "pluginName": "@xano/cli",
3907
3557
  "pluginType": "core",
@@ -3911,24 +3561,19 @@
3911
3561
  "relativePath": [
3912
3562
  "dist",
3913
3563
  "commands",
3914
- "workflow_test",
3915
- "delete",
3564
+ "unit_test",
3565
+ "run",
3916
3566
  "index.js"
3917
3567
  ]
3918
3568
  },
3919
- "workflow_test:run": {
3569
+ "unit_test:list": {
3920
3570
  "aliases": [],
3921
- "args": {
3922
- "workflow_test_id": {
3923
- "description": "ID of the workflow test to run",
3924
- "name": "workflow_test_id",
3925
- "required": true
3926
- }
3927
- },
3928
- "description": "Run a workflow test",
3571
+ "args": {},
3572
+ "description": "List all unit tests in a workspace",
3929
3573
  "examples": [
3930
- "$ xano workflow-test run 1\nRunning workflow test 1...\nResult: PASS (1.234s)\n",
3931
- "$ xano workflow-test run 1 -o json"
3574
+ "$ 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",
3575
+ "$ xano unit-test list -w 5 --output json",
3576
+ "$ xano unit-test list --obj-type function"
3932
3577
  ],
3933
3578
  "flags": {
3934
3579
  "profile": {
@@ -3941,15 +3586,37 @@
3941
3586
  "multiple": false,
3942
3587
  "type": "option"
3943
3588
  },
3944
- "verbose": {
3945
- "char": "v",
3946
- "description": "Show detailed request/response information",
3947
- "env": "XANO_VERBOSE",
3948
- "name": "verbose",
3949
- "required": false,
3950
- "allowNo": false,
3951
- "type": "boolean"
3952
- },
3589
+ "verbose": {
3590
+ "char": "v",
3591
+ "description": "Show detailed request/response information",
3592
+ "env": "XANO_VERBOSE",
3593
+ "name": "verbose",
3594
+ "required": false,
3595
+ "allowNo": false,
3596
+ "type": "boolean"
3597
+ },
3598
+ "branch": {
3599
+ "char": "b",
3600
+ "description": "Filter by branch name",
3601
+ "name": "branch",
3602
+ "required": false,
3603
+ "hasDynamicHelp": false,
3604
+ "multiple": false,
3605
+ "type": "option"
3606
+ },
3607
+ "obj-type": {
3608
+ "description": "Filter by object type",
3609
+ "name": "obj-type",
3610
+ "required": false,
3611
+ "hasDynamicHelp": false,
3612
+ "multiple": false,
3613
+ "options": [
3614
+ "function",
3615
+ "query",
3616
+ "middleware"
3617
+ ],
3618
+ "type": "option"
3619
+ },
3953
3620
  "output": {
3954
3621
  "char": "o",
3955
3622
  "description": "Output format",
@@ -3976,7 +3643,7 @@
3976
3643
  },
3977
3644
  "hasDynamicHelp": false,
3978
3645
  "hiddenAliases": [],
3979
- "id": "workflow_test:run",
3646
+ "id": "unit_test:list",
3980
3647
  "pluginAlias": "@xano/cli",
3981
3648
  "pluginName": "@xano/cli",
3982
3649
  "pluginType": "core",
@@ -3986,19 +3653,18 @@
3986
3653
  "relativePath": [
3987
3654
  "dist",
3988
3655
  "commands",
3989
- "workflow_test",
3990
- "run",
3656
+ "unit_test",
3657
+ "list",
3991
3658
  "index.js"
3992
3659
  ]
3993
3660
  },
3994
- "workflow_test:list": {
3661
+ "unit_test:run_all": {
3995
3662
  "aliases": [],
3996
3663
  "args": {},
3997
- "description": "List all workflow tests in a workspace",
3664
+ "description": "Run all unit tests in a workspace",
3998
3665
  "examples": [
3999
- "$ xano workflow-test list\nWorkflow tests in workspace 5:\n - my-test (ID: 1)\n - auth-flow (ID: 2) - Validates auth endpoints\n",
4000
- "$ xano workflow-test list -w 5 --output json",
4001
- "$ xano workflow-test list --branch main"
3666
+ "$ 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",
3667
+ "$ xano unit-test run-all --obj-type function -o json"
4002
3668
  ],
4003
3669
  "flags": {
4004
3670
  "profile": {
@@ -4029,6 +3695,19 @@
4029
3695
  "multiple": false,
4030
3696
  "type": "option"
4031
3697
  },
3698
+ "obj-type": {
3699
+ "description": "Filter by object type",
3700
+ "name": "obj-type",
3701
+ "required": false,
3702
+ "hasDynamicHelp": false,
3703
+ "multiple": false,
3704
+ "options": [
3705
+ "function",
3706
+ "query",
3707
+ "middleware"
3708
+ ],
3709
+ "type": "option"
3710
+ },
4032
3711
  "output": {
4033
3712
  "char": "o",
4034
3713
  "description": "Output format",
@@ -4055,7 +3734,7 @@
4055
3734
  },
4056
3735
  "hasDynamicHelp": false,
4057
3736
  "hiddenAliases": [],
4058
- "id": "workflow_test:list",
3737
+ "id": "unit_test:run_all",
4059
3738
  "pluginAlias": "@xano/cli",
4060
3739
  "pluginName": "@xano/cli",
4061
3740
  "pluginType": "core",
@@ -4065,18 +3744,25 @@
4065
3744
  "relativePath": [
4066
3745
  "dist",
4067
3746
  "commands",
4068
- "workflow_test",
4069
- "list",
3747
+ "unit_test",
3748
+ "run_all",
4070
3749
  "index.js"
4071
3750
  ]
4072
3751
  },
4073
- "workflow_test:run_all": {
3752
+ "workspace:create": {
4074
3753
  "aliases": [],
4075
- "args": {},
4076
- "description": "Run all workflow tests in a workspace",
3754
+ "args": {
3755
+ "name": {
3756
+ "description": "Name of the workspace",
3757
+ "name": "name",
3758
+ "required": true
3759
+ }
3760
+ },
3761
+ "description": "Create a new workspace via the Xano Metadata API",
4077
3762
  "examples": [
4078
- "$ 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",
4079
- "$ xano workflow-test run-all --branch main -o json"
3763
+ "$ xano workspace create my-workspace\nCreated workspace: my-workspace (ID: 123)\n",
3764
+ "$ xano workspace create my-app --description \"My application workspace\"\nCreated workspace: my-app (ID: 456)\n Description: My application workspace\n",
3765
+ "$ 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"
4080
3766
  ],
4081
3767
  "flags": {
4082
3768
  "profile": {
@@ -4098,10 +3784,10 @@
4098
3784
  "allowNo": false,
4099
3785
  "type": "boolean"
4100
3786
  },
4101
- "branch": {
4102
- "char": "b",
4103
- "description": "Filter by branch name",
4104
- "name": "branch",
3787
+ "description": {
3788
+ "char": "d",
3789
+ "description": "Description for the workspace",
3790
+ "name": "description",
4105
3791
  "required": false,
4106
3792
  "hasDynamicHelp": false,
4107
3793
  "multiple": false,
@@ -4120,20 +3806,11 @@
4120
3806
  "json"
4121
3807
  ],
4122
3808
  "type": "option"
4123
- },
4124
- "workspace": {
4125
- "char": "w",
4126
- "description": "Workspace ID (uses profile workspace if not provided)",
4127
- "name": "workspace",
4128
- "required": false,
4129
- "hasDynamicHelp": false,
4130
- "multiple": false,
4131
- "type": "option"
4132
3809
  }
4133
3810
  },
4134
3811
  "hasDynamicHelp": false,
4135
3812
  "hiddenAliases": [],
4136
- "id": "workflow_test:run_all",
3813
+ "id": "workspace:create",
4137
3814
  "pluginAlias": "@xano/cli",
4138
3815
  "pluginName": "@xano/cli",
4139
3816
  "pluginType": "core",
@@ -4143,8 +3820,8 @@
4143
3820
  "relativePath": [
4144
3821
  "dist",
4145
3822
  "commands",
4146
- "workflow_test",
4147
- "run_all",
3823
+ "workspace",
3824
+ "create",
4148
3825
  "index.js"
4149
3826
  ]
4150
3827
  },
@@ -4223,20 +3900,20 @@
4223
3900
  "index.js"
4224
3901
  ]
4225
3902
  },
4226
- "workspace:create": {
3903
+ "workspace:get": {
4227
3904
  "aliases": [],
4228
3905
  "args": {
4229
- "name": {
4230
- "description": "Name of the workspace",
4231
- "name": "name",
4232
- "required": true
3906
+ "workspace_id": {
3907
+ "description": "Workspace ID to get details for (uses profile workspace if not provided)",
3908
+ "name": "workspace_id",
3909
+ "required": false
4233
3910
  }
4234
3911
  },
4235
- "description": "Create a new workspace via the Xano Metadata API",
3912
+ "description": "Get details of a specific workspace from the Xano Metadata API",
4236
3913
  "examples": [
4237
- "$ xano workspace create my-workspace\nCreated workspace: my-workspace (ID: 123)\n",
4238
- "$ xano workspace create my-app --description \"My application workspace\"\nCreated workspace: my-app (ID: 456)\n Description: My application workspace\n",
4239
- "$ 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"
3914
+ "$ xano workspace get 123\nWorkspace: my-workspace (ID: 123)\n Description: My workspace description\n Created: 2024-01-15\n",
3915
+ "$ xano workspace get --output json\n{\n \"id\": 123,\n \"name\": \"my-workspace\",\n \"description\": \"My workspace description\"\n}\n",
3916
+ "$ xano workspace get 456 -p production -o json\n{\n \"id\": 456,\n \"name\": \"production-workspace\"\n}\n"
4240
3917
  ],
4241
3918
  "flags": {
4242
3919
  "profile": {
@@ -4258,15 +3935,6 @@
4258
3935
  "allowNo": false,
4259
3936
  "type": "boolean"
4260
3937
  },
4261
- "description": {
4262
- "char": "d",
4263
- "description": "Description for the workspace",
4264
- "name": "description",
4265
- "required": false,
4266
- "hasDynamicHelp": false,
4267
- "multiple": false,
4268
- "type": "option"
4269
- },
4270
3938
  "output": {
4271
3939
  "char": "o",
4272
3940
  "description": "Output format",
@@ -4284,7 +3952,7 @@
4284
3952
  },
4285
3953
  "hasDynamicHelp": false,
4286
3954
  "hiddenAliases": [],
4287
- "id": "workspace:create",
3955
+ "id": "workspace:get",
4288
3956
  "pluginAlias": "@xano/cli",
4289
3957
  "pluginName": "@xano/cli",
4290
3958
  "pluginType": "core",
@@ -4295,24 +3963,25 @@
4295
3963
  "dist",
4296
3964
  "commands",
4297
3965
  "workspace",
4298
- "create",
3966
+ "get",
4299
3967
  "index.js"
4300
3968
  ]
4301
3969
  },
4302
- "workspace:get": {
3970
+ "workspace:edit": {
4303
3971
  "aliases": [],
4304
3972
  "args": {
4305
3973
  "workspace_id": {
4306
- "description": "Workspace ID to get details for (uses profile workspace if not provided)",
3974
+ "description": "Workspace ID to edit (uses profile workspace if not provided)",
4307
3975
  "name": "workspace_id",
4308
3976
  "required": false
4309
3977
  }
4310
3978
  },
4311
- "description": "Get details of a specific workspace from the Xano Metadata API",
3979
+ "description": "Edit an existing workspace via the Xano Metadata API",
4312
3980
  "examples": [
4313
- "$ xano workspace get 123\nWorkspace: my-workspace (ID: 123)\n Description: My workspace description\n Created: 2024-01-15\n",
4314
- "$ xano workspace get --output json\n{\n \"id\": 123,\n \"name\": \"my-workspace\",\n \"description\": \"My workspace description\"\n}\n",
4315
- "$ xano workspace get 456 -p production -o json\n{\n \"id\": 456,\n \"name\": \"production-workspace\"\n}\n"
3981
+ "$ xano workspace edit 123 --name \"new-name\"\nUpdated workspace: new-name (ID: 123)\n",
3982
+ "$ xano workspace edit --name \"updated-workspace\" --description \"Updated description\"\nUpdated workspace: updated-workspace (ID: 123)\n Description: Updated description\n",
3983
+ "$ xano workspace edit 123 --swagger --require-token\nUpdated workspace: my-workspace (ID: 123)\n Swagger: enabled\n Require Token: true\n",
3984
+ "$ xano workspace edit 123 --no-swagger -o json\n{\n \"id\": 123,\n \"name\": \"my-workspace\",\n \"swagger\": false\n}\n"
4316
3985
  ],
4317
3986
  "flags": {
4318
3987
  "profile": {
@@ -4334,6 +4003,24 @@
4334
4003
  "allowNo": false,
4335
4004
  "type": "boolean"
4336
4005
  },
4006
+ "description": {
4007
+ "char": "d",
4008
+ "description": "New description for the workspace",
4009
+ "name": "description",
4010
+ "required": false,
4011
+ "hasDynamicHelp": false,
4012
+ "multiple": false,
4013
+ "type": "option"
4014
+ },
4015
+ "name": {
4016
+ "char": "n",
4017
+ "description": "New name for the workspace",
4018
+ "name": "name",
4019
+ "required": false,
4020
+ "hasDynamicHelp": false,
4021
+ "multiple": false,
4022
+ "type": "option"
4023
+ },
4337
4024
  "output": {
4338
4025
  "char": "o",
4339
4026
  "description": "Output format",
@@ -4347,11 +4034,25 @@
4347
4034
  "json"
4348
4035
  ],
4349
4036
  "type": "option"
4037
+ },
4038
+ "require-token": {
4039
+ "description": "Whether to require a token for documentation access",
4040
+ "name": "require-token",
4041
+ "required": false,
4042
+ "allowNo": true,
4043
+ "type": "boolean"
4044
+ },
4045
+ "swagger": {
4046
+ "description": "Enable or disable swagger documentation",
4047
+ "name": "swagger",
4048
+ "required": false,
4049
+ "allowNo": true,
4050
+ "type": "boolean"
4350
4051
  }
4351
4052
  },
4352
4053
  "hasDynamicHelp": false,
4353
4054
  "hiddenAliases": [],
4354
- "id": "workspace:get",
4055
+ "id": "workspace:edit",
4355
4056
  "pluginAlias": "@xano/cli",
4356
4057
  "pluginName": "@xano/cli",
4357
4058
  "pluginType": "core",
@@ -4362,25 +4063,102 @@
4362
4063
  "dist",
4363
4064
  "commands",
4364
4065
  "workspace",
4365
- "get",
4066
+ "edit",
4366
4067
  "index.js"
4367
4068
  ]
4368
4069
  },
4369
- "workspace:edit": {
4070
+ "workflow_test:delete": {
4370
4071
  "aliases": [],
4371
4072
  "args": {
4372
- "workspace_id": {
4373
- "description": "Workspace ID to edit (uses profile workspace if not provided)",
4374
- "name": "workspace_id",
4375
- "required": false
4073
+ "workflow_test_id": {
4074
+ "description": "ID of the workflow test to delete",
4075
+ "name": "workflow_test_id",
4076
+ "required": true
4376
4077
  }
4377
4078
  },
4378
- "description": "Edit an existing workspace via the Xano Metadata API",
4079
+ "description": "Delete a workflow test",
4080
+ "examples": [
4081
+ "$ xano workflow-test delete 1\nAre you sure you want to delete workflow test 1? (y/N) y\nDeleted workflow test 1\n",
4082
+ "$ xano workflow-test delete 1 --force"
4083
+ ],
4084
+ "flags": {
4085
+ "profile": {
4086
+ "char": "p",
4087
+ "description": "Profile to use (uses default profile if not specified)",
4088
+ "env": "XANO_PROFILE",
4089
+ "name": "profile",
4090
+ "required": false,
4091
+ "hasDynamicHelp": false,
4092
+ "multiple": false,
4093
+ "type": "option"
4094
+ },
4095
+ "verbose": {
4096
+ "char": "v",
4097
+ "description": "Show detailed request/response information",
4098
+ "env": "XANO_VERBOSE",
4099
+ "name": "verbose",
4100
+ "required": false,
4101
+ "allowNo": false,
4102
+ "type": "boolean"
4103
+ },
4104
+ "force": {
4105
+ "char": "f",
4106
+ "description": "Skip confirmation prompt",
4107
+ "name": "force",
4108
+ "required": false,
4109
+ "allowNo": false,
4110
+ "type": "boolean"
4111
+ },
4112
+ "output": {
4113
+ "char": "o",
4114
+ "description": "Output format",
4115
+ "name": "output",
4116
+ "required": false,
4117
+ "default": "summary",
4118
+ "hasDynamicHelp": false,
4119
+ "multiple": false,
4120
+ "options": [
4121
+ "summary",
4122
+ "json"
4123
+ ],
4124
+ "type": "option"
4125
+ },
4126
+ "workspace": {
4127
+ "char": "w",
4128
+ "description": "Workspace ID (uses profile workspace if not provided)",
4129
+ "name": "workspace",
4130
+ "required": false,
4131
+ "hasDynamicHelp": false,
4132
+ "multiple": false,
4133
+ "type": "option"
4134
+ }
4135
+ },
4136
+ "hasDynamicHelp": false,
4137
+ "hiddenAliases": [],
4138
+ "id": "workflow_test:delete",
4139
+ "pluginAlias": "@xano/cli",
4140
+ "pluginName": "@xano/cli",
4141
+ "pluginType": "core",
4142
+ "strict": true,
4143
+ "enableJsonFlag": false,
4144
+ "isESM": true,
4145
+ "relativePath": [
4146
+ "dist",
4147
+ "commands",
4148
+ "workflow_test",
4149
+ "delete",
4150
+ "index.js"
4151
+ ]
4152
+ },
4153
+ "workspace:list": {
4154
+ "aliases": [],
4155
+ "args": {},
4156
+ "description": "List all workspaces from the Xano Metadata API",
4379
4157
  "examples": [
4380
- "$ xano workspace edit 123 --name \"new-name\"\nUpdated workspace: new-name (ID: 123)\n",
4381
- "$ xano workspace edit --name \"updated-workspace\" --description \"Updated description\"\nUpdated workspace: updated-workspace (ID: 123)\n Description: Updated description\n",
4382
- "$ xano workspace edit 123 --swagger --require-token\nUpdated workspace: my-workspace (ID: 123)\n Swagger: enabled\n Require Token: true\n",
4383
- "$ xano workspace edit 123 --no-swagger -o json\n{\n \"id\": 123,\n \"name\": \"my-workspace\",\n \"swagger\": false\n}\n"
4158
+ "$ xano workspace:list\nAvailable workspaces:\n - workspace-1 (ID: 1)\n - workspace-2 (ID: 2)\n - workspace-3 (ID: 3)\n",
4159
+ "$ xano workspace:list --profile production\nAvailable workspaces:\n - my-app (ID: 1)\n - staging-env (ID: 2)\n",
4160
+ "$ 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",
4161
+ "$ xano workspace:list -p staging -o json\n{\n \"workspaces\": [\n {\n \"id\": 1,\n \"name\": \"my-app\"\n }\n ]\n}\n"
4384
4162
  ],
4385
4163
  "flags": {
4386
4164
  "profile": {
@@ -4402,24 +4180,6 @@
4402
4180
  "allowNo": false,
4403
4181
  "type": "boolean"
4404
4182
  },
4405
- "description": {
4406
- "char": "d",
4407
- "description": "New description for the workspace",
4408
- "name": "description",
4409
- "required": false,
4410
- "hasDynamicHelp": false,
4411
- "multiple": false,
4412
- "type": "option"
4413
- },
4414
- "name": {
4415
- "char": "n",
4416
- "description": "New name for the workspace",
4417
- "name": "name",
4418
- "required": false,
4419
- "hasDynamicHelp": false,
4420
- "multiple": false,
4421
- "type": "option"
4422
- },
4423
4183
  "output": {
4424
4184
  "char": "o",
4425
4185
  "description": "Output format",
@@ -4433,25 +4193,11 @@
4433
4193
  "json"
4434
4194
  ],
4435
4195
  "type": "option"
4436
- },
4437
- "require-token": {
4438
- "description": "Whether to require a token for documentation access",
4439
- "name": "require-token",
4440
- "required": false,
4441
- "allowNo": true,
4442
- "type": "boolean"
4443
- },
4444
- "swagger": {
4445
- "description": "Enable or disable swagger documentation",
4446
- "name": "swagger",
4447
- "required": false,
4448
- "allowNo": true,
4449
- "type": "boolean"
4450
4196
  }
4451
4197
  },
4452
4198
  "hasDynamicHelp": false,
4453
4199
  "hiddenAliases": [],
4454
- "id": "workspace:edit",
4200
+ "id": "workspace:list",
4455
4201
  "pluginAlias": "@xano/cli",
4456
4202
  "pluginName": "@xano/cli",
4457
4203
  "pluginType": "core",
@@ -4462,7 +4208,7 @@
4462
4208
  "dist",
4463
4209
  "commands",
4464
4210
  "workspace",
4465
- "edit",
4211
+ "list",
4466
4212
  "index.js"
4467
4213
  ]
4468
4214
  },
@@ -4681,15 +4427,14 @@
4681
4427
  "index.js"
4682
4428
  ]
4683
4429
  },
4684
- "workspace:list": {
4430
+ "workflow_test:list": {
4685
4431
  "aliases": [],
4686
4432
  "args": {},
4687
- "description": "List all workspaces from the Xano Metadata API",
4433
+ "description": "List all workflow tests in a workspace",
4688
4434
  "examples": [
4689
- "$ xano workspace:list\nAvailable workspaces:\n - workspace-1 (ID: 1)\n - workspace-2 (ID: 2)\n - workspace-3 (ID: 3)\n",
4690
- "$ xano workspace:list --profile production\nAvailable workspaces:\n - my-app (ID: 1)\n - staging-env (ID: 2)\n",
4691
- "$ 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",
4692
- "$ xano workspace:list -p staging -o json\n{\n \"workspaces\": [\n {\n \"id\": 1,\n \"name\": \"my-app\"\n }\n ]\n}\n"
4435
+ "$ xano workflow-test list\nWorkflow tests in workspace 5:\n - my-test (ID: 1)\n - auth-flow (ID: 2) - Validates auth endpoints\n",
4436
+ "$ xano workflow-test list -w 5 --output json",
4437
+ "$ xano workflow-test list --branch main"
4693
4438
  ],
4694
4439
  "flags": {
4695
4440
  "profile": {
@@ -4711,6 +4456,15 @@
4711
4456
  "allowNo": false,
4712
4457
  "type": "boolean"
4713
4458
  },
4459
+ "branch": {
4460
+ "char": "b",
4461
+ "description": "Filter by branch name",
4462
+ "name": "branch",
4463
+ "required": false,
4464
+ "hasDynamicHelp": false,
4465
+ "multiple": false,
4466
+ "type": "option"
4467
+ },
4714
4468
  "output": {
4715
4469
  "char": "o",
4716
4470
  "description": "Output format",
@@ -4724,11 +4478,20 @@
4724
4478
  "json"
4725
4479
  ],
4726
4480
  "type": "option"
4481
+ },
4482
+ "workspace": {
4483
+ "char": "w",
4484
+ "description": "Workspace ID (uses profile workspace if not provided)",
4485
+ "name": "workspace",
4486
+ "required": false,
4487
+ "hasDynamicHelp": false,
4488
+ "multiple": false,
4489
+ "type": "option"
4727
4490
  }
4728
4491
  },
4729
4492
  "hasDynamicHelp": false,
4730
4493
  "hiddenAliases": [],
4731
- "id": "workspace:list",
4494
+ "id": "workflow_test:list",
4732
4495
  "pluginAlias": "@xano/cli",
4733
4496
  "pluginName": "@xano/cli",
4734
4497
  "pluginType": "core",
@@ -4738,25 +4501,24 @@
4738
4501
  "relativePath": [
4739
4502
  "dist",
4740
4503
  "commands",
4741
- "workspace",
4504
+ "workflow_test",
4742
4505
  "list",
4743
4506
  "index.js"
4744
4507
  ]
4745
4508
  },
4746
- "static_host:build:create": {
4509
+ "workflow_test:run": {
4747
4510
  "aliases": [],
4748
4511
  "args": {
4749
- "static_host": {
4750
- "description": "Static Host name",
4751
- "name": "static_host",
4512
+ "workflow_test_id": {
4513
+ "description": "ID of the workflow test to run",
4514
+ "name": "workflow_test_id",
4752
4515
  "required": true
4753
4516
  }
4754
4517
  },
4755
- "description": "Create a new build for a static host",
4518
+ "description": "Run a workflow test",
4756
4519
  "examples": [
4757
- "$ 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",
4758
- "$ 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",
4759
- "$ 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"
4520
+ "$ xano workflow-test run 1\nRunning workflow test 1...\nResult: PASS (1.234s)\n",
4521
+ "$ xano workflow-test run 1 -o json"
4760
4522
  ],
4761
4523
  "flags": {
4762
4524
  "profile": {
@@ -4778,33 +4540,167 @@
4778
4540
  "allowNo": false,
4779
4541
  "type": "boolean"
4780
4542
  },
4781
- "description": {
4782
- "char": "d",
4783
- "description": "Build description",
4784
- "name": "description",
4543
+ "output": {
4544
+ "char": "o",
4545
+ "description": "Output format",
4546
+ "name": "output",
4785
4547
  "required": false,
4548
+ "default": "summary",
4786
4549
  "hasDynamicHelp": false,
4787
4550
  "multiple": false,
4551
+ "options": [
4552
+ "summary",
4553
+ "json"
4554
+ ],
4788
4555
  "type": "option"
4789
4556
  },
4790
- "file": {
4791
- "char": "f",
4792
- "description": "Path to zip file to upload",
4793
- "name": "file",
4794
- "required": true,
4557
+ "workspace": {
4558
+ "char": "w",
4559
+ "description": "Workspace ID (uses profile workspace if not provided)",
4560
+ "name": "workspace",
4561
+ "required": false,
4562
+ "hasDynamicHelp": false,
4563
+ "multiple": false,
4564
+ "type": "option"
4565
+ }
4566
+ },
4567
+ "hasDynamicHelp": false,
4568
+ "hiddenAliases": [],
4569
+ "id": "workflow_test:run",
4570
+ "pluginAlias": "@xano/cli",
4571
+ "pluginName": "@xano/cli",
4572
+ "pluginType": "core",
4573
+ "strict": true,
4574
+ "enableJsonFlag": false,
4575
+ "isESM": true,
4576
+ "relativePath": [
4577
+ "dist",
4578
+ "commands",
4579
+ "workflow_test",
4580
+ "run",
4581
+ "index.js"
4582
+ ]
4583
+ },
4584
+ "workflow_test:run_all": {
4585
+ "aliases": [],
4586
+ "args": {},
4587
+ "description": "Run all workflow tests in a workspace",
4588
+ "examples": [
4589
+ "$ 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",
4590
+ "$ xano workflow-test run-all --branch main -o json"
4591
+ ],
4592
+ "flags": {
4593
+ "profile": {
4594
+ "char": "p",
4595
+ "description": "Profile to use (uses default profile if not specified)",
4596
+ "env": "XANO_PROFILE",
4597
+ "name": "profile",
4598
+ "required": false,
4795
4599
  "hasDynamicHelp": false,
4796
4600
  "multiple": false,
4797
4601
  "type": "option"
4798
4602
  },
4799
- "name": {
4800
- "char": "n",
4801
- "description": "Build name",
4802
- "name": "name",
4803
- "required": true,
4603
+ "verbose": {
4604
+ "char": "v",
4605
+ "description": "Show detailed request/response information",
4606
+ "env": "XANO_VERBOSE",
4607
+ "name": "verbose",
4608
+ "required": false,
4609
+ "allowNo": false,
4610
+ "type": "boolean"
4611
+ },
4612
+ "branch": {
4613
+ "char": "b",
4614
+ "description": "Filter by branch name",
4615
+ "name": "branch",
4616
+ "required": false,
4617
+ "hasDynamicHelp": false,
4618
+ "multiple": false,
4619
+ "type": "option"
4620
+ },
4621
+ "output": {
4622
+ "char": "o",
4623
+ "description": "Output format",
4624
+ "name": "output",
4625
+ "required": false,
4626
+ "default": "summary",
4627
+ "hasDynamicHelp": false,
4628
+ "multiple": false,
4629
+ "options": [
4630
+ "summary",
4631
+ "json"
4632
+ ],
4633
+ "type": "option"
4634
+ },
4635
+ "workspace": {
4636
+ "char": "w",
4637
+ "description": "Workspace ID (uses profile workspace if not provided)",
4638
+ "name": "workspace",
4639
+ "required": false,
4640
+ "hasDynamicHelp": false,
4641
+ "multiple": false,
4642
+ "type": "option"
4643
+ }
4644
+ },
4645
+ "hasDynamicHelp": false,
4646
+ "hiddenAliases": [],
4647
+ "id": "workflow_test:run_all",
4648
+ "pluginAlias": "@xano/cli",
4649
+ "pluginName": "@xano/cli",
4650
+ "pluginType": "core",
4651
+ "strict": true,
4652
+ "enableJsonFlag": false,
4653
+ "isESM": true,
4654
+ "relativePath": [
4655
+ "dist",
4656
+ "commands",
4657
+ "workflow_test",
4658
+ "run_all",
4659
+ "index.js"
4660
+ ]
4661
+ },
4662
+ "workflow_test:get": {
4663
+ "aliases": [],
4664
+ "args": {
4665
+ "workflow_test_id": {
4666
+ "description": "ID of the workflow test",
4667
+ "name": "workflow_test_id",
4668
+ "required": true
4669
+ }
4670
+ },
4671
+ "description": "Get a specific workflow test",
4672
+ "examples": [
4673
+ "$ xano workflow-test get 1\nWorkflow Test: my-test (ID: 1)\n Description: Validates auth endpoints\n Branch: main\n",
4674
+ "$ xano workflow-test get 1 -o xs",
4675
+ "$ xano workflow-test get 1 -o json"
4676
+ ],
4677
+ "flags": {
4678
+ "profile": {
4679
+ "char": "p",
4680
+ "description": "Profile to use (uses default profile if not specified)",
4681
+ "env": "XANO_PROFILE",
4682
+ "name": "profile",
4683
+ "required": false,
4804
4684
  "hasDynamicHelp": false,
4805
4685
  "multiple": false,
4806
4686
  "type": "option"
4807
4687
  },
4688
+ "verbose": {
4689
+ "char": "v",
4690
+ "description": "Show detailed request/response information",
4691
+ "env": "XANO_VERBOSE",
4692
+ "name": "verbose",
4693
+ "required": false,
4694
+ "allowNo": false,
4695
+ "type": "boolean"
4696
+ },
4697
+ "include-draft": {
4698
+ "description": "Include draft version",
4699
+ "name": "include-draft",
4700
+ "required": false,
4701
+ "allowNo": false,
4702
+ "type": "boolean"
4703
+ },
4808
4704
  "output": {
4809
4705
  "char": "o",
4810
4706
  "description": "Output format",
@@ -4815,13 +4711,14 @@
4815
4711
  "multiple": false,
4816
4712
  "options": [
4817
4713
  "summary",
4818
- "json"
4714
+ "json",
4715
+ "xs"
4819
4716
  ],
4820
4717
  "type": "option"
4821
4718
  },
4822
4719
  "workspace": {
4823
4720
  "char": "w",
4824
- "description": "Workspace ID (optional if set in profile)",
4721
+ "description": "Workspace ID (uses profile workspace if not provided)",
4825
4722
  "name": "workspace",
4826
4723
  "required": false,
4827
4724
  "hasDynamicHelp": false,
@@ -4831,7 +4728,7 @@
4831
4728
  },
4832
4729
  "hasDynamicHelp": false,
4833
4730
  "hiddenAliases": [],
4834
- "id": "static_host:build:create",
4731
+ "id": "workflow_test:get",
4835
4732
  "pluginAlias": "@xano/cli",
4836
4733
  "pluginName": "@xano/cli",
4837
4734
  "pluginType": "core",
@@ -4841,9 +4738,8 @@
4841
4738
  "relativePath": [
4842
4739
  "dist",
4843
4740
  "commands",
4844
- "static_host",
4845
- "build",
4846
- "create",
4741
+ "workflow_test",
4742
+ "get",
4847
4743
  "index.js"
4848
4744
  ]
4849
4745
  },
@@ -5026,6 +4922,110 @@
5026
4922
  "index.js"
5027
4923
  ]
5028
4924
  },
4925
+ "static_host:build:create": {
4926
+ "aliases": [],
4927
+ "args": {
4928
+ "static_host": {
4929
+ "description": "Static Host name",
4930
+ "name": "static_host",
4931
+ "required": true
4932
+ }
4933
+ },
4934
+ "description": "Create a new build for a static host",
4935
+ "examples": [
4936
+ "$ 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",
4937
+ "$ 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",
4938
+ "$ 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"
4939
+ ],
4940
+ "flags": {
4941
+ "profile": {
4942
+ "char": "p",
4943
+ "description": "Profile to use (uses default profile if not specified)",
4944
+ "env": "XANO_PROFILE",
4945
+ "name": "profile",
4946
+ "required": false,
4947
+ "hasDynamicHelp": false,
4948
+ "multiple": false,
4949
+ "type": "option"
4950
+ },
4951
+ "verbose": {
4952
+ "char": "v",
4953
+ "description": "Show detailed request/response information",
4954
+ "env": "XANO_VERBOSE",
4955
+ "name": "verbose",
4956
+ "required": false,
4957
+ "allowNo": false,
4958
+ "type": "boolean"
4959
+ },
4960
+ "description": {
4961
+ "char": "d",
4962
+ "description": "Build description",
4963
+ "name": "description",
4964
+ "required": false,
4965
+ "hasDynamicHelp": false,
4966
+ "multiple": false,
4967
+ "type": "option"
4968
+ },
4969
+ "file": {
4970
+ "char": "f",
4971
+ "description": "Path to zip file to upload",
4972
+ "name": "file",
4973
+ "required": true,
4974
+ "hasDynamicHelp": false,
4975
+ "multiple": false,
4976
+ "type": "option"
4977
+ },
4978
+ "name": {
4979
+ "char": "n",
4980
+ "description": "Build name",
4981
+ "name": "name",
4982
+ "required": true,
4983
+ "hasDynamicHelp": false,
4984
+ "multiple": false,
4985
+ "type": "option"
4986
+ },
4987
+ "output": {
4988
+ "char": "o",
4989
+ "description": "Output format",
4990
+ "name": "output",
4991
+ "required": false,
4992
+ "default": "summary",
4993
+ "hasDynamicHelp": false,
4994
+ "multiple": false,
4995
+ "options": [
4996
+ "summary",
4997
+ "json"
4998
+ ],
4999
+ "type": "option"
5000
+ },
5001
+ "workspace": {
5002
+ "char": "w",
5003
+ "description": "Workspace ID (optional if set in profile)",
5004
+ "name": "workspace",
5005
+ "required": false,
5006
+ "hasDynamicHelp": false,
5007
+ "multiple": false,
5008
+ "type": "option"
5009
+ }
5010
+ },
5011
+ "hasDynamicHelp": false,
5012
+ "hiddenAliases": [],
5013
+ "id": "static_host:build:create",
5014
+ "pluginAlias": "@xano/cli",
5015
+ "pluginName": "@xano/cli",
5016
+ "pluginType": "core",
5017
+ "strict": true,
5018
+ "enableJsonFlag": false,
5019
+ "isESM": true,
5020
+ "relativePath": [
5021
+ "dist",
5022
+ "commands",
5023
+ "static_host",
5024
+ "build",
5025
+ "create",
5026
+ "index.js"
5027
+ ]
5028
+ },
5029
5029
  "tenant:backup:delete": {
5030
5030
  "aliases": [],
5031
5031
  "args": {
@@ -5383,19 +5383,19 @@
5383
5383
  "index.js"
5384
5384
  ]
5385
5385
  },
5386
- "tenant:backup:import": {
5386
+ "tenant:backup:restore": {
5387
5387
  "aliases": [],
5388
5388
  "args": {
5389
5389
  "tenant_name": {
5390
- "description": "Tenant name to import backup into",
5390
+ "description": "Tenant name to restore",
5391
5391
  "name": "tenant_name",
5392
5392
  "required": true
5393
5393
  }
5394
5394
  },
5395
- "description": "Import a backup file into a tenant",
5395
+ "description": "Restore a tenant from a backup. This replaces the current tenant data.",
5396
5396
  "examples": [
5397
- "$ xano tenant backup import t1234-abcd-xyz1 --file ./my-backup.tar.gz\nImported backup as #15 for tenant t1234-abcd-xyz1\n",
5398
- "$ xano tenant backup import t1234-abcd-xyz1 --file ./my-backup.tar.gz --description \"Restored from production\" -o json"
5397
+ "$ 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",
5398
+ "$ xano tenant backup restore t1234-abcd-xyz1 --backup_id 10 --force -o json"
5399
5399
  ],
5400
5400
  "flags": {
5401
5401
  "profile": {
@@ -5417,24 +5417,21 @@
5417
5417
  "allowNo": false,
5418
5418
  "type": "boolean"
5419
5419
  },
5420
- "description": {
5421
- "char": "d",
5422
- "description": "Backup description",
5423
- "name": "description",
5424
- "required": false,
5425
- "default": "",
5420
+ "backup_id": {
5421
+ "description": "Backup ID to restore from",
5422
+ "name": "backup_id",
5423
+ "required": true,
5426
5424
  "hasDynamicHelp": false,
5427
5425
  "multiple": false,
5428
5426
  "type": "option"
5429
5427
  },
5430
- "file": {
5428
+ "force": {
5431
5429
  "char": "f",
5432
- "description": "Path to the backup file (.tar.gz)",
5433
- "name": "file",
5434
- "required": true,
5435
- "hasDynamicHelp": false,
5436
- "multiple": false,
5437
- "type": "option"
5430
+ "description": "Skip confirmation prompt",
5431
+ "name": "force",
5432
+ "required": false,
5433
+ "allowNo": false,
5434
+ "type": "boolean"
5438
5435
  },
5439
5436
  "output": {
5440
5437
  "char": "o",
@@ -5462,7 +5459,7 @@
5462
5459
  },
5463
5460
  "hasDynamicHelp": false,
5464
5461
  "hiddenAliases": [],
5465
- "id": "tenant:backup:import",
5462
+ "id": "tenant:backup:restore",
5466
5463
  "pluginAlias": "@xano/cli",
5467
5464
  "pluginName": "@xano/cli",
5468
5465
  "pluginType": "core",
@@ -5474,23 +5471,24 @@
5474
5471
  "commands",
5475
5472
  "tenant",
5476
5473
  "backup",
5477
- "import",
5474
+ "restore",
5478
5475
  "index.js"
5479
5476
  ]
5480
5477
  },
5481
- "tenant:backup:restore": {
5478
+ "tenant:cluster:delete": {
5482
5479
  "aliases": [],
5483
5480
  "args": {
5484
- "tenant_name": {
5485
- "description": "Tenant name to restore",
5486
- "name": "tenant_name",
5481
+ "cluster_id": {
5482
+ "description": "Cluster ID to delete",
5483
+ "name": "cluster_id",
5487
5484
  "required": true
5488
5485
  }
5489
5486
  },
5490
- "description": "Restore a tenant from a backup. This replaces the current tenant data.",
5487
+ "description": "Delete a tenant cluster. This action cannot be undone.",
5491
5488
  "examples": [
5492
- "$ 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",
5493
- "$ xano tenant backup restore t1234-abcd-xyz1 --backup_id 10 --force -o json"
5489
+ "$ 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",
5490
+ "$ xano tenant cluster delete 3 --force\nTenant cluster 3 deleted successfully\n",
5491
+ "$ xano tenant cluster delete 3 -f -o json"
5494
5492
  ],
5495
5493
  "flags": {
5496
5494
  "profile": {
@@ -5512,14 +5510,6 @@
5512
5510
  "allowNo": false,
5513
5511
  "type": "boolean"
5514
5512
  },
5515
- "backup_id": {
5516
- "description": "Backup ID to restore from",
5517
- "name": "backup_id",
5518
- "required": true,
5519
- "hasDynamicHelp": false,
5520
- "multiple": false,
5521
- "type": "option"
5522
- },
5523
5513
  "force": {
5524
5514
  "char": "f",
5525
5515
  "description": "Skip confirmation prompt",
@@ -5541,20 +5531,11 @@
5541
5531
  "json"
5542
5532
  ],
5543
5533
  "type": "option"
5544
- },
5545
- "workspace": {
5546
- "char": "w",
5547
- "description": "Workspace ID (uses profile workspace if not provided)",
5548
- "name": "workspace",
5549
- "required": false,
5550
- "hasDynamicHelp": false,
5551
- "multiple": false,
5552
- "type": "option"
5553
5534
  }
5554
5535
  },
5555
5536
  "hasDynamicHelp": false,
5556
5537
  "hiddenAliases": [],
5557
- "id": "tenant:backup:restore",
5538
+ "id": "tenant:cluster:delete",
5558
5539
  "pluginAlias": "@xano/cli",
5559
5540
  "pluginName": "@xano/cli",
5560
5541
  "pluginType": "core",
@@ -5565,8 +5546,8 @@
5565
5546
  "dist",
5566
5547
  "commands",
5567
5548
  "tenant",
5568
- "backup",
5569
- "restore",
5549
+ "cluster",
5550
+ "delete",
5570
5551
  "index.js"
5571
5552
  ]
5572
5553
  },
@@ -5692,19 +5673,19 @@
5692
5673
  "index.js"
5693
5674
  ]
5694
5675
  },
5695
- "tenant:cluster:edit": {
5676
+ "tenant:backup:import": {
5696
5677
  "aliases": [],
5697
5678
  "args": {
5698
- "cluster_id": {
5699
- "description": "Cluster ID to edit",
5700
- "name": "cluster_id",
5679
+ "tenant_name": {
5680
+ "description": "Tenant name to import backup into",
5681
+ "name": "tenant_name",
5701
5682
  "required": true
5702
5683
  }
5703
5684
  },
5704
- "description": "Update an existing tenant cluster",
5685
+ "description": "Import a backup file into a tenant",
5705
5686
  "examples": [
5706
- "$ 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",
5707
- "$ xano tenant cluster edit 1 --name \"eu-west\" --description \"\" --domain \"\" --type run -o json"
5687
+ "$ xano tenant backup import t1234-abcd-xyz1 --file ./my-backup.tar.gz\nImported backup as #15 for tenant t1234-abcd-xyz1\n",
5688
+ "$ xano tenant backup import t1234-abcd-xyz1 --file ./my-backup.tar.gz --description \"Restored from production\" -o json"
5708
5689
  ],
5709
5690
  "flags": {
5710
5691
  "profile": {
@@ -5728,25 +5709,18 @@
5728
5709
  },
5729
5710
  "description": {
5730
5711
  "char": "d",
5731
- "description": "Cluster description",
5712
+ "description": "Backup description",
5732
5713
  "name": "description",
5733
- "required": true,
5734
- "hasDynamicHelp": false,
5735
- "multiple": false,
5736
- "type": "option"
5737
- },
5738
- "domain": {
5739
- "description": "Custom domain for the cluster",
5740
- "name": "domain",
5741
- "required": true,
5714
+ "required": false,
5715
+ "default": "",
5742
5716
  "hasDynamicHelp": false,
5743
5717
  "multiple": false,
5744
5718
  "type": "option"
5745
5719
  },
5746
- "name": {
5747
- "char": "n",
5748
- "description": "Cluster name",
5749
- "name": "name",
5720
+ "file": {
5721
+ "char": "f",
5722
+ "description": "Path to the backup file (.tar.gz)",
5723
+ "name": "file",
5750
5724
  "required": true,
5751
5725
  "hasDynamicHelp": false,
5752
5726
  "multiple": false,
@@ -5766,22 +5740,19 @@
5766
5740
  ],
5767
5741
  "type": "option"
5768
5742
  },
5769
- "type": {
5770
- "description": "Cluster type",
5771
- "name": "type",
5772
- "required": true,
5743
+ "workspace": {
5744
+ "char": "w",
5745
+ "description": "Workspace ID (uses profile workspace if not provided)",
5746
+ "name": "workspace",
5747
+ "required": false,
5773
5748
  "hasDynamicHelp": false,
5774
5749
  "multiple": false,
5775
- "options": [
5776
- "standard",
5777
- "run"
5778
- ],
5779
5750
  "type": "option"
5780
5751
  }
5781
5752
  },
5782
5753
  "hasDynamicHelp": false,
5783
5754
  "hiddenAliases": [],
5784
- "id": "tenant:cluster:edit",
5755
+ "id": "tenant:backup:import",
5785
5756
  "pluginAlias": "@xano/cli",
5786
5757
  "pluginName": "@xano/cli",
5787
5758
  "pluginType": "core",
@@ -5792,25 +5763,24 @@
5792
5763
  "dist",
5793
5764
  "commands",
5794
5765
  "tenant",
5795
- "cluster",
5796
- "edit",
5766
+ "backup",
5767
+ "import",
5797
5768
  "index.js"
5798
5769
  ]
5799
5770
  },
5800
- "tenant:cluster:delete": {
5771
+ "tenant:cluster:edit": {
5801
5772
  "aliases": [],
5802
5773
  "args": {
5803
5774
  "cluster_id": {
5804
- "description": "Cluster ID to delete",
5775
+ "description": "Cluster ID to edit",
5805
5776
  "name": "cluster_id",
5806
5777
  "required": true
5807
5778
  }
5808
5779
  },
5809
- "description": "Delete a tenant cluster. This action cannot be undone.",
5810
- "examples": [
5811
- "$ 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",
5812
- "$ xano tenant cluster delete 3 --force\nTenant cluster 3 deleted successfully\n",
5813
- "$ xano tenant cluster delete 3 -f -o json"
5780
+ "description": "Update an existing tenant cluster",
5781
+ "examples": [
5782
+ "$ 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",
5783
+ "$ xano tenant cluster edit 1 --name \"eu-west\" --description \"\" --domain \"\" --type run -o json"
5814
5784
  ],
5815
5785
  "flags": {
5816
5786
  "profile": {
@@ -5832,13 +5802,31 @@
5832
5802
  "allowNo": false,
5833
5803
  "type": "boolean"
5834
5804
  },
5835
- "force": {
5836
- "char": "f",
5837
- "description": "Skip confirmation prompt",
5838
- "name": "force",
5839
- "required": false,
5840
- "allowNo": false,
5841
- "type": "boolean"
5805
+ "description": {
5806
+ "char": "d",
5807
+ "description": "Cluster description",
5808
+ "name": "description",
5809
+ "required": true,
5810
+ "hasDynamicHelp": false,
5811
+ "multiple": false,
5812
+ "type": "option"
5813
+ },
5814
+ "domain": {
5815
+ "description": "Custom domain for the cluster",
5816
+ "name": "domain",
5817
+ "required": true,
5818
+ "hasDynamicHelp": false,
5819
+ "multiple": false,
5820
+ "type": "option"
5821
+ },
5822
+ "name": {
5823
+ "char": "n",
5824
+ "description": "Cluster name",
5825
+ "name": "name",
5826
+ "required": true,
5827
+ "hasDynamicHelp": false,
5828
+ "multiple": false,
5829
+ "type": "option"
5842
5830
  },
5843
5831
  "output": {
5844
5832
  "char": "o",
@@ -5853,11 +5841,23 @@
5853
5841
  "json"
5854
5842
  ],
5855
5843
  "type": "option"
5844
+ },
5845
+ "type": {
5846
+ "description": "Cluster type",
5847
+ "name": "type",
5848
+ "required": true,
5849
+ "hasDynamicHelp": false,
5850
+ "multiple": false,
5851
+ "options": [
5852
+ "standard",
5853
+ "run"
5854
+ ],
5855
+ "type": "option"
5856
5856
  }
5857
5857
  },
5858
5858
  "hasDynamicHelp": false,
5859
5859
  "hiddenAliases": [],
5860
- "id": "tenant:cluster:delete",
5860
+ "id": "tenant:cluster:edit",
5861
5861
  "pluginAlias": "@xano/cli",
5862
5862
  "pluginName": "@xano/cli",
5863
5863
  "pluginType": "core",
@@ -5869,7 +5869,7 @@
5869
5869
  "commands",
5870
5870
  "tenant",
5871
5871
  "cluster",
5872
- "delete",
5872
+ "edit",
5873
5873
  "index.js"
5874
5874
  ]
5875
5875
  },
@@ -6001,7 +6001,7 @@
6001
6001
  "index.js"
6002
6002
  ]
6003
6003
  },
6004
- "tenant:env:delete": {
6004
+ "tenant:env:get": {
6005
6005
  "aliases": [],
6006
6006
  "args": {
6007
6007
  "tenant_name": {
@@ -6010,11 +6010,10 @@
6010
6010
  "required": true
6011
6011
  }
6012
6012
  },
6013
- "description": "Delete an environment variable from a tenant",
6013
+ "description": "Get a single environment variable for a tenant",
6014
6014
  "examples": [
6015
- "$ xano tenant env delete my-tenant --name DATABASE_URL\nAre you sure you want to delete environment variable 'DATABASE_URL' from tenant my-tenant? (y/N) y\nEnvironment variable 'DATABASE_URL' deleted from tenant my-tenant\n",
6016
- "$ xano tenant env delete my-tenant --name DATABASE_URL --force\nEnvironment variable 'DATABASE_URL' deleted from tenant my-tenant\n",
6017
- "$ xano tenant env delete my-tenant --name DATABASE_URL -f -w 5 -o json"
6015
+ "$ xano tenant env get my-tenant --name DATABASE_URL\npostgres://localhost:5432/mydb\n",
6016
+ "$ xano tenant env get my-tenant --name DATABASE_URL -w 5 -o json"
6018
6017
  ],
6019
6018
  "flags": {
6020
6019
  "profile": {
@@ -6036,14 +6035,6 @@
6036
6035
  "allowNo": false,
6037
6036
  "type": "boolean"
6038
6037
  },
6039
- "force": {
6040
- "char": "f",
6041
- "description": "Skip confirmation prompt",
6042
- "name": "force",
6043
- "required": false,
6044
- "allowNo": false,
6045
- "type": "boolean"
6046
- },
6047
6038
  "name": {
6048
6039
  "char": "n",
6049
6040
  "description": "Environment variable name",
@@ -6079,7 +6070,7 @@
6079
6070
  },
6080
6071
  "hasDynamicHelp": false,
6081
6072
  "hiddenAliases": [],
6082
- "id": "tenant:env:delete",
6073
+ "id": "tenant:env:get",
6083
6074
  "pluginAlias": "@xano/cli",
6084
6075
  "pluginName": "@xano/cli",
6085
6076
  "pluginType": "core",
@@ -6091,11 +6082,11 @@
6091
6082
  "commands",
6092
6083
  "tenant",
6093
6084
  "env",
6094
- "delete",
6085
+ "get",
6095
6086
  "index.js"
6096
6087
  ]
6097
6088
  },
6098
- "tenant:env:get": {
6089
+ "tenant:env:get_all": {
6099
6090
  "aliases": [],
6100
6091
  "args": {
6101
6092
  "tenant_name": {
@@ -6104,10 +6095,12 @@
6104
6095
  "required": true
6105
6096
  }
6106
6097
  },
6107
- "description": "Get a single environment variable for a tenant",
6098
+ "description": "Get all environment variables for a tenant and save to a YAML file",
6108
6099
  "examples": [
6109
- "$ xano tenant env get my-tenant --name DATABASE_URL\npostgres://localhost:5432/mydb\n",
6110
- "$ xano tenant env get my-tenant --name DATABASE_URL -w 5 -o json"
6100
+ "$ xano tenant env get_all my-tenant\nEnvironment variables saved to env_my-tenant.yaml\n",
6101
+ "$ xano tenant env get_all my-tenant --file ./my-env.yaml",
6102
+ "$ xano tenant env get_all my-tenant --view",
6103
+ "$ xano tenant env get_all my-tenant -o json"
6111
6104
  ],
6112
6105
  "flags": {
6113
6106
  "profile": {
@@ -6129,11 +6122,11 @@
6129
6122
  "allowNo": false,
6130
6123
  "type": "boolean"
6131
6124
  },
6132
- "name": {
6133
- "char": "n",
6134
- "description": "Environment variable name",
6135
- "name": "name",
6136
- "required": true,
6125
+ "file": {
6126
+ "char": "f",
6127
+ "description": "Output file path (default: env_<tenant_name>.yaml)",
6128
+ "name": "file",
6129
+ "required": false,
6137
6130
  "hasDynamicHelp": false,
6138
6131
  "multiple": false,
6139
6132
  "type": "option"
@@ -6152,6 +6145,13 @@
6152
6145
  ],
6153
6146
  "type": "option"
6154
6147
  },
6148
+ "view": {
6149
+ "description": "Print environment variables to stdout instead of saving to file",
6150
+ "name": "view",
6151
+ "required": false,
6152
+ "allowNo": false,
6153
+ "type": "boolean"
6154
+ },
6155
6155
  "workspace": {
6156
6156
  "char": "w",
6157
6157
  "description": "Workspace ID (uses profile workspace if not provided)",
@@ -6164,7 +6164,7 @@
6164
6164
  },
6165
6165
  "hasDynamicHelp": false,
6166
6166
  "hiddenAliases": [],
6167
- "id": "tenant:env:get",
6167
+ "id": "tenant:env:get_all",
6168
6168
  "pluginAlias": "@xano/cli",
6169
6169
  "pluginName": "@xano/cli",
6170
6170
  "pluginType": "core",
@@ -6176,11 +6176,11 @@
6176
6176
  "commands",
6177
6177
  "tenant",
6178
6178
  "env",
6179
- "get",
6179
+ "get_all",
6180
6180
  "index.js"
6181
6181
  ]
6182
6182
  },
6183
- "tenant:env:list": {
6183
+ "tenant:env:delete": {
6184
6184
  "aliases": [],
6185
6185
  "args": {
6186
6186
  "tenant_name": {
@@ -6189,10 +6189,11 @@
6189
6189
  "required": true
6190
6190
  }
6191
6191
  },
6192
- "description": "List environment variable keys for a tenant",
6192
+ "description": "Delete an environment variable from a tenant",
6193
6193
  "examples": [
6194
- "$ xano tenant env list my-tenant\nEnvironment variables for tenant my-tenant:\n - DATABASE_URL\n - API_KEY\n - SECRET_TOKEN\n",
6195
- "$ xano tenant env list my-tenant -w 5 -o json"
6194
+ "$ xano tenant env delete my-tenant --name DATABASE_URL\nAre you sure you want to delete environment variable 'DATABASE_URL' from tenant my-tenant? (y/N) y\nEnvironment variable 'DATABASE_URL' deleted from tenant my-tenant\n",
6195
+ "$ xano tenant env delete my-tenant --name DATABASE_URL --force\nEnvironment variable 'DATABASE_URL' deleted from tenant my-tenant\n",
6196
+ "$ xano tenant env delete my-tenant --name DATABASE_URL -f -w 5 -o json"
6196
6197
  ],
6197
6198
  "flags": {
6198
6199
  "profile": {
@@ -6214,6 +6215,23 @@
6214
6215
  "allowNo": false,
6215
6216
  "type": "boolean"
6216
6217
  },
6218
+ "force": {
6219
+ "char": "f",
6220
+ "description": "Skip confirmation prompt",
6221
+ "name": "force",
6222
+ "required": false,
6223
+ "allowNo": false,
6224
+ "type": "boolean"
6225
+ },
6226
+ "name": {
6227
+ "char": "n",
6228
+ "description": "Environment variable name",
6229
+ "name": "name",
6230
+ "required": true,
6231
+ "hasDynamicHelp": false,
6232
+ "multiple": false,
6233
+ "type": "option"
6234
+ },
6217
6235
  "output": {
6218
6236
  "char": "o",
6219
6237
  "description": "Output format",
@@ -6240,7 +6258,7 @@
6240
6258
  },
6241
6259
  "hasDynamicHelp": false,
6242
6260
  "hiddenAliases": [],
6243
- "id": "tenant:env:list",
6261
+ "id": "tenant:env:delete",
6244
6262
  "pluginAlias": "@xano/cli",
6245
6263
  "pluginName": "@xano/cli",
6246
6264
  "pluginType": "core",
@@ -6252,11 +6270,11 @@
6252
6270
  "commands",
6253
6271
  "tenant",
6254
6272
  "env",
6255
- "list",
6273
+ "delete",
6256
6274
  "index.js"
6257
6275
  ]
6258
6276
  },
6259
- "tenant:env:get_all": {
6277
+ "tenant:env:list": {
6260
6278
  "aliases": [],
6261
6279
  "args": {
6262
6280
  "tenant_name": {
@@ -6265,12 +6283,10 @@
6265
6283
  "required": true
6266
6284
  }
6267
6285
  },
6268
- "description": "Get all environment variables for a tenant and save to a YAML file",
6286
+ "description": "List environment variable keys for a tenant",
6269
6287
  "examples": [
6270
- "$ xano tenant env get_all my-tenant\nEnvironment variables saved to env_my-tenant.yaml\n",
6271
- "$ xano tenant env get_all my-tenant --file ./my-env.yaml",
6272
- "$ xano tenant env get_all my-tenant --view",
6273
- "$ xano tenant env get_all my-tenant -o json"
6288
+ "$ xano tenant env list my-tenant\nEnvironment variables for tenant my-tenant:\n - DATABASE_URL\n - API_KEY\n - SECRET_TOKEN\n",
6289
+ "$ xano tenant env list my-tenant -w 5 -o json"
6274
6290
  ],
6275
6291
  "flags": {
6276
6292
  "profile": {
@@ -6292,15 +6308,6 @@
6292
6308
  "allowNo": false,
6293
6309
  "type": "boolean"
6294
6310
  },
6295
- "file": {
6296
- "char": "f",
6297
- "description": "Output file path (default: env_<tenant_name>.yaml)",
6298
- "name": "file",
6299
- "required": false,
6300
- "hasDynamicHelp": false,
6301
- "multiple": false,
6302
- "type": "option"
6303
- },
6304
6311
  "output": {
6305
6312
  "char": "o",
6306
6313
  "description": "Output format",
@@ -6315,13 +6322,6 @@
6315
6322
  ],
6316
6323
  "type": "option"
6317
6324
  },
6318
- "view": {
6319
- "description": "Print environment variables to stdout instead of saving to file",
6320
- "name": "view",
6321
- "required": false,
6322
- "allowNo": false,
6323
- "type": "boolean"
6324
- },
6325
6325
  "workspace": {
6326
6326
  "char": "w",
6327
6327
  "description": "Workspace ID (uses profile workspace if not provided)",
@@ -6334,7 +6334,7 @@
6334
6334
  },
6335
6335
  "hasDynamicHelp": false,
6336
6336
  "hiddenAliases": [],
6337
- "id": "tenant:env:get_all",
6337
+ "id": "tenant:env:list",
6338
6338
  "pluginAlias": "@xano/cli",
6339
6339
  "pluginName": "@xano/cli",
6340
6340
  "pluginType": "core",
@@ -6346,7 +6346,7 @@
6346
6346
  "commands",
6347
6347
  "tenant",
6348
6348
  "env",
6349
- "get_all",
6349
+ "list",
6350
6350
  "index.js"
6351
6351
  ]
6352
6352
  },
@@ -6536,7 +6536,7 @@
6536
6536
  "index.js"
6537
6537
  ]
6538
6538
  },
6539
- "tenant:license:get": {
6539
+ "tenant:license:set": {
6540
6540
  "aliases": [],
6541
6541
  "args": {
6542
6542
  "tenant_name": {
@@ -6545,12 +6545,12 @@
6545
6545
  "required": true
6546
6546
  }
6547
6547
  },
6548
- "description": "Get the license for a tenant",
6548
+ "description": "Set/update the license for a tenant",
6549
6549
  "examples": [
6550
- "$ xano tenant license get my-tenant\nLicense saved to license_my-tenant.yaml\n",
6551
- "$ xano tenant license get my-tenant --file ./my-license.yaml\nLicense saved to my-license.yaml\n",
6552
- "$ xano tenant license get my-tenant --view",
6553
- "$ xano tenant license get my-tenant -o json"
6550
+ "$ xano tenant license set my-tenant\nReads from license_my-tenant.yaml\n",
6551
+ "$ xano tenant license set my-tenant --file ./license.yaml",
6552
+ "$ xano tenant license set my-tenant --value 'key: value'",
6553
+ "$ xano tenant license set my-tenant -o json"
6554
6554
  ],
6555
6555
  "flags": {
6556
6556
  "profile": {
@@ -6572,9 +6572,22 @@
6572
6572
  "allowNo": false,
6573
6573
  "type": "boolean"
6574
6574
  },
6575
+ "clean": {
6576
+ "description": "Remove the source file after successful upload",
6577
+ "exclusive": [
6578
+ "value"
6579
+ ],
6580
+ "name": "clean",
6581
+ "required": false,
6582
+ "allowNo": false,
6583
+ "type": "boolean"
6584
+ },
6575
6585
  "file": {
6576
6586
  "char": "f",
6577
- "description": "Output file path (default: license_<tenant_name>.yaml)",
6587
+ "description": "Path to license file (default: license_<tenant_name>.yaml)",
6588
+ "exclusive": [
6589
+ "value"
6590
+ ],
6578
6591
  "name": "file",
6579
6592
  "required": false,
6580
6593
  "hasDynamicHelp": false,
@@ -6595,12 +6608,17 @@
6595
6608
  ],
6596
6609
  "type": "option"
6597
6610
  },
6598
- "view": {
6599
- "description": "Print license to stdout instead of saving to file",
6600
- "name": "view",
6611
+ "value": {
6612
+ "description": "Inline license value",
6613
+ "exclusive": [
6614
+ "file",
6615
+ "clean"
6616
+ ],
6617
+ "name": "value",
6601
6618
  "required": false,
6602
- "allowNo": false,
6603
- "type": "boolean"
6619
+ "hasDynamicHelp": false,
6620
+ "multiple": false,
6621
+ "type": "option"
6604
6622
  },
6605
6623
  "workspace": {
6606
6624
  "char": "w",
@@ -6614,7 +6632,7 @@
6614
6632
  },
6615
6633
  "hasDynamicHelp": false,
6616
6634
  "hiddenAliases": [],
6617
- "id": "tenant:license:get",
6635
+ "id": "tenant:license:set",
6618
6636
  "pluginAlias": "@xano/cli",
6619
6637
  "pluginName": "@xano/cli",
6620
6638
  "pluginType": "core",
@@ -6626,11 +6644,11 @@
6626
6644
  "commands",
6627
6645
  "tenant",
6628
6646
  "license",
6629
- "get",
6647
+ "set",
6630
6648
  "index.js"
6631
6649
  ]
6632
6650
  },
6633
- "tenant:license:set": {
6651
+ "tenant:license:get": {
6634
6652
  "aliases": [],
6635
6653
  "args": {
6636
6654
  "tenant_name": {
@@ -6639,12 +6657,12 @@
6639
6657
  "required": true
6640
6658
  }
6641
6659
  },
6642
- "description": "Set/update the license for a tenant",
6660
+ "description": "Get the license for a tenant",
6643
6661
  "examples": [
6644
- "$ xano tenant license set my-tenant\nReads from license_my-tenant.yaml\n",
6645
- "$ xano tenant license set my-tenant --file ./license.yaml",
6646
- "$ xano tenant license set my-tenant --value 'key: value'",
6647
- "$ xano tenant license set my-tenant -o json"
6662
+ "$ xano tenant license get my-tenant\nLicense saved to license_my-tenant.yaml\n",
6663
+ "$ xano tenant license get my-tenant --file ./my-license.yaml\nLicense saved to my-license.yaml\n",
6664
+ "$ xano tenant license get my-tenant --view",
6665
+ "$ xano tenant license get my-tenant -o json"
6648
6666
  ],
6649
6667
  "flags": {
6650
6668
  "profile": {
@@ -6666,22 +6684,9 @@
6666
6684
  "allowNo": false,
6667
6685
  "type": "boolean"
6668
6686
  },
6669
- "clean": {
6670
- "description": "Remove the source file after successful upload",
6671
- "exclusive": [
6672
- "value"
6673
- ],
6674
- "name": "clean",
6675
- "required": false,
6676
- "allowNo": false,
6677
- "type": "boolean"
6678
- },
6679
6687
  "file": {
6680
6688
  "char": "f",
6681
- "description": "Path to license file (default: license_<tenant_name>.yaml)",
6682
- "exclusive": [
6683
- "value"
6684
- ],
6689
+ "description": "Output file path (default: license_<tenant_name>.yaml)",
6685
6690
  "name": "file",
6686
6691
  "required": false,
6687
6692
  "hasDynamicHelp": false,
@@ -6702,17 +6707,12 @@
6702
6707
  ],
6703
6708
  "type": "option"
6704
6709
  },
6705
- "value": {
6706
- "description": "Inline license value",
6707
- "exclusive": [
6708
- "file",
6709
- "clean"
6710
- ],
6711
- "name": "value",
6710
+ "view": {
6711
+ "description": "Print license to stdout instead of saving to file",
6712
+ "name": "view",
6712
6713
  "required": false,
6713
- "hasDynamicHelp": false,
6714
- "multiple": false,
6715
- "type": "option"
6714
+ "allowNo": false,
6715
+ "type": "boolean"
6716
6716
  },
6717
6717
  "workspace": {
6718
6718
  "char": "w",
@@ -6726,7 +6726,7 @@
6726
6726
  },
6727
6727
  "hasDynamicHelp": false,
6728
6728
  "hiddenAliases": [],
6729
- "id": "tenant:license:set",
6729
+ "id": "tenant:license:get",
6730
6730
  "pluginAlias": "@xano/cli",
6731
6731
  "pluginName": "@xano/cli",
6732
6732
  "pluginType": "core",
@@ -6738,7 +6738,7 @@
6738
6738
  "commands",
6739
6739
  "tenant",
6740
6740
  "license",
6741
- "set",
6741
+ "get",
6742
6742
  "index.js"
6743
6743
  ]
6744
6744
  },
@@ -7027,5 +7027,5 @@
7027
7027
  ]
7028
7028
  }
7029
7029
  },
7030
- "version": "0.0.56"
7030
+ "version": "0.0.57"
7031
7031
  }