@xano/cli 0.0.24 → 0.0.25

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.
@@ -1,5 +1,40 @@
1
1
  {
2
2
  "commands": {
3
+ "auth": {
4
+ "aliases": [],
5
+ "args": {},
6
+ "description": "Authenticate with Xano via browser login",
7
+ "examples": [
8
+ "$ xano auth\nOpening browser for Xano login...\nWaiting for authentication...\nAuthenticated as John Doe (john@example.com)\n? Select an instance: US-1 (Production)\n? Profile name: default\nProfile 'default' created successfully!",
9
+ "$ xano auth --origin https://custom.xano.com\nOpening browser for Xano login at https://custom.xano.com..."
10
+ ],
11
+ "flags": {
12
+ "origin": {
13
+ "char": "o",
14
+ "description": "Xano account origin URL",
15
+ "name": "origin",
16
+ "default": "https://app.xano.com",
17
+ "hasDynamicHelp": false,
18
+ "multiple": false,
19
+ "type": "option"
20
+ }
21
+ },
22
+ "hasDynamicHelp": false,
23
+ "hiddenAliases": [],
24
+ "id": "auth",
25
+ "pluginAlias": "@xano/cli",
26
+ "pluginName": "@xano/cli",
27
+ "pluginType": "core",
28
+ "strict": true,
29
+ "enableJsonFlag": false,
30
+ "isESM": true,
31
+ "relativePath": [
32
+ "dist",
33
+ "commands",
34
+ "auth",
35
+ "index.js"
36
+ ]
37
+ },
3
38
  "branch:create": {
4
39
  "aliases": [],
5
40
  "args": {},
@@ -294,90 +329,6 @@
294
329
  "index.js"
295
330
  ]
296
331
  },
297
- "branch:set-live": {
298
- "aliases": [],
299
- "args": {
300
- "branch_label": {
301
- "description": "Branch label to set as live (use \"v1\" for default branch)",
302
- "name": "branch_label",
303
- "required": true
304
- }
305
- },
306
- "description": "Set a branch as the live (active) branch for API requests",
307
- "examples": [
308
- "$ 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",
309
- "$ xano branch set-live v1 --force\nBranch 'v1' is now live\n",
310
- "$ 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"
311
- ],
312
- "flags": {
313
- "profile": {
314
- "char": "p",
315
- "description": "Profile to use for this command",
316
- "env": "XANO_PROFILE",
317
- "name": "profile",
318
- "required": false,
319
- "hasDynamicHelp": false,
320
- "multiple": false,
321
- "type": "option"
322
- },
323
- "verbose": {
324
- "char": "v",
325
- "description": "Show detailed request/response information",
326
- "env": "XANO_VERBOSE",
327
- "name": "verbose",
328
- "required": false,
329
- "allowNo": false,
330
- "type": "boolean"
331
- },
332
- "force": {
333
- "char": "f",
334
- "description": "Skip confirmation prompt",
335
- "name": "force",
336
- "required": false,
337
- "allowNo": false,
338
- "type": "boolean"
339
- },
340
- "output": {
341
- "char": "o",
342
- "description": "Output format",
343
- "name": "output",
344
- "required": false,
345
- "default": "summary",
346
- "hasDynamicHelp": false,
347
- "multiple": false,
348
- "options": [
349
- "summary",
350
- "json"
351
- ],
352
- "type": "option"
353
- },
354
- "workspace": {
355
- "char": "w",
356
- "description": "Workspace ID (uses profile workspace if not provided)",
357
- "name": "workspace",
358
- "required": false,
359
- "hasDynamicHelp": false,
360
- "multiple": false,
361
- "type": "option"
362
- }
363
- },
364
- "hasDynamicHelp": false,
365
- "hiddenAliases": [],
366
- "id": "branch:set-live",
367
- "pluginAlias": "@xano/cli",
368
- "pluginName": "@xano/cli",
369
- "pluginType": "core",
370
- "strict": true,
371
- "enableJsonFlag": false,
372
- "isESM": true,
373
- "relativePath": [
374
- "dist",
375
- "commands",
376
- "branch",
377
- "set-live",
378
- "index.js"
379
- ]
380
- },
381
332
  "branch:get": {
382
333
  "aliases": [],
383
334
  "args": {
@@ -521,88 +472,88 @@
521
472
  "index.js"
522
473
  ]
523
474
  },
524
- "profile:create": {
475
+ "function:create": {
525
476
  "aliases": [],
526
- "args": {
527
- "name": {
528
- "description": "Profile name",
529
- "name": "name",
530
- "required": true
531
- }
532
- },
533
- "description": "Create a new profile configuration",
477
+ "args": {},
478
+ "description": "Create a new function in a workspace",
534
479
  "examples": [
535
- "$ xano profile:create production --account_origin https://account.xano.com --instance_origin https://instance.xano.com --access_token token123\nProfile 'production' created successfully at ~/.xano/credentials.yaml\n",
536
- "$ xano profile:create staging -a https://staging-account.xano.com -i https://staging-instance.xano.com -t token456\nProfile 'staging' created successfully at ~/.xano/credentials.yaml\n",
537
- "$ xano profile:create dev -i https://dev-instance.xano.com -t token789 -w my-workspace -b feature-branch\nProfile 'dev' created successfully at ~/.xano/credentials.yaml\n",
538
- "$ xano profile:create dev -i https://dev-instance.xano.com -t token789 -w my-workspace -b feature-branch -j my-project\nProfile 'dev' created successfully at ~/.xano/credentials.yaml\n",
539
- "$ xano profile:create production --account_origin https://account.xano.com --instance_origin https://instance.xano.com --access_token token123 --default\nProfile 'production' created successfully at ~/.xano/credentials.yaml\nDefault profile set to 'production'\n"
480
+ "$ xano function:create -w 40 -f function.xs\nFunction created successfully!\nID: 123\nName: my_function\n",
481
+ "$ xano function:create -f function.xs\nFunction created successfully!\nID: 123\nName: my_function\n",
482
+ "$ xano function:create -w 40 -f function.xs --edit\n# Opens function.xs in $EDITOR, then creates function with edited content\nFunction created successfully!\nID: 123\nName: my_function\n",
483
+ "$ cat function.xs | xano function:create -w 40 --stdin\nFunction created successfully!\nID: 123\nName: my_function\n",
484
+ "$ xano function:create -w 40 -f function.xs -o json\n{\n \"id\": 123,\n \"name\": \"my_function\",\n ...\n}\n"
540
485
  ],
541
486
  "flags": {
542
- "access_token": {
543
- "char": "t",
544
- "description": "Access token for the Xano Metadata API",
545
- "name": "access_token",
546
- "required": true,
547
- "hasDynamicHelp": false,
548
- "multiple": false,
549
- "type": "option"
550
- },
551
- "account_origin": {
552
- "char": "a",
553
- "description": "Account origin URL. Optional for self hosted installs.",
554
- "name": "account_origin",
487
+ "profile": {
488
+ "char": "p",
489
+ "description": "Profile to use for this command",
490
+ "env": "XANO_PROFILE",
491
+ "name": "profile",
555
492
  "required": false,
556
493
  "hasDynamicHelp": false,
557
494
  "multiple": false,
558
495
  "type": "option"
559
496
  },
560
- "branch": {
561
- "char": "b",
562
- "description": "Branch name",
563
- "name": "branch",
497
+ "verbose": {
498
+ "char": "v",
499
+ "description": "Show detailed request/response information",
500
+ "env": "XANO_VERBOSE",
501
+ "name": "verbose",
564
502
  "required": false,
565
- "hasDynamicHelp": false,
566
- "multiple": false,
567
- "type": "option"
503
+ "allowNo": false,
504
+ "type": "boolean"
568
505
  },
569
- "default": {
570
- "description": "Set this profile as the default",
571
- "name": "default",
506
+ "edit": {
507
+ "char": "e",
508
+ "dependsOn": [
509
+ "file"
510
+ ],
511
+ "description": "Open file in editor before creating function (requires --file)",
512
+ "name": "edit",
572
513
  "required": false,
573
514
  "allowNo": false,
574
515
  "type": "boolean"
575
516
  },
576
- "instance_origin": {
577
- "char": "i",
578
- "description": "Instance origin URL",
579
- "name": "instance_origin",
580
- "required": true,
517
+ "file": {
518
+ "char": "f",
519
+ "description": "Path to file containing XanoScript code",
520
+ "exclusive": [
521
+ "stdin"
522
+ ],
523
+ "name": "file",
524
+ "required": false,
581
525
  "hasDynamicHelp": false,
582
526
  "multiple": false,
583
527
  "type": "option"
584
528
  },
585
- "project": {
586
- "char": "j",
587
- "description": "Project name",
588
- "name": "project",
529
+ "output": {
530
+ "char": "o",
531
+ "description": "Output format",
532
+ "name": "output",
589
533
  "required": false,
534
+ "default": "summary",
590
535
  "hasDynamicHelp": false,
591
536
  "multiple": false,
537
+ "options": [
538
+ "summary",
539
+ "json"
540
+ ],
592
541
  "type": "option"
593
542
  },
594
- "run_base_url": {
595
- "char": "r",
596
- "description": "Xano Run API base URL (default: https://app.xano.com/)",
597
- "name": "run_base_url",
543
+ "stdin": {
544
+ "char": "s",
545
+ "description": "Read XanoScript code from stdin",
546
+ "exclusive": [
547
+ "file"
548
+ ],
549
+ "name": "stdin",
598
550
  "required": false,
599
- "hasDynamicHelp": false,
600
- "multiple": false,
601
- "type": "option"
551
+ "allowNo": false,
552
+ "type": "boolean"
602
553
  },
603
554
  "workspace": {
604
555
  "char": "w",
605
- "description": "Workspace name",
556
+ "description": "Workspace ID (optional if set in profile)",
606
557
  "name": "workspace",
607
558
  "required": false,
608
559
  "hasDynamicHelp": false,
@@ -612,7 +563,7 @@
612
563
  },
613
564
  "hasDynamicHelp": false,
614
565
  "hiddenAliases": [],
615
- "id": "profile:create",
566
+ "id": "function:create",
616
567
  "pluginAlias": "@xano/cli",
617
568
  "pluginName": "@xano/cli",
618
569
  "pluginType": "core",
@@ -622,29 +573,30 @@
622
573
  "relativePath": [
623
574
  "dist",
624
575
  "commands",
625
- "profile",
576
+ "function",
626
577
  "create",
627
578
  "index.js"
628
579
  ]
629
580
  },
630
- "profile:edit": {
581
+ "function:edit": {
631
582
  "aliases": [],
632
583
  "args": {
633
- "name": {
634
- "description": "Profile name to edit (uses default profile if not specified)",
635
- "name": "name",
584
+ "function_id": {
585
+ "description": "Function ID to edit",
586
+ "name": "function_id",
636
587
  "required": false
637
588
  }
638
589
  },
639
- "description": "Edit an existing profile configuration",
590
+ "description": "Edit a function in a workspace",
640
591
  "examples": [
641
- "$ xano profile:edit --access_token new_token123\nProfile 'default' updated successfully at ~/.xano/credentials.yaml\n",
642
- "$ xano profile:edit production --access_token new_token123\nProfile 'production' updated successfully at ~/.xano/credentials.yaml\n",
643
- "$ xano profile:edit staging -i https://new-staging-instance.xano.com -t new_token456\nProfile 'staging' updated successfully at ~/.xano/credentials.yaml\n",
644
- "$ xano profile:edit -b new-branch\nProfile 'default' updated successfully at ~/.xano/credentials.yaml\n",
645
- "$ xano profile:edit --remove-branch\nProfile 'default' updated successfully at ~/.xano/credentials.yaml\n",
646
- "$ xano profile:edit -j my-project\nProfile 'default' updated successfully at ~/.xano/credentials.yaml\n",
647
- "$ xano profile:edit --remove-project\nProfile 'default' updated successfully at ~/.xano/credentials.yaml\n"
592
+ "$ 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",
593
+ "$ 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",
594
+ "$ xano function:edit 163 -f function.xs\nFunction updated successfully!\nID: 163\nName: my_function\n",
595
+ "$ xano function:edit 163 -w 40 -f function.xs\nFunction updated successfully!\nID: 163\nName: my_function\n",
596
+ "$ xano function:edit -f function.xs\nSelect a function to edit:\n ❯ my_function (ID: 163) - Sample function\n another-func (ID: 164)\n",
597
+ "$ 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",
598
+ "$ cat function.xs | xano function:edit 163 --stdin\nFunction updated successfully!\nID: 163\nName: my_function\n",
599
+ "$ xano function:edit 163 -f function.xs -o json\n{\n \"id\": 163,\n \"name\": \"my_function\",\n ...\n}\n"
648
600
  ],
649
601
  "flags": {
650
602
  "profile": {
@@ -666,91 +618,61 @@
666
618
  "allowNo": false,
667
619
  "type": "boolean"
668
620
  },
669
- "access_token": {
670
- "char": "t",
671
- "description": "Update access token for the Xano Metadata API",
672
- "name": "access_token",
673
- "required": false,
674
- "hasDynamicHelp": false,
675
- "multiple": false,
676
- "type": "option"
677
- },
678
- "account_origin": {
679
- "char": "a",
680
- "description": "Update account origin URL",
681
- "name": "account_origin",
682
- "required": false,
683
- "hasDynamicHelp": false,
684
- "multiple": false,
685
- "type": "option"
686
- },
687
- "branch": {
688
- "char": "b",
689
- "description": "Update branch name",
690
- "name": "branch",
621
+ "edit": {
622
+ "char": "e",
623
+ "description": "Open file in editor before updating function (requires --file)",
624
+ "name": "edit",
691
625
  "required": false,
692
- "hasDynamicHelp": false,
693
- "multiple": false,
694
- "type": "option"
626
+ "allowNo": false,
627
+ "type": "boolean"
695
628
  },
696
- "instance_origin": {
697
- "char": "i",
698
- "description": "Update instance origin URL",
699
- "name": "instance_origin",
629
+ "file": {
630
+ "char": "f",
631
+ "description": "Path to file containing XanoScript code",
632
+ "exclusive": [
633
+ "stdin"
634
+ ],
635
+ "name": "file",
700
636
  "required": false,
701
637
  "hasDynamicHelp": false,
702
638
  "multiple": false,
703
639
  "type": "option"
704
640
  },
705
- "project": {
706
- "char": "j",
707
- "description": "Update project ID",
708
- "name": "project",
641
+ "output": {
642
+ "char": "o",
643
+ "description": "Output format",
644
+ "name": "output",
709
645
  "required": false,
646
+ "default": "summary",
710
647
  "hasDynamicHelp": false,
711
648
  "multiple": false,
649
+ "options": [
650
+ "summary",
651
+ "json"
652
+ ],
712
653
  "type": "option"
713
654
  },
714
- "remove-branch": {
715
- "description": "Remove branch from profile",
716
- "name": "remove-branch",
717
- "required": false,
718
- "allowNo": false,
719
- "type": "boolean"
720
- },
721
- "remove-project": {
722
- "description": "Remove project from profile",
723
- "name": "remove-project",
724
- "required": false,
725
- "allowNo": false,
726
- "type": "boolean"
727
- },
728
- "remove-run-base-url": {
729
- "description": "Remove run_base_url from profile (use default)",
730
- "name": "remove-run-base-url",
655
+ "publish": {
656
+ "description": "Publish the function after editing",
657
+ "name": "publish",
731
658
  "required": false,
732
659
  "allowNo": false,
733
660
  "type": "boolean"
734
661
  },
735
- "remove-workspace": {
736
- "description": "Remove workspace from profile",
737
- "name": "remove-workspace",
662
+ "stdin": {
663
+ "char": "s",
664
+ "description": "Read XanoScript code from stdin",
665
+ "exclusive": [
666
+ "file"
667
+ ],
668
+ "name": "stdin",
738
669
  "required": false,
739
670
  "allowNo": false,
740
671
  "type": "boolean"
741
672
  },
742
- "run_base_url": {
743
- "char": "r",
744
- "description": "Update Xano Run API base URL",
745
- "name": "run_base_url",
746
- "required": false,
747
- "hasDynamicHelp": false,
748
- "multiple": false,
749
- "type": "option"
750
- },
751
673
  "workspace": {
752
674
  "char": "w",
753
- "description": "Update workspace name",
675
+ "description": "Workspace ID (optional if set in profile)",
754
676
  "name": "workspace",
755
677
  "required": false,
756
678
  "hasDynamicHelp": false,
@@ -760,7 +682,7 @@
760
682
  },
761
683
  "hasDynamicHelp": false,
762
684
  "hiddenAliases": [],
763
- "id": "profile:edit",
685
+ "id": "function:edit",
764
686
  "pluginAlias": "@xano/cli",
765
687
  "pluginName": "@xano/cli",
766
688
  "pluginType": "core",
@@ -770,27 +692,46 @@
770
692
  "relativePath": [
771
693
  "dist",
772
694
  "commands",
773
- "profile",
695
+ "function",
774
696
  "edit",
775
697
  "index.js"
776
698
  ]
777
699
  },
778
- "profile:delete": {
700
+ "branch:set-live": {
779
701
  "aliases": [],
780
702
  "args": {
781
- "name": {
782
- "description": "Profile name to delete",
783
- "name": "name",
703
+ "branch_label": {
704
+ "description": "Branch label to set as live (use \"v1\" for default branch)",
705
+ "name": "branch_label",
784
706
  "required": true
785
707
  }
786
708
  },
787
- "description": "Delete a profile configuration",
709
+ "description": "Set a branch as the live (active) branch for API requests",
788
710
  "examples": [
789
- "$ 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",
790
- "$ xano profile:delete old-profile --force\nProfile 'old-profile' deleted successfully from ~/.xano/credentials.yaml\n",
791
- "$ xano profile:delete old-profile -f\nProfile 'old-profile' deleted successfully from ~/.xano/credentials.yaml\n"
711
+ "$ 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",
712
+ "$ xano branch set-live v1 --force\nBranch 'v1' is now live\n",
713
+ "$ 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"
792
714
  ],
793
715
  "flags": {
716
+ "profile": {
717
+ "char": "p",
718
+ "description": "Profile to use for this command",
719
+ "env": "XANO_PROFILE",
720
+ "name": "profile",
721
+ "required": false,
722
+ "hasDynamicHelp": false,
723
+ "multiple": false,
724
+ "type": "option"
725
+ },
726
+ "verbose": {
727
+ "char": "v",
728
+ "description": "Show detailed request/response information",
729
+ "env": "XANO_VERBOSE",
730
+ "name": "verbose",
731
+ "required": false,
732
+ "allowNo": false,
733
+ "type": "boolean"
734
+ },
794
735
  "force": {
795
736
  "char": "f",
796
737
  "description": "Skip confirmation prompt",
@@ -798,37 +739,34 @@
798
739
  "required": false,
799
740
  "allowNo": false,
800
741
  "type": "boolean"
742
+ },
743
+ "output": {
744
+ "char": "o",
745
+ "description": "Output format",
746
+ "name": "output",
747
+ "required": false,
748
+ "default": "summary",
749
+ "hasDynamicHelp": false,
750
+ "multiple": false,
751
+ "options": [
752
+ "summary",
753
+ "json"
754
+ ],
755
+ "type": "option"
756
+ },
757
+ "workspace": {
758
+ "char": "w",
759
+ "description": "Workspace ID (uses profile workspace if not provided)",
760
+ "name": "workspace",
761
+ "required": false,
762
+ "hasDynamicHelp": false,
763
+ "multiple": false,
764
+ "type": "option"
801
765
  }
802
766
  },
803
767
  "hasDynamicHelp": false,
804
768
  "hiddenAliases": [],
805
- "id": "profile:delete",
806
- "pluginAlias": "@xano/cli",
807
- "pluginName": "@xano/cli",
808
- "pluginType": "core",
809
- "strict": true,
810
- "enableJsonFlag": false,
811
- "isESM": true,
812
- "relativePath": [
813
- "dist",
814
- "commands",
815
- "profile",
816
- "delete",
817
- "index.js"
818
- ]
819
- },
820
- "profile:get-default": {
821
- "aliases": [],
822
- "args": {},
823
- "description": "Get the current default profile name",
824
- "examples": [
825
- "$ xano profile:get-default\nproduction\n",
826
- "$ xano profile:get-default\nNo default profile set\n"
827
- ],
828
- "flags": {},
829
- "hasDynamicHelp": false,
830
- "hiddenAliases": [],
831
- "id": "profile:get-default",
769
+ "id": "branch:set-live",
832
770
  "pluginAlias": "@xano/cli",
833
771
  "pluginName": "@xano/cli",
834
772
  "pluginType": "core",
@@ -838,19 +776,20 @@
838
776
  "relativePath": [
839
777
  "dist",
840
778
  "commands",
841
- "profile",
842
- "get-default",
779
+ "branch",
780
+ "set-live",
843
781
  "index.js"
844
782
  ]
845
783
  },
846
- "profile:me": {
784
+ "function:list": {
847
785
  "aliases": [],
848
786
  "args": {},
849
- "description": "Get information about the currently authenticated user",
787
+ "description": "List all functions in a workspace from the Xano Metadata API",
850
788
  "examples": [
851
- "$ xano profile:me\nUser Information:\n ID: 1\n Name: John Doe\n Email: john@example.com\n",
852
- "$ xano profile:me --profile production\nUser Information:\n ID: 42\n Name: Admin User\n Email: admin@example.com\n",
853
- "$ xano profile:me --output json\n{\n \"id\": 1,\n \"name\": \"John Doe\",\n \"email\": \"john@example.com\"\n}\n"
789
+ "$ xano function:list -w 40\nAvailable functions:\n - function-1 (ID: 1)\n - function-2 (ID: 2)\n - function-3 (ID: 3)\n",
790
+ "$ xano function:list --profile production\nAvailable functions:\n - my-function (ID: 1)\n - another-function (ID: 2)\n",
791
+ "$ xano function:list -w 40 --output json\n[\n {\n \"id\": 1,\n \"name\": \"function-1\"\n }\n]\n",
792
+ "$ xano function:list -p staging -o json --include_draft\n[\n {\n \"id\": 1,\n \"name\": \"function-1\"\n }\n]\n"
854
793
  ],
855
794
  "flags": {
856
795
  "profile": {
@@ -872,6 +811,33 @@
872
811
  "allowNo": false,
873
812
  "type": "boolean"
874
813
  },
814
+ "include_draft": {
815
+ "description": "Include draft functions",
816
+ "name": "include_draft",
817
+ "required": false,
818
+ "allowNo": false,
819
+ "type": "boolean"
820
+ },
821
+ "include_xanoscript": {
822
+ "description": "Include XanoScript in response",
823
+ "name": "include_xanoscript",
824
+ "required": false,
825
+ "allowNo": false,
826
+ "type": "boolean"
827
+ },
828
+ "order": {
829
+ "description": "Sort order",
830
+ "name": "order",
831
+ "required": false,
832
+ "default": "desc",
833
+ "hasDynamicHelp": false,
834
+ "multiple": false,
835
+ "options": [
836
+ "asc",
837
+ "desc"
838
+ ],
839
+ "type": "option"
840
+ },
875
841
  "output": {
876
842
  "char": "o",
877
843
  "description": "Output format",
@@ -885,63 +851,47 @@
885
851
  "json"
886
852
  ],
887
853
  "type": "option"
854
+ },
855
+ "page": {
856
+ "description": "Page number for pagination",
857
+ "name": "page",
858
+ "required": false,
859
+ "default": 1,
860
+ "hasDynamicHelp": false,
861
+ "multiple": false,
862
+ "type": "option"
863
+ },
864
+ "per_page": {
865
+ "description": "Number of results per page",
866
+ "name": "per_page",
867
+ "required": false,
868
+ "default": 50,
869
+ "hasDynamicHelp": false,
870
+ "multiple": false,
871
+ "type": "option"
872
+ },
873
+ "sort": {
874
+ "description": "Sort field",
875
+ "name": "sort",
876
+ "required": false,
877
+ "default": "created_at",
878
+ "hasDynamicHelp": false,
879
+ "multiple": false,
880
+ "type": "option"
881
+ },
882
+ "workspace": {
883
+ "char": "w",
884
+ "description": "Workspace ID (optional if set in profile)",
885
+ "name": "workspace",
886
+ "required": false,
887
+ "hasDynamicHelp": false,
888
+ "multiple": false,
889
+ "type": "option"
888
890
  }
889
891
  },
890
892
  "hasDynamicHelp": false,
891
893
  "hiddenAliases": [],
892
- "id": "profile:me",
893
- "pluginAlias": "@xano/cli",
894
- "pluginName": "@xano/cli",
895
- "pluginType": "core",
896
- "strict": true,
897
- "enableJsonFlag": false,
898
- "isESM": true,
899
- "relativePath": [
900
- "dist",
901
- "commands",
902
- "profile",
903
- "me",
904
- "index.js"
905
- ]
906
- },
907
- "profile:project": {
908
- "aliases": [],
909
- "args": {},
910
- "description": "Print the project for the default profile",
911
- "examples": [
912
- "$ xano profile:project\nmy-project-id\n",
913
- "$ xano profile:project | pbcopy\n# Copies the project to clipboard on macOS\n"
914
- ],
915
- "flags": {},
916
- "hasDynamicHelp": false,
917
- "hiddenAliases": [],
918
- "id": "profile:project",
919
- "pluginAlias": "@xano/cli",
920
- "pluginName": "@xano/cli",
921
- "pluginType": "core",
922
- "strict": true,
923
- "enableJsonFlag": false,
924
- "isESM": true,
925
- "relativePath": [
926
- "dist",
927
- "commands",
928
- "profile",
929
- "project",
930
- "index.js"
931
- ]
932
- },
933
- "profile:token": {
934
- "aliases": [],
935
- "args": {},
936
- "description": "Print the access token for the default profile",
937
- "examples": [
938
- "$ xano profile:token\neyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...\n",
939
- "$ xano profile:token | pbcopy\n# Copies the token to clipboard on macOS\n"
940
- ],
941
- "flags": {},
942
- "hasDynamicHelp": false,
943
- "hiddenAliases": [],
944
- "id": "profile:token",
894
+ "id": "function:list",
945
895
  "pluginAlias": "@xano/cli",
946
896
  "pluginName": "@xano/cli",
947
897
  "pluginType": "core",
@@ -951,33 +901,91 @@
951
901
  "relativePath": [
952
902
  "dist",
953
903
  "commands",
954
- "profile",
955
- "token",
904
+ "function",
905
+ "list",
956
906
  "index.js"
957
907
  ]
958
908
  },
959
- "profile:list": {
909
+ "function:get": {
960
910
  "aliases": [],
961
- "args": {},
962
- "description": "List all available profile configurations",
911
+ "args": {
912
+ "function_id": {
913
+ "description": "Function ID",
914
+ "name": "function_id",
915
+ "required": false
916
+ }
917
+ },
918
+ "description": "Get a specific function from a workspace",
963
919
  "examples": [
964
- "$ xano profile:list\nAvailable profiles:\n - default\n - production\n - staging\n - development\n",
965
- "$ xano profile:list --details\nAvailable profiles:\n\nProfile: default\n Account Origin: https://account.xano.com\n Instance Origin: https://instance.xano.com\n Access Token: ***...***\n Workspace: my-workspace\n Branch: main\n Project: my-project\n\nProfile: production\n Account Origin: https://account.xano.com\n Instance Origin: https://prod-instance.xano.com\n Access Token: ***...***\n",
966
- "$ xano profile:list -d\nAvailable profiles:\n\nProfile: default\n Account Origin: https://account.xano.com\n Instance Origin: https://instance.xano.com\n Access Token: ***...***\n Workspace: my-workspace\n Branch: main\n Project: my-project\n"
920
+ "$ xano function:get 145 -w 40\nFunction: yo (ID: 145)\nCreated: 2025-10-10 10:30:00\nDescription: Sample function\n",
921
+ "$ xano function:get 145 --profile production\nFunction: yo (ID: 145)\nCreated: 2025-10-10 10:30:00\n",
922
+ "$ xano function:get\nSelect a function:\n yo (ID: 145) - Sample function\n another-func (ID: 146)\n",
923
+ "$ xano function:get 145 -w 40 --output json\n{\n \"id\": 145,\n \"name\": \"yo\",\n \"description\": \"Sample function\"\n}\n",
924
+ "$ xano function:get 145 -p staging -o json --include_draft\n{\n \"id\": 145,\n \"name\": \"yo\"\n}\n",
925
+ "$ xano function:get 145 -p staging -o xs\nfunction yo {\n input {\n }\n stack {\n }\n response = null\n}\n"
967
926
  ],
968
927
  "flags": {
969
- "details": {
970
- "char": "d",
971
- "description": "Show detailed information for each profile",
972
- "name": "details",
928
+ "profile": {
929
+ "char": "p",
930
+ "description": "Profile to use for this command",
931
+ "env": "XANO_PROFILE",
932
+ "name": "profile",
933
+ "required": false,
934
+ "hasDynamicHelp": false,
935
+ "multiple": false,
936
+ "type": "option"
937
+ },
938
+ "verbose": {
939
+ "char": "v",
940
+ "description": "Show detailed request/response information",
941
+ "env": "XANO_VERBOSE",
942
+ "name": "verbose",
973
943
  "required": false,
974
944
  "allowNo": false,
975
945
  "type": "boolean"
946
+ },
947
+ "include_draft": {
948
+ "description": "Include draft version",
949
+ "name": "include_draft",
950
+ "required": false,
951
+ "allowNo": false,
952
+ "type": "boolean"
953
+ },
954
+ "include_xanoscript": {
955
+ "description": "Include XanoScript in response",
956
+ "name": "include_xanoscript",
957
+ "required": false,
958
+ "allowNo": false,
959
+ "type": "boolean"
960
+ },
961
+ "output": {
962
+ "char": "o",
963
+ "description": "Output format",
964
+ "name": "output",
965
+ "required": false,
966
+ "default": "summary",
967
+ "hasDynamicHelp": false,
968
+ "multiple": false,
969
+ "options": [
970
+ "summary",
971
+ "json",
972
+ "xs"
973
+ ],
974
+ "type": "option"
975
+ },
976
+ "workspace": {
977
+ "char": "w",
978
+ "description": "Workspace ID (optional if set in profile)",
979
+ "name": "workspace",
980
+ "required": false,
981
+ "hasDynamicHelp": false,
982
+ "multiple": false,
983
+ "type": "option"
976
984
  }
977
985
  },
978
986
  "hasDynamicHelp": false,
979
987
  "hiddenAliases": [],
980
- "id": "profile:list",
988
+ "id": "function:get",
981
989
  "pluginAlias": "@xano/cli",
982
990
  "pluginName": "@xano/cli",
983
991
  "pluginType": "core",
@@ -987,66 +995,137 @@
987
995
  "relativePath": [
988
996
  "dist",
989
997
  "commands",
990
- "profile",
991
- "list",
998
+ "function",
999
+ "get",
992
1000
  "index.js"
993
1001
  ]
994
1002
  },
995
- "profile:wizard": {
1003
+ "run:exec": {
996
1004
  "aliases": [],
997
- "args": {},
998
- "description": "Create a new profile configuration using an interactive wizard",
1005
+ "args": {
1006
+ "path": {
1007
+ "description": "Path to file or directory containing XanoScript code (directory creates multidoc from .xs files)",
1008
+ "name": "path",
1009
+ "required": false
1010
+ }
1011
+ },
1012
+ "description": "Execute XanoScript code (job or service)",
999
1013
  "examples": [
1000
- "$ xano profile:wizard\nWelcome to the Xano Profile Wizard!\n? Enter your access token: ***...***\n? Select an instance:\n > Production (https://app.xano.com)\n Staging (https://staging.xano.com)\n? Profile name: production\nProfile 'production' created successfully at ~/.xano/credentials.yaml\n"
1014
+ "$ xano run exec script.xs\nExecuted successfully!\n...\n",
1015
+ "$ xano run exec ./my-workspace\n# Executes all .xs files in directory as multidoc\nExecuted successfully!\n...\n",
1016
+ "$ xano run exec script.xs --edit\n# Opens script.xs in $EDITOR, then executes\nExecuted successfully!\n...\n",
1017
+ "$ cat script.xs | xano run exec --stdin\nExecuted successfully!\n...\n",
1018
+ "$ xano run exec script.xs -o json\n{\n \"run\": { ... }\n}\n",
1019
+ "$ xano run exec script.xs -a args.json\n# Executes with input arguments from args.json\nExecuted successfully!\n...\n",
1020
+ "$ xano run exec script.xs --env API_KEY=secret --env DEBUG=true\n# Executes with environment variable overrides\nExecuted successfully!\n...\n"
1001
1021
  ],
1002
1022
  "flags": {
1003
- "name": {
1004
- "char": "n",
1005
- "description": "Profile name (skip prompt if provided)",
1006
- "name": "name",
1023
+ "profile": {
1024
+ "char": "p",
1025
+ "description": "Profile to use for this command",
1026
+ "env": "XANO_PROFILE",
1027
+ "name": "profile",
1007
1028
  "required": false,
1008
1029
  "hasDynamicHelp": false,
1009
1030
  "multiple": false,
1010
1031
  "type": "option"
1011
1032
  },
1012
- "origin": {
1033
+ "verbose": {
1034
+ "char": "v",
1035
+ "description": "Show detailed request/response information",
1036
+ "env": "XANO_VERBOSE",
1037
+ "name": "verbose",
1038
+ "required": false,
1039
+ "allowNo": false,
1040
+ "type": "boolean"
1041
+ },
1042
+ "args": {
1043
+ "char": "a",
1044
+ "description": "Path or URL to JSON file containing input arguments",
1045
+ "name": "args",
1046
+ "required": false,
1047
+ "hasDynamicHelp": false,
1048
+ "multiple": false,
1049
+ "type": "option"
1050
+ },
1051
+ "edit": {
1052
+ "char": "e",
1053
+ "description": "Open file in editor before running (requires path argument or --file)",
1054
+ "name": "edit",
1055
+ "required": false,
1056
+ "allowNo": false,
1057
+ "type": "boolean"
1058
+ },
1059
+ "env": {
1060
+ "description": "Environment variable override (key=value)",
1061
+ "name": "env",
1062
+ "required": false,
1063
+ "hasDynamicHelp": false,
1064
+ "multiple": true,
1065
+ "type": "option"
1066
+ },
1067
+ "file": {
1068
+ "char": "f",
1069
+ "description": "Path or URL to file containing XanoScript code (deprecated: use path argument instead)",
1070
+ "exclusive": [
1071
+ "stdin"
1072
+ ],
1073
+ "name": "file",
1074
+ "required": false,
1075
+ "hasDynamicHelp": false,
1076
+ "multiple": false,
1077
+ "type": "option"
1078
+ },
1079
+ "output": {
1013
1080
  "char": "o",
1014
- "description": "Xano instance origin URL",
1015
- "name": "origin",
1081
+ "description": "Output format",
1082
+ "name": "output",
1016
1083
  "required": false,
1017
- "default": "https://app.xano.com",
1084
+ "default": "summary",
1018
1085
  "hasDynamicHelp": false,
1019
1086
  "multiple": false,
1087
+ "options": [
1088
+ "summary",
1089
+ "json"
1090
+ ],
1020
1091
  "type": "option"
1092
+ },
1093
+ "stdin": {
1094
+ "char": "s",
1095
+ "description": "Read XanoScript code from stdin",
1096
+ "exclusive": [
1097
+ "file"
1098
+ ],
1099
+ "name": "stdin",
1100
+ "required": false,
1101
+ "allowNo": false,
1102
+ "type": "boolean"
1021
1103
  }
1022
1104
  },
1023
1105
  "hasDynamicHelp": false,
1024
1106
  "hiddenAliases": [],
1025
- "id": "profile:wizard",
1107
+ "id": "run:exec",
1026
1108
  "pluginAlias": "@xano/cli",
1027
1109
  "pluginName": "@xano/cli",
1028
1110
  "pluginType": "core",
1029
1111
  "strict": true,
1030
- "enableJsonFlag": false,
1031
1112
  "isESM": true,
1032
1113
  "relativePath": [
1033
1114
  "dist",
1034
1115
  "commands",
1035
- "profile",
1036
- "wizard",
1116
+ "run",
1117
+ "exec",
1037
1118
  "index.js"
1038
1119
  ]
1039
1120
  },
1040
- "function:create": {
1121
+ "run:info": {
1041
1122
  "aliases": [],
1042
1123
  "args": {},
1043
- "description": "Create a new function in a workspace",
1124
+ "description": "Get information about a XanoScript document (type, inputs, env vars)",
1044
1125
  "examples": [
1045
- "$ xano function:create -w 40 -f function.xs\nFunction created successfully!\nID: 123\nName: my_function\n",
1046
- "$ xano function:create -f function.xs\nFunction created successfully!\nID: 123\nName: my_function\n",
1047
- "$ xano function:create -w 40 -f function.xs --edit\n# Opens function.xs in $EDITOR, then creates function with edited content\nFunction created successfully!\nID: 123\nName: my_function\n",
1048
- "$ cat function.xs | xano function:create -w 40 --stdin\nFunction created successfully!\nID: 123\nName: my_function\n",
1049
- "$ xano function:create -w 40 -f function.xs -o json\n{\n \"id\": 123,\n \"name\": \"my_function\",\n ...\n}\n"
1126
+ "$ xano run info -f script.xs\nDocument Info:\n Type: job\n Inputs:\n - name (string, required)\n - count (number, optional)\n Environment Variables:\n - API_KEY\n - DEBUG\n",
1127
+ "$ cat script.xs | xano run info --stdin\nDocument Info:\n Type: service\n Inputs: none\n Environment Variables: none\n",
1128
+ "$ xano run info -f script.xs -o json\n{ \"type\": \"job\", \"input\": { \"name\": {...} }, \"env\": [\"API_KEY\"] }\n"
1050
1129
  ],
1051
1130
  "flags": {
1052
1131
  "profile": {
@@ -1068,20 +1147,9 @@
1068
1147
  "allowNo": false,
1069
1148
  "type": "boolean"
1070
1149
  },
1071
- "edit": {
1072
- "char": "e",
1073
- "dependsOn": [
1074
- "file"
1075
- ],
1076
- "description": "Open file in editor before creating function (requires --file)",
1077
- "name": "edit",
1078
- "required": false,
1079
- "allowNo": false,
1080
- "type": "boolean"
1081
- },
1082
1150
  "file": {
1083
1151
  "char": "f",
1084
- "description": "Path to file containing XanoScript code",
1152
+ "description": "Path or URL to file containing XanoScript code",
1085
1153
  "exclusive": [
1086
1154
  "stdin"
1087
1155
  ],
@@ -1115,31 +1183,21 @@
1115
1183
  "required": false,
1116
1184
  "allowNo": false,
1117
1185
  "type": "boolean"
1118
- },
1119
- "workspace": {
1120
- "char": "w",
1121
- "description": "Workspace ID (optional if set in profile)",
1122
- "name": "workspace",
1123
- "required": false,
1124
- "hasDynamicHelp": false,
1125
- "multiple": false,
1126
- "type": "option"
1127
1186
  }
1128
1187
  },
1129
1188
  "hasDynamicHelp": false,
1130
1189
  "hiddenAliases": [],
1131
- "id": "function:create",
1190
+ "id": "run:info",
1132
1191
  "pluginAlias": "@xano/cli",
1133
1192
  "pluginName": "@xano/cli",
1134
1193
  "pluginType": "core",
1135
1194
  "strict": true,
1136
- "enableJsonFlag": false,
1137
1195
  "isESM": true,
1138
1196
  "relativePath": [
1139
1197
  "dist",
1140
1198
  "commands",
1141
- "function",
1142
- "create",
1199
+ "run",
1200
+ "info",
1143
1201
  "index.js"
1144
1202
  ]
1145
1203
  },
@@ -1232,25 +1290,130 @@
1232
1290
  "index.js"
1233
1291
  ]
1234
1292
  },
1235
- "function:edit": {
1293
+ "profile:create": {
1236
1294
  "aliases": [],
1237
1295
  "args": {
1238
- "function_id": {
1239
- "description": "Function ID to edit",
1240
- "name": "function_id",
1296
+ "name": {
1297
+ "description": "Profile name",
1298
+ "name": "name",
1299
+ "required": true
1300
+ }
1301
+ },
1302
+ "description": "Create a new profile configuration",
1303
+ "examples": [
1304
+ "$ xano profile:create production --account_origin https://account.xano.com --instance_origin https://instance.xano.com --access_token token123\nProfile 'production' created successfully at ~/.xano/credentials.yaml\n",
1305
+ "$ xano profile:create staging -a https://staging-account.xano.com -i https://staging-instance.xano.com -t token456\nProfile 'staging' created successfully at ~/.xano/credentials.yaml\n",
1306
+ "$ xano profile:create dev -i https://dev-instance.xano.com -t token789 -w my-workspace -b feature-branch\nProfile 'dev' created successfully at ~/.xano/credentials.yaml\n",
1307
+ "$ xano profile:create dev -i https://dev-instance.xano.com -t token789 -w my-workspace -b feature-branch -j my-project\nProfile 'dev' created successfully at ~/.xano/credentials.yaml\n",
1308
+ "$ xano profile:create production --account_origin https://account.xano.com --instance_origin https://instance.xano.com --access_token token123 --default\nProfile 'production' created successfully at ~/.xano/credentials.yaml\nDefault profile set to 'production'\n"
1309
+ ],
1310
+ "flags": {
1311
+ "access_token": {
1312
+ "char": "t",
1313
+ "description": "Access token for the Xano Metadata API",
1314
+ "name": "access_token",
1315
+ "required": true,
1316
+ "hasDynamicHelp": false,
1317
+ "multiple": false,
1318
+ "type": "option"
1319
+ },
1320
+ "account_origin": {
1321
+ "char": "a",
1322
+ "description": "Account origin URL. Optional for self hosted installs.",
1323
+ "name": "account_origin",
1324
+ "required": false,
1325
+ "hasDynamicHelp": false,
1326
+ "multiple": false,
1327
+ "type": "option"
1328
+ },
1329
+ "branch": {
1330
+ "char": "b",
1331
+ "description": "Branch name",
1332
+ "name": "branch",
1333
+ "required": false,
1334
+ "hasDynamicHelp": false,
1335
+ "multiple": false,
1336
+ "type": "option"
1337
+ },
1338
+ "default": {
1339
+ "description": "Set this profile as the default",
1340
+ "name": "default",
1341
+ "required": false,
1342
+ "allowNo": false,
1343
+ "type": "boolean"
1344
+ },
1345
+ "instance_origin": {
1346
+ "char": "i",
1347
+ "description": "Instance origin URL",
1348
+ "name": "instance_origin",
1349
+ "required": true,
1350
+ "hasDynamicHelp": false,
1351
+ "multiple": false,
1352
+ "type": "option"
1353
+ },
1354
+ "project": {
1355
+ "char": "j",
1356
+ "description": "Project name",
1357
+ "name": "project",
1358
+ "required": false,
1359
+ "hasDynamicHelp": false,
1360
+ "multiple": false,
1361
+ "type": "option"
1362
+ },
1363
+ "run_base_url": {
1364
+ "char": "r",
1365
+ "description": "Xano Run API base URL (default: https://app.xano.com/)",
1366
+ "name": "run_base_url",
1367
+ "required": false,
1368
+ "hasDynamicHelp": false,
1369
+ "multiple": false,
1370
+ "type": "option"
1371
+ },
1372
+ "workspace": {
1373
+ "char": "w",
1374
+ "description": "Workspace name",
1375
+ "name": "workspace",
1376
+ "required": false,
1377
+ "hasDynamicHelp": false,
1378
+ "multiple": false,
1379
+ "type": "option"
1380
+ }
1381
+ },
1382
+ "hasDynamicHelp": false,
1383
+ "hiddenAliases": [],
1384
+ "id": "profile:create",
1385
+ "pluginAlias": "@xano/cli",
1386
+ "pluginName": "@xano/cli",
1387
+ "pluginType": "core",
1388
+ "strict": true,
1389
+ "enableJsonFlag": false,
1390
+ "isESM": true,
1391
+ "relativePath": [
1392
+ "dist",
1393
+ "commands",
1394
+ "profile",
1395
+ "create",
1396
+ "index.js"
1397
+ ]
1398
+ },
1399
+ "profile:edit": {
1400
+ "aliases": [],
1401
+ "args": {
1402
+ "name": {
1403
+ "description": "Profile name to edit (uses default profile if not specified)",
1404
+ "name": "name",
1241
1405
  "required": false
1242
1406
  }
1243
1407
  },
1244
- "description": "Edit a function in a workspace",
1408
+ "description": "Edit an existing profile configuration",
1245
1409
  "examples": [
1246
- "$ 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",
1247
- "$ 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",
1248
- "$ xano function:edit 163 -f function.xs\nFunction updated successfully!\nID: 163\nName: my_function\n",
1249
- "$ xano function:edit 163 -w 40 -f function.xs\nFunction updated successfully!\nID: 163\nName: my_function\n",
1250
- "$ xano function:edit -f function.xs\nSelect a function to edit:\n ❯ my_function (ID: 163) - Sample function\n another-func (ID: 164)\n",
1251
- "$ 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",
1252
- "$ cat function.xs | xano function:edit 163 --stdin\nFunction updated successfully!\nID: 163\nName: my_function\n",
1253
- "$ xano function:edit 163 -f function.xs -o json\n{\n \"id\": 163,\n \"name\": \"my_function\",\n ...\n}\n"
1410
+ "$ xano profile:edit --access_token new_token123\nProfile 'default' updated successfully at ~/.xano/credentials.yaml\n",
1411
+ "$ xano profile:edit production --access_token new_token123\nProfile 'production' updated successfully at ~/.xano/credentials.yaml\n",
1412
+ "$ xano profile:edit staging -i https://new-staging-instance.xano.com -t new_token456\nProfile 'staging' updated successfully at ~/.xano/credentials.yaml\n",
1413
+ "$ xano profile:edit -b new-branch\nProfile 'default' updated successfully at ~/.xano/credentials.yaml\n",
1414
+ "$ xano profile:edit --remove-branch\nProfile 'default' updated successfully at ~/.xano/credentials.yaml\n",
1415
+ "$ xano profile:edit -j my-project\nProfile 'default' updated successfully at ~/.xano/credentials.yaml\n",
1416
+ "$ xano profile:edit --remove-project\nProfile 'default' updated successfully at ~/.xano/credentials.yaml\n"
1254
1417
  ],
1255
1418
  "flags": {
1256
1419
  "profile": {
@@ -1272,61 +1435,91 @@
1272
1435
  "allowNo": false,
1273
1436
  "type": "boolean"
1274
1437
  },
1275
- "edit": {
1276
- "char": "e",
1277
- "description": "Open file in editor before updating function (requires --file)",
1278
- "name": "edit",
1438
+ "access_token": {
1439
+ "char": "t",
1440
+ "description": "Update access token for the Xano Metadata API",
1441
+ "name": "access_token",
1279
1442
  "required": false,
1280
- "allowNo": false,
1281
- "type": "boolean"
1443
+ "hasDynamicHelp": false,
1444
+ "multiple": false,
1445
+ "type": "option"
1282
1446
  },
1283
- "file": {
1284
- "char": "f",
1285
- "description": "Path to file containing XanoScript code",
1286
- "exclusive": [
1287
- "stdin"
1288
- ],
1289
- "name": "file",
1447
+ "account_origin": {
1448
+ "char": "a",
1449
+ "description": "Update account origin URL",
1450
+ "name": "account_origin",
1290
1451
  "required": false,
1291
1452
  "hasDynamicHelp": false,
1292
1453
  "multiple": false,
1293
1454
  "type": "option"
1294
1455
  },
1295
- "output": {
1296
- "char": "o",
1297
- "description": "Output format",
1298
- "name": "output",
1456
+ "branch": {
1457
+ "char": "b",
1458
+ "description": "Update branch name",
1459
+ "name": "branch",
1299
1460
  "required": false,
1300
- "default": "summary",
1301
1461
  "hasDynamicHelp": false,
1302
1462
  "multiple": false,
1303
- "options": [
1304
- "summary",
1305
- "json"
1306
- ],
1307
1463
  "type": "option"
1308
1464
  },
1309
- "publish": {
1310
- "description": "Publish the function after editing",
1311
- "name": "publish",
1465
+ "instance_origin": {
1466
+ "char": "i",
1467
+ "description": "Update instance origin URL",
1468
+ "name": "instance_origin",
1469
+ "required": false,
1470
+ "hasDynamicHelp": false,
1471
+ "multiple": false,
1472
+ "type": "option"
1473
+ },
1474
+ "project": {
1475
+ "char": "j",
1476
+ "description": "Update project ID",
1477
+ "name": "project",
1478
+ "required": false,
1479
+ "hasDynamicHelp": false,
1480
+ "multiple": false,
1481
+ "type": "option"
1482
+ },
1483
+ "remove-branch": {
1484
+ "description": "Remove branch from profile",
1485
+ "name": "remove-branch",
1312
1486
  "required": false,
1313
1487
  "allowNo": false,
1314
1488
  "type": "boolean"
1315
1489
  },
1316
- "stdin": {
1317
- "char": "s",
1318
- "description": "Read XanoScript code from stdin",
1319
- "exclusive": [
1320
- "file"
1321
- ],
1322
- "name": "stdin",
1490
+ "remove-project": {
1491
+ "description": "Remove project from profile",
1492
+ "name": "remove-project",
1493
+ "required": false,
1494
+ "allowNo": false,
1495
+ "type": "boolean"
1496
+ },
1497
+ "remove-run-base-url": {
1498
+ "description": "Remove run_base_url from profile (use default)",
1499
+ "name": "remove-run-base-url",
1500
+ "required": false,
1501
+ "allowNo": false,
1502
+ "type": "boolean"
1503
+ },
1504
+ "remove-workspace": {
1505
+ "description": "Remove workspace from profile",
1506
+ "name": "remove-workspace",
1323
1507
  "required": false,
1324
1508
  "allowNo": false,
1325
1509
  "type": "boolean"
1326
1510
  },
1511
+ "run_base_url": {
1512
+ "char": "r",
1513
+ "description": "Update Xano Run API base URL",
1514
+ "name": "run_base_url",
1515
+ "required": false,
1516
+ "hasDynamicHelp": false,
1517
+ "multiple": false,
1518
+ "type": "option"
1519
+ },
1327
1520
  "workspace": {
1328
1521
  "char": "w",
1329
- "description": "Workspace ID (optional if set in profile)",
1522
+ "description": "Update workspace name",
1330
1523
  "name": "workspace",
1331
1524
  "required": false,
1332
1525
  "hasDynamicHelp": false,
@@ -1336,7 +1529,7 @@
1336
1529
  },
1337
1530
  "hasDynamicHelp": false,
1338
1531
  "hiddenAliases": [],
1339
- "id": "function:edit",
1532
+ "id": "profile:edit",
1340
1533
  "pluginAlias": "@xano/cli",
1341
1534
  "pluginName": "@xano/cli",
1342
1535
  "pluginType": "core",
@@ -1346,29 +1539,23 @@
1346
1539
  "relativePath": [
1347
1540
  "dist",
1348
1541
  "commands",
1349
- "function",
1542
+ "profile",
1350
1543
  "edit",
1351
1544
  "index.js"
1352
1545
  ]
1353
1546
  },
1354
- "profile:set-default": {
1547
+ "profile:get-default": {
1355
1548
  "aliases": [],
1356
- "args": {
1357
- "name": {
1358
- "description": "Profile name to set as default",
1359
- "name": "name",
1360
- "required": true
1361
- }
1362
- },
1363
- "description": "Set the default profile",
1549
+ "args": {},
1550
+ "description": "Get the current default profile name",
1364
1551
  "examples": [
1365
- "$ xano profile:set-default production\nDefault profile set to 'production'\n",
1366
- "$ xano profile:set-default staging\nDefault profile set to 'staging'\n"
1552
+ "$ xano profile:get-default\nproduction\n",
1553
+ "$ xano profile:get-default\nNo default profile set\n"
1367
1554
  ],
1368
1555
  "flags": {},
1369
1556
  "hasDynamicHelp": false,
1370
1557
  "hiddenAliases": [],
1371
- "id": "profile:set-default",
1558
+ "id": "profile:get-default",
1372
1559
  "pluginAlias": "@xano/cli",
1373
1560
  "pluginName": "@xano/cli",
1374
1561
  "pluginType": "core",
@@ -1379,90 +1566,38 @@
1379
1566
  "dist",
1380
1567
  "commands",
1381
1568
  "profile",
1382
- "set-default",
1569
+ "get-default",
1383
1570
  "index.js"
1384
1571
  ]
1385
1572
  },
1386
- "function:get": {
1573
+ "profile:delete": {
1387
1574
  "aliases": [],
1388
1575
  "args": {
1389
- "function_id": {
1390
- "description": "Function ID",
1391
- "name": "function_id",
1392
- "required": false
1576
+ "name": {
1577
+ "description": "Profile name to delete",
1578
+ "name": "name",
1579
+ "required": true
1393
1580
  }
1394
1581
  },
1395
- "description": "Get a specific function from a workspace",
1582
+ "description": "Delete a profile configuration",
1396
1583
  "examples": [
1397
- "$ xano function:get 145 -w 40\nFunction: yo (ID: 145)\nCreated: 2025-10-10 10:30:00\nDescription: Sample function\n",
1398
- "$ xano function:get 145 --profile production\nFunction: yo (ID: 145)\nCreated: 2025-10-10 10:30:00\n",
1399
- "$ xano function:get\nSelect a function:\n ❯ yo (ID: 145) - Sample function\n another-func (ID: 146)\n",
1400
- "$ xano function:get 145 -w 40 --output json\n{\n \"id\": 145,\n \"name\": \"yo\",\n \"description\": \"Sample function\"\n}\n",
1401
- "$ xano function:get 145 -p staging -o json --include_draft\n{\n \"id\": 145,\n \"name\": \"yo\"\n}\n",
1402
- "$ xano function:get 145 -p staging -o xs\nfunction yo {\n input {\n }\n stack {\n }\n response = null\n}\n"
1584
+ "$ 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",
1585
+ "$ xano profile:delete old-profile --force\nProfile 'old-profile' deleted successfully from ~/.xano/credentials.yaml\n",
1586
+ "$ xano profile:delete old-profile -f\nProfile 'old-profile' deleted successfully from ~/.xano/credentials.yaml\n"
1403
1587
  ],
1404
1588
  "flags": {
1405
- "profile": {
1406
- "char": "p",
1407
- "description": "Profile to use for this command",
1408
- "env": "XANO_PROFILE",
1409
- "name": "profile",
1410
- "required": false,
1411
- "hasDynamicHelp": false,
1412
- "multiple": false,
1413
- "type": "option"
1414
- },
1415
- "verbose": {
1416
- "char": "v",
1417
- "description": "Show detailed request/response information",
1418
- "env": "XANO_VERBOSE",
1419
- "name": "verbose",
1420
- "required": false,
1421
- "allowNo": false,
1422
- "type": "boolean"
1423
- },
1424
- "include_draft": {
1425
- "description": "Include draft version",
1426
- "name": "include_draft",
1427
- "required": false,
1428
- "allowNo": false,
1429
- "type": "boolean"
1430
- },
1431
- "include_xanoscript": {
1432
- "description": "Include XanoScript in response",
1433
- "name": "include_xanoscript",
1589
+ "force": {
1590
+ "char": "f",
1591
+ "description": "Skip confirmation prompt",
1592
+ "name": "force",
1434
1593
  "required": false,
1435
1594
  "allowNo": false,
1436
1595
  "type": "boolean"
1437
- },
1438
- "output": {
1439
- "char": "o",
1440
- "description": "Output format",
1441
- "name": "output",
1442
- "required": false,
1443
- "default": "summary",
1444
- "hasDynamicHelp": false,
1445
- "multiple": false,
1446
- "options": [
1447
- "summary",
1448
- "json",
1449
- "xs"
1450
- ],
1451
- "type": "option"
1452
- },
1453
- "workspace": {
1454
- "char": "w",
1455
- "description": "Workspace ID (optional if set in profile)",
1456
- "name": "workspace",
1457
- "required": false,
1458
- "hasDynamicHelp": false,
1459
- "multiple": false,
1460
- "type": "option"
1461
1596
  }
1462
1597
  },
1463
1598
  "hasDynamicHelp": false,
1464
1599
  "hiddenAliases": [],
1465
- "id": "function:get",
1600
+ "id": "profile:delete",
1466
1601
  "pluginAlias": "@xano/cli",
1467
1602
  "pluginName": "@xano/cli",
1468
1603
  "pluginType": "core",
@@ -1472,122 +1607,33 @@
1472
1607
  "relativePath": [
1473
1608
  "dist",
1474
1609
  "commands",
1475
- "function",
1476
- "get",
1610
+ "profile",
1611
+ "delete",
1477
1612
  "index.js"
1478
1613
  ]
1479
1614
  },
1480
- "function:list": {
1615
+ "profile:list": {
1481
1616
  "aliases": [],
1482
1617
  "args": {},
1483
- "description": "List all functions in a workspace from the Xano Metadata API",
1618
+ "description": "List all available profile configurations",
1484
1619
  "examples": [
1485
- "$ xano function:list -w 40\nAvailable functions:\n - function-1 (ID: 1)\n - function-2 (ID: 2)\n - function-3 (ID: 3)\n",
1486
- "$ xano function:list --profile production\nAvailable functions:\n - my-function (ID: 1)\n - another-function (ID: 2)\n",
1487
- "$ xano function:list -w 40 --output json\n[\n {\n \"id\": 1,\n \"name\": \"function-1\"\n }\n]\n",
1488
- "$ xano function:list -p staging -o json --include_draft\n[\n {\n \"id\": 1,\n \"name\": \"function-1\"\n }\n]\n"
1620
+ "$ xano profile:list\nAvailable profiles:\n - default\n - production\n - staging\n - development\n",
1621
+ "$ xano profile:list --details\nAvailable profiles:\n\nProfile: default\n Account Origin: https://account.xano.com\n Instance Origin: https://instance.xano.com\n Access Token: ***...***\n Workspace: my-workspace\n Branch: main\n Project: my-project\n\nProfile: production\n Account Origin: https://account.xano.com\n Instance Origin: https://prod-instance.xano.com\n Access Token: ***...***\n",
1622
+ "$ xano profile:list -d\nAvailable profiles:\n\nProfile: default\n Account Origin: https://account.xano.com\n Instance Origin: https://instance.xano.com\n Access Token: ***...***\n Workspace: my-workspace\n Branch: main\n Project: my-project\n"
1489
1623
  ],
1490
1624
  "flags": {
1491
- "profile": {
1492
- "char": "p",
1493
- "description": "Profile to use for this command",
1494
- "env": "XANO_PROFILE",
1495
- "name": "profile",
1496
- "required": false,
1497
- "hasDynamicHelp": false,
1498
- "multiple": false,
1499
- "type": "option"
1500
- },
1501
- "verbose": {
1502
- "char": "v",
1503
- "description": "Show detailed request/response information",
1504
- "env": "XANO_VERBOSE",
1505
- "name": "verbose",
1506
- "required": false,
1507
- "allowNo": false,
1508
- "type": "boolean"
1509
- },
1510
- "include_draft": {
1511
- "description": "Include draft functions",
1512
- "name": "include_draft",
1513
- "required": false,
1514
- "allowNo": false,
1515
- "type": "boolean"
1516
- },
1517
- "include_xanoscript": {
1518
- "description": "Include XanoScript in response",
1519
- "name": "include_xanoscript",
1625
+ "details": {
1626
+ "char": "d",
1627
+ "description": "Show detailed information for each profile",
1628
+ "name": "details",
1520
1629
  "required": false,
1521
1630
  "allowNo": false,
1522
1631
  "type": "boolean"
1523
- },
1524
- "order": {
1525
- "description": "Sort order",
1526
- "name": "order",
1527
- "required": false,
1528
- "default": "desc",
1529
- "hasDynamicHelp": false,
1530
- "multiple": false,
1531
- "options": [
1532
- "asc",
1533
- "desc"
1534
- ],
1535
- "type": "option"
1536
- },
1537
- "output": {
1538
- "char": "o",
1539
- "description": "Output format",
1540
- "name": "output",
1541
- "required": false,
1542
- "default": "summary",
1543
- "hasDynamicHelp": false,
1544
- "multiple": false,
1545
- "options": [
1546
- "summary",
1547
- "json"
1548
- ],
1549
- "type": "option"
1550
- },
1551
- "page": {
1552
- "description": "Page number for pagination",
1553
- "name": "page",
1554
- "required": false,
1555
- "default": 1,
1556
- "hasDynamicHelp": false,
1557
- "multiple": false,
1558
- "type": "option"
1559
- },
1560
- "per_page": {
1561
- "description": "Number of results per page",
1562
- "name": "per_page",
1563
- "required": false,
1564
- "default": 50,
1565
- "hasDynamicHelp": false,
1566
- "multiple": false,
1567
- "type": "option"
1568
- },
1569
- "sort": {
1570
- "description": "Sort field",
1571
- "name": "sort",
1572
- "required": false,
1573
- "default": "created_at",
1574
- "hasDynamicHelp": false,
1575
- "multiple": false,
1576
- "type": "option"
1577
- },
1578
- "workspace": {
1579
- "char": "w",
1580
- "description": "Workspace ID (optional if set in profile)",
1581
- "name": "workspace",
1582
- "required": false,
1583
- "hasDynamicHelp": false,
1584
- "multiple": false,
1585
- "type": "option"
1586
1632
  }
1587
1633
  },
1588
1634
  "hasDynamicHelp": false,
1589
1635
  "hiddenAliases": [],
1590
- "id": "function:list",
1636
+ "id": "profile:list",
1591
1637
  "pluginAlias": "@xano/cli",
1592
1638
  "pluginName": "@xano/cli",
1593
1639
  "pluginType": "core",
@@ -1597,19 +1643,19 @@
1597
1643
  "relativePath": [
1598
1644
  "dist",
1599
1645
  "commands",
1600
- "function",
1646
+ "profile",
1601
1647
  "list",
1602
1648
  "index.js"
1603
1649
  ]
1604
1650
  },
1605
- "run:info": {
1651
+ "profile:me": {
1606
1652
  "aliases": [],
1607
1653
  "args": {},
1608
- "description": "Get information about a XanoScript document (type, inputs, env vars)",
1654
+ "description": "Get information about the currently authenticated user",
1609
1655
  "examples": [
1610
- "$ xano run info -f script.xs\nDocument Info:\n Type: job\n Inputs:\n - name (string, required)\n - count (number, optional)\n Environment Variables:\n - API_KEY\n - DEBUG\n",
1611
- "$ cat script.xs | xano run info --stdin\nDocument Info:\n Type: service\n Inputs: none\n Environment Variables: none\n",
1612
- "$ xano run info -f script.xs -o json\n{ \"type\": \"job\", \"input\": { \"name\": {...} }, \"env\": [\"API_KEY\"] }\n"
1656
+ "$ xano profile:me\nUser Information:\n ID: 1\n Name: John Doe\n Email: john@example.com\n",
1657
+ "$ xano profile:me --profile production\nUser Information:\n ID: 42\n Name: Admin User\n Email: admin@example.com\n",
1658
+ "$ xano profile:me --output json\n{\n \"id\": 1,\n \"name\": \"John Doe\",\n \"email\": \"john@example.com\"\n}\n"
1613
1659
  ],
1614
1660
  "flags": {
1615
1661
  "profile": {
@@ -1628,20 +1674,8 @@
1628
1674
  "env": "XANO_VERBOSE",
1629
1675
  "name": "verbose",
1630
1676
  "required": false,
1631
- "allowNo": false,
1632
- "type": "boolean"
1633
- },
1634
- "file": {
1635
- "char": "f",
1636
- "description": "Path or URL to file containing XanoScript code",
1637
- "exclusive": [
1638
- "stdin"
1639
- ],
1640
- "name": "file",
1641
- "required": false,
1642
- "hasDynamicHelp": false,
1643
- "multiple": false,
1644
- "type": "option"
1677
+ "allowNo": false,
1678
+ "type": "boolean"
1645
1679
  },
1646
1680
  "output": {
1647
1681
  "char": "o",
@@ -1656,150 +1690,125 @@
1656
1690
  "json"
1657
1691
  ],
1658
1692
  "type": "option"
1659
- },
1660
- "stdin": {
1661
- "char": "s",
1662
- "description": "Read XanoScript code from stdin",
1663
- "exclusive": [
1664
- "file"
1665
- ],
1666
- "name": "stdin",
1667
- "required": false,
1668
- "allowNo": false,
1669
- "type": "boolean"
1670
1693
  }
1671
1694
  },
1672
1695
  "hasDynamicHelp": false,
1673
1696
  "hiddenAliases": [],
1674
- "id": "run:info",
1697
+ "id": "profile:me",
1675
1698
  "pluginAlias": "@xano/cli",
1676
1699
  "pluginName": "@xano/cli",
1677
1700
  "pluginType": "core",
1678
1701
  "strict": true,
1702
+ "enableJsonFlag": false,
1679
1703
  "isESM": true,
1680
1704
  "relativePath": [
1681
1705
  "dist",
1682
1706
  "commands",
1683
- "run",
1684
- "info",
1707
+ "profile",
1708
+ "me",
1685
1709
  "index.js"
1686
1710
  ]
1687
1711
  },
1688
- "run:exec": {
1712
+ "profile:set-default": {
1689
1713
  "aliases": [],
1690
1714
  "args": {
1691
- "path": {
1692
- "description": "Path to file or directory containing XanoScript code (directory creates multidoc from .xs files)",
1693
- "name": "path",
1694
- "required": false
1715
+ "name": {
1716
+ "description": "Profile name to set as default",
1717
+ "name": "name",
1718
+ "required": true
1695
1719
  }
1696
1720
  },
1697
- "description": "Execute XanoScript code (job or service)",
1721
+ "description": "Set the default profile",
1698
1722
  "examples": [
1699
- "$ xano run exec script.xs\nExecuted successfully!\n...\n",
1700
- "$ xano run exec ./my-workspace\n# Executes all .xs files in directory as multidoc\nExecuted successfully!\n...\n",
1701
- "$ xano run exec script.xs --edit\n# Opens script.xs in $EDITOR, then executes\nExecuted successfully!\n...\n",
1702
- "$ cat script.xs | xano run exec --stdin\nExecuted successfully!\n...\n",
1703
- "$ xano run exec script.xs -o json\n{\n \"run\": { ... }\n}\n",
1704
- "$ xano run exec script.xs -a args.json\n# Executes with input arguments from args.json\nExecuted successfully!\n...\n",
1705
- "$ xano run exec script.xs --env API_KEY=secret --env DEBUG=true\n# Executes with environment variable overrides\nExecuted successfully!\n...\n"
1723
+ "$ xano profile:set-default production\nDefault profile set to 'production'\n",
1724
+ "$ xano profile:set-default staging\nDefault profile set to 'staging'\n"
1725
+ ],
1726
+ "flags": {},
1727
+ "hasDynamicHelp": false,
1728
+ "hiddenAliases": [],
1729
+ "id": "profile:set-default",
1730
+ "pluginAlias": "@xano/cli",
1731
+ "pluginName": "@xano/cli",
1732
+ "pluginType": "core",
1733
+ "strict": true,
1734
+ "enableJsonFlag": false,
1735
+ "isESM": true,
1736
+ "relativePath": [
1737
+ "dist",
1738
+ "commands",
1739
+ "profile",
1740
+ "set-default",
1741
+ "index.js"
1742
+ ]
1743
+ },
1744
+ "profile:token": {
1745
+ "aliases": [],
1746
+ "args": {},
1747
+ "description": "Print the access token for the default profile",
1748
+ "examples": [
1749
+ "$ xano profile:token\neyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...\n",
1750
+ "$ xano profile:token | pbcopy\n# Copies the token to clipboard on macOS\n"
1751
+ ],
1752
+ "flags": {},
1753
+ "hasDynamicHelp": false,
1754
+ "hiddenAliases": [],
1755
+ "id": "profile:token",
1756
+ "pluginAlias": "@xano/cli",
1757
+ "pluginName": "@xano/cli",
1758
+ "pluginType": "core",
1759
+ "strict": true,
1760
+ "enableJsonFlag": false,
1761
+ "isESM": true,
1762
+ "relativePath": [
1763
+ "dist",
1764
+ "commands",
1765
+ "profile",
1766
+ "token",
1767
+ "index.js"
1768
+ ]
1769
+ },
1770
+ "profile:wizard": {
1771
+ "aliases": [],
1772
+ "args": {},
1773
+ "description": "Create a new profile configuration using an interactive wizard",
1774
+ "examples": [
1775
+ "$ xano profile:wizard\nWelcome to the Xano Profile Wizard!\n? Enter your access token: ***...***\n? Select an instance:\n > Production (https://app.xano.com)\n Staging (https://staging.xano.com)\n? Profile name: production\nProfile 'production' created successfully at ~/.xano/credentials.yaml\n"
1706
1776
  ],
1707
1777
  "flags": {
1708
- "profile": {
1709
- "char": "p",
1710
- "description": "Profile to use for this command",
1711
- "env": "XANO_PROFILE",
1712
- "name": "profile",
1713
- "required": false,
1714
- "hasDynamicHelp": false,
1715
- "multiple": false,
1716
- "type": "option"
1717
- },
1718
- "verbose": {
1719
- "char": "v",
1720
- "description": "Show detailed request/response information",
1721
- "env": "XANO_VERBOSE",
1722
- "name": "verbose",
1723
- "required": false,
1724
- "allowNo": false,
1725
- "type": "boolean"
1726
- },
1727
- "args": {
1728
- "char": "a",
1729
- "description": "Path or URL to JSON file containing input arguments",
1730
- "name": "args",
1731
- "required": false,
1732
- "hasDynamicHelp": false,
1733
- "multiple": false,
1734
- "type": "option"
1735
- },
1736
- "edit": {
1737
- "char": "e",
1738
- "description": "Open file in editor before running (requires path argument or --file)",
1739
- "name": "edit",
1740
- "required": false,
1741
- "allowNo": false,
1742
- "type": "boolean"
1743
- },
1744
- "env": {
1745
- "description": "Environment variable override (key=value)",
1746
- "name": "env",
1747
- "required": false,
1748
- "hasDynamicHelp": false,
1749
- "multiple": true,
1750
- "type": "option"
1751
- },
1752
- "file": {
1753
- "char": "f",
1754
- "description": "Path or URL to file containing XanoScript code (deprecated: use path argument instead)",
1755
- "exclusive": [
1756
- "stdin"
1757
- ],
1758
- "name": "file",
1778
+ "name": {
1779
+ "char": "n",
1780
+ "description": "Profile name (skip prompt if provided)",
1781
+ "name": "name",
1759
1782
  "required": false,
1760
1783
  "hasDynamicHelp": false,
1761
1784
  "multiple": false,
1762
1785
  "type": "option"
1763
1786
  },
1764
- "output": {
1787
+ "origin": {
1765
1788
  "char": "o",
1766
- "description": "Output format",
1767
- "name": "output",
1789
+ "description": "Xano instance origin URL",
1790
+ "name": "origin",
1768
1791
  "required": false,
1769
- "default": "summary",
1792
+ "default": "https://app.xano.com",
1770
1793
  "hasDynamicHelp": false,
1771
1794
  "multiple": false,
1772
- "options": [
1773
- "summary",
1774
- "json"
1775
- ],
1776
1795
  "type": "option"
1777
- },
1778
- "stdin": {
1779
- "char": "s",
1780
- "description": "Read XanoScript code from stdin",
1781
- "exclusive": [
1782
- "file"
1783
- ],
1784
- "name": "stdin",
1785
- "required": false,
1786
- "allowNo": false,
1787
- "type": "boolean"
1788
1796
  }
1789
1797
  },
1790
1798
  "hasDynamicHelp": false,
1791
1799
  "hiddenAliases": [],
1792
- "id": "run:exec",
1800
+ "id": "profile:wizard",
1793
1801
  "pluginAlias": "@xano/cli",
1794
1802
  "pluginName": "@xano/cli",
1795
1803
  "pluginType": "core",
1796
1804
  "strict": true,
1805
+ "enableJsonFlag": false,
1797
1806
  "isESM": true,
1798
1807
  "relativePath": [
1799
1808
  "dist",
1800
1809
  "commands",
1801
- "run",
1802
- "exec",
1810
+ "profile",
1811
+ "wizard",
1803
1812
  "index.js"
1804
1813
  ]
1805
1814
  },
@@ -1882,20 +1891,21 @@
1882
1891
  "index.js"
1883
1892
  ]
1884
1893
  },
1885
- "workspace:delete": {
1894
+ "workspace:edit": {
1886
1895
  "aliases": [],
1887
1896
  "args": {
1888
1897
  "workspace_id": {
1889
- "description": "Workspace ID to delete",
1898
+ "description": "Workspace ID to edit (uses profile workspace if not provided)",
1890
1899
  "name": "workspace_id",
1891
- "required": true
1900
+ "required": false
1892
1901
  }
1893
1902
  },
1894
- "description": "Delete a workspace via the Xano Metadata API. Cannot delete workspaces with active tenants.",
1903
+ "description": "Edit an existing workspace via the Xano Metadata API",
1895
1904
  "examples": [
1896
- "$ xano workspace delete 123\nAre you sure you want to delete workspace 123? This action cannot be undone. (y/N) y\nDeleted workspace 123\n",
1897
- "$ xano workspace delete 123 --force\nDeleted workspace 123\n",
1898
- "$ xano workspace delete 123 -f -o json\n{\n \"deleted\": true,\n \"workspace_id\": 123\n}\n"
1905
+ "$ xano workspace edit 123 --name \"new-name\"\nUpdated workspace: new-name (ID: 123)\n",
1906
+ "$ xano workspace edit --name \"updated-workspace\" --description \"Updated description\"\nUpdated workspace: updated-workspace (ID: 123)\n Description: Updated description\n",
1907
+ "$ xano workspace edit 123 --swagger --require-token\nUpdated workspace: my-workspace (ID: 123)\n Swagger: enabled\n Require Token: true\n",
1908
+ "$ xano workspace edit 123 --no-swagger -o json\n{\n \"id\": 123,\n \"name\": \"my-workspace\",\n \"swagger\": false\n}\n"
1899
1909
  ],
1900
1910
  "flags": {
1901
1911
  "profile": {
@@ -1917,13 +1927,23 @@
1917
1927
  "allowNo": false,
1918
1928
  "type": "boolean"
1919
1929
  },
1920
- "force": {
1921
- "char": "f",
1922
- "description": "Skip confirmation prompt",
1923
- "name": "force",
1930
+ "description": {
1931
+ "char": "d",
1932
+ "description": "New description for the workspace",
1933
+ "name": "description",
1924
1934
  "required": false,
1925
- "allowNo": false,
1926
- "type": "boolean"
1935
+ "hasDynamicHelp": false,
1936
+ "multiple": false,
1937
+ "type": "option"
1938
+ },
1939
+ "name": {
1940
+ "char": "n",
1941
+ "description": "New name for the workspace",
1942
+ "name": "name",
1943
+ "required": false,
1944
+ "hasDynamicHelp": false,
1945
+ "multiple": false,
1946
+ "type": "option"
1927
1947
  },
1928
1948
  "output": {
1929
1949
  "char": "o",
@@ -1938,11 +1958,25 @@
1938
1958
  "json"
1939
1959
  ],
1940
1960
  "type": "option"
1961
+ },
1962
+ "require-token": {
1963
+ "description": "Whether to require a token for documentation access",
1964
+ "name": "require-token",
1965
+ "required": false,
1966
+ "allowNo": true,
1967
+ "type": "boolean"
1968
+ },
1969
+ "swagger": {
1970
+ "description": "Enable or disable swagger documentation",
1971
+ "name": "swagger",
1972
+ "required": false,
1973
+ "allowNo": true,
1974
+ "type": "boolean"
1941
1975
  }
1942
1976
  },
1943
1977
  "hasDynamicHelp": false,
1944
1978
  "hiddenAliases": [],
1945
- "id": "workspace:delete",
1979
+ "id": "workspace:edit",
1946
1980
  "pluginAlias": "@xano/cli",
1947
1981
  "pluginName": "@xano/cli",
1948
1982
  "pluginType": "core",
@@ -1953,24 +1987,24 @@
1953
1987
  "dist",
1954
1988
  "commands",
1955
1989
  "workspace",
1956
- "delete",
1990
+ "edit",
1957
1991
  "index.js"
1958
1992
  ]
1959
1993
  },
1960
- "workspace:get": {
1994
+ "workspace:delete": {
1961
1995
  "aliases": [],
1962
1996
  "args": {
1963
1997
  "workspace_id": {
1964
- "description": "Workspace ID to get details for (uses profile workspace if not provided)",
1998
+ "description": "Workspace ID to delete",
1965
1999
  "name": "workspace_id",
1966
- "required": false
2000
+ "required": true
1967
2001
  }
1968
2002
  },
1969
- "description": "Get details of a specific workspace from the Xano Metadata API",
2003
+ "description": "Delete a workspace via the Xano Metadata API. Cannot delete workspaces with active tenants.",
1970
2004
  "examples": [
1971
- "$ xano workspace get 123\nWorkspace: my-workspace (ID: 123)\n Description: My workspace description\n Created: 2024-01-15\n",
1972
- "$ xano workspace get --output json\n{\n \"id\": 123,\n \"name\": \"my-workspace\",\n \"description\": \"My workspace description\"\n}\n",
1973
- "$ xano workspace get 456 -p production -o json\n{\n \"id\": 456,\n \"name\": \"production-workspace\"\n}\n"
2005
+ "$ xano workspace delete 123\nAre you sure you want to delete workspace 123? This action cannot be undone. (y/N) y\nDeleted workspace 123\n",
2006
+ "$ xano workspace delete 123 --force\nDeleted workspace 123\n",
2007
+ "$ xano workspace delete 123 -f -o json\n{\n \"deleted\": true,\n \"workspace_id\": 123\n}\n"
1974
2008
  ],
1975
2009
  "flags": {
1976
2010
  "profile": {
@@ -1992,6 +2026,14 @@
1992
2026
  "allowNo": false,
1993
2027
  "type": "boolean"
1994
2028
  },
2029
+ "force": {
2030
+ "char": "f",
2031
+ "description": "Skip confirmation prompt",
2032
+ "name": "force",
2033
+ "required": false,
2034
+ "allowNo": false,
2035
+ "type": "boolean"
2036
+ },
1995
2037
  "output": {
1996
2038
  "char": "o",
1997
2039
  "description": "Output format",
@@ -2009,7 +2051,7 @@
2009
2051
  },
2010
2052
  "hasDynamicHelp": false,
2011
2053
  "hiddenAliases": [],
2012
- "id": "workspace:get",
2054
+ "id": "workspace:delete",
2013
2055
  "pluginAlias": "@xano/cli",
2014
2056
  "pluginName": "@xano/cli",
2015
2057
  "pluginType": "core",
@@ -2020,24 +2062,24 @@
2020
2062
  "dist",
2021
2063
  "commands",
2022
2064
  "workspace",
2023
- "get",
2065
+ "delete",
2024
2066
  "index.js"
2025
2067
  ]
2026
2068
  },
2027
- "workspace:pull": {
2069
+ "workspace:get": {
2028
2070
  "aliases": [],
2029
2071
  "args": {
2030
- "directory": {
2031
- "description": "Output directory for pulled documents",
2032
- "name": "directory",
2033
- "required": true
2072
+ "workspace_id": {
2073
+ "description": "Workspace ID to get details for (uses profile workspace if not provided)",
2074
+ "name": "workspace_id",
2075
+ "required": false
2034
2076
  }
2035
2077
  },
2036
- "description": "Pull a workspace multidoc from the Xano Metadata API and split into individual files",
2078
+ "description": "Get details of a specific workspace from the Xano Metadata API",
2037
2079
  "examples": [
2038
- "$ xano workspace pull ./my-workspace\nPulled 42 documents to ./my-workspace\n",
2039
- "$ xano workspace pull ./output -w 40\nPulled 15 documents to ./output\n",
2040
- "$ xano workspace pull ./backup --profile production --env --records\nPulled 58 documents to ./backup\n"
2080
+ "$ xano workspace get 123\nWorkspace: my-workspace (ID: 123)\n Description: My workspace description\n Created: 2024-01-15\n",
2081
+ "$ xano workspace get --output json\n{\n \"id\": 123,\n \"name\": \"my-workspace\",\n \"description\": \"My workspace description\"\n}\n",
2082
+ "$ xano workspace get 456 -p production -o json\n{\n \"id\": 456,\n \"name\": \"production-workspace\"\n}\n"
2041
2083
  ],
2042
2084
  "flags": {
2043
2085
  "profile": {
@@ -2059,33 +2101,24 @@
2059
2101
  "allowNo": false,
2060
2102
  "type": "boolean"
2061
2103
  },
2062
- "env": {
2063
- "description": "Include environment variables",
2064
- "name": "env",
2065
- "required": false,
2066
- "allowNo": false,
2067
- "type": "boolean"
2068
- },
2069
- "records": {
2070
- "description": "Include records",
2071
- "name": "records",
2072
- "required": false,
2073
- "allowNo": false,
2074
- "type": "boolean"
2075
- },
2076
- "workspace": {
2077
- "char": "w",
2078
- "description": "Workspace ID (optional if set in profile)",
2079
- "name": "workspace",
2104
+ "output": {
2105
+ "char": "o",
2106
+ "description": "Output format",
2107
+ "name": "output",
2080
2108
  "required": false,
2109
+ "default": "summary",
2081
2110
  "hasDynamicHelp": false,
2082
2111
  "multiple": false,
2112
+ "options": [
2113
+ "summary",
2114
+ "json"
2115
+ ],
2083
2116
  "type": "option"
2084
2117
  }
2085
2118
  },
2086
2119
  "hasDynamicHelp": false,
2087
2120
  "hiddenAliases": [],
2088
- "id": "workspace:pull",
2121
+ "id": "workspace:get",
2089
2122
  "pluginAlias": "@xano/cli",
2090
2123
  "pluginName": "@xano/cli",
2091
2124
  "pluginType": "core",
@@ -2096,7 +2129,7 @@
2096
2129
  "dist",
2097
2130
  "commands",
2098
2131
  "workspace",
2099
- "pull",
2132
+ "get",
2100
2133
  "index.js"
2101
2134
  ]
2102
2135
  },
@@ -2162,21 +2195,20 @@
2162
2195
  "index.js"
2163
2196
  ]
2164
2197
  },
2165
- "workspace:edit": {
2198
+ "workspace:pull": {
2166
2199
  "aliases": [],
2167
2200
  "args": {
2168
- "workspace_id": {
2169
- "description": "Workspace ID to edit (uses profile workspace if not provided)",
2170
- "name": "workspace_id",
2171
- "required": false
2201
+ "directory": {
2202
+ "description": "Output directory for pulled documents",
2203
+ "name": "directory",
2204
+ "required": true
2172
2205
  }
2173
2206
  },
2174
- "description": "Edit an existing workspace via the Xano Metadata API",
2207
+ "description": "Pull a workspace multidoc from the Xano Metadata API and split into individual files",
2175
2208
  "examples": [
2176
- "$ xano workspace edit 123 --name \"new-name\"\nUpdated workspace: new-name (ID: 123)\n",
2177
- "$ xano workspace edit --name \"updated-workspace\" --description \"Updated description\"\nUpdated workspace: updated-workspace (ID: 123)\n Description: Updated description\n",
2178
- "$ xano workspace edit 123 --swagger --require-token\nUpdated workspace: my-workspace (ID: 123)\n Swagger: enabled\n Require Token: true\n",
2179
- "$ xano workspace edit 123 --no-swagger -o json\n{\n \"id\": 123,\n \"name\": \"my-workspace\",\n \"swagger\": false\n}\n"
2209
+ "$ xano workspace pull ./my-workspace\nPulled 42 documents to ./my-workspace\n",
2210
+ "$ xano workspace pull ./output -w 40\nPulled 15 documents to ./output\n",
2211
+ "$ xano workspace pull ./backup --profile production --env --records\nPulled 58 documents to ./backup\n"
2180
2212
  ],
2181
2213
  "flags": {
2182
2214
  "profile": {
@@ -2198,56 +2230,33 @@
2198
2230
  "allowNo": false,
2199
2231
  "type": "boolean"
2200
2232
  },
2201
- "description": {
2202
- "char": "d",
2203
- "description": "New description for the workspace",
2204
- "name": "description",
2233
+ "env": {
2234
+ "description": "Include environment variables",
2235
+ "name": "env",
2205
2236
  "required": false,
2206
- "hasDynamicHelp": false,
2207
- "multiple": false,
2208
- "type": "option"
2237
+ "allowNo": false,
2238
+ "type": "boolean"
2209
2239
  },
2210
- "name": {
2211
- "char": "n",
2212
- "description": "New name for the workspace",
2213
- "name": "name",
2240
+ "records": {
2241
+ "description": "Include records",
2242
+ "name": "records",
2214
2243
  "required": false,
2215
- "hasDynamicHelp": false,
2216
- "multiple": false,
2217
- "type": "option"
2244
+ "allowNo": false,
2245
+ "type": "boolean"
2218
2246
  },
2219
- "output": {
2220
- "char": "o",
2221
- "description": "Output format",
2222
- "name": "output",
2247
+ "workspace": {
2248
+ "char": "w",
2249
+ "description": "Workspace ID (optional if set in profile)",
2250
+ "name": "workspace",
2223
2251
  "required": false,
2224
- "default": "summary",
2225
2252
  "hasDynamicHelp": false,
2226
2253
  "multiple": false,
2227
- "options": [
2228
- "summary",
2229
- "json"
2230
- ],
2231
2254
  "type": "option"
2232
- },
2233
- "require-token": {
2234
- "description": "Whether to require a token for documentation access",
2235
- "name": "require-token",
2236
- "required": false,
2237
- "allowNo": true,
2238
- "type": "boolean"
2239
- },
2240
- "swagger": {
2241
- "description": "Enable or disable swagger documentation",
2242
- "name": "swagger",
2243
- "required": false,
2244
- "allowNo": true,
2245
- "type": "boolean"
2246
2255
  }
2247
2256
  },
2248
2257
  "hasDynamicHelp": false,
2249
2258
  "hiddenAliases": [],
2250
- "id": "workspace:edit",
2259
+ "id": "workspace:pull",
2251
2260
  "pluginAlias": "@xano/cli",
2252
2261
  "pluginName": "@xano/cli",
2253
2262
  "pluginType": "core",
@@ -2258,7 +2267,7 @@
2258
2267
  "dist",
2259
2268
  "commands",
2260
2269
  "workspace",
2261
- "edit",
2270
+ "pull",
2262
2271
  "index.js"
2263
2272
  ]
2264
2273
  },
@@ -2324,20 +2333,19 @@
2324
2333
  "index.js"
2325
2334
  ]
2326
2335
  },
2327
- "static_host:build:create": {
2336
+ "run:env:delete": {
2328
2337
  "aliases": [],
2329
2338
  "args": {
2330
- "static_host": {
2331
- "description": "Static Host name",
2332
- "name": "static_host",
2339
+ "name": {
2340
+ "description": "Environment variable name",
2341
+ "name": "name",
2333
2342
  "required": true
2334
2343
  }
2335
2344
  },
2336
- "description": "Create a new build for a static host",
2345
+ "description": "Delete an environment variable",
2337
2346
  "examples": [
2338
- "$ 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",
2339
- "$ 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",
2340
- "$ 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"
2347
+ "$ xano run env delete API_KEY\nAre you sure you want to delete environment variable 'API_KEY'? (y/N)\nEnvironment variable 'API_KEY' deleted successfully!\n",
2348
+ "$ xano run env delete API_KEY --force\nEnvironment variable 'API_KEY' deleted successfully!\n"
2341
2349
  ],
2342
2350
  "flags": {
2343
2351
  "profile": {
@@ -2359,60 +2367,110 @@
2359
2367
  "allowNo": false,
2360
2368
  "type": "boolean"
2361
2369
  },
2362
- "description": {
2363
- "char": "d",
2364
- "description": "Build description",
2365
- "name": "description",
2366
- "required": false,
2367
- "hasDynamicHelp": false,
2368
- "multiple": false,
2369
- "type": "option"
2370
- },
2371
- "file": {
2370
+ "force": {
2372
2371
  "char": "f",
2373
- "description": "Path to zip file to upload",
2374
- "name": "file",
2375
- "required": true,
2376
- "hasDynamicHelp": false,
2377
- "multiple": false,
2378
- "type": "option"
2379
- },
2372
+ "description": "Skip confirmation prompt",
2373
+ "name": "force",
2374
+ "required": false,
2375
+ "allowNo": false,
2376
+ "type": "boolean"
2377
+ }
2378
+ },
2379
+ "hasDynamicHelp": false,
2380
+ "hiddenAliases": [],
2381
+ "id": "run:env:delete",
2382
+ "pluginAlias": "@xano/cli",
2383
+ "pluginName": "@xano/cli",
2384
+ "pluginType": "core",
2385
+ "strict": true,
2386
+ "isESM": true,
2387
+ "relativePath": [
2388
+ "dist",
2389
+ "commands",
2390
+ "run",
2391
+ "env",
2392
+ "delete",
2393
+ "index.js"
2394
+ ]
2395
+ },
2396
+ "run:env:get": {
2397
+ "aliases": [],
2398
+ "args": {
2380
2399
  "name": {
2381
- "char": "n",
2382
- "description": "Build name",
2400
+ "description": "Environment variable name",
2383
2401
  "name": "name",
2384
- "required": true,
2402
+ "required": true
2403
+ }
2404
+ },
2405
+ "description": "Get an environment variable value",
2406
+ "examples": [
2407
+ "$ xano run env get API_KEY\nmy-secret-api-key\n",
2408
+ "$ xano run env get API_KEY -o json\n{ \"name\": \"API_KEY\", \"value\": \"my-secret-api-key\" }\n"
2409
+ ],
2410
+ "flags": {
2411
+ "profile": {
2412
+ "char": "p",
2413
+ "description": "Profile to use for this command",
2414
+ "env": "XANO_PROFILE",
2415
+ "name": "profile",
2416
+ "required": false,
2385
2417
  "hasDynamicHelp": false,
2386
2418
  "multiple": false,
2387
2419
  "type": "option"
2388
2420
  },
2421
+ "verbose": {
2422
+ "char": "v",
2423
+ "description": "Show detailed request/response information",
2424
+ "env": "XANO_VERBOSE",
2425
+ "name": "verbose",
2426
+ "required": false,
2427
+ "allowNo": false,
2428
+ "type": "boolean"
2429
+ },
2389
2430
  "output": {
2390
2431
  "char": "o",
2391
2432
  "description": "Output format",
2392
2433
  "name": "output",
2393
2434
  "required": false,
2394
- "default": "summary",
2435
+ "default": "value",
2395
2436
  "hasDynamicHelp": false,
2396
2437
  "multiple": false,
2397
2438
  "options": [
2398
- "summary",
2439
+ "value",
2399
2440
  "json"
2400
2441
  ],
2401
2442
  "type": "option"
2402
- },
2403
- "workspace": {
2404
- "char": "w",
2405
- "description": "Workspace ID (optional if set in profile)",
2406
- "name": "workspace",
2407
- "required": false,
2408
- "hasDynamicHelp": false,
2409
- "multiple": false,
2410
- "type": "option"
2411
2443
  }
2412
2444
  },
2413
2445
  "hasDynamicHelp": false,
2414
2446
  "hiddenAliases": [],
2415
- "id": "static_host:build:create",
2447
+ "id": "run:env:get",
2448
+ "pluginAlias": "@xano/cli",
2449
+ "pluginName": "@xano/cli",
2450
+ "pluginType": "core",
2451
+ "strict": true,
2452
+ "isESM": true,
2453
+ "relativePath": [
2454
+ "dist",
2455
+ "commands",
2456
+ "run",
2457
+ "env",
2458
+ "get",
2459
+ "index.js"
2460
+ ]
2461
+ },
2462
+ "profile:project": {
2463
+ "aliases": [],
2464
+ "args": {},
2465
+ "description": "Print the project for the default profile",
2466
+ "examples": [
2467
+ "$ xano profile:project\nmy-project-id\n",
2468
+ "$ xano profile:project | pbcopy\n# Copies the project to clipboard on macOS\n"
2469
+ ],
2470
+ "flags": {},
2471
+ "hasDynamicHelp": false,
2472
+ "hiddenAliases": [],
2473
+ "id": "profile:project",
2416
2474
  "pluginAlias": "@xano/cli",
2417
2475
  "pluginName": "@xano/cli",
2418
2476
  "pluginType": "core",
@@ -2422,32 +2480,18 @@
2422
2480
  "relativePath": [
2423
2481
  "dist",
2424
2482
  "commands",
2425
- "static_host",
2426
- "build",
2427
- "create",
2483
+ "profile",
2484
+ "project",
2428
2485
  "index.js"
2429
2486
  ]
2430
2487
  },
2431
- "static_host:build:get": {
2488
+ "run:env:list": {
2432
2489
  "aliases": [],
2433
- "args": {
2434
- "build_id": {
2435
- "description": "Build ID",
2436
- "name": "build_id",
2437
- "required": true
2438
- },
2439
- "static_host": {
2440
- "description": "Static Host name",
2441
- "name": "static_host",
2442
- "required": true
2443
- }
2444
- },
2445
- "description": "Get details of a specific build for a static host",
2490
+ "args": {},
2491
+ "description": "List all environment variable keys",
2446
2492
  "examples": [
2447
- "$ xano static_host:build:get default 52\nBuild Details:\nID: 52\nName: v1.0.0\nStatus: completed\n",
2448
- "$ xano static_host:build:get default 52 -w 40\nBuild Details:\nID: 52\nName: v1.0.0\nStatus: completed\n",
2449
- "$ xano static_host:build:get myhost 123 --profile production\nBuild Details:\nID: 123\nName: production-build\n",
2450
- "$ xano static_host:build:get default 52 -o json\n{\n \"id\": 52,\n \"name\": \"v1.0.0\",\n \"status\": \"completed\"\n}\n"
2493
+ "$ xano run env list\nEnvironment variables:\n - API_KEY\n - DATABASE_URL\n - DEBUG\n",
2494
+ "$ xano run env list -o json\n{ \"env\": [\"API_KEY\", \"DATABASE_URL\", \"DEBUG\"] }\n"
2451
2495
  ],
2452
2496
  "flags": {
2453
2497
  "profile": {
@@ -2474,58 +2518,51 @@
2474
2518
  "description": "Output format",
2475
2519
  "name": "output",
2476
2520
  "required": false,
2477
- "default": "summary",
2521
+ "default": "list",
2478
2522
  "hasDynamicHelp": false,
2479
2523
  "multiple": false,
2480
2524
  "options": [
2481
- "summary",
2525
+ "list",
2482
2526
  "json"
2483
2527
  ],
2484
2528
  "type": "option"
2485
- },
2486
- "workspace": {
2487
- "char": "w",
2488
- "description": "Workspace ID (optional if set in profile)",
2489
- "name": "workspace",
2490
- "required": false,
2491
- "hasDynamicHelp": false,
2492
- "multiple": false,
2493
- "type": "option"
2494
2529
  }
2495
2530
  },
2496
2531
  "hasDynamicHelp": false,
2497
2532
  "hiddenAliases": [],
2498
- "id": "static_host:build:get",
2533
+ "id": "run:env:list",
2499
2534
  "pluginAlias": "@xano/cli",
2500
2535
  "pluginName": "@xano/cli",
2501
2536
  "pluginType": "core",
2502
2537
  "strict": true,
2503
- "enableJsonFlag": false,
2504
2538
  "isESM": true,
2505
2539
  "relativePath": [
2506
2540
  "dist",
2507
2541
  "commands",
2508
- "static_host",
2509
- "build",
2510
- "get",
2542
+ "run",
2543
+ "env",
2544
+ "list",
2511
2545
  "index.js"
2512
2546
  ]
2513
2547
  },
2514
- "static_host:build:list": {
2548
+ "run:env:set": {
2515
2549
  "aliases": [],
2516
2550
  "args": {
2517
- "static_host": {
2518
- "description": "Static Host name",
2519
- "name": "static_host",
2551
+ "name": {
2552
+ "description": "Environment variable name",
2553
+ "name": "name",
2554
+ "required": true
2555
+ },
2556
+ "value": {
2557
+ "description": "Environment variable value",
2558
+ "name": "value",
2520
2559
  "required": true
2521
2560
  }
2522
2561
  },
2523
- "description": "List all builds for a static host",
2562
+ "description": "Set an environment variable",
2524
2563
  "examples": [
2525
- "$ xano static_host:build:list default -w 40\nAvailable builds:\n - v1.0.0 (ID: 1) - Status: completed\n - v1.0.1 (ID: 2) - Status: pending\n",
2526
- "$ xano static_host:build:list myhost --profile production\nAvailable builds:\n - production (ID: 1) - Status: completed\n - staging (ID: 2) - Status: completed\n",
2527
- "$ xano static_host:build:list default -w 40 --output json\n[\n {\n \"id\": 1,\n \"name\": \"v1.0.0\",\n \"status\": \"completed\"\n }\n]\n",
2528
- "$ xano static_host:build:list default -p staging -o json --page 2\n[\n {\n \"id\": 3,\n \"name\": \"v1.0.2\"\n }\n]\n"
2564
+ "$ xano run env set API_KEY my-secret-key\nEnvironment variable 'API_KEY' set successfully!\n",
2565
+ "$ xano run env set DATABASE_URL \"postgres://user:pass@host/db\"\nEnvironment variable 'DATABASE_URL' set successfully!\n"
2529
2566
  ],
2530
2567
  "flags": {
2531
2568
  "profile": {
@@ -2546,80 +2583,33 @@
2546
2583
  "required": false,
2547
2584
  "allowNo": false,
2548
2585
  "type": "boolean"
2549
- },
2550
- "output": {
2551
- "char": "o",
2552
- "description": "Output format",
2553
- "name": "output",
2554
- "required": false,
2555
- "default": "summary",
2556
- "hasDynamicHelp": false,
2557
- "multiple": false,
2558
- "options": [
2559
- "summary",
2560
- "json"
2561
- ],
2562
- "type": "option"
2563
- },
2564
- "page": {
2565
- "description": "Page number for pagination",
2566
- "name": "page",
2567
- "required": false,
2568
- "default": 1,
2569
- "hasDynamicHelp": false,
2570
- "multiple": false,
2571
- "type": "option"
2572
- },
2573
- "per_page": {
2574
- "description": "Number of results per page",
2575
- "name": "per_page",
2576
- "required": false,
2577
- "default": 50,
2578
- "hasDynamicHelp": false,
2579
- "multiple": false,
2580
- "type": "option"
2581
- },
2582
- "workspace": {
2583
- "char": "w",
2584
- "description": "Workspace ID (optional if set in profile)",
2585
- "name": "workspace",
2586
- "required": false,
2587
- "hasDynamicHelp": false,
2588
- "multiple": false,
2589
- "type": "option"
2590
2586
  }
2591
2587
  },
2592
2588
  "hasDynamicHelp": false,
2593
2589
  "hiddenAliases": [],
2594
- "id": "static_host:build:list",
2590
+ "id": "run:env:set",
2595
2591
  "pluginAlias": "@xano/cli",
2596
2592
  "pluginName": "@xano/cli",
2597
2593
  "pluginType": "core",
2598
2594
  "strict": true,
2599
- "enableJsonFlag": false,
2600
2595
  "isESM": true,
2601
2596
  "relativePath": [
2602
2597
  "dist",
2603
2598
  "commands",
2604
- "static_host",
2605
- "build",
2606
- "list",
2599
+ "run",
2600
+ "env",
2601
+ "set",
2607
2602
  "index.js"
2608
2603
  ]
2609
2604
  },
2610
- "run:env:delete": {
2605
+ "run:projects:create": {
2611
2606
  "aliases": [],
2612
- "args": {
2613
- "name": {
2614
- "description": "Environment variable name",
2615
- "name": "name",
2616
- "required": true
2617
- }
2618
- },
2619
- "description": "Delete an environment variable",
2607
+ "args": {},
2608
+ "description": "Create a new project",
2620
2609
  "examples": [
2621
- "$ xano run env delete API_KEY\nAre you sure you want to delete environment variable 'API_KEY'? (y/N)\nEnvironment variable 'API_KEY' deleted successfully!\n",
2622
- "$ xano run env delete API_KEY --force\nEnvironment variable 'API_KEY' deleted successfully!\n"
2610
+ "$ xano run projects create -n \"My Project\"\nProject created successfully!\n ID: abc123-def456-ghi789\n Name: My Project\n",
2611
+ "$ xano run projects create -n \"My Project\" -d \"Description here\"\nProject created successfully!\n ID: abc123-def456-ghi789\n Name: My Project\n",
2612
+ "$ xano run projects create -n \"My Project\" -o json\n{ \"id\": \"abc123-def456-ghi789\", \"name\": \"My Project\", ... }\n"
2623
2613
  ],
2624
2614
  "flags": {
2625
2615
  "profile": {
@@ -2641,18 +2631,43 @@
2641
2631
  "allowNo": false,
2642
2632
  "type": "boolean"
2643
2633
  },
2644
- "force": {
2645
- "char": "f",
2646
- "description": "Skip confirmation prompt",
2647
- "name": "force",
2634
+ "description": {
2635
+ "char": "d",
2636
+ "description": "Project description",
2637
+ "name": "description",
2648
2638
  "required": false,
2649
- "allowNo": false,
2650
- "type": "boolean"
2639
+ "default": "",
2640
+ "hasDynamicHelp": false,
2641
+ "multiple": false,
2642
+ "type": "option"
2643
+ },
2644
+ "name": {
2645
+ "char": "n",
2646
+ "description": "Project name",
2647
+ "name": "name",
2648
+ "required": true,
2649
+ "hasDynamicHelp": false,
2650
+ "multiple": false,
2651
+ "type": "option"
2652
+ },
2653
+ "output": {
2654
+ "char": "o",
2655
+ "description": "Output format",
2656
+ "name": "output",
2657
+ "required": false,
2658
+ "default": "summary",
2659
+ "hasDynamicHelp": false,
2660
+ "multiple": false,
2661
+ "options": [
2662
+ "summary",
2663
+ "json"
2664
+ ],
2665
+ "type": "option"
2651
2666
  }
2652
2667
  },
2653
2668
  "hasDynamicHelp": false,
2654
2669
  "hiddenAliases": [],
2655
- "id": "run:env:delete",
2670
+ "id": "run:projects:create",
2656
2671
  "pluginAlias": "@xano/cli",
2657
2672
  "pluginName": "@xano/cli",
2658
2673
  "pluginType": "core",
@@ -2662,24 +2677,25 @@
2662
2677
  "dist",
2663
2678
  "commands",
2664
2679
  "run",
2665
- "env",
2666
- "delete",
2680
+ "projects",
2681
+ "create",
2667
2682
  "index.js"
2668
2683
  ]
2669
2684
  },
2670
- "run:env:get": {
2685
+ "run:projects:update": {
2671
2686
  "aliases": [],
2672
2687
  "args": {
2673
- "name": {
2674
- "description": "Environment variable name",
2675
- "name": "name",
2688
+ "projectId": {
2689
+ "description": "Project ID to update",
2690
+ "name": "projectId",
2676
2691
  "required": true
2677
2692
  }
2678
2693
  },
2679
- "description": "Get an environment variable value",
2694
+ "description": "Update a project",
2680
2695
  "examples": [
2681
- "$ xano run env get API_KEY\nmy-secret-api-key\n",
2682
- "$ xano run env get API_KEY -o json\n{ \"name\": \"API_KEY\", \"value\": \"my-secret-api-key\" }\n"
2696
+ "$ xano run projects update abc123-def456 -n \"New Name\"\nProject updated successfully!\n ID: abc123-def456\n Name: New Name\n",
2697
+ "$ xano run projects update abc123-def456 -d \"New description\"\nProject updated successfully!\n ID: abc123-def456\n Description: New description\n",
2698
+ "$ xano run projects update abc123-def456 -n \"New Name\" -o json\n{ \"id\": \"abc123-def456\", \"name\": \"New Name\", ... }\n"
2683
2699
  ],
2684
2700
  "flags": {
2685
2701
  "profile": {
@@ -2701,16 +2717,34 @@
2701
2717
  "allowNo": false,
2702
2718
  "type": "boolean"
2703
2719
  },
2720
+ "description": {
2721
+ "char": "d",
2722
+ "description": "New project description",
2723
+ "name": "description",
2724
+ "required": false,
2725
+ "hasDynamicHelp": false,
2726
+ "multiple": false,
2727
+ "type": "option"
2728
+ },
2729
+ "name": {
2730
+ "char": "n",
2731
+ "description": "New project name",
2732
+ "name": "name",
2733
+ "required": false,
2734
+ "hasDynamicHelp": false,
2735
+ "multiple": false,
2736
+ "type": "option"
2737
+ },
2704
2738
  "output": {
2705
2739
  "char": "o",
2706
2740
  "description": "Output format",
2707
2741
  "name": "output",
2708
2742
  "required": false,
2709
- "default": "value",
2743
+ "default": "summary",
2710
2744
  "hasDynamicHelp": false,
2711
2745
  "multiple": false,
2712
2746
  "options": [
2713
- "value",
2747
+ "summary",
2714
2748
  "json"
2715
2749
  ],
2716
2750
  "type": "option"
@@ -2718,7 +2752,7 @@
2718
2752
  },
2719
2753
  "hasDynamicHelp": false,
2720
2754
  "hiddenAliases": [],
2721
- "id": "run:env:get",
2755
+ "id": "run:projects:update",
2722
2756
  "pluginAlias": "@xano/cli",
2723
2757
  "pluginName": "@xano/cli",
2724
2758
  "pluginType": "core",
@@ -2728,18 +2762,18 @@
2728
2762
  "dist",
2729
2763
  "commands",
2730
2764
  "run",
2731
- "env",
2732
- "get",
2765
+ "projects",
2766
+ "update",
2733
2767
  "index.js"
2734
2768
  ]
2735
2769
  },
2736
- "run:env:list": {
2770
+ "run:projects:list": {
2737
2771
  "aliases": [],
2738
2772
  "args": {},
2739
- "description": "List all environment variable keys",
2773
+ "description": "List all projects",
2740
2774
  "examples": [
2741
- "$ xano run env list\nEnvironment variables:\n - API_KEY\n - DATABASE_URL\n - DEBUG\n",
2742
- "$ xano run env list -o json\n{ \"env\": [\"API_KEY\", \"DATABASE_URL\", \"DEBUG\"] }\n"
2775
+ "$ xano run projects list\nID NAME ACCESS\nabc123-def456-ghi789 My Project private\nxyz789-uvw456-rst123 Test Project public\n",
2776
+ "$ xano run projects list -o json\n[\n { \"id\": \"abc123-def456-ghi789\", \"name\": \"My Project\", ... }\n]\n"
2743
2777
  ],
2744
2778
  "flags": {
2745
2779
  "profile": {
@@ -2766,11 +2800,11 @@
2766
2800
  "description": "Output format",
2767
2801
  "name": "output",
2768
2802
  "required": false,
2769
- "default": "list",
2803
+ "default": "table",
2770
2804
  "hasDynamicHelp": false,
2771
2805
  "multiple": false,
2772
2806
  "options": [
2773
- "list",
2807
+ "table",
2774
2808
  "json"
2775
2809
  ],
2776
2810
  "type": "option"
@@ -2778,7 +2812,7 @@
2778
2812
  },
2779
2813
  "hasDynamicHelp": false,
2780
2814
  "hiddenAliases": [],
2781
- "id": "run:env:list",
2815
+ "id": "run:projects:list",
2782
2816
  "pluginAlias": "@xano/cli",
2783
2817
  "pluginName": "@xano/cli",
2784
2818
  "pluginType": "core",
@@ -2788,29 +2822,24 @@
2788
2822
  "dist",
2789
2823
  "commands",
2790
2824
  "run",
2791
- "env",
2825
+ "projects",
2792
2826
  "list",
2793
2827
  "index.js"
2794
2828
  ]
2795
2829
  },
2796
- "run:env:set": {
2830
+ "run:secrets:delete": {
2797
2831
  "aliases": [],
2798
2832
  "args": {
2799
2833
  "name": {
2800
- "description": "Environment variable name",
2834
+ "description": "Secret name",
2801
2835
  "name": "name",
2802
2836
  "required": true
2803
- },
2804
- "value": {
2805
- "description": "Environment variable value",
2806
- "name": "value",
2807
- "required": true
2808
2837
  }
2809
2838
  },
2810
- "description": "Set an environment variable",
2839
+ "description": "Delete a secret",
2811
2840
  "examples": [
2812
- "$ xano run env set API_KEY my-secret-key\nEnvironment variable 'API_KEY' set successfully!\n",
2813
- "$ xano run env set DATABASE_URL \"postgres://user:pass@host/db\"\nEnvironment variable 'DATABASE_URL' set successfully!\n"
2841
+ "$ xano run secrets delete docker-registry\nAre you sure you want to delete secret 'docker-registry'? (y/N)\nSecret 'docker-registry' deleted successfully!\n",
2842
+ "$ xano run secrets delete docker-registry --force\nSecret 'docker-registry' deleted successfully!\n"
2814
2843
  ],
2815
2844
  "flags": {
2816
2845
  "profile": {
@@ -2831,11 +2860,19 @@
2831
2860
  "required": false,
2832
2861
  "allowNo": false,
2833
2862
  "type": "boolean"
2863
+ },
2864
+ "force": {
2865
+ "char": "f",
2866
+ "description": "Skip confirmation prompt",
2867
+ "name": "force",
2868
+ "required": false,
2869
+ "allowNo": false,
2870
+ "type": "boolean"
2834
2871
  }
2835
2872
  },
2836
2873
  "hasDynamicHelp": false,
2837
2874
  "hiddenAliases": [],
2838
- "id": "run:env:set",
2875
+ "id": "run:secrets:delete",
2839
2876
  "pluginAlias": "@xano/cli",
2840
2877
  "pluginName": "@xano/cli",
2841
2878
  "pluginType": "core",
@@ -2845,19 +2882,24 @@
2845
2882
  "dist",
2846
2883
  "commands",
2847
2884
  "run",
2848
- "env",
2849
- "set",
2885
+ "secrets",
2886
+ "delete",
2850
2887
  "index.js"
2851
2888
  ]
2852
2889
  },
2853
- "run:projects:create": {
2890
+ "run:secrets:get": {
2854
2891
  "aliases": [],
2855
- "args": {},
2856
- "description": "Create a new project",
2892
+ "args": {
2893
+ "name": {
2894
+ "description": "Secret name",
2895
+ "name": "name",
2896
+ "required": true
2897
+ }
2898
+ },
2899
+ "description": "Get a secret value",
2857
2900
  "examples": [
2858
- "$ xano run projects create -n \"My Project\"\nProject created successfully!\n ID: abc123-def456-ghi789\n Name: My Project\n",
2859
- "$ xano run projects create -n \"My Project\" -d \"Description here\"\nProject created successfully!\n ID: abc123-def456-ghi789\n Name: My Project\n",
2860
- "$ xano run projects create -n \"My Project\" -o json\n{ \"id\": \"abc123-def456-ghi789\", \"name\": \"My Project\", ... }\n"
2901
+ "$ xano run secrets get docker-registry\n{\"auths\":{\"ghcr.io\":{\"auth\":\"...\"}}}\n",
2902
+ "$ xano run secrets get docker-registry -o json\n{ \"name\": \"docker-registry\", \"type\": \"kubernetes.io/dockerconfigjson\", \"value\": \"...\" }\n"
2861
2903
  ],
2862
2904
  "flags": {
2863
2905
  "profile": {
@@ -2879,35 +2921,16 @@
2879
2921
  "allowNo": false,
2880
2922
  "type": "boolean"
2881
2923
  },
2882
- "description": {
2883
- "char": "d",
2884
- "description": "Project description",
2885
- "name": "description",
2886
- "required": false,
2887
- "default": "",
2888
- "hasDynamicHelp": false,
2889
- "multiple": false,
2890
- "type": "option"
2891
- },
2892
- "name": {
2893
- "char": "n",
2894
- "description": "Project name",
2895
- "name": "name",
2896
- "required": true,
2897
- "hasDynamicHelp": false,
2898
- "multiple": false,
2899
- "type": "option"
2900
- },
2901
2924
  "output": {
2902
2925
  "char": "o",
2903
2926
  "description": "Output format",
2904
2927
  "name": "output",
2905
2928
  "required": false,
2906
- "default": "summary",
2929
+ "default": "value",
2907
2930
  "hasDynamicHelp": false,
2908
2931
  "multiple": false,
2909
2932
  "options": [
2910
- "summary",
2933
+ "value",
2911
2934
  "json"
2912
2935
  ],
2913
2936
  "type": "option"
@@ -2915,7 +2938,7 @@
2915
2938
  },
2916
2939
  "hasDynamicHelp": false,
2917
2940
  "hiddenAliases": [],
2918
- "id": "run:projects:create",
2941
+ "id": "run:secrets:get",
2919
2942
  "pluginAlias": "@xano/cli",
2920
2943
  "pluginName": "@xano/cli",
2921
2944
  "pluginType": "core",
@@ -2925,8 +2948,8 @@
2925
2948
  "dist",
2926
2949
  "commands",
2927
2950
  "run",
2928
- "projects",
2929
- "create",
2951
+ "secrets",
2952
+ "get",
2930
2953
  "index.js"
2931
2954
  ]
2932
2955
  },
@@ -2990,13 +3013,13 @@
2990
3013
  "index.js"
2991
3014
  ]
2992
3015
  },
2993
- "run:projects:list": {
3016
+ "run:secrets:list": {
2994
3017
  "aliases": [],
2995
3018
  "args": {},
2996
- "description": "List all projects",
3019
+ "description": "List all secret keys",
2997
3020
  "examples": [
2998
- "$ xano run projects list\nID NAME ACCESS\nabc123-def456-ghi789 My Project private\nxyz789-uvw456-rst123 Test Project public\n",
2999
- "$ xano run projects list -o json\n[\n { \"id\": \"abc123-def456-ghi789\", \"name\": \"My Project\", ... }\n]\n"
3021
+ "$ xano run secrets list\nNAME TYPE REPO\ndocker-registry kubernetes.io/dockerconfigjson ghcr.io\nservice-account kubernetes.io/service-account-token -\n",
3022
+ "$ xano run secrets list -o json\n{ \"secrets\": [{ \"name\": \"docker-registry\", \"type\": \"kubernetes.io/dockerconfigjson\", \"repo\": \"ghcr.io\" }] }\n"
3000
3023
  ],
3001
3024
  "flags": {
3002
3025
  "profile": {
@@ -3035,7 +3058,7 @@
3035
3058
  },
3036
3059
  "hasDynamicHelp": false,
3037
3060
  "hiddenAliases": [],
3038
- "id": "run:projects:list",
3061
+ "id": "run:secrets:list",
3039
3062
  "pluginAlias": "@xano/cli",
3040
3063
  "pluginName": "@xano/cli",
3041
3064
  "pluginType": "core",
@@ -3045,25 +3068,24 @@
3045
3068
  "dist",
3046
3069
  "commands",
3047
3070
  "run",
3048
- "projects",
3071
+ "secrets",
3049
3072
  "list",
3050
3073
  "index.js"
3051
3074
  ]
3052
3075
  },
3053
- "run:projects:update": {
3076
+ "run:secrets:set": {
3054
3077
  "aliases": [],
3055
3078
  "args": {
3056
- "projectId": {
3057
- "description": "Project ID to update",
3058
- "name": "projectId",
3079
+ "name": {
3080
+ "description": "Secret name",
3081
+ "name": "name",
3059
3082
  "required": true
3060
3083
  }
3061
3084
  },
3062
- "description": "Update a project",
3085
+ "description": "Set a secret",
3063
3086
  "examples": [
3064
- "$ xano run projects update abc123-def456 -n \"New Name\"\nProject updated successfully!\n ID: abc123-def456\n Name: New Name\n",
3065
- "$ xano run projects update abc123-def456 -d \"New description\"\nProject updated successfully!\n ID: abc123-def456\n Description: New description\n",
3066
- "$ xano run projects update abc123-def456 -n \"New Name\" -o json\n{ \"id\": \"abc123-def456\", \"name\": \"New Name\", ... }\n"
3087
+ "$ xano run secrets set docker-registry -t dockerconfigjson -v '{\"auths\":{\"ghcr.io\":{\"auth\":\"...\"}}}' -r ghcr.io\nSecret 'docker-registry' set successfully!\n",
3088
+ "$ xano run secrets set service-key -t service-account-token -v 'token-value-here'\nSecret 'service-key' set successfully!\n"
3067
3089
  ],
3068
3090
  "flags": {
3069
3091
  "profile": {
@@ -3085,108 +3107,41 @@
3085
3107
  "allowNo": false,
3086
3108
  "type": "boolean"
3087
3109
  },
3088
- "description": {
3089
- "char": "d",
3090
- "description": "New project description",
3091
- "name": "description",
3092
- "required": false,
3093
- "hasDynamicHelp": false,
3094
- "multiple": false,
3095
- "type": "option"
3096
- },
3097
- "name": {
3098
- "char": "n",
3099
- "description": "New project name",
3100
- "name": "name",
3110
+ "repo": {
3111
+ "char": "r",
3112
+ "description": "Repository (for dockerconfigjson type)",
3113
+ "name": "repo",
3101
3114
  "required": false,
3102
3115
  "hasDynamicHelp": false,
3103
3116
  "multiple": false,
3104
3117
  "type": "option"
3105
3118
  },
3106
- "output": {
3107
- "char": "o",
3108
- "description": "Output format",
3109
- "name": "output",
3110
- "required": false,
3111
- "default": "summary",
3119
+ "type": {
3120
+ "char": "t",
3121
+ "description": "Secret type",
3122
+ "name": "type",
3123
+ "required": true,
3112
3124
  "hasDynamicHelp": false,
3113
3125
  "multiple": false,
3114
3126
  "options": [
3115
- "summary",
3116
- "json"
3127
+ "dockerconfigjson",
3128
+ "service-account-token"
3117
3129
  ],
3118
3130
  "type": "option"
3119
- }
3120
- },
3121
- "hasDynamicHelp": false,
3122
- "hiddenAliases": [],
3123
- "id": "run:projects:update",
3124
- "pluginAlias": "@xano/cli",
3125
- "pluginName": "@xano/cli",
3126
- "pluginType": "core",
3127
- "strict": true,
3128
- "isESM": true,
3129
- "relativePath": [
3130
- "dist",
3131
- "commands",
3132
- "run",
3133
- "projects",
3134
- "update",
3135
- "index.js"
3136
- ]
3137
- },
3138
- "run:sink:get": {
3139
- "aliases": [],
3140
- "args": {
3141
- "sessionId": {
3142
- "description": "Session ID",
3143
- "name": "sessionId",
3144
- "required": true
3145
- }
3146
- },
3147
- "description": "Get sink data for a completed session",
3148
- "examples": [
3149
- "$ xano run sink get abc123-def456\nSink Data:\n Tables: 3\n - users (5 rows)\n - orders (12 rows)\n - products (8 rows)\n Logs: 15 entries\n",
3150
- "$ xano run sink get abc123-def456 -o json\n{ \"tables\": [...], \"logs\": [...] }\n"
3151
- ],
3152
- "flags": {
3153
- "profile": {
3154
- "char": "p",
3155
- "description": "Profile to use for this command",
3156
- "env": "XANO_PROFILE",
3157
- "name": "profile",
3158
- "required": false,
3159
- "hasDynamicHelp": false,
3160
- "multiple": false,
3161
- "type": "option"
3162
3131
  },
3163
- "verbose": {
3132
+ "value": {
3164
3133
  "char": "v",
3165
- "description": "Show detailed request/response information",
3166
- "env": "XANO_VERBOSE",
3167
- "name": "verbose",
3168
- "required": false,
3169
- "allowNo": false,
3170
- "type": "boolean"
3171
- },
3172
- "output": {
3173
- "char": "o",
3174
- "description": "Output format",
3175
- "name": "output",
3176
- "required": false,
3177
- "default": "summary",
3134
+ "description": "Secret value",
3135
+ "name": "value",
3136
+ "required": true,
3178
3137
  "hasDynamicHelp": false,
3179
3138
  "multiple": false,
3180
- "options": [
3181
- "summary",
3182
- "json"
3183
- ],
3184
3139
  "type": "option"
3185
3140
  }
3186
3141
  },
3187
3142
  "hasDynamicHelp": false,
3188
3143
  "hiddenAliases": [],
3189
- "id": "run:sink:get",
3144
+ "id": "run:secrets:set",
3190
3145
  "pluginAlias": "@xano/cli",
3191
3146
  "pluginName": "@xano/cli",
3192
3147
  "pluginType": "core",
@@ -3196,24 +3151,24 @@
3196
3151
  "dist",
3197
3152
  "commands",
3198
3153
  "run",
3199
- "sink",
3200
- "get",
3154
+ "secrets",
3155
+ "set",
3201
3156
  "index.js"
3202
3157
  ]
3203
3158
  },
3204
- "run:secrets:delete": {
3159
+ "run:sessions:delete": {
3205
3160
  "aliases": [],
3206
3161
  "args": {
3207
- "name": {
3208
- "description": "Secret name",
3209
- "name": "name",
3162
+ "sessionId": {
3163
+ "description": "Session ID",
3164
+ "name": "sessionId",
3210
3165
  "required": true
3211
3166
  }
3212
3167
  },
3213
- "description": "Delete a secret",
3168
+ "description": "Delete a session",
3214
3169
  "examples": [
3215
- "$ xano run secrets delete docker-registry\nAre you sure you want to delete secret 'docker-registry'? (y/N)\nSecret 'docker-registry' deleted successfully!\n",
3216
- "$ xano run secrets delete docker-registry --force\nSecret 'docker-registry' deleted successfully!\n"
3170
+ "$ xano run sessions delete abc123-def456\nAre you sure you want to delete session 'abc123-def456'? (y/N)\nSession deleted successfully!\n",
3171
+ "$ xano run sessions delete abc123-def456 --force\nSession deleted successfully!\n"
3217
3172
  ],
3218
3173
  "flags": {
3219
3174
  "profile": {
@@ -3246,7 +3201,7 @@
3246
3201
  },
3247
3202
  "hasDynamicHelp": false,
3248
3203
  "hiddenAliases": [],
3249
- "id": "run:secrets:delete",
3204
+ "id": "run:sessions:delete",
3250
3205
  "pluginAlias": "@xano/cli",
3251
3206
  "pluginName": "@xano/cli",
3252
3207
  "pluginType": "core",
@@ -3256,24 +3211,18 @@
3256
3211
  "dist",
3257
3212
  "commands",
3258
3213
  "run",
3259
- "secrets",
3214
+ "sessions",
3260
3215
  "delete",
3261
3216
  "index.js"
3262
3217
  ]
3263
3218
  },
3264
- "run:secrets:set": {
3219
+ "run:sessions:list": {
3265
3220
  "aliases": [],
3266
- "args": {
3267
- "name": {
3268
- "description": "Secret name",
3269
- "name": "name",
3270
- "required": true
3271
- }
3272
- },
3273
- "description": "Set a secret",
3221
+ "args": {},
3222
+ "description": "List all sessions for the project",
3274
3223
  "examples": [
3275
- "$ xano run secrets set docker-registry -t dockerconfigjson -v '{\"auths\":{\"ghcr.io\":{\"auth\":\"...\"}}}' -r ghcr.io\nSecret 'docker-registry' set successfully!\n",
3276
- "$ xano run secrets set service-key -t service-account-token -v 'token-value-here'\nSecret 'service-key' set successfully!\n"
3224
+ "$ xano run sessions list\nID STATE CREATED\nabc123-def456-ghi789 running 2024-01-15T10:30:00Z\nxyz789-uvw456-rst123 stopped 2024-01-14T09:00:00Z\n",
3225
+ "$ xano run sessions list -o json\n{ \"items\": [{ \"id\": \"abc123-def456-ghi789\", \"state\": \"running\", ... }] }\n"
3277
3226
  ],
3278
3227
  "flags": {
3279
3228
  "profile": {
@@ -3295,41 +3244,24 @@
3295
3244
  "allowNo": false,
3296
3245
  "type": "boolean"
3297
3246
  },
3298
- "repo": {
3299
- "char": "r",
3300
- "description": "Repository (for dockerconfigjson type)",
3301
- "name": "repo",
3247
+ "output": {
3248
+ "char": "o",
3249
+ "description": "Output format",
3250
+ "name": "output",
3302
3251
  "required": false,
3303
- "hasDynamicHelp": false,
3304
- "multiple": false,
3305
- "type": "option"
3306
- },
3307
- "type": {
3308
- "char": "t",
3309
- "description": "Secret type",
3310
- "name": "type",
3311
- "required": true,
3252
+ "default": "table",
3312
3253
  "hasDynamicHelp": false,
3313
3254
  "multiple": false,
3314
3255
  "options": [
3315
- "dockerconfigjson",
3316
- "service-account-token"
3256
+ "table",
3257
+ "json"
3317
3258
  ],
3318
3259
  "type": "option"
3319
- },
3320
- "value": {
3321
- "char": "v",
3322
- "description": "Secret value",
3323
- "name": "value",
3324
- "required": true,
3325
- "hasDynamicHelp": false,
3326
- "multiple": false,
3327
- "type": "option"
3328
3260
  }
3329
3261
  },
3330
3262
  "hasDynamicHelp": false,
3331
3263
  "hiddenAliases": [],
3332
- "id": "run:secrets:set",
3264
+ "id": "run:sessions:list",
3333
3265
  "pluginAlias": "@xano/cli",
3334
3266
  "pluginName": "@xano/cli",
3335
3267
  "pluginType": "core",
@@ -3339,24 +3271,24 @@
3339
3271
  "dist",
3340
3272
  "commands",
3341
3273
  "run",
3342
- "secrets",
3343
- "set",
3274
+ "sessions",
3275
+ "list",
3344
3276
  "index.js"
3345
3277
  ]
3346
3278
  },
3347
- "run:secrets:get": {
3279
+ "run:sessions:get": {
3348
3280
  "aliases": [],
3349
3281
  "args": {
3350
- "name": {
3351
- "description": "Secret name",
3352
- "name": "name",
3282
+ "sessionId": {
3283
+ "description": "Session ID",
3284
+ "name": "sessionId",
3353
3285
  "required": true
3354
3286
  }
3355
3287
  },
3356
- "description": "Get a secret value",
3288
+ "description": "Get session details",
3357
3289
  "examples": [
3358
- "$ xano run secrets get docker-registry\n{\"auths\":{\"ghcr.io\":{\"auth\":\"...\"}}}\n",
3359
- "$ xano run secrets get docker-registry -o json\n{ \"name\": \"docker-registry\", \"type\": \"kubernetes.io/dockerconfigjson\", \"value\": \"...\" }\n"
3290
+ "$ xano run sessions get abc123-def456\nSession Details:\n ID: abc123-def456\n Name: My Session\n Status: running\n Access: private\n URL: https://session.xano.io/abc123\n Uptime: 3600s\n",
3291
+ "$ xano run sessions get abc123-def456 -o json\n{ \"id\": \"abc123-def456\", \"name\": \"My Session\", \"status\": \"running\", ... }\n"
3360
3292
  ],
3361
3293
  "flags": {
3362
3294
  "profile": {
@@ -3383,11 +3315,11 @@
3383
3315
  "description": "Output format",
3384
3316
  "name": "output",
3385
3317
  "required": false,
3386
- "default": "value",
3318
+ "default": "summary",
3387
3319
  "hasDynamicHelp": false,
3388
3320
  "multiple": false,
3389
3321
  "options": [
3390
- "value",
3322
+ "summary",
3391
3323
  "json"
3392
3324
  ],
3393
3325
  "type": "option"
@@ -3395,7 +3327,7 @@
3395
3327
  },
3396
3328
  "hasDynamicHelp": false,
3397
3329
  "hiddenAliases": [],
3398
- "id": "run:secrets:get",
3330
+ "id": "run:sessions:get",
3399
3331
  "pluginAlias": "@xano/cli",
3400
3332
  "pluginName": "@xano/cli",
3401
3333
  "pluginType": "core",
@@ -3405,18 +3337,24 @@
3405
3337
  "dist",
3406
3338
  "commands",
3407
3339
  "run",
3408
- "secrets",
3340
+ "sessions",
3409
3341
  "get",
3410
3342
  "index.js"
3411
3343
  ]
3412
3344
  },
3413
- "run:secrets:list": {
3345
+ "run:sessions:start": {
3414
3346
  "aliases": [],
3415
- "args": {},
3416
- "description": "List all secret keys",
3347
+ "args": {
3348
+ "sessionId": {
3349
+ "description": "Session ID",
3350
+ "name": "sessionId",
3351
+ "required": true
3352
+ }
3353
+ },
3354
+ "description": "Start a session",
3417
3355
  "examples": [
3418
- "$ xano run secrets list\nNAME TYPE REPO\ndocker-registry kubernetes.io/dockerconfigjson ghcr.io\nservice-account kubernetes.io/service-account-token -\n",
3419
- "$ xano run secrets list -o json\n{ \"secrets\": [{ \"name\": \"docker-registry\", \"type\": \"kubernetes.io/dockerconfigjson\", \"repo\": \"ghcr.io\" }] }\n"
3356
+ "$ xano run sessions start abc123-def456\nSession started successfully!\n ID: abc123-def456\n State: running\n",
3357
+ "$ xano run sessions start abc123-def456 -o json\n{ \"id\": \"abc123-def456\", \"state\": \"running\", ... }\n"
3420
3358
  ],
3421
3359
  "flags": {
3422
3360
  "profile": {
@@ -3443,11 +3381,11 @@
3443
3381
  "description": "Output format",
3444
3382
  "name": "output",
3445
3383
  "required": false,
3446
- "default": "table",
3384
+ "default": "summary",
3447
3385
  "hasDynamicHelp": false,
3448
3386
  "multiple": false,
3449
3387
  "options": [
3450
- "table",
3388
+ "summary",
3451
3389
  "json"
3452
3390
  ],
3453
3391
  "type": "option"
@@ -3455,7 +3393,7 @@
3455
3393
  },
3456
3394
  "hasDynamicHelp": false,
3457
3395
  "hiddenAliases": [],
3458
- "id": "run:secrets:list",
3396
+ "id": "run:sessions:start",
3459
3397
  "pluginAlias": "@xano/cli",
3460
3398
  "pluginName": "@xano/cli",
3461
3399
  "pluginType": "core",
@@ -3465,24 +3403,25 @@
3465
3403
  "dist",
3466
3404
  "commands",
3467
3405
  "run",
3468
- "secrets",
3469
- "list",
3406
+ "sessions",
3407
+ "start",
3470
3408
  "index.js"
3471
3409
  ]
3472
3410
  },
3473
- "run:sessions:delete": {
3411
+ "static_host:build:create": {
3474
3412
  "aliases": [],
3475
3413
  "args": {
3476
- "sessionId": {
3477
- "description": "Session ID",
3478
- "name": "sessionId",
3414
+ "static_host": {
3415
+ "description": "Static Host name",
3416
+ "name": "static_host",
3479
3417
  "required": true
3480
3418
  }
3481
3419
  },
3482
- "description": "Delete a session",
3420
+ "description": "Create a new build for a static host",
3483
3421
  "examples": [
3484
- "$ xano run sessions delete abc123-def456\nAre you sure you want to delete session 'abc123-def456'? (y/N)\nSession deleted successfully!\n",
3485
- "$ xano run sessions delete abc123-def456 --force\nSession deleted successfully!\n"
3422
+ "$ 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",
3423
+ "$ 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",
3424
+ "$ 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"
3486
3425
  ],
3487
3426
  "flags": {
3488
3427
  "profile": {
@@ -3504,45 +3443,95 @@
3504
3443
  "allowNo": false,
3505
3444
  "type": "boolean"
3506
3445
  },
3507
- "force": {
3446
+ "description": {
3447
+ "char": "d",
3448
+ "description": "Build description",
3449
+ "name": "description",
3450
+ "required": false,
3451
+ "hasDynamicHelp": false,
3452
+ "multiple": false,
3453
+ "type": "option"
3454
+ },
3455
+ "file": {
3508
3456
  "char": "f",
3509
- "description": "Skip confirmation prompt",
3510
- "name": "force",
3457
+ "description": "Path to zip file to upload",
3458
+ "name": "file",
3459
+ "required": true,
3460
+ "hasDynamicHelp": false,
3461
+ "multiple": false,
3462
+ "type": "option"
3463
+ },
3464
+ "name": {
3465
+ "char": "n",
3466
+ "description": "Build name",
3467
+ "name": "name",
3468
+ "required": true,
3469
+ "hasDynamicHelp": false,
3470
+ "multiple": false,
3471
+ "type": "option"
3472
+ },
3473
+ "output": {
3474
+ "char": "o",
3475
+ "description": "Output format",
3476
+ "name": "output",
3511
3477
  "required": false,
3512
- "allowNo": false,
3513
- "type": "boolean"
3478
+ "default": "summary",
3479
+ "hasDynamicHelp": false,
3480
+ "multiple": false,
3481
+ "options": [
3482
+ "summary",
3483
+ "json"
3484
+ ],
3485
+ "type": "option"
3486
+ },
3487
+ "workspace": {
3488
+ "char": "w",
3489
+ "description": "Workspace ID (optional if set in profile)",
3490
+ "name": "workspace",
3491
+ "required": false,
3492
+ "hasDynamicHelp": false,
3493
+ "multiple": false,
3494
+ "type": "option"
3514
3495
  }
3515
3496
  },
3516
3497
  "hasDynamicHelp": false,
3517
3498
  "hiddenAliases": [],
3518
- "id": "run:sessions:delete",
3499
+ "id": "static_host:build:create",
3519
3500
  "pluginAlias": "@xano/cli",
3520
3501
  "pluginName": "@xano/cli",
3521
3502
  "pluginType": "core",
3522
3503
  "strict": true,
3504
+ "enableJsonFlag": false,
3523
3505
  "isESM": true,
3524
3506
  "relativePath": [
3525
3507
  "dist",
3526
3508
  "commands",
3527
- "run",
3528
- "sessions",
3529
- "delete",
3509
+ "static_host",
3510
+ "build",
3511
+ "create",
3530
3512
  "index.js"
3531
3513
  ]
3532
3514
  },
3533
- "run:sessions:start": {
3515
+ "static_host:build:get": {
3534
3516
  "aliases": [],
3535
3517
  "args": {
3536
- "sessionId": {
3537
- "description": "Session ID",
3538
- "name": "sessionId",
3518
+ "build_id": {
3519
+ "description": "Build ID",
3520
+ "name": "build_id",
3521
+ "required": true
3522
+ },
3523
+ "static_host": {
3524
+ "description": "Static Host name",
3525
+ "name": "static_host",
3539
3526
  "required": true
3540
3527
  }
3541
3528
  },
3542
- "description": "Start a session",
3529
+ "description": "Get details of a specific build for a static host",
3543
3530
  "examples": [
3544
- "$ xano run sessions start abc123-def456\nSession started successfully!\n ID: abc123-def456\n State: running\n",
3545
- "$ xano run sessions start abc123-def456 -o json\n{ \"id\": \"abc123-def456\", \"state\": \"running\", ... }\n"
3531
+ "$ xano static_host:build:get default 52\nBuild Details:\nID: 52\nName: v1.0.0\nStatus: completed\n",
3532
+ "$ xano static_host:build:get default 52 -w 40\nBuild Details:\nID: 52\nName: v1.0.0\nStatus: completed\n",
3533
+ "$ xano static_host:build:get myhost 123 --profile production\nBuild Details:\nID: 123\nName: production-build\n",
3534
+ "$ xano static_host:build:get default 52 -o json\n{\n \"id\": 52,\n \"name\": \"v1.0.0\",\n \"status\": \"completed\"\n}\n"
3546
3535
  ],
3547
3536
  "flags": {
3548
3537
  "profile": {
@@ -3577,32 +3566,48 @@
3577
3566
  "json"
3578
3567
  ],
3579
3568
  "type": "option"
3569
+ },
3570
+ "workspace": {
3571
+ "char": "w",
3572
+ "description": "Workspace ID (optional if set in profile)",
3573
+ "name": "workspace",
3574
+ "required": false,
3575
+ "hasDynamicHelp": false,
3576
+ "multiple": false,
3577
+ "type": "option"
3580
3578
  }
3581
3579
  },
3582
3580
  "hasDynamicHelp": false,
3583
3581
  "hiddenAliases": [],
3584
- "id": "run:sessions:start",
3582
+ "id": "static_host:build:get",
3585
3583
  "pluginAlias": "@xano/cli",
3586
3584
  "pluginName": "@xano/cli",
3587
3585
  "pluginType": "core",
3588
3586
  "strict": true,
3587
+ "enableJsonFlag": false,
3589
3588
  "isESM": true,
3590
3589
  "relativePath": [
3591
3590
  "dist",
3592
3591
  "commands",
3593
- "run",
3594
- "sessions",
3595
- "start",
3592
+ "static_host",
3593
+ "build",
3594
+ "get",
3596
3595
  "index.js"
3597
3596
  ]
3598
3597
  },
3599
- "run:sessions:list": {
3598
+ "run:sessions:stop": {
3600
3599
  "aliases": [],
3601
- "args": {},
3602
- "description": "List all sessions for the project",
3600
+ "args": {
3601
+ "sessionId": {
3602
+ "description": "Session ID",
3603
+ "name": "sessionId",
3604
+ "required": true
3605
+ }
3606
+ },
3607
+ "description": "Stop a session",
3603
3608
  "examples": [
3604
- "$ xano run sessions list\nID STATE CREATED\nabc123-def456-ghi789 running 2024-01-15T10:30:00Z\nxyz789-uvw456-rst123 stopped 2024-01-14T09:00:00Z\n",
3605
- "$ xano run sessions list -o json\n{ \"items\": [{ \"id\": \"abc123-def456-ghi789\", \"state\": \"running\", ... }] }\n"
3609
+ "$ xano run sessions stop abc123-def456\nSession stopped successfully!\n ID: abc123-def456\n State: stopped\n",
3610
+ "$ xano run sessions stop abc123-def456 -o json\n{ \"id\": \"abc123-def456\", \"state\": \"stopped\", ... }\n"
3606
3611
  ],
3607
3612
  "flags": {
3608
3613
  "profile": {
@@ -3629,11 +3634,11 @@
3629
3634
  "description": "Output format",
3630
3635
  "name": "output",
3631
3636
  "required": false,
3632
- "default": "table",
3637
+ "default": "summary",
3633
3638
  "hasDynamicHelp": false,
3634
3639
  "multiple": false,
3635
3640
  "options": [
3636
- "table",
3641
+ "summary",
3637
3642
  "json"
3638
3643
  ],
3639
3644
  "type": "option"
@@ -3641,7 +3646,7 @@
3641
3646
  },
3642
3647
  "hasDynamicHelp": false,
3643
3648
  "hiddenAliases": [],
3644
- "id": "run:sessions:list",
3649
+ "id": "run:sessions:stop",
3645
3650
  "pluginAlias": "@xano/cli",
3646
3651
  "pluginName": "@xano/cli",
3647
3652
  "pluginType": "core",
@@ -3652,11 +3657,11 @@
3652
3657
  "commands",
3653
3658
  "run",
3654
3659
  "sessions",
3655
- "list",
3660
+ "stop",
3656
3661
  "index.js"
3657
3662
  ]
3658
3663
  },
3659
- "run:sessions:get": {
3664
+ "run:sink:get": {
3660
3665
  "aliases": [],
3661
3666
  "args": {
3662
3667
  "sessionId": {
@@ -3665,10 +3670,10 @@
3665
3670
  "required": true
3666
3671
  }
3667
3672
  },
3668
- "description": "Get session details",
3673
+ "description": "Get sink data for a completed session",
3669
3674
  "examples": [
3670
- "$ xano run sessions get abc123-def456\nSession Details:\n ID: abc123-def456\n Name: My Session\n Status: running\n Access: private\n URL: https://session.xano.io/abc123\n Uptime: 3600s\n",
3671
- "$ xano run sessions get abc123-def456 -o json\n{ \"id\": \"abc123-def456\", \"name\": \"My Session\", \"status\": \"running\", ... }\n"
3675
+ "$ xano run sink get abc123-def456\nSink Data:\n Tables: 3\n - users (5 rows)\n - orders (12 rows)\n - products (8 rows)\n Logs: 15 entries\n",
3676
+ "$ xano run sink get abc123-def456 -o json\n{ \"tables\": [...], \"logs\": [...] }\n"
3672
3677
  ],
3673
3678
  "flags": {
3674
3679
  "profile": {
@@ -3707,7 +3712,7 @@
3707
3712
  },
3708
3713
  "hasDynamicHelp": false,
3709
3714
  "hiddenAliases": [],
3710
- "id": "run:sessions:get",
3715
+ "id": "run:sink:get",
3711
3716
  "pluginAlias": "@xano/cli",
3712
3717
  "pluginName": "@xano/cli",
3713
3718
  "pluginType": "core",
@@ -3717,24 +3722,26 @@
3717
3722
  "dist",
3718
3723
  "commands",
3719
3724
  "run",
3720
- "sessions",
3725
+ "sink",
3721
3726
  "get",
3722
3727
  "index.js"
3723
3728
  ]
3724
3729
  },
3725
- "run:sessions:stop": {
3730
+ "static_host:build:list": {
3726
3731
  "aliases": [],
3727
3732
  "args": {
3728
- "sessionId": {
3729
- "description": "Session ID",
3730
- "name": "sessionId",
3733
+ "static_host": {
3734
+ "description": "Static Host name",
3735
+ "name": "static_host",
3731
3736
  "required": true
3732
3737
  }
3733
3738
  },
3734
- "description": "Stop a session",
3739
+ "description": "List all builds for a static host",
3735
3740
  "examples": [
3736
- "$ xano run sessions stop abc123-def456\nSession stopped successfully!\n ID: abc123-def456\n State: stopped\n",
3737
- "$ xano run sessions stop abc123-def456 -o json\n{ \"id\": \"abc123-def456\", \"state\": \"stopped\", ... }\n"
3741
+ "$ xano static_host:build:list default -w 40\nAvailable builds:\n - v1.0.0 (ID: 1) - Status: completed\n - v1.0.1 (ID: 2) - Status: pending\n",
3742
+ "$ xano static_host:build:list myhost --profile production\nAvailable builds:\n - production (ID: 1) - Status: completed\n - staging (ID: 2) - Status: completed\n",
3743
+ "$ xano static_host:build:list default -w 40 --output json\n[\n {\n \"id\": 1,\n \"name\": \"v1.0.0\",\n \"status\": \"completed\"\n }\n]\n",
3744
+ "$ xano static_host:build:list default -p staging -o json --page 2\n[\n {\n \"id\": 3,\n \"name\": \"v1.0.2\"\n }\n]\n"
3738
3745
  ],
3739
3746
  "flags": {
3740
3747
  "profile": {
@@ -3769,25 +3776,53 @@
3769
3776
  "json"
3770
3777
  ],
3771
3778
  "type": "option"
3779
+ },
3780
+ "page": {
3781
+ "description": "Page number for pagination",
3782
+ "name": "page",
3783
+ "required": false,
3784
+ "default": 1,
3785
+ "hasDynamicHelp": false,
3786
+ "multiple": false,
3787
+ "type": "option"
3788
+ },
3789
+ "per_page": {
3790
+ "description": "Number of results per page",
3791
+ "name": "per_page",
3792
+ "required": false,
3793
+ "default": 50,
3794
+ "hasDynamicHelp": false,
3795
+ "multiple": false,
3796
+ "type": "option"
3797
+ },
3798
+ "workspace": {
3799
+ "char": "w",
3800
+ "description": "Workspace ID (optional if set in profile)",
3801
+ "name": "workspace",
3802
+ "required": false,
3803
+ "hasDynamicHelp": false,
3804
+ "multiple": false,
3805
+ "type": "option"
3772
3806
  }
3773
3807
  },
3774
3808
  "hasDynamicHelp": false,
3775
3809
  "hiddenAliases": [],
3776
- "id": "run:sessions:stop",
3810
+ "id": "static_host:build:list",
3777
3811
  "pluginAlias": "@xano/cli",
3778
3812
  "pluginName": "@xano/cli",
3779
3813
  "pluginType": "core",
3780
3814
  "strict": true,
3815
+ "enableJsonFlag": false,
3781
3816
  "isESM": true,
3782
3817
  "relativePath": [
3783
3818
  "dist",
3784
3819
  "commands",
3785
- "run",
3786
- "sessions",
3787
- "stop",
3820
+ "static_host",
3821
+ "build",
3822
+ "list",
3788
3823
  "index.js"
3789
3824
  ]
3790
3825
  }
3791
3826
  },
3792
- "version": "0.0.24"
3827
+ "version": "0.0.25"
3793
3828
  }