@xano/cli 0.0.23 → 0.0.24

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.
@@ -294,20 +294,20 @@
294
294
  "index.js"
295
295
  ]
296
296
  },
297
- "branch:get": {
297
+ "branch:set-live": {
298
298
  "aliases": [],
299
299
  "args": {
300
300
  "branch_label": {
301
- "description": "Branch label (e.g., \"v1\", \"dev\")",
301
+ "description": "Branch label to set as live (use \"v1\" for default branch)",
302
302
  "name": "branch_label",
303
303
  "required": true
304
304
  }
305
305
  },
306
- "description": "Get details for a specific branch",
306
+ "description": "Set a branch as the live (active) branch for API requests",
307
307
  "examples": [
308
- "$ xano branch get v1\nBranch: v1 (live)\n Created: 2024-01-15\n",
309
- "$ xano branch get dev -w 123\nBranch: dev\n Created: 2024-02-01\n",
310
- "$ xano branch get staging --output json\n{\n \"created_at\": \"2024-02-10T09:15:00Z\",\n \"label\": \"staging\",\n \"backup\": false,\n \"live\": false\n}\n"
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
311
  ],
312
312
  "flags": {
313
313
  "profile": {
@@ -329,6 +329,14 @@
329
329
  "allowNo": false,
330
330
  "type": "boolean"
331
331
  },
332
+ "force": {
333
+ "char": "f",
334
+ "description": "Skip confirmation prompt",
335
+ "name": "force",
336
+ "required": false,
337
+ "allowNo": false,
338
+ "type": "boolean"
339
+ },
332
340
  "output": {
333
341
  "char": "o",
334
342
  "description": "Output format",
@@ -355,7 +363,7 @@
355
363
  },
356
364
  "hasDynamicHelp": false,
357
365
  "hiddenAliases": [],
358
- "id": "branch:get",
366
+ "id": "branch:set-live",
359
367
  "pluginAlias": "@xano/cli",
360
368
  "pluginName": "@xano/cli",
361
369
  "pluginType": "core",
@@ -366,24 +374,24 @@
366
374
  "dist",
367
375
  "commands",
368
376
  "branch",
369
- "get",
377
+ "set-live",
370
378
  "index.js"
371
379
  ]
372
380
  },
373
- "branch:list": {
381
+ "branch:get": {
374
382
  "aliases": [],
375
383
  "args": {
376
- "workspace_id": {
377
- "description": "Workspace ID (uses profile workspace if not provided)",
378
- "name": "workspace_id",
379
- "required": false
384
+ "branch_label": {
385
+ "description": "Branch label (e.g., \"v1\", \"dev\")",
386
+ "name": "branch_label",
387
+ "required": true
380
388
  }
381
389
  },
382
- "description": "List all branches in a workspace",
390
+ "description": "Get details for a specific branch",
383
391
  "examples": [
384
- "$ xano branch list\nAvailable branches:\n - v1 (live)\n - dev\n - staging\n",
385
- "$ xano branch list 123\nAvailable branches:\n - v1 (live)\n - feature-auth\n",
386
- "$ xano branch list --output json\n[\n {\n \"created_at\": \"2024-01-15T10:30:00Z\",\n \"label\": \"v1\",\n \"backup\": false,\n \"live\": true\n }\n]\n"
392
+ "$ xano branch get v1\nBranch: v1 (live)\n Created: 2024-01-15\n",
393
+ "$ xano branch get dev -w 123\nBranch: dev\n Created: 2024-02-01\n",
394
+ "$ xano branch get staging --output json\n{\n \"created_at\": \"2024-02-10T09:15:00Z\",\n \"label\": \"staging\",\n \"backup\": false,\n \"live\": false\n}\n"
387
395
  ],
388
396
  "flags": {
389
397
  "profile": {
@@ -418,11 +426,20 @@
418
426
  "json"
419
427
  ],
420
428
  "type": "option"
429
+ },
430
+ "workspace": {
431
+ "char": "w",
432
+ "description": "Workspace ID (uses profile workspace if not provided)",
433
+ "name": "workspace",
434
+ "required": false,
435
+ "hasDynamicHelp": false,
436
+ "multiple": false,
437
+ "type": "option"
421
438
  }
422
439
  },
423
440
  "hasDynamicHelp": false,
424
441
  "hiddenAliases": [],
425
- "id": "branch:list",
442
+ "id": "branch:get",
426
443
  "pluginAlias": "@xano/cli",
427
444
  "pluginName": "@xano/cli",
428
445
  "pluginType": "core",
@@ -433,24 +450,24 @@
433
450
  "dist",
434
451
  "commands",
435
452
  "branch",
436
- "list",
453
+ "get",
437
454
  "index.js"
438
455
  ]
439
456
  },
440
- "branch:set-live": {
457
+ "branch:list": {
441
458
  "aliases": [],
442
459
  "args": {
443
- "branch_label": {
444
- "description": "Branch label to set as live (use \"v1\" for default branch)",
445
- "name": "branch_label",
446
- "required": true
460
+ "workspace_id": {
461
+ "description": "Workspace ID (uses profile workspace if not provided)",
462
+ "name": "workspace_id",
463
+ "required": false
447
464
  }
448
465
  },
449
- "description": "Set a branch as the live (active) branch for API requests",
466
+ "description": "List all branches in a workspace",
450
467
  "examples": [
451
- "$ 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",
452
- "$ xano branch set-live v1 --force\nBranch 'v1' is now live\n",
453
- "$ 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"
468
+ "$ xano branch list\nAvailable branches:\n - v1 (live)\n - dev\n - staging\n",
469
+ "$ xano branch list 123\nAvailable branches:\n - v1 (live)\n - feature-auth\n",
470
+ "$ xano branch list --output json\n[\n {\n \"created_at\": \"2024-01-15T10:30:00Z\",\n \"label\": \"v1\",\n \"backup\": false,\n \"live\": true\n }\n]\n"
454
471
  ],
455
472
  "flags": {
456
473
  "profile": {
@@ -472,14 +489,6 @@
472
489
  "allowNo": false,
473
490
  "type": "boolean"
474
491
  },
475
- "force": {
476
- "char": "f",
477
- "description": "Skip confirmation prompt",
478
- "name": "force",
479
- "required": false,
480
- "allowNo": false,
481
- "type": "boolean"
482
- },
483
492
  "output": {
484
493
  "char": "o",
485
494
  "description": "Output format",
@@ -493,20 +502,11 @@
493
502
  "json"
494
503
  ],
495
504
  "type": "option"
496
- },
497
- "workspace": {
498
- "char": "w",
499
- "description": "Workspace ID (uses profile workspace if not provided)",
500
- "name": "workspace",
501
- "required": false,
502
- "hasDynamicHelp": false,
503
- "multiple": false,
504
- "type": "option"
505
505
  }
506
506
  },
507
507
  "hasDynamicHelp": false,
508
508
  "hiddenAliases": [],
509
- "id": "branch:set-live",
509
+ "id": "branch:list",
510
510
  "pluginAlias": "@xano/cli",
511
511
  "pluginName": "@xano/cli",
512
512
  "pluginType": "core",
@@ -517,92 +517,92 @@
517
517
  "dist",
518
518
  "commands",
519
519
  "branch",
520
- "set-live",
520
+ "list",
521
521
  "index.js"
522
522
  ]
523
523
  },
524
- "function:create": {
524
+ "profile:create": {
525
525
  "aliases": [],
526
- "args": {},
527
- "description": "Create a new function in a workspace",
526
+ "args": {
527
+ "name": {
528
+ "description": "Profile name",
529
+ "name": "name",
530
+ "required": true
531
+ }
532
+ },
533
+ "description": "Create a new profile configuration",
528
534
  "examples": [
529
- "$ xano function:create -w 40 -f function.xs\nFunction created successfully!\nID: 123\nName: my_function\n",
530
- "$ xano function:create -f function.xs\nFunction created successfully!\nID: 123\nName: my_function\n",
531
- "$ 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",
532
- "$ cat function.xs | xano function:create -w 40 --stdin\nFunction created successfully!\nID: 123\nName: my_function\n",
533
- "$ xano function:create -w 40 -f function.xs -o json\n{\n \"id\": 123,\n \"name\": \"my_function\",\n ...\n}\n"
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"
534
540
  ],
535
541
  "flags": {
536
- "profile": {
537
- "char": "p",
538
- "description": "Profile to use for this command",
539
- "env": "XANO_PROFILE",
540
- "name": "profile",
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",
541
555
  "required": false,
542
556
  "hasDynamicHelp": false,
543
557
  "multiple": false,
544
558
  "type": "option"
545
559
  },
546
- "verbose": {
547
- "char": "v",
548
- "description": "Show detailed request/response information",
549
- "env": "XANO_VERBOSE",
550
- "name": "verbose",
560
+ "branch": {
561
+ "char": "b",
562
+ "description": "Branch name",
563
+ "name": "branch",
551
564
  "required": false,
552
- "allowNo": false,
553
- "type": "boolean"
565
+ "hasDynamicHelp": false,
566
+ "multiple": false,
567
+ "type": "option"
554
568
  },
555
- "edit": {
556
- "char": "e",
557
- "dependsOn": [
558
- "file"
559
- ],
560
- "description": "Open file in editor before creating function (requires --file)",
561
- "name": "edit",
569
+ "default": {
570
+ "description": "Set this profile as the default",
571
+ "name": "default",
562
572
  "required": false,
563
573
  "allowNo": false,
564
574
  "type": "boolean"
565
575
  },
566
- "file": {
567
- "char": "f",
568
- "description": "Path to file containing XanoScript code",
569
- "exclusive": [
570
- "stdin"
571
- ],
572
- "name": "file",
573
- "required": false,
576
+ "instance_origin": {
577
+ "char": "i",
578
+ "description": "Instance origin URL",
579
+ "name": "instance_origin",
580
+ "required": true,
574
581
  "hasDynamicHelp": false,
575
582
  "multiple": false,
576
583
  "type": "option"
577
584
  },
578
- "output": {
579
- "char": "o",
580
- "description": "Output format",
581
- "name": "output",
585
+ "project": {
586
+ "char": "j",
587
+ "description": "Project name",
588
+ "name": "project",
582
589
  "required": false,
583
- "default": "summary",
584
590
  "hasDynamicHelp": false,
585
591
  "multiple": false,
586
- "options": [
587
- "summary",
588
- "json"
589
- ],
590
592
  "type": "option"
591
593
  },
592
- "stdin": {
593
- "char": "s",
594
- "description": "Read XanoScript code from stdin",
595
- "exclusive": [
596
- "file"
597
- ],
598
- "name": "stdin",
594
+ "run_base_url": {
595
+ "char": "r",
596
+ "description": "Xano Run API base URL (default: https://app.xano.com/)",
597
+ "name": "run_base_url",
599
598
  "required": false,
600
- "allowNo": false,
601
- "type": "boolean"
599
+ "hasDynamicHelp": false,
600
+ "multiple": false,
601
+ "type": "option"
602
602
  },
603
603
  "workspace": {
604
604
  "char": "w",
605
- "description": "Workspace ID (optional if set in profile)",
605
+ "description": "Workspace name",
606
606
  "name": "workspace",
607
607
  "required": false,
608
608
  "hasDynamicHelp": false,
@@ -612,7 +612,7 @@
612
612
  },
613
613
  "hasDynamicHelp": false,
614
614
  "hiddenAliases": [],
615
- "id": "function:create",
615
+ "id": "profile:create",
616
616
  "pluginAlias": "@xano/cli",
617
617
  "pluginName": "@xano/cli",
618
618
  "pluginType": "core",
@@ -622,30 +622,29 @@
622
622
  "relativePath": [
623
623
  "dist",
624
624
  "commands",
625
- "function",
625
+ "profile",
626
626
  "create",
627
627
  "index.js"
628
628
  ]
629
629
  },
630
- "function:edit": {
630
+ "profile:edit": {
631
631
  "aliases": [],
632
632
  "args": {
633
- "function_id": {
634
- "description": "Function ID to edit",
635
- "name": "function_id",
633
+ "name": {
634
+ "description": "Profile name to edit (uses default profile if not specified)",
635
+ "name": "name",
636
636
  "required": false
637
637
  }
638
638
  },
639
- "description": "Edit a function in a workspace",
639
+ "description": "Edit an existing profile configuration",
640
640
  "examples": [
641
- "$ 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",
642
- "$ 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",
643
- "$ xano function:edit 163 -f function.xs\nFunction updated successfully!\nID: 163\nName: my_function\n",
644
- "$ xano function:edit 163 -w 40 -f function.xs\nFunction updated successfully!\nID: 163\nName: my_function\n",
645
- "$ xano function:edit -f function.xs\nSelect a function to edit:\n ❯ my_function (ID: 163) - Sample function\n another-func (ID: 164)\n",
646
- "$ 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",
647
- "$ cat function.xs | xano function:edit 163 --stdin\nFunction updated successfully!\nID: 163\nName: my_function\n",
648
- "$ xano function:edit 163 -f function.xs -o json\n{\n \"id\": 163,\n \"name\": \"my_function\",\n ...\n}\n"
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"
649
648
  ],
650
649
  "flags": {
651
650
  "profile": {
@@ -667,61 +666,91 @@
667
666
  "allowNo": false,
668
667
  "type": "boolean"
669
668
  },
670
- "edit": {
671
- "char": "e",
672
- "description": "Open file in editor before updating function (requires --file)",
673
- "name": "edit",
669
+ "access_token": {
670
+ "char": "t",
671
+ "description": "Update access token for the Xano Metadata API",
672
+ "name": "access_token",
674
673
  "required": false,
675
- "allowNo": false,
676
- "type": "boolean"
674
+ "hasDynamicHelp": false,
675
+ "multiple": false,
676
+ "type": "option"
677
677
  },
678
- "file": {
679
- "char": "f",
680
- "description": "Path to file containing XanoScript code",
681
- "exclusive": [
682
- "stdin"
683
- ],
684
- "name": "file",
678
+ "account_origin": {
679
+ "char": "a",
680
+ "description": "Update account origin URL",
681
+ "name": "account_origin",
685
682
  "required": false,
686
683
  "hasDynamicHelp": false,
687
684
  "multiple": false,
688
685
  "type": "option"
689
686
  },
690
- "output": {
691
- "char": "o",
692
- "description": "Output format",
693
- "name": "output",
687
+ "branch": {
688
+ "char": "b",
689
+ "description": "Update branch name",
690
+ "name": "branch",
694
691
  "required": false,
695
- "default": "summary",
696
692
  "hasDynamicHelp": false,
697
693
  "multiple": false,
698
- "options": [
699
- "summary",
700
- "json"
701
- ],
702
694
  "type": "option"
703
695
  },
704
- "publish": {
705
- "description": "Publish the function after editing",
706
- "name": "publish",
696
+ "instance_origin": {
697
+ "char": "i",
698
+ "description": "Update instance origin URL",
699
+ "name": "instance_origin",
700
+ "required": false,
701
+ "hasDynamicHelp": false,
702
+ "multiple": false,
703
+ "type": "option"
704
+ },
705
+ "project": {
706
+ "char": "j",
707
+ "description": "Update project ID",
708
+ "name": "project",
709
+ "required": false,
710
+ "hasDynamicHelp": false,
711
+ "multiple": false,
712
+ "type": "option"
713
+ },
714
+ "remove-branch": {
715
+ "description": "Remove branch from profile",
716
+ "name": "remove-branch",
707
717
  "required": false,
708
718
  "allowNo": false,
709
719
  "type": "boolean"
710
720
  },
711
- "stdin": {
712
- "char": "s",
713
- "description": "Read XanoScript code from stdin",
714
- "exclusive": [
715
- "file"
716
- ],
717
- "name": "stdin",
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",
731
+ "required": false,
732
+ "allowNo": false,
733
+ "type": "boolean"
734
+ },
735
+ "remove-workspace": {
736
+ "description": "Remove workspace from profile",
737
+ "name": "remove-workspace",
718
738
  "required": false,
719
739
  "allowNo": false,
720
740
  "type": "boolean"
721
741
  },
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
+ },
722
751
  "workspace": {
723
752
  "char": "w",
724
- "description": "Workspace ID (optional if set in profile)",
753
+ "description": "Update workspace name",
725
754
  "name": "workspace",
726
755
  "required": false,
727
756
  "hasDynamicHelp": false,
@@ -731,7 +760,7 @@
731
760
  },
732
761
  "hasDynamicHelp": false,
733
762
  "hiddenAliases": [],
734
- "id": "function:edit",
763
+ "id": "profile:edit",
735
764
  "pluginAlias": "@xano/cli",
736
765
  "pluginName": "@xano/cli",
737
766
  "pluginType": "core",
@@ -741,91 +770,39 @@
741
770
  "relativePath": [
742
771
  "dist",
743
772
  "commands",
744
- "function",
773
+ "profile",
745
774
  "edit",
746
775
  "index.js"
747
776
  ]
748
777
  },
749
- "function:get": {
778
+ "profile:delete": {
750
779
  "aliases": [],
751
780
  "args": {
752
- "function_id": {
753
- "description": "Function ID",
754
- "name": "function_id",
755
- "required": false
781
+ "name": {
782
+ "description": "Profile name to delete",
783
+ "name": "name",
784
+ "required": true
756
785
  }
757
786
  },
758
- "description": "Get a specific function from a workspace",
787
+ "description": "Delete a profile configuration",
759
788
  "examples": [
760
- "$ xano function:get 145 -w 40\nFunction: yo (ID: 145)\nCreated: 2025-10-10 10:30:00\nDescription: Sample function\n",
761
- "$ xano function:get 145 --profile production\nFunction: yo (ID: 145)\nCreated: 2025-10-10 10:30:00\n",
762
- "$ xano function:get\nSelect a function:\n ❯ yo (ID: 145) - Sample function\n another-func (ID: 146)\n",
763
- "$ xano function:get 145 -w 40 --output json\n{\n \"id\": 145,\n \"name\": \"yo\",\n \"description\": \"Sample function\"\n}\n",
764
- "$ xano function:get 145 -p staging -o json --include_draft\n{\n \"id\": 145,\n \"name\": \"yo\"\n}\n",
765
- "$ xano function:get 145 -p staging -o xs\nfunction yo {\n input {\n }\n stack {\n }\n response = null\n}\n"
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"
766
792
  ],
767
793
  "flags": {
768
- "profile": {
769
- "char": "p",
770
- "description": "Profile to use for this command",
771
- "env": "XANO_PROFILE",
772
- "name": "profile",
773
- "required": false,
774
- "hasDynamicHelp": false,
775
- "multiple": false,
776
- "type": "option"
777
- },
778
- "verbose": {
779
- "char": "v",
780
- "description": "Show detailed request/response information",
781
- "env": "XANO_VERBOSE",
782
- "name": "verbose",
783
- "required": false,
784
- "allowNo": false,
785
- "type": "boolean"
786
- },
787
- "include_draft": {
788
- "description": "Include draft version",
789
- "name": "include_draft",
790
- "required": false,
791
- "allowNo": false,
792
- "type": "boolean"
793
- },
794
- "include_xanoscript": {
795
- "description": "Include XanoScript in response",
796
- "name": "include_xanoscript",
794
+ "force": {
795
+ "char": "f",
796
+ "description": "Skip confirmation prompt",
797
+ "name": "force",
797
798
  "required": false,
798
799
  "allowNo": false,
799
800
  "type": "boolean"
800
- },
801
- "output": {
802
- "char": "o",
803
- "description": "Output format",
804
- "name": "output",
805
- "required": false,
806
- "default": "summary",
807
- "hasDynamicHelp": false,
808
- "multiple": false,
809
- "options": [
810
- "summary",
811
- "json",
812
- "xs"
813
- ],
814
- "type": "option"
815
- },
816
- "workspace": {
817
- "char": "w",
818
- "description": "Workspace ID (optional if set in profile)",
819
- "name": "workspace",
820
- "required": false,
821
- "hasDynamicHelp": false,
822
- "multiple": false,
823
- "type": "option"
824
801
  }
825
802
  },
826
803
  "hasDynamicHelp": false,
827
804
  "hiddenAliases": [],
828
- "id": "function:get",
805
+ "id": "profile:delete",
829
806
  "pluginAlias": "@xano/cli",
830
807
  "pluginName": "@xano/cli",
831
808
  "pluginType": "core",
@@ -835,20 +812,45 @@
835
812
  "relativePath": [
836
813
  "dist",
837
814
  "commands",
838
- "function",
839
- "get",
815
+ "profile",
816
+ "delete",
840
817
  "index.js"
841
818
  ]
842
819
  },
843
- "function:list": {
820
+ "profile:get-default": {
844
821
  "aliases": [],
845
822
  "args": {},
846
- "description": "List all functions in a workspace from the Xano Metadata API",
823
+ "description": "Get the current default profile name",
847
824
  "examples": [
848
- "$ xano function:list -w 40\nAvailable functions:\n - function-1 (ID: 1)\n - function-2 (ID: 2)\n - function-3 (ID: 3)\n",
849
- "$ xano function:list --profile production\nAvailable functions:\n - my-function (ID: 1)\n - another-function (ID: 2)\n",
850
- "$ xano function:list -w 40 --output json\n[\n {\n \"id\": 1,\n \"name\": \"function-1\"\n }\n]\n",
851
- "$ xano function:list -p staging -o json --include_draft\n[\n {\n \"id\": 1,\n \"name\": \"function-1\"\n }\n]\n"
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",
832
+ "pluginAlias": "@xano/cli",
833
+ "pluginName": "@xano/cli",
834
+ "pluginType": "core",
835
+ "strict": true,
836
+ "enableJsonFlag": false,
837
+ "isESM": true,
838
+ "relativePath": [
839
+ "dist",
840
+ "commands",
841
+ "profile",
842
+ "get-default",
843
+ "index.js"
844
+ ]
845
+ },
846
+ "profile:me": {
847
+ "aliases": [],
848
+ "args": {},
849
+ "description": "Get information about the currently authenticated user",
850
+ "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"
852
854
  ],
853
855
  "flags": {
854
856
  "profile": {
@@ -870,33 +872,6 @@
870
872
  "allowNo": false,
871
873
  "type": "boolean"
872
874
  },
873
- "include_draft": {
874
- "description": "Include draft functions",
875
- "name": "include_draft",
876
- "required": false,
877
- "allowNo": false,
878
- "type": "boolean"
879
- },
880
- "include_xanoscript": {
881
- "description": "Include XanoScript in response",
882
- "name": "include_xanoscript",
883
- "required": false,
884
- "allowNo": false,
885
- "type": "boolean"
886
- },
887
- "order": {
888
- "description": "Sort order",
889
- "name": "order",
890
- "required": false,
891
- "default": "desc",
892
- "hasDynamicHelp": false,
893
- "multiple": false,
894
- "options": [
895
- "asc",
896
- "desc"
897
- ],
898
- "type": "option"
899
- },
900
875
  "output": {
901
876
  "char": "o",
902
877
  "description": "Output format",
@@ -910,47 +885,11 @@
910
885
  "json"
911
886
  ],
912
887
  "type": "option"
913
- },
914
- "page": {
915
- "description": "Page number for pagination",
916
- "name": "page",
917
- "required": false,
918
- "default": 1,
919
- "hasDynamicHelp": false,
920
- "multiple": false,
921
- "type": "option"
922
- },
923
- "per_page": {
924
- "description": "Number of results per page",
925
- "name": "per_page",
926
- "required": false,
927
- "default": 50,
928
- "hasDynamicHelp": false,
929
- "multiple": false,
930
- "type": "option"
931
- },
932
- "sort": {
933
- "description": "Sort field",
934
- "name": "sort",
935
- "required": false,
936
- "default": "created_at",
937
- "hasDynamicHelp": false,
938
- "multiple": false,
939
- "type": "option"
940
- },
941
- "workspace": {
942
- "char": "w",
943
- "description": "Workspace ID (optional if set in profile)",
944
- "name": "workspace",
945
- "required": false,
946
- "hasDynamicHelp": false,
947
- "multiple": false,
948
- "type": "option"
949
888
  }
950
889
  },
951
890
  "hasDynamicHelp": false,
952
891
  "hiddenAliases": [],
953
- "id": "function:list",
892
+ "id": "profile:me",
954
893
  "pluginAlias": "@xano/cli",
955
894
  "pluginName": "@xano/cli",
956
895
  "pluginType": "core",
@@ -960,103 +899,23 @@
960
899
  "relativePath": [
961
900
  "dist",
962
901
  "commands",
963
- "function",
964
- "list",
902
+ "profile",
903
+ "me",
965
904
  "index.js"
966
905
  ]
967
906
  },
968
- "profile:create": {
907
+ "profile:project": {
969
908
  "aliases": [],
970
- "args": {
971
- "name": {
972
- "description": "Profile name",
973
- "name": "name",
974
- "required": true
975
- }
976
- },
977
- "description": "Create a new profile configuration",
909
+ "args": {},
910
+ "description": "Print the project for the default profile",
978
911
  "examples": [
979
- "$ 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",
980
- "$ 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",
981
- "$ 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",
982
- "$ 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",
983
- "$ 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"
912
+ "$ xano profile:project\nmy-project-id\n",
913
+ "$ xano profile:project | pbcopy\n# Copies the project to clipboard on macOS\n"
984
914
  ],
985
- "flags": {
986
- "access_token": {
987
- "char": "t",
988
- "description": "Access token for the Xano Metadata API",
989
- "name": "access_token",
990
- "required": true,
991
- "hasDynamicHelp": false,
992
- "multiple": false,
993
- "type": "option"
994
- },
995
- "account_origin": {
996
- "char": "a",
997
- "description": "Account origin URL. Optional for self hosted installs.",
998
- "name": "account_origin",
999
- "required": false,
1000
- "hasDynamicHelp": false,
1001
- "multiple": false,
1002
- "type": "option"
1003
- },
1004
- "branch": {
1005
- "char": "b",
1006
- "description": "Branch name",
1007
- "name": "branch",
1008
- "required": false,
1009
- "hasDynamicHelp": false,
1010
- "multiple": false,
1011
- "type": "option"
1012
- },
1013
- "default": {
1014
- "description": "Set this profile as the default",
1015
- "name": "default",
1016
- "required": false,
1017
- "allowNo": false,
1018
- "type": "boolean"
1019
- },
1020
- "instance_origin": {
1021
- "char": "i",
1022
- "description": "Instance origin URL",
1023
- "name": "instance_origin",
1024
- "required": true,
1025
- "hasDynamicHelp": false,
1026
- "multiple": false,
1027
- "type": "option"
1028
- },
1029
- "project": {
1030
- "char": "j",
1031
- "description": "Project name",
1032
- "name": "project",
1033
- "required": false,
1034
- "hasDynamicHelp": false,
1035
- "multiple": false,
1036
- "type": "option"
1037
- },
1038
- "run_base_url": {
1039
- "char": "r",
1040
- "description": "Xano Run API base URL (default: https://app.xano.com/)",
1041
- "name": "run_base_url",
1042
- "required": false,
1043
- "hasDynamicHelp": false,
1044
- "multiple": false,
1045
- "type": "option"
1046
- },
1047
- "workspace": {
1048
- "char": "w",
1049
- "description": "Workspace name",
1050
- "name": "workspace",
1051
- "required": false,
1052
- "hasDynamicHelp": false,
1053
- "multiple": false,
1054
- "type": "option"
1055
- }
1056
- },
915
+ "flags": {},
1057
916
  "hasDynamicHelp": false,
1058
917
  "hiddenAliases": [],
1059
- "id": "profile:create",
918
+ "id": "profile:project",
1060
919
  "pluginAlias": "@xano/cli",
1061
920
  "pluginName": "@xano/cli",
1062
921
  "pluginType": "core",
@@ -1067,30 +926,50 @@
1067
926
  "dist",
1068
927
  "commands",
1069
928
  "profile",
1070
- "create",
929
+ "project",
1071
930
  "index.js"
1072
931
  ]
1073
932
  },
1074
- "profile:delete": {
933
+ "profile:token": {
1075
934
  "aliases": [],
1076
- "args": {
1077
- "name": {
1078
- "description": "Profile name to delete",
1079
- "name": "name",
1080
- "required": true
1081
- }
1082
- },
1083
- "description": "Delete a profile configuration",
935
+ "args": {},
936
+ "description": "Print the access token for the default profile",
1084
937
  "examples": [
1085
- "$ 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",
1086
- "$ xano profile:delete old-profile --force\nProfile 'old-profile' deleted successfully from ~/.xano/credentials.yaml\n",
1087
- "$ xano profile:delete old-profile -f\nProfile 'old-profile' deleted successfully from ~/.xano/credentials.yaml\n"
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",
945
+ "pluginAlias": "@xano/cli",
946
+ "pluginName": "@xano/cli",
947
+ "pluginType": "core",
948
+ "strict": true,
949
+ "enableJsonFlag": false,
950
+ "isESM": true,
951
+ "relativePath": [
952
+ "dist",
953
+ "commands",
954
+ "profile",
955
+ "token",
956
+ "index.js"
957
+ ]
958
+ },
959
+ "profile:list": {
960
+ "aliases": [],
961
+ "args": {},
962
+ "description": "List all available profile configurations",
963
+ "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"
1088
967
  ],
1089
968
  "flags": {
1090
- "force": {
1091
- "char": "f",
1092
- "description": "Skip confirmation prompt",
1093
- "name": "force",
969
+ "details": {
970
+ "char": "d",
971
+ "description": "Show detailed information for each profile",
972
+ "name": "details",
1094
973
  "required": false,
1095
974
  "allowNo": false,
1096
975
  "type": "boolean"
@@ -1098,7 +977,7 @@
1098
977
  },
1099
978
  "hasDynamicHelp": false,
1100
979
  "hiddenAliases": [],
1101
- "id": "profile:delete",
980
+ "id": "profile:list",
1102
981
  "pluginAlias": "@xano/cli",
1103
982
  "pluginName": "@xano/cli",
1104
983
  "pluginType": "core",
@@ -1109,28 +988,65 @@
1109
988
  "dist",
1110
989
  "commands",
1111
990
  "profile",
1112
- "delete",
991
+ "list",
1113
992
  "index.js"
1114
993
  ]
1115
994
  },
1116
- "profile:edit": {
995
+ "profile:wizard": {
1117
996
  "aliases": [],
1118
- "args": {
997
+ "args": {},
998
+ "description": "Create a new profile configuration using an interactive wizard",
999
+ "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"
1001
+ ],
1002
+ "flags": {
1119
1003
  "name": {
1120
- "description": "Profile name to edit (uses default profile if not specified)",
1004
+ "char": "n",
1005
+ "description": "Profile name (skip prompt if provided)",
1121
1006
  "name": "name",
1122
- "required": false
1007
+ "required": false,
1008
+ "hasDynamicHelp": false,
1009
+ "multiple": false,
1010
+ "type": "option"
1011
+ },
1012
+ "origin": {
1013
+ "char": "o",
1014
+ "description": "Xano instance origin URL",
1015
+ "name": "origin",
1016
+ "required": false,
1017
+ "default": "https://app.xano.com",
1018
+ "hasDynamicHelp": false,
1019
+ "multiple": false,
1020
+ "type": "option"
1123
1021
  }
1124
1022
  },
1125
- "description": "Edit an existing profile configuration",
1023
+ "hasDynamicHelp": false,
1024
+ "hiddenAliases": [],
1025
+ "id": "profile:wizard",
1026
+ "pluginAlias": "@xano/cli",
1027
+ "pluginName": "@xano/cli",
1028
+ "pluginType": "core",
1029
+ "strict": true,
1030
+ "enableJsonFlag": false,
1031
+ "isESM": true,
1032
+ "relativePath": [
1033
+ "dist",
1034
+ "commands",
1035
+ "profile",
1036
+ "wizard",
1037
+ "index.js"
1038
+ ]
1039
+ },
1040
+ "function:create": {
1041
+ "aliases": [],
1042
+ "args": {},
1043
+ "description": "Create a new function in a workspace",
1126
1044
  "examples": [
1127
- "$ xano profile:edit --access_token new_token123\nProfile 'default' updated successfully at ~/.xano/credentials.yaml\n",
1128
- "$ xano profile:edit production --access_token new_token123\nProfile 'production' updated successfully at ~/.xano/credentials.yaml\n",
1129
- "$ xano profile:edit staging -i https://new-staging-instance.xano.com -t new_token456\nProfile 'staging' updated successfully at ~/.xano/credentials.yaml\n",
1130
- "$ xano profile:edit -b new-branch\nProfile 'default' updated successfully at ~/.xano/credentials.yaml\n",
1131
- "$ xano profile:edit --remove-branch\nProfile 'default' updated successfully at ~/.xano/credentials.yaml\n",
1132
- "$ xano profile:edit -j my-project\nProfile 'default' updated successfully at ~/.xano/credentials.yaml\n",
1133
- "$ xano profile:edit --remove-project\nProfile 'default' updated successfully at ~/.xano/credentials.yaml\n"
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"
1134
1050
  ],
1135
1051
  "flags": {
1136
1052
  "profile": {
@@ -1152,91 +1068,265 @@
1152
1068
  "allowNo": false,
1153
1069
  "type": "boolean"
1154
1070
  },
1155
- "access_token": {
1156
- "char": "t",
1157
- "description": "Update access token for the Xano Metadata API",
1158
- "name": "access_token",
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
+ "file": {
1083
+ "char": "f",
1084
+ "description": "Path to file containing XanoScript code",
1085
+ "exclusive": [
1086
+ "stdin"
1087
+ ],
1088
+ "name": "file",
1159
1089
  "required": false,
1160
1090
  "hasDynamicHelp": false,
1161
1091
  "multiple": false,
1162
1092
  "type": "option"
1163
1093
  },
1164
- "account_origin": {
1165
- "char": "a",
1166
- "description": "Update account origin URL",
1167
- "name": "account_origin",
1094
+ "output": {
1095
+ "char": "o",
1096
+ "description": "Output format",
1097
+ "name": "output",
1168
1098
  "required": false,
1099
+ "default": "summary",
1169
1100
  "hasDynamicHelp": false,
1170
1101
  "multiple": false,
1171
- "type": "option"
1172
- },
1173
- "branch": {
1174
- "char": "b",
1175
- "description": "Update branch name",
1176
- "name": "branch",
1102
+ "options": [
1103
+ "summary",
1104
+ "json"
1105
+ ],
1106
+ "type": "option"
1107
+ },
1108
+ "stdin": {
1109
+ "char": "s",
1110
+ "description": "Read XanoScript code from stdin",
1111
+ "exclusive": [
1112
+ "file"
1113
+ ],
1114
+ "name": "stdin",
1115
+ "required": false,
1116
+ "allowNo": false,
1117
+ "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
+ }
1128
+ },
1129
+ "hasDynamicHelp": false,
1130
+ "hiddenAliases": [],
1131
+ "id": "function:create",
1132
+ "pluginAlias": "@xano/cli",
1133
+ "pluginName": "@xano/cli",
1134
+ "pluginType": "core",
1135
+ "strict": true,
1136
+ "enableJsonFlag": false,
1137
+ "isESM": true,
1138
+ "relativePath": [
1139
+ "dist",
1140
+ "commands",
1141
+ "function",
1142
+ "create",
1143
+ "index.js"
1144
+ ]
1145
+ },
1146
+ "static_host:list": {
1147
+ "aliases": [],
1148
+ "args": {},
1149
+ "description": "List all static hosts in a workspace from the Xano Metadata API",
1150
+ "examples": [
1151
+ "$ xano static_host:list -w 40\nAvailable static hosts:\n - my-static-host (ID: 1)\n - another-host (ID: 2)\n",
1152
+ "$ xano static_host:list --profile production\nAvailable static hosts:\n - my-static-host (ID: 1)\n - another-host (ID: 2)\n",
1153
+ "$ xano static_host:list -w 40 --output json\n[\n {\n \"id\": 1,\n \"name\": \"my-static-host\",\n \"domain\": \"example.com\"\n }\n]\n",
1154
+ "$ xano static_host:list -p staging -o json --page 2\n[\n {\n \"id\": 3,\n \"name\": \"static-host-3\"\n }\n]\n"
1155
+ ],
1156
+ "flags": {
1157
+ "profile": {
1158
+ "char": "p",
1159
+ "description": "Profile to use for this command",
1160
+ "env": "XANO_PROFILE",
1161
+ "name": "profile",
1177
1162
  "required": false,
1178
1163
  "hasDynamicHelp": false,
1179
1164
  "multiple": false,
1180
1165
  "type": "option"
1181
1166
  },
1182
- "instance_origin": {
1183
- "char": "i",
1184
- "description": "Update instance origin URL",
1185
- "name": "instance_origin",
1167
+ "verbose": {
1168
+ "char": "v",
1169
+ "description": "Show detailed request/response information",
1170
+ "env": "XANO_VERBOSE",
1171
+ "name": "verbose",
1172
+ "required": false,
1173
+ "allowNo": false,
1174
+ "type": "boolean"
1175
+ },
1176
+ "output": {
1177
+ "char": "o",
1178
+ "description": "Output format",
1179
+ "name": "output",
1186
1180
  "required": false,
1181
+ "default": "summary",
1187
1182
  "hasDynamicHelp": false,
1188
1183
  "multiple": false,
1184
+ "options": [
1185
+ "summary",
1186
+ "json"
1187
+ ],
1189
1188
  "type": "option"
1190
1189
  },
1191
- "project": {
1192
- "char": "j",
1193
- "description": "Update project ID",
1194
- "name": "project",
1190
+ "page": {
1191
+ "description": "Page number for pagination",
1192
+ "name": "page",
1195
1193
  "required": false,
1194
+ "default": 1,
1196
1195
  "hasDynamicHelp": false,
1197
1196
  "multiple": false,
1198
1197
  "type": "option"
1199
1198
  },
1200
- "remove-branch": {
1201
- "description": "Remove branch from profile",
1202
- "name": "remove-branch",
1199
+ "per_page": {
1200
+ "description": "Number of results per page",
1201
+ "name": "per_page",
1203
1202
  "required": false,
1204
- "allowNo": false,
1205
- "type": "boolean"
1203
+ "default": 50,
1204
+ "hasDynamicHelp": false,
1205
+ "multiple": false,
1206
+ "type": "option"
1206
1207
  },
1207
- "remove-project": {
1208
- "description": "Remove project from profile",
1209
- "name": "remove-project",
1208
+ "workspace": {
1209
+ "char": "w",
1210
+ "description": "Workspace ID (optional if set in profile)",
1211
+ "name": "workspace",
1210
1212
  "required": false,
1211
- "allowNo": false,
1212
- "type": "boolean"
1213
+ "hasDynamicHelp": false,
1214
+ "multiple": false,
1215
+ "type": "option"
1216
+ }
1217
+ },
1218
+ "hasDynamicHelp": false,
1219
+ "hiddenAliases": [],
1220
+ "id": "static_host:list",
1221
+ "pluginAlias": "@xano/cli",
1222
+ "pluginName": "@xano/cli",
1223
+ "pluginType": "core",
1224
+ "strict": true,
1225
+ "enableJsonFlag": false,
1226
+ "isESM": true,
1227
+ "relativePath": [
1228
+ "dist",
1229
+ "commands",
1230
+ "static_host",
1231
+ "list",
1232
+ "index.js"
1233
+ ]
1234
+ },
1235
+ "function:edit": {
1236
+ "aliases": [],
1237
+ "args": {
1238
+ "function_id": {
1239
+ "description": "Function ID to edit",
1240
+ "name": "function_id",
1241
+ "required": false
1242
+ }
1243
+ },
1244
+ "description": "Edit a function in a workspace",
1245
+ "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"
1254
+ ],
1255
+ "flags": {
1256
+ "profile": {
1257
+ "char": "p",
1258
+ "description": "Profile to use for this command",
1259
+ "env": "XANO_PROFILE",
1260
+ "name": "profile",
1261
+ "required": false,
1262
+ "hasDynamicHelp": false,
1263
+ "multiple": false,
1264
+ "type": "option"
1213
1265
  },
1214
- "remove-run-base-url": {
1215
- "description": "Remove run_base_url from profile (use default)",
1216
- "name": "remove-run-base-url",
1266
+ "verbose": {
1267
+ "char": "v",
1268
+ "description": "Show detailed request/response information",
1269
+ "env": "XANO_VERBOSE",
1270
+ "name": "verbose",
1217
1271
  "required": false,
1218
1272
  "allowNo": false,
1219
1273
  "type": "boolean"
1220
1274
  },
1221
- "remove-workspace": {
1222
- "description": "Remove workspace from profile",
1223
- "name": "remove-workspace",
1275
+ "edit": {
1276
+ "char": "e",
1277
+ "description": "Open file in editor before updating function (requires --file)",
1278
+ "name": "edit",
1224
1279
  "required": false,
1225
1280
  "allowNo": false,
1226
1281
  "type": "boolean"
1227
1282
  },
1228
- "run_base_url": {
1229
- "char": "r",
1230
- "description": "Update Xano Run API base URL",
1231
- "name": "run_base_url",
1283
+ "file": {
1284
+ "char": "f",
1285
+ "description": "Path to file containing XanoScript code",
1286
+ "exclusive": [
1287
+ "stdin"
1288
+ ],
1289
+ "name": "file",
1290
+ "required": false,
1291
+ "hasDynamicHelp": false,
1292
+ "multiple": false,
1293
+ "type": "option"
1294
+ },
1295
+ "output": {
1296
+ "char": "o",
1297
+ "description": "Output format",
1298
+ "name": "output",
1232
1299
  "required": false,
1300
+ "default": "summary",
1233
1301
  "hasDynamicHelp": false,
1234
1302
  "multiple": false,
1303
+ "options": [
1304
+ "summary",
1305
+ "json"
1306
+ ],
1235
1307
  "type": "option"
1236
1308
  },
1309
+ "publish": {
1310
+ "description": "Publish the function after editing",
1311
+ "name": "publish",
1312
+ "required": false,
1313
+ "allowNo": false,
1314
+ "type": "boolean"
1315
+ },
1316
+ "stdin": {
1317
+ "char": "s",
1318
+ "description": "Read XanoScript code from stdin",
1319
+ "exclusive": [
1320
+ "file"
1321
+ ],
1322
+ "name": "stdin",
1323
+ "required": false,
1324
+ "allowNo": false,
1325
+ "type": "boolean"
1326
+ },
1237
1327
  "workspace": {
1238
1328
  "char": "w",
1239
- "description": "Update workspace name",
1329
+ "description": "Workspace ID (optional if set in profile)",
1240
1330
  "name": "workspace",
1241
1331
  "required": false,
1242
1332
  "hasDynamicHelp": false,
@@ -1246,7 +1336,7 @@
1246
1336
  },
1247
1337
  "hasDynamicHelp": false,
1248
1338
  "hiddenAliases": [],
1249
- "id": "profile:edit",
1339
+ "id": "function:edit",
1250
1340
  "pluginAlias": "@xano/cli",
1251
1341
  "pluginName": "@xano/cli",
1252
1342
  "pluginType": "core",
@@ -1256,23 +1346,29 @@
1256
1346
  "relativePath": [
1257
1347
  "dist",
1258
1348
  "commands",
1259
- "profile",
1349
+ "function",
1260
1350
  "edit",
1261
1351
  "index.js"
1262
1352
  ]
1263
1353
  },
1264
- "profile:get-default": {
1354
+ "profile:set-default": {
1265
1355
  "aliases": [],
1266
- "args": {},
1267
- "description": "Get the current default profile name",
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",
1268
1364
  "examples": [
1269
- "$ xano profile:get-default\nproduction\n",
1270
- "$ xano profile:get-default\nNo default profile set\n"
1365
+ "$ xano profile:set-default production\nDefault profile set to 'production'\n",
1366
+ "$ xano profile:set-default staging\nDefault profile set to 'staging'\n"
1271
1367
  ],
1272
1368
  "flags": {},
1273
1369
  "hasDynamicHelp": false,
1274
1370
  "hiddenAliases": [],
1275
- "id": "profile:get-default",
1371
+ "id": "profile:set-default",
1276
1372
  "pluginAlias": "@xano/cli",
1277
1373
  "pluginName": "@xano/cli",
1278
1374
  "pluginType": "core",
@@ -1283,32 +1379,215 @@
1283
1379
  "dist",
1284
1380
  "commands",
1285
1381
  "profile",
1286
- "get-default",
1382
+ "set-default",
1287
1383
  "index.js"
1288
1384
  ]
1289
1385
  },
1290
- "profile:list": {
1386
+ "function:get": {
1387
+ "aliases": [],
1388
+ "args": {
1389
+ "function_id": {
1390
+ "description": "Function ID",
1391
+ "name": "function_id",
1392
+ "required": false
1393
+ }
1394
+ },
1395
+ "description": "Get a specific function from a workspace",
1396
+ "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"
1403
+ ],
1404
+ "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",
1434
+ "required": false,
1435
+ "allowNo": false,
1436
+ "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
+ }
1462
+ },
1463
+ "hasDynamicHelp": false,
1464
+ "hiddenAliases": [],
1465
+ "id": "function:get",
1466
+ "pluginAlias": "@xano/cli",
1467
+ "pluginName": "@xano/cli",
1468
+ "pluginType": "core",
1469
+ "strict": true,
1470
+ "enableJsonFlag": false,
1471
+ "isESM": true,
1472
+ "relativePath": [
1473
+ "dist",
1474
+ "commands",
1475
+ "function",
1476
+ "get",
1477
+ "index.js"
1478
+ ]
1479
+ },
1480
+ "function:list": {
1291
1481
  "aliases": [],
1292
1482
  "args": {},
1293
- "description": "List all available profile configurations",
1483
+ "description": "List all functions in a workspace from the Xano Metadata API",
1294
1484
  "examples": [
1295
- "$ xano profile:list\nAvailable profiles:\n - default\n - production\n - staging\n - development\n",
1296
- "$ 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",
1297
- "$ 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"
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"
1298
1489
  ],
1299
1490
  "flags": {
1300
- "details": {
1301
- "char": "d",
1302
- "description": "Show detailed information for each profile",
1303
- "name": "details",
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",
1304
1520
  "required": false,
1305
1521
  "allowNo": false,
1306
1522
  "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"
1307
1586
  }
1308
1587
  },
1309
1588
  "hasDynamicHelp": false,
1310
1589
  "hiddenAliases": [],
1311
- "id": "profile:list",
1590
+ "id": "function:list",
1312
1591
  "pluginAlias": "@xano/cli",
1313
1592
  "pluginName": "@xano/cli",
1314
1593
  "pluginType": "core",
@@ -1318,19 +1597,19 @@
1318
1597
  "relativePath": [
1319
1598
  "dist",
1320
1599
  "commands",
1321
- "profile",
1600
+ "function",
1322
1601
  "list",
1323
1602
  "index.js"
1324
1603
  ]
1325
1604
  },
1326
- "profile:me": {
1605
+ "run:info": {
1327
1606
  "aliases": [],
1328
1607
  "args": {},
1329
- "description": "Get information about the currently authenticated user",
1608
+ "description": "Get information about a XanoScript document (type, inputs, env vars)",
1330
1609
  "examples": [
1331
- "$ xano profile:me\nUser Information:\n ID: 1\n Name: John Doe\n Email: john@example.com\n",
1332
- "$ xano profile:me --profile production\nUser Information:\n ID: 42\n Name: Admin User\n Email: admin@example.com\n",
1333
- "$ xano profile:me --output json\n{\n \"id\": 1,\n \"name\": \"John Doe\",\n \"email\": \"john@example.com\"\n}\n"
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"
1334
1613
  ],
1335
1614
  "flags": {
1336
1615
  "profile": {
@@ -1352,6 +1631,18 @@
1352
1631
  "allowNo": false,
1353
1632
  "type": "boolean"
1354
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"
1645
+ },
1355
1646
  "output": {
1356
1647
  "char": "o",
1357
1648
  "description": "Output format",
@@ -1365,140 +1656,218 @@
1365
1656
  "json"
1366
1657
  ],
1367
1658
  "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"
1368
1670
  }
1369
1671
  },
1370
1672
  "hasDynamicHelp": false,
1371
1673
  "hiddenAliases": [],
1372
- "id": "profile:me",
1373
- "pluginAlias": "@xano/cli",
1374
- "pluginName": "@xano/cli",
1375
- "pluginType": "core",
1376
- "strict": true,
1377
- "enableJsonFlag": false,
1378
- "isESM": true,
1379
- "relativePath": [
1380
- "dist",
1381
- "commands",
1382
- "profile",
1383
- "me",
1384
- "index.js"
1385
- ]
1386
- },
1387
- "profile:project": {
1388
- "aliases": [],
1389
- "args": {},
1390
- "description": "Print the project for the default profile",
1391
- "examples": [
1392
- "$ xano profile:project\nmy-project-id\n",
1393
- "$ xano profile:project | pbcopy\n# Copies the project to clipboard on macOS\n"
1394
- ],
1395
- "flags": {},
1396
- "hasDynamicHelp": false,
1397
- "hiddenAliases": [],
1398
- "id": "profile:project",
1674
+ "id": "run:info",
1399
1675
  "pluginAlias": "@xano/cli",
1400
1676
  "pluginName": "@xano/cli",
1401
1677
  "pluginType": "core",
1402
1678
  "strict": true,
1403
- "enableJsonFlag": false,
1404
1679
  "isESM": true,
1405
1680
  "relativePath": [
1406
1681
  "dist",
1407
1682
  "commands",
1408
- "profile",
1409
- "project",
1683
+ "run",
1684
+ "info",
1410
1685
  "index.js"
1411
1686
  ]
1412
1687
  },
1413
- "profile:set-default": {
1688
+ "run:exec": {
1414
1689
  "aliases": [],
1415
1690
  "args": {
1416
- "name": {
1417
- "description": "Profile name to set as default",
1418
- "name": "name",
1419
- "required": true
1691
+ "path": {
1692
+ "description": "Path to file or directory containing XanoScript code (directory creates multidoc from .xs files)",
1693
+ "name": "path",
1694
+ "required": false
1420
1695
  }
1421
1696
  },
1422
- "description": "Set the default profile",
1423
- "examples": [
1424
- "$ xano profile:set-default production\nDefault profile set to 'production'\n",
1425
- "$ xano profile:set-default staging\nDefault profile set to 'staging'\n"
1426
- ],
1427
- "flags": {},
1428
- "hasDynamicHelp": false,
1429
- "hiddenAliases": [],
1430
- "id": "profile:set-default",
1431
- "pluginAlias": "@xano/cli",
1432
- "pluginName": "@xano/cli",
1433
- "pluginType": "core",
1434
- "strict": true,
1435
- "enableJsonFlag": false,
1436
- "isESM": true,
1437
- "relativePath": [
1438
- "dist",
1439
- "commands",
1440
- "profile",
1441
- "set-default",
1442
- "index.js"
1443
- ]
1444
- },
1445
- "profile:token": {
1446
- "aliases": [],
1447
- "args": {},
1448
- "description": "Print the access token for the default profile",
1697
+ "description": "Execute XanoScript code (job or service)",
1449
1698
  "examples": [
1450
- "$ xano profile:token\neyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...\n",
1451
- "$ xano profile:token | pbcopy\n# Copies the token to clipboard on macOS\n"
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"
1452
1706
  ],
1453
- "flags": {},
1707
+ "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",
1759
+ "required": false,
1760
+ "hasDynamicHelp": false,
1761
+ "multiple": false,
1762
+ "type": "option"
1763
+ },
1764
+ "output": {
1765
+ "char": "o",
1766
+ "description": "Output format",
1767
+ "name": "output",
1768
+ "required": false,
1769
+ "default": "summary",
1770
+ "hasDynamicHelp": false,
1771
+ "multiple": false,
1772
+ "options": [
1773
+ "summary",
1774
+ "json"
1775
+ ],
1776
+ "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
+ }
1789
+ },
1454
1790
  "hasDynamicHelp": false,
1455
1791
  "hiddenAliases": [],
1456
- "id": "profile:token",
1792
+ "id": "run:exec",
1457
1793
  "pluginAlias": "@xano/cli",
1458
1794
  "pluginName": "@xano/cli",
1459
1795
  "pluginType": "core",
1460
1796
  "strict": true,
1461
- "enableJsonFlag": false,
1462
1797
  "isESM": true,
1463
1798
  "relativePath": [
1464
1799
  "dist",
1465
1800
  "commands",
1466
- "profile",
1467
- "token",
1801
+ "run",
1802
+ "exec",
1468
1803
  "index.js"
1469
1804
  ]
1470
1805
  },
1471
- "profile:wizard": {
1806
+ "workspace:create": {
1472
1807
  "aliases": [],
1473
1808
  "args": {},
1474
- "description": "Create a new profile configuration using an interactive wizard",
1809
+ "description": "Create a new workspace via the Xano Metadata API",
1475
1810
  "examples": [
1476
- "$ 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"
1811
+ "$ xano workspace create --name \"my-workspace\"\nCreated workspace: my-workspace (ID: 123)\n",
1812
+ "$ xano workspace create --name \"my-app\" --description \"My application workspace\"\nCreated workspace: my-app (ID: 456)\n Description: My application workspace\n",
1813
+ "$ xano workspace create -n \"new-project\" -d \"New project workspace\" -o json\n{\n \"id\": 789,\n \"name\": \"new-project\",\n \"description\": \"New project workspace\"\n}\n"
1477
1814
  ],
1478
1815
  "flags": {
1816
+ "profile": {
1817
+ "char": "p",
1818
+ "description": "Profile to use for this command",
1819
+ "env": "XANO_PROFILE",
1820
+ "name": "profile",
1821
+ "required": false,
1822
+ "hasDynamicHelp": false,
1823
+ "multiple": false,
1824
+ "type": "option"
1825
+ },
1826
+ "verbose": {
1827
+ "char": "v",
1828
+ "description": "Show detailed request/response information",
1829
+ "env": "XANO_VERBOSE",
1830
+ "name": "verbose",
1831
+ "required": false,
1832
+ "allowNo": false,
1833
+ "type": "boolean"
1834
+ },
1835
+ "description": {
1836
+ "char": "d",
1837
+ "description": "Description for the workspace",
1838
+ "name": "description",
1839
+ "required": false,
1840
+ "hasDynamicHelp": false,
1841
+ "multiple": false,
1842
+ "type": "option"
1843
+ },
1479
1844
  "name": {
1480
1845
  "char": "n",
1481
- "description": "Profile name (skip prompt if provided)",
1846
+ "description": "Name of the workspace",
1482
1847
  "name": "name",
1483
- "required": false,
1848
+ "required": true,
1484
1849
  "hasDynamicHelp": false,
1485
1850
  "multiple": false,
1486
1851
  "type": "option"
1487
1852
  },
1488
- "origin": {
1853
+ "output": {
1489
1854
  "char": "o",
1490
- "description": "Xano instance origin URL",
1491
- "name": "origin",
1855
+ "description": "Output format",
1856
+ "name": "output",
1492
1857
  "required": false,
1493
- "default": "https://app.xano.com",
1858
+ "default": "summary",
1494
1859
  "hasDynamicHelp": false,
1495
1860
  "multiple": false,
1861
+ "options": [
1862
+ "summary",
1863
+ "json"
1864
+ ],
1496
1865
  "type": "option"
1497
1866
  }
1498
1867
  },
1499
1868
  "hasDynamicHelp": false,
1500
1869
  "hiddenAliases": [],
1501
- "id": "profile:wizard",
1870
+ "id": "workspace:create",
1502
1871
  "pluginAlias": "@xano/cli",
1503
1872
  "pluginName": "@xano/cli",
1504
1873
  "pluginType": "core",
@@ -1508,19 +1877,25 @@
1508
1877
  "relativePath": [
1509
1878
  "dist",
1510
1879
  "commands",
1511
- "profile",
1512
- "wizard",
1880
+ "workspace",
1881
+ "create",
1513
1882
  "index.js"
1514
1883
  ]
1515
1884
  },
1516
- "run:info": {
1885
+ "workspace:delete": {
1517
1886
  "aliases": [],
1518
- "args": {},
1519
- "description": "Get information about a XanoScript document (type, inputs, env vars)",
1887
+ "args": {
1888
+ "workspace_id": {
1889
+ "description": "Workspace ID to delete",
1890
+ "name": "workspace_id",
1891
+ "required": true
1892
+ }
1893
+ },
1894
+ "description": "Delete a workspace via the Xano Metadata API. Cannot delete workspaces with active tenants.",
1520
1895
  "examples": [
1521
- "$ 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",
1522
- "$ cat script.xs | xano run info --stdin\nDocument Info:\n Type: service\n Inputs: none\n Environment Variables: none\n",
1523
- "$ xano run info -f script.xs -o json\n{ \"type\": \"job\", \"input\": { \"name\": {...} }, \"env\": [\"API_KEY\"] }\n"
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"
1524
1899
  ],
1525
1900
  "flags": {
1526
1901
  "profile": {
@@ -1542,17 +1917,13 @@
1542
1917
  "allowNo": false,
1543
1918
  "type": "boolean"
1544
1919
  },
1545
- "file": {
1920
+ "force": {
1546
1921
  "char": "f",
1547
- "description": "Path or URL to file containing XanoScript code",
1548
- "exclusive": [
1549
- "stdin"
1550
- ],
1551
- "name": "file",
1922
+ "description": "Skip confirmation prompt",
1923
+ "name": "force",
1552
1924
  "required": false,
1553
- "hasDynamicHelp": false,
1554
- "multiple": false,
1555
- "type": "option"
1925
+ "allowNo": false,
1926
+ "type": "boolean"
1556
1927
  },
1557
1928
  "output": {
1558
1929
  "char": "o",
@@ -1567,53 +1938,39 @@
1567
1938
  "json"
1568
1939
  ],
1569
1940
  "type": "option"
1570
- },
1571
- "stdin": {
1572
- "char": "s",
1573
- "description": "Read XanoScript code from stdin",
1574
- "exclusive": [
1575
- "file"
1576
- ],
1577
- "name": "stdin",
1578
- "required": false,
1579
- "allowNo": false,
1580
- "type": "boolean"
1581
1941
  }
1582
1942
  },
1583
1943
  "hasDynamicHelp": false,
1584
1944
  "hiddenAliases": [],
1585
- "id": "run:info",
1945
+ "id": "workspace:delete",
1586
1946
  "pluginAlias": "@xano/cli",
1587
1947
  "pluginName": "@xano/cli",
1588
1948
  "pluginType": "core",
1589
1949
  "strict": true,
1950
+ "enableJsonFlag": false,
1590
1951
  "isESM": true,
1591
1952
  "relativePath": [
1592
1953
  "dist",
1593
1954
  "commands",
1594
- "run",
1595
- "info",
1955
+ "workspace",
1956
+ "delete",
1596
1957
  "index.js"
1597
1958
  ]
1598
1959
  },
1599
- "run:exec": {
1960
+ "workspace:get": {
1600
1961
  "aliases": [],
1601
1962
  "args": {
1602
- "path": {
1603
- "description": "Path to file or directory containing XanoScript code (directory creates multidoc from .xs files)",
1604
- "name": "path",
1963
+ "workspace_id": {
1964
+ "description": "Workspace ID to get details for (uses profile workspace if not provided)",
1965
+ "name": "workspace_id",
1605
1966
  "required": false
1606
1967
  }
1607
1968
  },
1608
- "description": "Execute XanoScript code (job or service)",
1969
+ "description": "Get details of a specific workspace from the Xano Metadata API",
1609
1970
  "examples": [
1610
- "$ xano run exec script.xs\nExecuted successfully!\n...\n",
1611
- "$ xano run exec ./my-workspace\n# Executes all .xs files in directory as multidoc\nExecuted successfully!\n...\n",
1612
- "$ xano run exec script.xs --edit\n# Opens script.xs in $EDITOR, then executes\nExecuted successfully!\n...\n",
1613
- "$ cat script.xs | xano run exec --stdin\nExecuted successfully!\n...\n",
1614
- "$ xano run exec script.xs -o json\n{\n \"run\": { ... }\n}\n",
1615
- "$ xano run exec script.xs -a args.json\n# Executes with input arguments from args.json\nExecuted successfully!\n...\n",
1616
- "$ xano run exec script.xs --env API_KEY=secret --env DEBUG=true\n# Executes with environment variable overrides\nExecuted successfully!\n...\n"
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"
1617
1974
  ],
1618
1975
  "flags": {
1619
1976
  "profile": {
@@ -1635,43 +1992,6 @@
1635
1992
  "allowNo": false,
1636
1993
  "type": "boolean"
1637
1994
  },
1638
- "args": {
1639
- "char": "a",
1640
- "description": "Path or URL to JSON file containing input arguments",
1641
- "name": "args",
1642
- "required": false,
1643
- "hasDynamicHelp": false,
1644
- "multiple": false,
1645
- "type": "option"
1646
- },
1647
- "edit": {
1648
- "char": "e",
1649
- "description": "Open file in editor before running (requires path argument or --file)",
1650
- "name": "edit",
1651
- "required": false,
1652
- "allowNo": false,
1653
- "type": "boolean"
1654
- },
1655
- "env": {
1656
- "description": "Environment variable override (key=value)",
1657
- "name": "env",
1658
- "required": false,
1659
- "hasDynamicHelp": false,
1660
- "multiple": true,
1661
- "type": "option"
1662
- },
1663
- "file": {
1664
- "char": "f",
1665
- "description": "Path or URL to file containing XanoScript code (deprecated: use path argument instead)",
1666
- "exclusive": [
1667
- "stdin"
1668
- ],
1669
- "name": "file",
1670
- "required": false,
1671
- "hasDynamicHelp": false,
1672
- "multiple": false,
1673
- "type": "option"
1674
- },
1675
1995
  "output": {
1676
1996
  "char": "o",
1677
1997
  "description": "Output format",
@@ -1685,44 +2005,39 @@
1685
2005
  "json"
1686
2006
  ],
1687
2007
  "type": "option"
1688
- },
1689
- "stdin": {
1690
- "char": "s",
1691
- "description": "Read XanoScript code from stdin",
1692
- "exclusive": [
1693
- "file"
1694
- ],
1695
- "name": "stdin",
1696
- "required": false,
1697
- "allowNo": false,
1698
- "type": "boolean"
1699
2008
  }
1700
2009
  },
1701
2010
  "hasDynamicHelp": false,
1702
2011
  "hiddenAliases": [],
1703
- "id": "run:exec",
2012
+ "id": "workspace:get",
1704
2013
  "pluginAlias": "@xano/cli",
1705
2014
  "pluginName": "@xano/cli",
1706
2015
  "pluginType": "core",
1707
2016
  "strict": true,
2017
+ "enableJsonFlag": false,
1708
2018
  "isESM": true,
1709
2019
  "relativePath": [
1710
2020
  "dist",
1711
2021
  "commands",
1712
- "run",
1713
- "exec",
2022
+ "workspace",
2023
+ "get",
1714
2024
  "index.js"
1715
2025
  ]
1716
2026
  },
1717
- "static_host:list": {
2027
+ "workspace:pull": {
1718
2028
  "aliases": [],
1719
- "args": {},
1720
- "description": "List all static hosts in a workspace from the Xano Metadata API",
2029
+ "args": {
2030
+ "directory": {
2031
+ "description": "Output directory for pulled documents",
2032
+ "name": "directory",
2033
+ "required": true
2034
+ }
2035
+ },
2036
+ "description": "Pull a workspace multidoc from the Xano Metadata API and split into individual files",
1721
2037
  "examples": [
1722
- "$ xano static_host:list -w 40\nAvailable static hosts:\n - my-static-host (ID: 1)\n - another-host (ID: 2)\n",
1723
- "$ xano static_host:list --profile production\nAvailable static hosts:\n - my-static-host (ID: 1)\n - another-host (ID: 2)\n",
1724
- "$ xano static_host:list -w 40 --output json\n[\n {\n \"id\": 1,\n \"name\": \"my-static-host\",\n \"domain\": \"example.com\"\n }\n]\n",
1725
- "$ xano static_host:list -p staging -o json --page 2\n[\n {\n \"id\": 3,\n \"name\": \"static-host-3\"\n }\n]\n"
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"
1726
2041
  ],
1727
2042
  "flags": {
1728
2043
  "profile": {
@@ -1744,37 +2059,19 @@
1744
2059
  "allowNo": false,
1745
2060
  "type": "boolean"
1746
2061
  },
1747
- "output": {
1748
- "char": "o",
1749
- "description": "Output format",
1750
- "name": "output",
1751
- "required": false,
1752
- "default": "summary",
1753
- "hasDynamicHelp": false,
1754
- "multiple": false,
1755
- "options": [
1756
- "summary",
1757
- "json"
1758
- ],
1759
- "type": "option"
1760
- },
1761
- "page": {
1762
- "description": "Page number for pagination",
1763
- "name": "page",
2062
+ "env": {
2063
+ "description": "Include environment variables",
2064
+ "name": "env",
1764
2065
  "required": false,
1765
- "default": 1,
1766
- "hasDynamicHelp": false,
1767
- "multiple": false,
1768
- "type": "option"
2066
+ "allowNo": false,
2067
+ "type": "boolean"
1769
2068
  },
1770
- "per_page": {
1771
- "description": "Number of results per page",
1772
- "name": "per_page",
2069
+ "records": {
2070
+ "description": "Include records",
2071
+ "name": "records",
1773
2072
  "required": false,
1774
- "default": 50,
1775
- "hasDynamicHelp": false,
1776
- "multiple": false,
1777
- "type": "option"
2073
+ "allowNo": false,
2074
+ "type": "boolean"
1778
2075
  },
1779
2076
  "workspace": {
1780
2077
  "char": "w",
@@ -1788,7 +2085,7 @@
1788
2085
  },
1789
2086
  "hasDynamicHelp": false,
1790
2087
  "hiddenAliases": [],
1791
- "id": "static_host:list",
2088
+ "id": "workspace:pull",
1792
2089
  "pluginAlias": "@xano/cli",
1793
2090
  "pluginName": "@xano/cli",
1794
2091
  "pluginType": "core",
@@ -1798,19 +2095,20 @@
1798
2095
  "relativePath": [
1799
2096
  "dist",
1800
2097
  "commands",
1801
- "static_host",
1802
- "list",
2098
+ "workspace",
2099
+ "pull",
1803
2100
  "index.js"
1804
2101
  ]
1805
2102
  },
1806
- "workspace:create": {
2103
+ "workspace:list": {
1807
2104
  "aliases": [],
1808
2105
  "args": {},
1809
- "description": "Create a new workspace via the Xano Metadata API",
2106
+ "description": "List all workspaces from the Xano Metadata API",
1810
2107
  "examples": [
1811
- "$ xano workspace create --name \"my-workspace\"\nCreated workspace: my-workspace (ID: 123)\n",
1812
- "$ xano workspace create --name \"my-app\" --description \"My application workspace\"\nCreated workspace: my-app (ID: 456)\n Description: My application workspace\n",
1813
- "$ xano workspace create -n \"new-project\" -d \"New project workspace\" -o json\n{\n \"id\": 789,\n \"name\": \"new-project\",\n \"description\": \"New project workspace\"\n}\n"
2108
+ "$ xano workspace:list\nAvailable workspaces:\n - workspace-1 (ID: 1)\n - workspace-2 (ID: 2)\n - workspace-3 (ID: 3)\n",
2109
+ "$ xano workspace:list --profile production\nAvailable workspaces:\n - my-app (ID: 1)\n - staging-env (ID: 2)\n",
2110
+ "$ xano workspace:list --output json\n{\n \"workspaces\": [\n {\n \"id\": 1,\n \"name\": \"workspace-1\"\n },\n {\n \"id\": 2,\n \"name\": \"workspace-2\"\n }\n ]\n}\n",
2111
+ "$ xano workspace:list -p staging -o json\n{\n \"workspaces\": [\n {\n \"id\": 1,\n \"name\": \"my-app\"\n }\n ]\n}\n"
1814
2112
  ],
1815
2113
  "flags": {
1816
2114
  "profile": {
@@ -1832,24 +2130,6 @@
1832
2130
  "allowNo": false,
1833
2131
  "type": "boolean"
1834
2132
  },
1835
- "description": {
1836
- "char": "d",
1837
- "description": "Description for the workspace",
1838
- "name": "description",
1839
- "required": false,
1840
- "hasDynamicHelp": false,
1841
- "multiple": false,
1842
- "type": "option"
1843
- },
1844
- "name": {
1845
- "char": "n",
1846
- "description": "Name of the workspace",
1847
- "name": "name",
1848
- "required": true,
1849
- "hasDynamicHelp": false,
1850
- "multiple": false,
1851
- "type": "option"
1852
- },
1853
2133
  "output": {
1854
2134
  "char": "o",
1855
2135
  "description": "Output format",
@@ -1867,7 +2147,7 @@
1867
2147
  },
1868
2148
  "hasDynamicHelp": false,
1869
2149
  "hiddenAliases": [],
1870
- "id": "workspace:create",
2150
+ "id": "workspace:list",
1871
2151
  "pluginAlias": "@xano/cli",
1872
2152
  "pluginName": "@xano/cli",
1873
2153
  "pluginType": "core",
@@ -1878,7 +2158,7 @@
1878
2158
  "dist",
1879
2159
  "commands",
1880
2160
  "workspace",
1881
- "create",
2161
+ "list",
1882
2162
  "index.js"
1883
2163
  ]
1884
2164
  },
@@ -1982,20 +2262,20 @@
1982
2262
  "index.js"
1983
2263
  ]
1984
2264
  },
1985
- "workspace:get": {
2265
+ "workspace:push": {
1986
2266
  "aliases": [],
1987
2267
  "args": {
1988
- "workspace_id": {
1989
- "description": "Workspace ID to get details for (uses profile workspace if not provided)",
1990
- "name": "workspace_id",
1991
- "required": false
2268
+ "directory": {
2269
+ "description": "Directory containing documents to push (as produced by workspace pull)",
2270
+ "name": "directory",
2271
+ "required": true
1992
2272
  }
1993
2273
  },
1994
- "description": "Get details of a specific workspace from the Xano Metadata API",
2274
+ "description": "Push local documents to a workspace via the Xano Metadata API multidoc endpoint",
1995
2275
  "examples": [
1996
- "$ xano workspace get 123\nWorkspace: my-workspace (ID: 123)\n Description: My workspace description\n Created: 2024-01-15\n",
1997
- "$ xano workspace get --output json\n{\n \"id\": 123,\n \"name\": \"my-workspace\",\n \"description\": \"My workspace description\"\n}\n",
1998
- "$ xano workspace get 456 -p production -o json\n{\n \"id\": 456,\n \"name\": \"production-workspace\"\n}\n"
2276
+ "$ xano workspace push ./my-workspace\nPushed 42 documents from ./my-workspace\n",
2277
+ "$ xano workspace push ./output -w 40\nPushed 15 documents from ./output\n",
2278
+ "$ xano workspace push ./backup --profile production\nPushed 58 documents from ./backup\n"
1999
2279
  ],
2000
2280
  "flags": {
2001
2281
  "profile": {
@@ -2017,24 +2297,19 @@
2017
2297
  "allowNo": false,
2018
2298
  "type": "boolean"
2019
2299
  },
2020
- "output": {
2021
- "char": "o",
2022
- "description": "Output format",
2023
- "name": "output",
2300
+ "workspace": {
2301
+ "char": "w",
2302
+ "description": "Workspace ID (optional if set in profile)",
2303
+ "name": "workspace",
2024
2304
  "required": false,
2025
- "default": "summary",
2026
2305
  "hasDynamicHelp": false,
2027
2306
  "multiple": false,
2028
- "options": [
2029
- "summary",
2030
- "json"
2031
- ],
2032
2307
  "type": "option"
2033
2308
  }
2034
2309
  },
2035
2310
  "hasDynamicHelp": false,
2036
2311
  "hiddenAliases": [],
2037
- "id": "workspace:get",
2312
+ "id": "workspace:push",
2038
2313
  "pluginAlias": "@xano/cli",
2039
2314
  "pluginName": "@xano/cli",
2040
2315
  "pluginType": "core",
@@ -2045,19 +2320,24 @@
2045
2320
  "dist",
2046
2321
  "commands",
2047
2322
  "workspace",
2048
- "get",
2323
+ "push",
2049
2324
  "index.js"
2050
2325
  ]
2051
2326
  },
2052
- "workspace:list": {
2327
+ "static_host:build:create": {
2053
2328
  "aliases": [],
2054
- "args": {},
2055
- "description": "List all workspaces from the Xano Metadata API",
2329
+ "args": {
2330
+ "static_host": {
2331
+ "description": "Static Host name",
2332
+ "name": "static_host",
2333
+ "required": true
2334
+ }
2335
+ },
2336
+ "description": "Create a new build for a static host",
2056
2337
  "examples": [
2057
- "$ xano workspace:list\nAvailable workspaces:\n - workspace-1 (ID: 1)\n - workspace-2 (ID: 2)\n - workspace-3 (ID: 3)\n",
2058
- "$ xano workspace:list --profile production\nAvailable workspaces:\n - my-app (ID: 1)\n - staging-env (ID: 2)\n",
2059
- "$ xano workspace:list --output json\n{\n \"workspaces\": [\n {\n \"id\": 1,\n \"name\": \"workspace-1\"\n },\n {\n \"id\": 2,\n \"name\": \"workspace-2\"\n }\n ]\n}\n",
2060
- "$ xano workspace:list -p staging -o json\n{\n \"workspaces\": [\n {\n \"id\": 1,\n \"name\": \"my-app\"\n }\n ]\n}\n"
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"
2061
2341
  ],
2062
2342
  "flags": {
2063
2343
  "profile": {
@@ -2079,6 +2359,33 @@
2079
2359
  "allowNo": false,
2080
2360
  "type": "boolean"
2081
2361
  },
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": {
2372
+ "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
+ },
2380
+ "name": {
2381
+ "char": "n",
2382
+ "description": "Build name",
2383
+ "name": "name",
2384
+ "required": true,
2385
+ "hasDynamicHelp": false,
2386
+ "multiple": false,
2387
+ "type": "option"
2388
+ },
2082
2389
  "output": {
2083
2390
  "char": "o",
2084
2391
  "description": "Output format",
@@ -2092,11 +2399,20 @@
2092
2399
  "json"
2093
2400
  ],
2094
2401
  "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"
2095
2411
  }
2096
2412
  },
2097
2413
  "hasDynamicHelp": false,
2098
2414
  "hiddenAliases": [],
2099
- "id": "workspace:list",
2415
+ "id": "static_host:build:create",
2100
2416
  "pluginAlias": "@xano/cli",
2101
2417
  "pluginName": "@xano/cli",
2102
2418
  "pluginType": "core",
@@ -2106,25 +2422,32 @@
2106
2422
  "relativePath": [
2107
2423
  "dist",
2108
2424
  "commands",
2109
- "workspace",
2110
- "list",
2425
+ "static_host",
2426
+ "build",
2427
+ "create",
2111
2428
  "index.js"
2112
2429
  ]
2113
2430
  },
2114
- "workspace:pull": {
2431
+ "static_host:build:get": {
2115
2432
  "aliases": [],
2116
2433
  "args": {
2117
- "directory": {
2118
- "description": "Output directory for pulled documents",
2119
- "name": "directory",
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",
2120
2442
  "required": true
2121
2443
  }
2122
2444
  },
2123
- "description": "Pull a workspace multidoc from the Xano Metadata API and split into individual files",
2445
+ "description": "Get details of a specific build for a static host",
2124
2446
  "examples": [
2125
- "$ xano workspace pull ./my-workspace\nPulled 42 documents to ./my-workspace\n",
2126
- "$ xano workspace pull ./output -w 40\nPulled 15 documents to ./output\n",
2127
- "$ xano workspace pull ./backup --profile production --env --records\nPulled 58 documents to ./backup\n"
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"
2128
2451
  ],
2129
2452
  "flags": {
2130
2453
  "profile": {
@@ -2146,19 +2469,19 @@
2146
2469
  "allowNo": false,
2147
2470
  "type": "boolean"
2148
2471
  },
2149
- "env": {
2150
- "description": "Include environment variables",
2151
- "name": "env",
2152
- "required": false,
2153
- "allowNo": false,
2154
- "type": "boolean"
2155
- },
2156
- "records": {
2157
- "description": "Include records",
2158
- "name": "records",
2472
+ "output": {
2473
+ "char": "o",
2474
+ "description": "Output format",
2475
+ "name": "output",
2159
2476
  "required": false,
2160
- "allowNo": false,
2161
- "type": "boolean"
2477
+ "default": "summary",
2478
+ "hasDynamicHelp": false,
2479
+ "multiple": false,
2480
+ "options": [
2481
+ "summary",
2482
+ "json"
2483
+ ],
2484
+ "type": "option"
2162
2485
  },
2163
2486
  "workspace": {
2164
2487
  "char": "w",
@@ -2172,7 +2495,7 @@
2172
2495
  },
2173
2496
  "hasDynamicHelp": false,
2174
2497
  "hiddenAliases": [],
2175
- "id": "workspace:pull",
2498
+ "id": "static_host:build:get",
2176
2499
  "pluginAlias": "@xano/cli",
2177
2500
  "pluginName": "@xano/cli",
2178
2501
  "pluginType": "core",
@@ -2182,25 +2505,27 @@
2182
2505
  "relativePath": [
2183
2506
  "dist",
2184
2507
  "commands",
2185
- "workspace",
2186
- "pull",
2508
+ "static_host",
2509
+ "build",
2510
+ "get",
2187
2511
  "index.js"
2188
2512
  ]
2189
2513
  },
2190
- "workspace:push": {
2514
+ "static_host:build:list": {
2191
2515
  "aliases": [],
2192
2516
  "args": {
2193
- "directory": {
2194
- "description": "Directory containing documents to push (as produced by workspace pull)",
2195
- "name": "directory",
2517
+ "static_host": {
2518
+ "description": "Static Host name",
2519
+ "name": "static_host",
2196
2520
  "required": true
2197
2521
  }
2198
2522
  },
2199
- "description": "Push local documents to a workspace via the Xano Metadata API multidoc endpoint",
2523
+ "description": "List all builds for a static host",
2200
2524
  "examples": [
2201
- "$ xano workspace push ./my-workspace\nPushed 42 documents from ./my-workspace\n",
2202
- "$ xano workspace push ./output -w 40\nPushed 15 documents from ./output\n",
2203
- "$ xano workspace push ./backup --profile production\nPushed 58 documents from ./backup\n"
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"
2204
2529
  ],
2205
2530
  "flags": {
2206
2531
  "profile": {
@@ -2222,6 +2547,38 @@
2222
2547
  "allowNo": false,
2223
2548
  "type": "boolean"
2224
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
+ },
2225
2582
  "workspace": {
2226
2583
  "char": "w",
2227
2584
  "description": "Workspace ID (optional if set in profile)",
@@ -2234,7 +2591,7 @@
2234
2591
  },
2235
2592
  "hasDynamicHelp": false,
2236
2593
  "hiddenAliases": [],
2237
- "id": "workspace:push",
2594
+ "id": "static_host:build:list",
2238
2595
  "pluginAlias": "@xano/cli",
2239
2596
  "pluginName": "@xano/cli",
2240
2597
  "pluginType": "core",
@@ -2244,8 +2601,9 @@
2244
2601
  "relativePath": [
2245
2602
  "dist",
2246
2603
  "commands",
2247
- "workspace",
2248
- "push",
2604
+ "static_host",
2605
+ "build",
2606
+ "list",
2249
2607
  "index.js"
2250
2608
  ]
2251
2609
  },
@@ -2472,98 +2830,23 @@
2472
2830
  "name": "verbose",
2473
2831
  "required": false,
2474
2832
  "allowNo": false,
2475
- "type": "boolean"
2476
- }
2477
- },
2478
- "hasDynamicHelp": false,
2479
- "hiddenAliases": [],
2480
- "id": "run:env:set",
2481
- "pluginAlias": "@xano/cli",
2482
- "pluginName": "@xano/cli",
2483
- "pluginType": "core",
2484
- "strict": true,
2485
- "isESM": true,
2486
- "relativePath": [
2487
- "dist",
2488
- "commands",
2489
- "run",
2490
- "env",
2491
- "set",
2492
- "index.js"
2493
- ]
2494
- },
2495
- "workspace:delete": {
2496
- "aliases": [],
2497
- "args": {
2498
- "workspace_id": {
2499
- "description": "Workspace ID to delete",
2500
- "name": "workspace_id",
2501
- "required": true
2502
- }
2503
- },
2504
- "description": "Delete a workspace via the Xano Metadata API. Cannot delete workspaces with active tenants.",
2505
- "examples": [
2506
- "$ 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",
2507
- "$ xano workspace delete 123 --force\nDeleted workspace 123\n",
2508
- "$ xano workspace delete 123 -f -o json\n{\n \"deleted\": true,\n \"workspace_id\": 123\n}\n"
2509
- ],
2510
- "flags": {
2511
- "profile": {
2512
- "char": "p",
2513
- "description": "Profile to use for this command",
2514
- "env": "XANO_PROFILE",
2515
- "name": "profile",
2516
- "required": false,
2517
- "hasDynamicHelp": false,
2518
- "multiple": false,
2519
- "type": "option"
2520
- },
2521
- "verbose": {
2522
- "char": "v",
2523
- "description": "Show detailed request/response information",
2524
- "env": "XANO_VERBOSE",
2525
- "name": "verbose",
2526
- "required": false,
2527
- "allowNo": false,
2528
- "type": "boolean"
2529
- },
2530
- "force": {
2531
- "char": "f",
2532
- "description": "Skip confirmation prompt",
2533
- "name": "force",
2534
- "required": false,
2535
- "allowNo": false,
2536
- "type": "boolean"
2537
- },
2538
- "output": {
2539
- "char": "o",
2540
- "description": "Output format",
2541
- "name": "output",
2542
- "required": false,
2543
- "default": "summary",
2544
- "hasDynamicHelp": false,
2545
- "multiple": false,
2546
- "options": [
2547
- "summary",
2548
- "json"
2549
- ],
2550
- "type": "option"
2833
+ "type": "boolean"
2551
2834
  }
2552
2835
  },
2553
2836
  "hasDynamicHelp": false,
2554
2837
  "hiddenAliases": [],
2555
- "id": "workspace:delete",
2838
+ "id": "run:env:set",
2556
2839
  "pluginAlias": "@xano/cli",
2557
2840
  "pluginName": "@xano/cli",
2558
2841
  "pluginType": "core",
2559
2842
  "strict": true,
2560
- "enableJsonFlag": false,
2561
2843
  "isESM": true,
2562
2844
  "relativePath": [
2563
2845
  "dist",
2564
2846
  "commands",
2565
- "workspace",
2566
- "delete",
2847
+ "run",
2848
+ "env",
2849
+ "set",
2567
2850
  "index.js"
2568
2851
  ]
2569
2852
  },
@@ -2852,79 +3135,19 @@
2852
3135
  "index.js"
2853
3136
  ]
2854
3137
  },
2855
- "run:secrets:delete": {
2856
- "aliases": [],
2857
- "args": {
2858
- "name": {
2859
- "description": "Secret name",
2860
- "name": "name",
2861
- "required": true
2862
- }
2863
- },
2864
- "description": "Delete a secret",
2865
- "examples": [
2866
- "$ xano run secrets delete docker-registry\nAre you sure you want to delete secret 'docker-registry'? (y/N)\nSecret 'docker-registry' deleted successfully!\n",
2867
- "$ xano run secrets delete docker-registry --force\nSecret 'docker-registry' deleted successfully!\n"
2868
- ],
2869
- "flags": {
2870
- "profile": {
2871
- "char": "p",
2872
- "description": "Profile to use for this command",
2873
- "env": "XANO_PROFILE",
2874
- "name": "profile",
2875
- "required": false,
2876
- "hasDynamicHelp": false,
2877
- "multiple": false,
2878
- "type": "option"
2879
- },
2880
- "verbose": {
2881
- "char": "v",
2882
- "description": "Show detailed request/response information",
2883
- "env": "XANO_VERBOSE",
2884
- "name": "verbose",
2885
- "required": false,
2886
- "allowNo": false,
2887
- "type": "boolean"
2888
- },
2889
- "force": {
2890
- "char": "f",
2891
- "description": "Skip confirmation prompt",
2892
- "name": "force",
2893
- "required": false,
2894
- "allowNo": false,
2895
- "type": "boolean"
2896
- }
2897
- },
2898
- "hasDynamicHelp": false,
2899
- "hiddenAliases": [],
2900
- "id": "run:secrets:delete",
2901
- "pluginAlias": "@xano/cli",
2902
- "pluginName": "@xano/cli",
2903
- "pluginType": "core",
2904
- "strict": true,
2905
- "isESM": true,
2906
- "relativePath": [
2907
- "dist",
2908
- "commands",
2909
- "run",
2910
- "secrets",
2911
- "delete",
2912
- "index.js"
2913
- ]
2914
- },
2915
- "run:secrets:get": {
3138
+ "run:sink:get": {
2916
3139
  "aliases": [],
2917
3140
  "args": {
2918
- "name": {
2919
- "description": "Secret name",
2920
- "name": "name",
3141
+ "sessionId": {
3142
+ "description": "Session ID",
3143
+ "name": "sessionId",
2921
3144
  "required": true
2922
3145
  }
2923
3146
  },
2924
- "description": "Get a secret value",
3147
+ "description": "Get sink data for a completed session",
2925
3148
  "examples": [
2926
- "$ xano run secrets get docker-registry\n{\"auths\":{\"ghcr.io\":{\"auth\":\"...\"}}}\n",
2927
- "$ xano run secrets get docker-registry -o json\n{ \"name\": \"docker-registry\", \"type\": \"kubernetes.io/dockerconfigjson\", \"value\": \"...\" }\n"
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"
2928
3151
  ],
2929
3152
  "flags": {
2930
3153
  "profile": {
@@ -2951,11 +3174,11 @@
2951
3174
  "description": "Output format",
2952
3175
  "name": "output",
2953
3176
  "required": false,
2954
- "default": "value",
3177
+ "default": "summary",
2955
3178
  "hasDynamicHelp": false,
2956
3179
  "multiple": false,
2957
3180
  "options": [
2958
- "value",
3181
+ "summary",
2959
3182
  "json"
2960
3183
  ],
2961
3184
  "type": "option"
@@ -2963,7 +3186,7 @@
2963
3186
  },
2964
3187
  "hasDynamicHelp": false,
2965
3188
  "hiddenAliases": [],
2966
- "id": "run:secrets:get",
3189
+ "id": "run:sink:get",
2967
3190
  "pluginAlias": "@xano/cli",
2968
3191
  "pluginName": "@xano/cli",
2969
3192
  "pluginType": "core",
@@ -2973,18 +3196,24 @@
2973
3196
  "dist",
2974
3197
  "commands",
2975
3198
  "run",
2976
- "secrets",
3199
+ "sink",
2977
3200
  "get",
2978
3201
  "index.js"
2979
3202
  ]
2980
3203
  },
2981
- "run:secrets:list": {
3204
+ "run:secrets:delete": {
2982
3205
  "aliases": [],
2983
- "args": {},
2984
- "description": "List all secret keys",
3206
+ "args": {
3207
+ "name": {
3208
+ "description": "Secret name",
3209
+ "name": "name",
3210
+ "required": true
3211
+ }
3212
+ },
3213
+ "description": "Delete a secret",
2985
3214
  "examples": [
2986
- "$ xano run secrets list\nNAME TYPE REPO\ndocker-registry kubernetes.io/dockerconfigjson ghcr.io\nservice-account kubernetes.io/service-account-token -\n",
2987
- "$ xano run secrets list -o json\n{ \"secrets\": [{ \"name\": \"docker-registry\", \"type\": \"kubernetes.io/dockerconfigjson\", \"repo\": \"ghcr.io\" }] }\n"
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"
2988
3217
  ],
2989
3218
  "flags": {
2990
3219
  "profile": {
@@ -3006,24 +3235,18 @@
3006
3235
  "allowNo": false,
3007
3236
  "type": "boolean"
3008
3237
  },
3009
- "output": {
3010
- "char": "o",
3011
- "description": "Output format",
3012
- "name": "output",
3238
+ "force": {
3239
+ "char": "f",
3240
+ "description": "Skip confirmation prompt",
3241
+ "name": "force",
3013
3242
  "required": false,
3014
- "default": "table",
3015
- "hasDynamicHelp": false,
3016
- "multiple": false,
3017
- "options": [
3018
- "table",
3019
- "json"
3020
- ],
3021
- "type": "option"
3243
+ "allowNo": false,
3244
+ "type": "boolean"
3022
3245
  }
3023
3246
  },
3024
3247
  "hasDynamicHelp": false,
3025
3248
  "hiddenAliases": [],
3026
- "id": "run:secrets:list",
3249
+ "id": "run:secrets:delete",
3027
3250
  "pluginAlias": "@xano/cli",
3028
3251
  "pluginName": "@xano/cli",
3029
3252
  "pluginType": "core",
@@ -3034,7 +3257,7 @@
3034
3257
  "commands",
3035
3258
  "run",
3036
3259
  "secrets",
3037
- "list",
3260
+ "delete",
3038
3261
  "index.js"
3039
3262
  ]
3040
3263
  },
@@ -3106,133 +3329,7 @@
3106
3329
  },
3107
3330
  "hasDynamicHelp": false,
3108
3331
  "hiddenAliases": [],
3109
- "id": "run:secrets:set",
3110
- "pluginAlias": "@xano/cli",
3111
- "pluginName": "@xano/cli",
3112
- "pluginType": "core",
3113
- "strict": true,
3114
- "isESM": true,
3115
- "relativePath": [
3116
- "dist",
3117
- "commands",
3118
- "run",
3119
- "secrets",
3120
- "set",
3121
- "index.js"
3122
- ]
3123
- },
3124
- "run:sessions:delete": {
3125
- "aliases": [],
3126
- "args": {
3127
- "sessionId": {
3128
- "description": "Session ID",
3129
- "name": "sessionId",
3130
- "required": true
3131
- }
3132
- },
3133
- "description": "Delete a session",
3134
- "examples": [
3135
- "$ xano run sessions delete abc123-def456\nAre you sure you want to delete session 'abc123-def456'? (y/N)\nSession deleted successfully!\n",
3136
- "$ xano run sessions delete abc123-def456 --force\nSession deleted successfully!\n"
3137
- ],
3138
- "flags": {
3139
- "profile": {
3140
- "char": "p",
3141
- "description": "Profile to use for this command",
3142
- "env": "XANO_PROFILE",
3143
- "name": "profile",
3144
- "required": false,
3145
- "hasDynamicHelp": false,
3146
- "multiple": false,
3147
- "type": "option"
3148
- },
3149
- "verbose": {
3150
- "char": "v",
3151
- "description": "Show detailed request/response information",
3152
- "env": "XANO_VERBOSE",
3153
- "name": "verbose",
3154
- "required": false,
3155
- "allowNo": false,
3156
- "type": "boolean"
3157
- },
3158
- "force": {
3159
- "char": "f",
3160
- "description": "Skip confirmation prompt",
3161
- "name": "force",
3162
- "required": false,
3163
- "allowNo": false,
3164
- "type": "boolean"
3165
- }
3166
- },
3167
- "hasDynamicHelp": false,
3168
- "hiddenAliases": [],
3169
- "id": "run:sessions:delete",
3170
- "pluginAlias": "@xano/cli",
3171
- "pluginName": "@xano/cli",
3172
- "pluginType": "core",
3173
- "strict": true,
3174
- "isESM": true,
3175
- "relativePath": [
3176
- "dist",
3177
- "commands",
3178
- "run",
3179
- "sessions",
3180
- "delete",
3181
- "index.js"
3182
- ]
3183
- },
3184
- "run:sessions:get": {
3185
- "aliases": [],
3186
- "args": {
3187
- "sessionId": {
3188
- "description": "Session ID",
3189
- "name": "sessionId",
3190
- "required": true
3191
- }
3192
- },
3193
- "description": "Get session details",
3194
- "examples": [
3195
- "$ 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",
3196
- "$ xano run sessions get abc123-def456 -o json\n{ \"id\": \"abc123-def456\", \"name\": \"My Session\", \"status\": \"running\", ... }\n"
3197
- ],
3198
- "flags": {
3199
- "profile": {
3200
- "char": "p",
3201
- "description": "Profile to use for this command",
3202
- "env": "XANO_PROFILE",
3203
- "name": "profile",
3204
- "required": false,
3205
- "hasDynamicHelp": false,
3206
- "multiple": false,
3207
- "type": "option"
3208
- },
3209
- "verbose": {
3210
- "char": "v",
3211
- "description": "Show detailed request/response information",
3212
- "env": "XANO_VERBOSE",
3213
- "name": "verbose",
3214
- "required": false,
3215
- "allowNo": false,
3216
- "type": "boolean"
3217
- },
3218
- "output": {
3219
- "char": "o",
3220
- "description": "Output format",
3221
- "name": "output",
3222
- "required": false,
3223
- "default": "summary",
3224
- "hasDynamicHelp": false,
3225
- "multiple": false,
3226
- "options": [
3227
- "summary",
3228
- "json"
3229
- ],
3230
- "type": "option"
3231
- }
3232
- },
3233
- "hasDynamicHelp": false,
3234
- "hiddenAliases": [],
3235
- "id": "run:sessions:get",
3332
+ "id": "run:secrets:set",
3236
3333
  "pluginAlias": "@xano/cli",
3237
3334
  "pluginName": "@xano/cli",
3238
3335
  "pluginType": "core",
@@ -3242,18 +3339,24 @@
3242
3339
  "dist",
3243
3340
  "commands",
3244
3341
  "run",
3245
- "sessions",
3246
- "get",
3342
+ "secrets",
3343
+ "set",
3247
3344
  "index.js"
3248
3345
  ]
3249
3346
  },
3250
- "run:sessions:list": {
3347
+ "run:secrets:get": {
3251
3348
  "aliases": [],
3252
- "args": {},
3253
- "description": "List all sessions for the project",
3349
+ "args": {
3350
+ "name": {
3351
+ "description": "Secret name",
3352
+ "name": "name",
3353
+ "required": true
3354
+ }
3355
+ },
3356
+ "description": "Get a secret value",
3254
3357
  "examples": [
3255
- "$ 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",
3256
- "$ xano run sessions list -o json\n{ \"items\": [{ \"id\": \"abc123-def456-ghi789\", \"state\": \"running\", ... }] }\n"
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"
3257
3360
  ],
3258
3361
  "flags": {
3259
3362
  "profile": {
@@ -3280,11 +3383,11 @@
3280
3383
  "description": "Output format",
3281
3384
  "name": "output",
3282
3385
  "required": false,
3283
- "default": "table",
3386
+ "default": "value",
3284
3387
  "hasDynamicHelp": false,
3285
3388
  "multiple": false,
3286
3389
  "options": [
3287
- "table",
3390
+ "value",
3288
3391
  "json"
3289
3392
  ],
3290
3393
  "type": "option"
@@ -3292,7 +3395,7 @@
3292
3395
  },
3293
3396
  "hasDynamicHelp": false,
3294
3397
  "hiddenAliases": [],
3295
- "id": "run:sessions:list",
3398
+ "id": "run:secrets:get",
3296
3399
  "pluginAlias": "@xano/cli",
3297
3400
  "pluginName": "@xano/cli",
3298
3401
  "pluginType": "core",
@@ -3302,24 +3405,18 @@
3302
3405
  "dist",
3303
3406
  "commands",
3304
3407
  "run",
3305
- "sessions",
3306
- "list",
3408
+ "secrets",
3409
+ "get",
3307
3410
  "index.js"
3308
3411
  ]
3309
3412
  },
3310
- "run:sessions:stop": {
3413
+ "run:secrets:list": {
3311
3414
  "aliases": [],
3312
- "args": {
3313
- "sessionId": {
3314
- "description": "Session ID",
3315
- "name": "sessionId",
3316
- "required": true
3317
- }
3318
- },
3319
- "description": "Stop a session",
3415
+ "args": {},
3416
+ "description": "List all secret keys",
3320
3417
  "examples": [
3321
- "$ xano run sessions stop abc123-def456\nSession stopped successfully!\n ID: abc123-def456\n State: stopped\n",
3322
- "$ xano run sessions stop abc123-def456 -o json\n{ \"id\": \"abc123-def456\", \"state\": \"stopped\", ... }\n"
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"
3323
3420
  ],
3324
3421
  "flags": {
3325
3422
  "profile": {
@@ -3346,11 +3443,11 @@
3346
3443
  "description": "Output format",
3347
3444
  "name": "output",
3348
3445
  "required": false,
3349
- "default": "summary",
3446
+ "default": "table",
3350
3447
  "hasDynamicHelp": false,
3351
3448
  "multiple": false,
3352
3449
  "options": [
3353
- "summary",
3450
+ "table",
3354
3451
  "json"
3355
3452
  ],
3356
3453
  "type": "option"
@@ -3358,7 +3455,7 @@
3358
3455
  },
3359
3456
  "hasDynamicHelp": false,
3360
3457
  "hiddenAliases": [],
3361
- "id": "run:sessions:stop",
3458
+ "id": "run:secrets:list",
3362
3459
  "pluginAlias": "@xano/cli",
3363
3460
  "pluginName": "@xano/cli",
3364
3461
  "pluginType": "core",
@@ -3368,12 +3465,12 @@
3368
3465
  "dist",
3369
3466
  "commands",
3370
3467
  "run",
3371
- "sessions",
3372
- "stop",
3468
+ "secrets",
3469
+ "list",
3373
3470
  "index.js"
3374
3471
  ]
3375
3472
  },
3376
- "run:sessions:start": {
3473
+ "run:sessions:delete": {
3377
3474
  "aliases": [],
3378
3475
  "args": {
3379
3476
  "sessionId": {
@@ -3382,10 +3479,10 @@
3382
3479
  "required": true
3383
3480
  }
3384
3481
  },
3385
- "description": "Start a session",
3482
+ "description": "Delete a session",
3386
3483
  "examples": [
3387
- "$ xano run sessions start abc123-def456\nSession started successfully!\n ID: abc123-def456\n State: running\n",
3388
- "$ xano run sessions start abc123-def456 -o json\n{ \"id\": \"abc123-def456\", \"state\": \"running\", ... }\n"
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"
3389
3486
  ],
3390
3487
  "flags": {
3391
3488
  "profile": {
@@ -3407,24 +3504,18 @@
3407
3504
  "allowNo": false,
3408
3505
  "type": "boolean"
3409
3506
  },
3410
- "output": {
3411
- "char": "o",
3412
- "description": "Output format",
3413
- "name": "output",
3507
+ "force": {
3508
+ "char": "f",
3509
+ "description": "Skip confirmation prompt",
3510
+ "name": "force",
3414
3511
  "required": false,
3415
- "default": "summary",
3416
- "hasDynamicHelp": false,
3417
- "multiple": false,
3418
- "options": [
3419
- "summary",
3420
- "json"
3421
- ],
3422
- "type": "option"
3512
+ "allowNo": false,
3513
+ "type": "boolean"
3423
3514
  }
3424
3515
  },
3425
3516
  "hasDynamicHelp": false,
3426
3517
  "hiddenAliases": [],
3427
- "id": "run:sessions:start",
3518
+ "id": "run:sessions:delete",
3428
3519
  "pluginAlias": "@xano/cli",
3429
3520
  "pluginName": "@xano/cli",
3430
3521
  "pluginType": "core",
@@ -3435,11 +3526,11 @@
3435
3526
  "commands",
3436
3527
  "run",
3437
3528
  "sessions",
3438
- "start",
3529
+ "delete",
3439
3530
  "index.js"
3440
3531
  ]
3441
3532
  },
3442
- "run:sink:get": {
3533
+ "run:sessions:start": {
3443
3534
  "aliases": [],
3444
3535
  "args": {
3445
3536
  "sessionId": {
@@ -3448,10 +3539,10 @@
3448
3539
  "required": true
3449
3540
  }
3450
3541
  },
3451
- "description": "Get sink data for a completed session",
3542
+ "description": "Start a session",
3452
3543
  "examples": [
3453
- "$ 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",
3454
- "$ xano run sink get abc123-def456 -o json\n{ \"tables\": [...], \"logs\": [...] }\n"
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"
3455
3546
  ],
3456
3547
  "flags": {
3457
3548
  "profile": {
@@ -3490,7 +3581,7 @@
3490
3581
  },
3491
3582
  "hasDynamicHelp": false,
3492
3583
  "hiddenAliases": [],
3493
- "id": "run:sink:get",
3584
+ "id": "run:sessions:start",
3494
3585
  "pluginAlias": "@xano/cli",
3495
3586
  "pluginName": "@xano/cli",
3496
3587
  "pluginType": "core",
@@ -3500,25 +3591,18 @@
3500
3591
  "dist",
3501
3592
  "commands",
3502
3593
  "run",
3503
- "sink",
3504
- "get",
3594
+ "sessions",
3595
+ "start",
3505
3596
  "index.js"
3506
3597
  ]
3507
3598
  },
3508
- "static_host:build:create": {
3599
+ "run:sessions:list": {
3509
3600
  "aliases": [],
3510
- "args": {
3511
- "static_host": {
3512
- "description": "Static Host name",
3513
- "name": "static_host",
3514
- "required": true
3515
- }
3516
- },
3517
- "description": "Create a new build for a static host",
3601
+ "args": {},
3602
+ "description": "List all sessions for the project",
3518
3603
  "examples": [
3519
- "$ 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",
3520
- "$ 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",
3521
- "$ 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"
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"
3522
3606
  ],
3523
3607
  "flags": {
3524
3608
  "profile": {
@@ -3540,95 +3624,51 @@
3540
3624
  "allowNo": false,
3541
3625
  "type": "boolean"
3542
3626
  },
3543
- "description": {
3544
- "char": "d",
3545
- "description": "Build description",
3546
- "name": "description",
3547
- "required": false,
3548
- "hasDynamicHelp": false,
3549
- "multiple": false,
3550
- "type": "option"
3551
- },
3552
- "file": {
3553
- "char": "f",
3554
- "description": "Path to zip file to upload",
3555
- "name": "file",
3556
- "required": true,
3557
- "hasDynamicHelp": false,
3558
- "multiple": false,
3559
- "type": "option"
3560
- },
3561
- "name": {
3562
- "char": "n",
3563
- "description": "Build name",
3564
- "name": "name",
3565
- "required": true,
3566
- "hasDynamicHelp": false,
3567
- "multiple": false,
3568
- "type": "option"
3569
- },
3570
3627
  "output": {
3571
3628
  "char": "o",
3572
3629
  "description": "Output format",
3573
3630
  "name": "output",
3574
3631
  "required": false,
3575
- "default": "summary",
3632
+ "default": "table",
3576
3633
  "hasDynamicHelp": false,
3577
3634
  "multiple": false,
3578
3635
  "options": [
3579
- "summary",
3636
+ "table",
3580
3637
  "json"
3581
3638
  ],
3582
3639
  "type": "option"
3583
- },
3584
- "workspace": {
3585
- "char": "w",
3586
- "description": "Workspace ID (optional if set in profile)",
3587
- "name": "workspace",
3588
- "required": false,
3589
- "hasDynamicHelp": false,
3590
- "multiple": false,
3591
- "type": "option"
3592
3640
  }
3593
3641
  },
3594
3642
  "hasDynamicHelp": false,
3595
3643
  "hiddenAliases": [],
3596
- "id": "static_host:build:create",
3644
+ "id": "run:sessions:list",
3597
3645
  "pluginAlias": "@xano/cli",
3598
3646
  "pluginName": "@xano/cli",
3599
3647
  "pluginType": "core",
3600
3648
  "strict": true,
3601
- "enableJsonFlag": false,
3602
3649
  "isESM": true,
3603
3650
  "relativePath": [
3604
3651
  "dist",
3605
3652
  "commands",
3606
- "static_host",
3607
- "build",
3608
- "create",
3653
+ "run",
3654
+ "sessions",
3655
+ "list",
3609
3656
  "index.js"
3610
3657
  ]
3611
3658
  },
3612
- "static_host:build:get": {
3659
+ "run:sessions:get": {
3613
3660
  "aliases": [],
3614
3661
  "args": {
3615
- "build_id": {
3616
- "description": "Build ID",
3617
- "name": "build_id",
3618
- "required": true
3619
- },
3620
- "static_host": {
3621
- "description": "Static Host name",
3622
- "name": "static_host",
3662
+ "sessionId": {
3663
+ "description": "Session ID",
3664
+ "name": "sessionId",
3623
3665
  "required": true
3624
3666
  }
3625
3667
  },
3626
- "description": "Get details of a specific build for a static host",
3668
+ "description": "Get session details",
3627
3669
  "examples": [
3628
- "$ xano static_host:build:get default 52\nBuild Details:\nID: 52\nName: v1.0.0\nStatus: completed\n",
3629
- "$ xano static_host:build:get default 52 -w 40\nBuild Details:\nID: 52\nName: v1.0.0\nStatus: completed\n",
3630
- "$ xano static_host:build:get myhost 123 --profile production\nBuild Details:\nID: 123\nName: production-build\n",
3631
- "$ xano static_host:build:get default 52 -o json\n{\n \"id\": 52,\n \"name\": \"v1.0.0\",\n \"status\": \"completed\"\n}\n"
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"
3632
3672
  ],
3633
3673
  "flags": {
3634
3674
  "profile": {
@@ -3663,50 +3703,38 @@
3663
3703
  "json"
3664
3704
  ],
3665
3705
  "type": "option"
3666
- },
3667
- "workspace": {
3668
- "char": "w",
3669
- "description": "Workspace ID (optional if set in profile)",
3670
- "name": "workspace",
3671
- "required": false,
3672
- "hasDynamicHelp": false,
3673
- "multiple": false,
3674
- "type": "option"
3675
3706
  }
3676
3707
  },
3677
3708
  "hasDynamicHelp": false,
3678
3709
  "hiddenAliases": [],
3679
- "id": "static_host:build:get",
3710
+ "id": "run:sessions:get",
3680
3711
  "pluginAlias": "@xano/cli",
3681
3712
  "pluginName": "@xano/cli",
3682
3713
  "pluginType": "core",
3683
3714
  "strict": true,
3684
- "enableJsonFlag": false,
3685
3715
  "isESM": true,
3686
3716
  "relativePath": [
3687
3717
  "dist",
3688
3718
  "commands",
3689
- "static_host",
3690
- "build",
3719
+ "run",
3720
+ "sessions",
3691
3721
  "get",
3692
3722
  "index.js"
3693
3723
  ]
3694
3724
  },
3695
- "static_host:build:list": {
3725
+ "run:sessions:stop": {
3696
3726
  "aliases": [],
3697
3727
  "args": {
3698
- "static_host": {
3699
- "description": "Static Host name",
3700
- "name": "static_host",
3728
+ "sessionId": {
3729
+ "description": "Session ID",
3730
+ "name": "sessionId",
3701
3731
  "required": true
3702
3732
  }
3703
3733
  },
3704
- "description": "List all builds for a static host",
3734
+ "description": "Stop a session",
3705
3735
  "examples": [
3706
- "$ 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",
3707
- "$ xano static_host:build:list myhost --profile production\nAvailable builds:\n - production (ID: 1) - Status: completed\n - staging (ID: 2) - Status: completed\n",
3708
- "$ 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",
3709
- "$ 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"
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"
3710
3738
  ],
3711
3739
  "flags": {
3712
3740
  "profile": {
@@ -3741,53 +3769,25 @@
3741
3769
  "json"
3742
3770
  ],
3743
3771
  "type": "option"
3744
- },
3745
- "page": {
3746
- "description": "Page number for pagination",
3747
- "name": "page",
3748
- "required": false,
3749
- "default": 1,
3750
- "hasDynamicHelp": false,
3751
- "multiple": false,
3752
- "type": "option"
3753
- },
3754
- "per_page": {
3755
- "description": "Number of results per page",
3756
- "name": "per_page",
3757
- "required": false,
3758
- "default": 50,
3759
- "hasDynamicHelp": false,
3760
- "multiple": false,
3761
- "type": "option"
3762
- },
3763
- "workspace": {
3764
- "char": "w",
3765
- "description": "Workspace ID (optional if set in profile)",
3766
- "name": "workspace",
3767
- "required": false,
3768
- "hasDynamicHelp": false,
3769
- "multiple": false,
3770
- "type": "option"
3771
3772
  }
3772
3773
  },
3773
3774
  "hasDynamicHelp": false,
3774
3775
  "hiddenAliases": [],
3775
- "id": "static_host:build:list",
3776
+ "id": "run:sessions:stop",
3776
3777
  "pluginAlias": "@xano/cli",
3777
3778
  "pluginName": "@xano/cli",
3778
3779
  "pluginType": "core",
3779
3780
  "strict": true,
3780
- "enableJsonFlag": false,
3781
3781
  "isESM": true,
3782
3782
  "relativePath": [
3783
3783
  "dist",
3784
3784
  "commands",
3785
- "static_host",
3786
- "build",
3787
- "list",
3785
+ "run",
3786
+ "sessions",
3787
+ "stop",
3788
3788
  "index.js"
3789
3789
  ]
3790
3790
  }
3791
3791
  },
3792
- "version": "0.0.23"
3792
+ "version": "0.0.24"
3793
3793
  }