@xano/cli 0.0.8 → 0.0.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,378 +1,15 @@
1
1
  {
2
2
  "commands": {
3
- "profile:delete": {
4
- "aliases": [],
5
- "args": {
6
- "name": {
7
- "description": "Profile name to delete",
8
- "name": "name",
9
- "required": true
10
- }
11
- },
12
- "description": "Delete a profile configuration",
13
- "examples": [
14
- "$ 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",
15
- "$ xano profile:delete old-profile --force\nProfile 'old-profile' deleted successfully from ~/.xano/credentials.yaml\n",
16
- "$ xano profile:delete old-profile -f\nProfile 'old-profile' deleted successfully from ~/.xano/credentials.yaml\n"
17
- ],
18
- "flags": {
19
- "force": {
20
- "char": "f",
21
- "description": "Skip confirmation prompt",
22
- "name": "force",
23
- "required": false,
24
- "allowNo": false,
25
- "type": "boolean"
26
- }
27
- },
28
- "hasDynamicHelp": false,
29
- "hiddenAliases": [],
30
- "id": "profile:delete",
31
- "pluginAlias": "@xano/cli",
32
- "pluginName": "@xano/cli",
33
- "pluginType": "core",
34
- "strict": true,
35
- "enableJsonFlag": false,
36
- "isESM": true,
37
- "relativePath": [
38
- "dist",
39
- "commands",
40
- "profile",
41
- "delete",
42
- "index.js"
43
- ]
44
- },
45
- "profile:edit": {
46
- "aliases": [],
47
- "args": {
48
- "name": {
49
- "description": "Profile name to edit",
50
- "name": "name",
51
- "required": true
52
- }
53
- },
54
- "description": "Edit an existing profile configuration",
55
- "examples": [
56
- "$ xano profile:edit production --access_token new_token123\nProfile 'production' updated successfully at ~/.xano/credentials.yaml\n",
57
- "$ xano profile:edit staging -i https://new-staging-instance.xano.com -t new_token456\nProfile 'staging' updated successfully at ~/.xano/credentials.yaml\n",
58
- "$ xano profile:edit dev -w new-workspace -b new-branch\nProfile 'dev' updated successfully at ~/.xano/credentials.yaml\n",
59
- "$ xano profile:edit dev --remove-workspace\nProfile 'dev' updated successfully at ~/.xano/credentials.yaml\n"
60
- ],
61
- "flags": {
62
- "account_origin": {
63
- "char": "a",
64
- "description": "Update account origin URL",
65
- "name": "account_origin",
66
- "required": false,
67
- "hasDynamicHelp": false,
68
- "multiple": false,
69
- "type": "option"
70
- },
71
- "instance_origin": {
72
- "char": "i",
73
- "description": "Update instance origin URL",
74
- "name": "instance_origin",
75
- "required": false,
76
- "hasDynamicHelp": false,
77
- "multiple": false,
78
- "type": "option"
79
- },
80
- "access_token": {
81
- "char": "t",
82
- "description": "Update access token for the Xano Metadata API",
83
- "name": "access_token",
84
- "required": false,
85
- "hasDynamicHelp": false,
86
- "multiple": false,
87
- "type": "option"
88
- },
89
- "workspace": {
90
- "char": "w",
91
- "description": "Update workspace name",
92
- "name": "workspace",
93
- "required": false,
94
- "hasDynamicHelp": false,
95
- "multiple": false,
96
- "type": "option"
97
- },
98
- "branch": {
99
- "char": "b",
100
- "description": "Update branch name",
101
- "name": "branch",
102
- "required": false,
103
- "hasDynamicHelp": false,
104
- "multiple": false,
105
- "type": "option"
106
- },
107
- "remove-workspace": {
108
- "description": "Remove workspace from profile",
109
- "name": "remove-workspace",
110
- "required": false,
111
- "allowNo": false,
112
- "type": "boolean"
113
- },
114
- "remove-branch": {
115
- "description": "Remove branch from profile",
116
- "name": "remove-branch",
117
- "required": false,
118
- "allowNo": false,
119
- "type": "boolean"
120
- }
121
- },
122
- "hasDynamicHelp": false,
123
- "hiddenAliases": [],
124
- "id": "profile:edit",
125
- "pluginAlias": "@xano/cli",
126
- "pluginName": "@xano/cli",
127
- "pluginType": "core",
128
- "strict": true,
129
- "enableJsonFlag": false,
130
- "isESM": true,
131
- "relativePath": [
132
- "dist",
133
- "commands",
134
- "profile",
135
- "edit",
136
- "index.js"
137
- ]
138
- },
139
- "profile:create": {
140
- "aliases": [],
141
- "args": {
142
- "name": {
143
- "description": "Profile name",
144
- "name": "name",
145
- "required": true
146
- }
147
- },
148
- "description": "Create a new profile configuration",
149
- "examples": [
150
- "$ 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",
151
- "$ 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",
152
- "$ 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",
153
- "$ 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"
154
- ],
155
- "flags": {
156
- "account_origin": {
157
- "char": "a",
158
- "description": "Account origin URL. Optional for self hosted installs.",
159
- "name": "account_origin",
160
- "required": false,
161
- "hasDynamicHelp": false,
162
- "multiple": false,
163
- "type": "option"
164
- },
165
- "instance_origin": {
166
- "char": "i",
167
- "description": "Instance origin URL",
168
- "name": "instance_origin",
169
- "required": true,
170
- "hasDynamicHelp": false,
171
- "multiple": false,
172
- "type": "option"
173
- },
174
- "access_token": {
175
- "char": "t",
176
- "description": "Access token for the Xano Metadata API",
177
- "name": "access_token",
178
- "required": true,
179
- "hasDynamicHelp": false,
180
- "multiple": false,
181
- "type": "option"
182
- },
183
- "workspace": {
184
- "char": "w",
185
- "description": "Workspace name",
186
- "name": "workspace",
187
- "required": false,
188
- "hasDynamicHelp": false,
189
- "multiple": false,
190
- "type": "option"
191
- },
192
- "branch": {
193
- "char": "b",
194
- "description": "Branch name",
195
- "name": "branch",
196
- "required": false,
197
- "hasDynamicHelp": false,
198
- "multiple": false,
199
- "type": "option"
200
- },
201
- "default": {
202
- "description": "Set this profile as the default",
203
- "name": "default",
204
- "required": false,
205
- "allowNo": false,
206
- "type": "boolean"
207
- }
208
- },
209
- "hasDynamicHelp": false,
210
- "hiddenAliases": [],
211
- "id": "profile:create",
212
- "pluginAlias": "@xano/cli",
213
- "pluginName": "@xano/cli",
214
- "pluginType": "core",
215
- "strict": true,
216
- "enableJsonFlag": false,
217
- "isESM": true,
218
- "relativePath": [
219
- "dist",
220
- "commands",
221
- "profile",
222
- "create",
223
- "index.js"
224
- ]
225
- },
226
- "profile:get-default": {
227
- "aliases": [],
228
- "args": {},
229
- "description": "Get the current default profile name",
230
- "examples": [
231
- "$ xano profile:get-default\nproduction\n",
232
- "$ xano profile:get-default\nNo default profile set\n"
233
- ],
234
- "flags": {},
235
- "hasDynamicHelp": false,
236
- "hiddenAliases": [],
237
- "id": "profile:get-default",
238
- "pluginAlias": "@xano/cli",
239
- "pluginName": "@xano/cli",
240
- "pluginType": "core",
241
- "strict": true,
242
- "enableJsonFlag": false,
243
- "isESM": true,
244
- "relativePath": [
245
- "dist",
246
- "commands",
247
- "profile",
248
- "get-default",
249
- "index.js"
250
- ]
251
- },
252
- "profile:list": {
253
- "aliases": [],
254
- "args": {},
255
- "description": "List all available profile configurations",
256
- "examples": [
257
- "$ xano profile:list\nAvailable profiles:\n - default\n - production\n - staging\n - development\n",
258
- "$ 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\nProfile: production\n Account Origin: https://account.xano.com\n Instance Origin: https://prod-instance.xano.com\n Access Token: ***...***\n",
259
- "$ 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"
260
- ],
261
- "flags": {
262
- "details": {
263
- "char": "d",
264
- "description": "Show detailed information for each profile",
265
- "name": "details",
266
- "required": false,
267
- "allowNo": false,
268
- "type": "boolean"
269
- }
270
- },
271
- "hasDynamicHelp": false,
272
- "hiddenAliases": [],
273
- "id": "profile:list",
274
- "pluginAlias": "@xano/cli",
275
- "pluginName": "@xano/cli",
276
- "pluginType": "core",
277
- "strict": true,
278
- "enableJsonFlag": false,
279
- "isESM": true,
280
- "relativePath": [
281
- "dist",
282
- "commands",
283
- "profile",
284
- "list",
285
- "index.js"
286
- ]
287
- },
288
- "profile:wizard": {
289
- "aliases": [],
290
- "args": {},
291
- "description": "Create a new profile configuration using an interactive wizard",
292
- "examples": [
293
- "$ 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"
294
- ],
295
- "flags": {
296
- "name": {
297
- "char": "n",
298
- "description": "Profile name (skip prompt if provided)",
299
- "name": "name",
300
- "required": false,
301
- "hasDynamicHelp": false,
302
- "multiple": false,
303
- "type": "option"
304
- },
305
- "origin": {
306
- "char": "o",
307
- "description": "Xano instance origin URL",
308
- "name": "origin",
309
- "required": false,
310
- "default": "https://app.xano.com",
311
- "hasDynamicHelp": false,
312
- "multiple": false,
313
- "type": "option"
314
- }
315
- },
316
- "hasDynamicHelp": false,
317
- "hiddenAliases": [],
318
- "id": "profile:wizard",
319
- "pluginAlias": "@xano/cli",
320
- "pluginName": "@xano/cli",
321
- "pluginType": "core",
322
- "strict": true,
323
- "enableJsonFlag": false,
324
- "isESM": true,
325
- "relativePath": [
326
- "dist",
327
- "commands",
328
- "profile",
329
- "wizard",
330
- "index.js"
331
- ]
332
- },
333
- "profile:set-default": {
334
- "aliases": [],
335
- "args": {
336
- "name": {
337
- "description": "Profile name to set as default",
338
- "name": "name",
339
- "required": true
340
- }
341
- },
342
- "description": "Set the default profile",
343
- "examples": [
344
- "$ xano profile:set-default production\nDefault profile set to 'production'\n",
345
- "$ xano profile:set-default staging\nDefault profile set to 'staging'\n"
346
- ],
347
- "flags": {},
348
- "hasDynamicHelp": false,
349
- "hiddenAliases": [],
350
- "id": "profile:set-default",
351
- "pluginAlias": "@xano/cli",
352
- "pluginName": "@xano/cli",
353
- "pluginType": "core",
354
- "strict": true,
355
- "enableJsonFlag": false,
356
- "isESM": true,
357
- "relativePath": [
358
- "dist",
359
- "commands",
360
- "profile",
361
- "set-default",
362
- "index.js"
363
- ]
364
- },
365
- "ephemeral:run:job": {
3
+ "function:create": {
366
4
  "aliases": [],
367
5
  "args": {},
368
- "description": "Run an ephemeral job in a workspace",
6
+ "description": "Create a new function in a workspace",
369
7
  "examples": [
370
- "$ xano ephemeral:run:job -w 1 -f script.xs\nJob executed successfully!\n...\n",
371
- "$ xano ephemeral:run:job -f script.xs\nJob executed successfully!\n...\n",
372
- "$ xano ephemeral:run:job -w 1 -f script.xs --edit\n# Opens script.xs in $EDITOR, then runs job with edited content\nJob executed successfully!\n...\n",
373
- "$ cat script.xs | xano ephemeral:run:job -w 1 --stdin\nJob executed successfully!\n...\n",
374
- "$ xano ephemeral:run:job -w 1 -f script.xs -o json\n{\n \"job\": { \"id\": 1, \"run\": { \"id\": 1 } },\n \"result\": { ... }\n}\n",
375
- "$ xano ephemeral:run:job -w 1 -f script.xs -a args.json\n# Runs job with input arguments from args.json\nJob executed successfully!\n...\n"
8
+ "$ xano function:create -w 40 -f function.xs\nFunction created successfully!\nID: 123\nName: my_function\n",
9
+ "$ xano function:create -f function.xs\nFunction created successfully!\nID: 123\nName: my_function\n",
10
+ "$ 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",
11
+ "$ cat function.xs | xano function:create -w 40 --stdin\nFunction created successfully!\nID: 123\nName: my_function\n",
12
+ "$ xano function:create -w 40 -f function.xs -o json\n{\n \"id\": 123,\n \"name\": \"my_function\",\n ...\n}\n"
376
13
  ],
377
14
  "flags": {
378
15
  "profile": {
@@ -422,7 +59,7 @@
422
59
  "dependsOn": [
423
60
  "file"
424
61
  ],
425
- "description": "Open file in editor before running job (requires --file)",
62
+ "description": "Open file in editor before creating function (requires --file)",
426
63
  "name": "edit",
427
64
  "required": false,
428
65
  "allowNo": false,
@@ -441,20 +78,11 @@
441
78
  "json"
442
79
  ],
443
80
  "type": "option"
444
- },
445
- "args": {
446
- "char": "a",
447
- "description": "Path to JSON file containing input arguments",
448
- "name": "args",
449
- "required": false,
450
- "hasDynamicHelp": false,
451
- "multiple": false,
452
- "type": "option"
453
81
  }
454
82
  },
455
83
  "hasDynamicHelp": false,
456
84
  "hiddenAliases": [],
457
- "id": "ephemeral:run:job",
85
+ "id": "function:create",
458
86
  "pluginAlias": "@xano/cli",
459
87
  "pluginName": "@xano/cli",
460
88
  "pluginType": "core",
@@ -464,120 +92,30 @@
464
92
  "relativePath": [
465
93
  "dist",
466
94
  "commands",
467
- "ephemeral",
468
- "run",
469
- "job",
95
+ "function",
96
+ "create",
470
97
  "index.js"
471
98
  ]
472
99
  },
473
- "ephemeral:run:service": {
100
+ "function:edit": {
474
101
  "aliases": [],
475
- "args": {},
476
- "description": "Run an ephemeral service in a workspace",
477
- "examples": [
478
- "$ xano ephemeral:run:service -w 1 -f service.xs\nService created successfully!\n...\n",
479
- "$ xano ephemeral:run:service -f service.xs\nService created successfully!\n...\n",
480
- "$ xano ephemeral:run:service -w 1 -f service.xs --edit\n# Opens service.xs in $EDITOR, then creates service with edited content\nService created successfully!\n...\n",
481
- "$ cat service.xs | xano ephemeral:run:service -w 1 --stdin\nService created successfully!\n...\n",
482
- "$ xano ephemeral:run:service -w 1 -f service.xs -o json\n{\n \"service\": { \"id\": 1 },\n ...\n}\n"
483
- ],
484
- "flags": {
485
- "profile": {
486
- "char": "p",
487
- "description": "Profile to use for this command",
488
- "env": "XANO_PROFILE",
489
- "name": "profile",
490
- "required": false,
491
- "hasDynamicHelp": false,
492
- "multiple": false,
493
- "type": "option"
494
- },
495
- "workspace": {
496
- "char": "w",
497
- "description": "Workspace ID (optional if set in profile)",
498
- "name": "workspace",
499
- "required": false,
500
- "hasDynamicHelp": false,
501
- "multiple": false,
502
- "type": "option"
503
- },
504
- "file": {
505
- "char": "f",
506
- "description": "Path to file containing XanoScript code",
507
- "exclusive": [
508
- "stdin"
509
- ],
510
- "name": "file",
511
- "required": false,
512
- "hasDynamicHelp": false,
513
- "multiple": false,
514
- "type": "option"
515
- },
516
- "stdin": {
517
- "char": "s",
518
- "description": "Read XanoScript code from stdin",
519
- "exclusive": [
520
- "file"
521
- ],
522
- "name": "stdin",
523
- "required": false,
524
- "allowNo": false,
525
- "type": "boolean"
526
- },
527
- "edit": {
528
- "char": "e",
529
- "dependsOn": [
530
- "file"
531
- ],
532
- "description": "Open file in editor before running service (requires --file)",
533
- "name": "edit",
534
- "required": false,
535
- "allowNo": false,
536
- "type": "boolean"
537
- },
538
- "output": {
539
- "char": "o",
540
- "description": "Output format",
541
- "name": "output",
542
- "required": false,
543
- "default": "summary",
544
- "hasDynamicHelp": false,
545
- "multiple": false,
546
- "options": [
547
- "summary",
548
- "json"
549
- ],
550
- "type": "option"
102
+ "args": {
103
+ "function_id": {
104
+ "description": "Function ID to edit",
105
+ "name": "function_id",
106
+ "required": false
551
107
  }
552
- },
553
- "hasDynamicHelp": false,
554
- "hiddenAliases": [],
555
- "id": "ephemeral:run:service",
556
- "pluginAlias": "@xano/cli",
557
- "pluginName": "@xano/cli",
558
- "pluginType": "core",
559
- "strict": true,
560
- "enableJsonFlag": false,
561
- "isESM": true,
562
- "relativePath": [
563
- "dist",
564
- "commands",
565
- "ephemeral",
566
- "run",
567
- "service",
568
- "index.js"
569
- ]
570
- },
571
- "function:create": {
572
- "aliases": [],
573
- "args": {},
574
- "description": "Create a new function in a workspace",
108
+ },
109
+ "description": "Edit a function in a workspace",
575
110
  "examples": [
576
- "$ xano function:create -w 40 -f function.xs\nFunction created successfully!\nID: 123\nName: my_function\n",
577
- "$ xano function:create -f function.xs\nFunction created successfully!\nID: 123\nName: my_function\n",
578
- "$ 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",
579
- "$ cat function.xs | xano function:create -w 40 --stdin\nFunction created successfully!\nID: 123\nName: my_function\n",
580
- "$ xano function:create -w 40 -f function.xs -o json\n{\n \"id\": 123,\n \"name\": \"my_function\",\n ...\n}\n"
111
+ "$ 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",
112
+ "$ 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",
113
+ "$ xano function:edit 163 -f function.xs\nFunction updated successfully!\nID: 163\nName: my_function\n",
114
+ "$ xano function:edit 163 -w 40 -f function.xs\nFunction updated successfully!\nID: 163\nName: my_function\n",
115
+ "$ xano function:edit -f function.xs\nSelect a function to edit:\n ❯ my_function (ID: 163) - Sample function\n another-func (ID: 164)\n",
116
+ "$ 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",
117
+ "$ cat function.xs | xano function:edit 163 --stdin\nFunction updated successfully!\nID: 163\nName: my_function\n",
118
+ "$ xano function:edit 163 -f function.xs -o json\n{\n \"id\": 163,\n \"name\": \"my_function\",\n ...\n}\n"
581
119
  ],
582
120
  "flags": {
583
121
  "profile": {
@@ -624,15 +162,19 @@
624
162
  },
625
163
  "edit": {
626
164
  "char": "e",
627
- "dependsOn": [
628
- "file"
629
- ],
630
- "description": "Open file in editor before creating function (requires --file)",
165
+ "description": "Open file in editor before updating function (requires --file)",
631
166
  "name": "edit",
632
167
  "required": false,
633
168
  "allowNo": false,
634
169
  "type": "boolean"
635
170
  },
171
+ "publish": {
172
+ "description": "Publish the function after editing",
173
+ "name": "publish",
174
+ "required": false,
175
+ "allowNo": false,
176
+ "type": "boolean"
177
+ },
636
178
  "output": {
637
179
  "char": "o",
638
180
  "description": "Output format",
@@ -650,7 +192,7 @@
650
192
  },
651
193
  "hasDynamicHelp": false,
652
194
  "hiddenAliases": [],
653
- "id": "function:create",
195
+ "id": "function:edit",
654
196
  "pluginAlias": "@xano/cli",
655
197
  "pluginName": "@xano/cli",
656
198
  "pluginType": "core",
@@ -661,29 +203,27 @@
661
203
  "dist",
662
204
  "commands",
663
205
  "function",
664
- "create",
206
+ "edit",
665
207
  "index.js"
666
208
  ]
667
209
  },
668
- "function:edit": {
210
+ "function:get": {
669
211
  "aliases": [],
670
212
  "args": {
671
213
  "function_id": {
672
- "description": "Function ID to edit",
214
+ "description": "Function ID",
673
215
  "name": "function_id",
674
216
  "required": false
675
217
  }
676
218
  },
677
- "description": "Edit a function in a workspace",
219
+ "description": "Get a specific function from a workspace",
678
220
  "examples": [
679
- "$ 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",
680
- "$ 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",
681
- "$ xano function:edit 163 -f function.xs\nFunction updated successfully!\nID: 163\nName: my_function\n",
682
- "$ xano function:edit 163 -w 40 -f function.xs\nFunction updated successfully!\nID: 163\nName: my_function\n",
683
- "$ xano function:edit -f function.xs\nSelect a function to edit:\n ❯ my_function (ID: 163) - Sample function\n another-func (ID: 164)\n",
684
- "$ 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",
685
- "$ cat function.xs | xano function:edit 163 --stdin\nFunction updated successfully!\nID: 163\nName: my_function\n",
686
- "$ xano function:edit 163 -f function.xs -o json\n{\n \"id\": 163,\n \"name\": \"my_function\",\n ...\n}\n"
221
+ "$ xano function:get 145 -w 40\nFunction: yo (ID: 145)\nCreated: 2025-10-10 10:30:00\nDescription: Sample function\n",
222
+ "$ xano function:get 145 --profile production\nFunction: yo (ID: 145)\nCreated: 2025-10-10 10:30:00\n",
223
+ "$ xano function:get\nSelect a function:\n ❯ yo (ID: 145) - Sample function\n another-func (ID: 146)\n",
224
+ "$ xano function:get 145 -w 40 --output json\n{\n \"id\": 145,\n \"name\": \"yo\",\n \"description\": \"Sample function\"\n}\n",
225
+ "$ xano function:get 145 -p staging -o json --include_draft\n{\n \"id\": 145,\n \"name\": \"yo\"\n}\n",
226
+ "$ xano function:get 145 -p staging -o xs\nfunction yo {\n input {\n }\n stack {\n }\n response = null\n}\n"
687
227
  ],
688
228
  "flags": {
689
229
  "profile": {
@@ -705,43 +245,218 @@
705
245
  "multiple": false,
706
246
  "type": "option"
707
247
  },
708
- "file": {
709
- "char": "f",
710
- "description": "Path to file containing XanoScript code",
711
- "exclusive": [
712
- "stdin"
248
+ "output": {
249
+ "char": "o",
250
+ "description": "Output format",
251
+ "name": "output",
252
+ "required": false,
253
+ "default": "summary",
254
+ "hasDynamicHelp": false,
255
+ "multiple": false,
256
+ "options": [
257
+ "summary",
258
+ "json",
259
+ "xs"
713
260
  ],
714
- "name": "file",
261
+ "type": "option"
262
+ },
263
+ "include_draft": {
264
+ "description": "Include draft version",
265
+ "name": "include_draft",
266
+ "required": false,
267
+ "allowNo": false,
268
+ "type": "boolean"
269
+ },
270
+ "include_xanoscript": {
271
+ "description": "Include XanoScript in response",
272
+ "name": "include_xanoscript",
273
+ "required": false,
274
+ "allowNo": false,
275
+ "type": "boolean"
276
+ }
277
+ },
278
+ "hasDynamicHelp": false,
279
+ "hiddenAliases": [],
280
+ "id": "function:get",
281
+ "pluginAlias": "@xano/cli",
282
+ "pluginName": "@xano/cli",
283
+ "pluginType": "core",
284
+ "strict": true,
285
+ "enableJsonFlag": false,
286
+ "isESM": true,
287
+ "relativePath": [
288
+ "dist",
289
+ "commands",
290
+ "function",
291
+ "get",
292
+ "index.js"
293
+ ]
294
+ },
295
+ "profile:delete": {
296
+ "aliases": [],
297
+ "args": {
298
+ "name": {
299
+ "description": "Profile name to delete",
300
+ "name": "name",
301
+ "required": true
302
+ }
303
+ },
304
+ "description": "Delete a profile configuration",
305
+ "examples": [
306
+ "$ 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",
307
+ "$ xano profile:delete old-profile --force\nProfile 'old-profile' deleted successfully from ~/.xano/credentials.yaml\n",
308
+ "$ xano profile:delete old-profile -f\nProfile 'old-profile' deleted successfully from ~/.xano/credentials.yaml\n"
309
+ ],
310
+ "flags": {
311
+ "force": {
312
+ "char": "f",
313
+ "description": "Skip confirmation prompt",
314
+ "name": "force",
315
+ "required": false,
316
+ "allowNo": false,
317
+ "type": "boolean"
318
+ }
319
+ },
320
+ "hasDynamicHelp": false,
321
+ "hiddenAliases": [],
322
+ "id": "profile:delete",
323
+ "pluginAlias": "@xano/cli",
324
+ "pluginName": "@xano/cli",
325
+ "pluginType": "core",
326
+ "strict": true,
327
+ "enableJsonFlag": false,
328
+ "isESM": true,
329
+ "relativePath": [
330
+ "dist",
331
+ "commands",
332
+ "profile",
333
+ "delete",
334
+ "index.js"
335
+ ]
336
+ },
337
+ "profile:edit": {
338
+ "aliases": [],
339
+ "args": {
340
+ "name": {
341
+ "description": "Profile name to edit",
342
+ "name": "name",
343
+ "required": true
344
+ }
345
+ },
346
+ "description": "Edit an existing profile configuration",
347
+ "examples": [
348
+ "$ xano profile:edit production --access_token new_token123\nProfile 'production' updated successfully at ~/.xano/credentials.yaml\n",
349
+ "$ xano profile:edit staging -i https://new-staging-instance.xano.com -t new_token456\nProfile 'staging' updated successfully at ~/.xano/credentials.yaml\n",
350
+ "$ xano profile:edit dev -w new-workspace -b new-branch\nProfile 'dev' updated successfully at ~/.xano/credentials.yaml\n",
351
+ "$ xano profile:edit dev --remove-workspace\nProfile 'dev' updated successfully at ~/.xano/credentials.yaml\n"
352
+ ],
353
+ "flags": {
354
+ "account_origin": {
355
+ "char": "a",
356
+ "description": "Update account origin URL",
357
+ "name": "account_origin",
715
358
  "required": false,
716
359
  "hasDynamicHelp": false,
717
360
  "multiple": false,
718
361
  "type": "option"
719
362
  },
720
- "stdin": {
721
- "char": "s",
722
- "description": "Read XanoScript code from stdin",
723
- "exclusive": [
724
- "file"
725
- ],
726
- "name": "stdin",
363
+ "instance_origin": {
364
+ "char": "i",
365
+ "description": "Update instance origin URL",
366
+ "name": "instance_origin",
367
+ "required": false,
368
+ "hasDynamicHelp": false,
369
+ "multiple": false,
370
+ "type": "option"
371
+ },
372
+ "access_token": {
373
+ "char": "t",
374
+ "description": "Update access token for the Xano Metadata API",
375
+ "name": "access_token",
376
+ "required": false,
377
+ "hasDynamicHelp": false,
378
+ "multiple": false,
379
+ "type": "option"
380
+ },
381
+ "workspace": {
382
+ "char": "w",
383
+ "description": "Update workspace name",
384
+ "name": "workspace",
385
+ "required": false,
386
+ "hasDynamicHelp": false,
387
+ "multiple": false,
388
+ "type": "option"
389
+ },
390
+ "branch": {
391
+ "char": "b",
392
+ "description": "Update branch name",
393
+ "name": "branch",
394
+ "required": false,
395
+ "hasDynamicHelp": false,
396
+ "multiple": false,
397
+ "type": "option"
398
+ },
399
+ "remove-workspace": {
400
+ "description": "Remove workspace from profile",
401
+ "name": "remove-workspace",
727
402
  "required": false,
728
403
  "allowNo": false,
729
404
  "type": "boolean"
730
405
  },
731
- "edit": {
732
- "char": "e",
733
- "description": "Open file in editor before updating function (requires --file)",
734
- "name": "edit",
406
+ "remove-branch": {
407
+ "description": "Remove branch from profile",
408
+ "name": "remove-branch",
409
+ "required": false,
410
+ "allowNo": false,
411
+ "type": "boolean"
412
+ }
413
+ },
414
+ "hasDynamicHelp": false,
415
+ "hiddenAliases": [],
416
+ "id": "profile:edit",
417
+ "pluginAlias": "@xano/cli",
418
+ "pluginName": "@xano/cli",
419
+ "pluginType": "core",
420
+ "strict": true,
421
+ "enableJsonFlag": false,
422
+ "isESM": true,
423
+ "relativePath": [
424
+ "dist",
425
+ "commands",
426
+ "profile",
427
+ "edit",
428
+ "index.js"
429
+ ]
430
+ },
431
+ "static_host:list": {
432
+ "aliases": [],
433
+ "args": {},
434
+ "description": "List all static hosts in a workspace from the Xano Metadata API",
435
+ "examples": [
436
+ "$ xano static_host:list -w 40\nAvailable static hosts:\n - my-static-host (ID: 1)\n - another-host (ID: 2)\n",
437
+ "$ xano static_host:list --profile production\nAvailable static hosts:\n - my-static-host (ID: 1)\n - another-host (ID: 2)\n",
438
+ "$ 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",
439
+ "$ xano static_host:list -p staging -o json --page 2\n[\n {\n \"id\": 3,\n \"name\": \"static-host-3\"\n }\n]\n"
440
+ ],
441
+ "flags": {
442
+ "profile": {
443
+ "char": "p",
444
+ "description": "Profile to use for this command",
445
+ "env": "XANO_PROFILE",
446
+ "name": "profile",
735
447
  "required": false,
736
- "allowNo": false,
737
- "type": "boolean"
448
+ "hasDynamicHelp": false,
449
+ "multiple": false,
450
+ "type": "option"
738
451
  },
739
- "publish": {
740
- "description": "Publish the function after editing",
741
- "name": "publish",
452
+ "workspace": {
453
+ "char": "w",
454
+ "description": "Workspace ID (optional if set in profile)",
455
+ "name": "workspace",
742
456
  "required": false,
743
- "allowNo": false,
744
- "type": "boolean"
457
+ "hasDynamicHelp": false,
458
+ "multiple": false,
459
+ "type": "option"
745
460
  },
746
461
  "output": {
747
462
  "char": "o",
@@ -756,11 +471,29 @@
756
471
  "json"
757
472
  ],
758
473
  "type": "option"
474
+ },
475
+ "page": {
476
+ "description": "Page number for pagination",
477
+ "name": "page",
478
+ "required": false,
479
+ "default": 1,
480
+ "hasDynamicHelp": false,
481
+ "multiple": false,
482
+ "type": "option"
483
+ },
484
+ "per_page": {
485
+ "description": "Number of results per page",
486
+ "name": "per_page",
487
+ "required": false,
488
+ "default": 50,
489
+ "hasDynamicHelp": false,
490
+ "multiple": false,
491
+ "type": "option"
759
492
  }
760
493
  },
761
494
  "hasDynamicHelp": false,
762
495
  "hiddenAliases": [],
763
- "id": "function:edit",
496
+ "id": "static_host:list",
764
497
  "pluginAlias": "@xano/cli",
765
498
  "pluginName": "@xano/cli",
766
499
  "pluginType": "core",
@@ -770,74 +503,76 @@
770
503
  "relativePath": [
771
504
  "dist",
772
505
  "commands",
773
- "function",
774
- "edit",
506
+ "static_host",
507
+ "list",
775
508
  "index.js"
776
509
  ]
777
510
  },
778
- "function:get": {
511
+ "profile:create": {
779
512
  "aliases": [],
780
513
  "args": {
781
- "function_id": {
782
- "description": "Function ID",
783
- "name": "function_id",
784
- "required": false
514
+ "name": {
515
+ "description": "Profile name",
516
+ "name": "name",
517
+ "required": true
785
518
  }
786
519
  },
787
- "description": "Get a specific function from a workspace",
520
+ "description": "Create a new profile configuration",
788
521
  "examples": [
789
- "$ xano function:get 145 -w 40\nFunction: yo (ID: 145)\nCreated: 2025-10-10 10:30:00\nDescription: Sample function\n",
790
- "$ xano function:get 145 --profile production\nFunction: yo (ID: 145)\nCreated: 2025-10-10 10:30:00\n",
791
- "$ xano function:get\nSelect a function:\n ❯ yo (ID: 145) - Sample function\n another-func (ID: 146)\n",
792
- "$ xano function:get 145 -w 40 --output json\n{\n \"id\": 145,\n \"name\": \"yo\",\n \"description\": \"Sample function\"\n}\n",
793
- "$ xano function:get 145 -p staging -o json --include_draft\n{\n \"id\": 145,\n \"name\": \"yo\"\n}\n",
794
- "$ xano function:get 145 -p staging -o xs\nfunction yo {\n input {\n }\n stack {\n }\n response = null\n}\n"
522
+ "$ 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",
523
+ "$ 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",
524
+ "$ 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",
525
+ "$ 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"
795
526
  ],
796
527
  "flags": {
797
- "profile": {
798
- "char": "p",
799
- "description": "Profile to use for this command",
800
- "env": "XANO_PROFILE",
801
- "name": "profile",
528
+ "account_origin": {
529
+ "char": "a",
530
+ "description": "Account origin URL. Optional for self hosted installs.",
531
+ "name": "account_origin",
802
532
  "required": false,
803
533
  "hasDynamicHelp": false,
804
534
  "multiple": false,
805
535
  "type": "option"
806
536
  },
537
+ "instance_origin": {
538
+ "char": "i",
539
+ "description": "Instance origin URL",
540
+ "name": "instance_origin",
541
+ "required": true,
542
+ "hasDynamicHelp": false,
543
+ "multiple": false,
544
+ "type": "option"
545
+ },
546
+ "access_token": {
547
+ "char": "t",
548
+ "description": "Access token for the Xano Metadata API",
549
+ "name": "access_token",
550
+ "required": true,
551
+ "hasDynamicHelp": false,
552
+ "multiple": false,
553
+ "type": "option"
554
+ },
807
555
  "workspace": {
808
556
  "char": "w",
809
- "description": "Workspace ID (optional if set in profile)",
557
+ "description": "Workspace name",
810
558
  "name": "workspace",
811
559
  "required": false,
812
560
  "hasDynamicHelp": false,
813
561
  "multiple": false,
814
562
  "type": "option"
815
563
  },
816
- "output": {
817
- "char": "o",
818
- "description": "Output format",
819
- "name": "output",
564
+ "branch": {
565
+ "char": "b",
566
+ "description": "Branch name",
567
+ "name": "branch",
820
568
  "required": false,
821
- "default": "summary",
822
569
  "hasDynamicHelp": false,
823
570
  "multiple": false,
824
- "options": [
825
- "summary",
826
- "json",
827
- "xs"
828
- ],
829
571
  "type": "option"
830
572
  },
831
- "include_draft": {
832
- "description": "Include draft version",
833
- "name": "include_draft",
834
- "required": false,
835
- "allowNo": false,
836
- "type": "boolean"
837
- },
838
- "include_xanoscript": {
839
- "description": "Include XanoScript in response",
840
- "name": "include_xanoscript",
573
+ "default": {
574
+ "description": "Set this profile as the default",
575
+ "name": "default",
841
576
  "required": false,
842
577
  "allowNo": false,
843
578
  "type": "boolean"
@@ -845,7 +580,7 @@
845
580
  },
846
581
  "hasDynamicHelp": false,
847
582
  "hiddenAliases": [],
848
- "id": "function:get",
583
+ "id": "profile:create",
849
584
  "pluginAlias": "@xano/cli",
850
585
  "pluginName": "@xano/cli",
851
586
  "pluginType": "core",
@@ -855,8 +590,8 @@
855
590
  "relativePath": [
856
591
  "dist",
857
592
  "commands",
858
- "function",
859
- "get",
593
+ "profile",
594
+ "create",
860
595
  "index.js"
861
596
  ]
862
597
  },
@@ -961,7 +696,146 @@
961
696
  },
962
697
  "hasDynamicHelp": false,
963
698
  "hiddenAliases": [],
964
- "id": "function:list",
699
+ "id": "function:list",
700
+ "pluginAlias": "@xano/cli",
701
+ "pluginName": "@xano/cli",
702
+ "pluginType": "core",
703
+ "strict": true,
704
+ "enableJsonFlag": false,
705
+ "isESM": true,
706
+ "relativePath": [
707
+ "dist",
708
+ "commands",
709
+ "function",
710
+ "list",
711
+ "index.js"
712
+ ]
713
+ },
714
+ "profile:set-default": {
715
+ "aliases": [],
716
+ "args": {
717
+ "name": {
718
+ "description": "Profile name to set as default",
719
+ "name": "name",
720
+ "required": true
721
+ }
722
+ },
723
+ "description": "Set the default profile",
724
+ "examples": [
725
+ "$ xano profile:set-default production\nDefault profile set to 'production'\n",
726
+ "$ xano profile:set-default staging\nDefault profile set to 'staging'\n"
727
+ ],
728
+ "flags": {},
729
+ "hasDynamicHelp": false,
730
+ "hiddenAliases": [],
731
+ "id": "profile:set-default",
732
+ "pluginAlias": "@xano/cli",
733
+ "pluginName": "@xano/cli",
734
+ "pluginType": "core",
735
+ "strict": true,
736
+ "enableJsonFlag": false,
737
+ "isESM": true,
738
+ "relativePath": [
739
+ "dist",
740
+ "commands",
741
+ "profile",
742
+ "set-default",
743
+ "index.js"
744
+ ]
745
+ },
746
+ "profile:wizard": {
747
+ "aliases": [],
748
+ "args": {},
749
+ "description": "Create a new profile configuration using an interactive wizard",
750
+ "examples": [
751
+ "$ 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"
752
+ ],
753
+ "flags": {
754
+ "name": {
755
+ "char": "n",
756
+ "description": "Profile name (skip prompt if provided)",
757
+ "name": "name",
758
+ "required": false,
759
+ "hasDynamicHelp": false,
760
+ "multiple": false,
761
+ "type": "option"
762
+ },
763
+ "origin": {
764
+ "char": "o",
765
+ "description": "Xano instance origin URL",
766
+ "name": "origin",
767
+ "required": false,
768
+ "default": "https://app.xano.com",
769
+ "hasDynamicHelp": false,
770
+ "multiple": false,
771
+ "type": "option"
772
+ }
773
+ },
774
+ "hasDynamicHelp": false,
775
+ "hiddenAliases": [],
776
+ "id": "profile:wizard",
777
+ "pluginAlias": "@xano/cli",
778
+ "pluginName": "@xano/cli",
779
+ "pluginType": "core",
780
+ "strict": true,
781
+ "enableJsonFlag": false,
782
+ "isESM": true,
783
+ "relativePath": [
784
+ "dist",
785
+ "commands",
786
+ "profile",
787
+ "wizard",
788
+ "index.js"
789
+ ]
790
+ },
791
+ "profile:get-default": {
792
+ "aliases": [],
793
+ "args": {},
794
+ "description": "Get the current default profile name",
795
+ "examples": [
796
+ "$ xano profile:get-default\nproduction\n",
797
+ "$ xano profile:get-default\nNo default profile set\n"
798
+ ],
799
+ "flags": {},
800
+ "hasDynamicHelp": false,
801
+ "hiddenAliases": [],
802
+ "id": "profile:get-default",
803
+ "pluginAlias": "@xano/cli",
804
+ "pluginName": "@xano/cli",
805
+ "pluginType": "core",
806
+ "strict": true,
807
+ "enableJsonFlag": false,
808
+ "isESM": true,
809
+ "relativePath": [
810
+ "dist",
811
+ "commands",
812
+ "profile",
813
+ "get-default",
814
+ "index.js"
815
+ ]
816
+ },
817
+ "profile:list": {
818
+ "aliases": [],
819
+ "args": {},
820
+ "description": "List all available profile configurations",
821
+ "examples": [
822
+ "$ xano profile:list\nAvailable profiles:\n - default\n - production\n - staging\n - development\n",
823
+ "$ 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\nProfile: production\n Account Origin: https://account.xano.com\n Instance Origin: https://prod-instance.xano.com\n Access Token: ***...***\n",
824
+ "$ 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"
825
+ ],
826
+ "flags": {
827
+ "details": {
828
+ "char": "d",
829
+ "description": "Show detailed information for each profile",
830
+ "name": "details",
831
+ "required": false,
832
+ "allowNo": false,
833
+ "type": "boolean"
834
+ }
835
+ },
836
+ "hasDynamicHelp": false,
837
+ "hiddenAliases": [],
838
+ "id": "profile:list",
965
839
  "pluginAlias": "@xano/cli",
966
840
  "pluginName": "@xano/cli",
967
841
  "pluginType": "core",
@@ -971,7 +845,7 @@
971
845
  "relativePath": [
972
846
  "dist",
973
847
  "commands",
974
- "function",
848
+ "profile",
975
849
  "list",
976
850
  "index.js"
977
851
  ]
@@ -1029,15 +903,16 @@
1029
903
  "index.js"
1030
904
  ]
1031
905
  },
1032
- "static_host:list": {
906
+ "ephemeral:run:service": {
1033
907
  "aliases": [],
1034
908
  "args": {},
1035
- "description": "List all static hosts in a workspace from the Xano Metadata API",
909
+ "description": "Run an ephemeral service in a workspace",
1036
910
  "examples": [
1037
- "$ xano static_host:list -w 40\nAvailable static hosts:\n - my-static-host (ID: 1)\n - another-host (ID: 2)\n",
1038
- "$ xano static_host:list --profile production\nAvailable static hosts:\n - my-static-host (ID: 1)\n - another-host (ID: 2)\n",
1039
- "$ 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",
1040
- "$ xano static_host:list -p staging -o json --page 2\n[\n {\n \"id\": 3,\n \"name\": \"static-host-3\"\n }\n]\n"
911
+ "$ xano ephemeral:run:service -w 1 -f service.xs\nService created successfully!\n...\n",
912
+ "$ xano ephemeral:run:service -f service.xs\nService created successfully!\n...\n",
913
+ "$ xano ephemeral:run:service -w 1 -f service.xs --edit\n# Opens service.xs in $EDITOR, then creates service with edited content\nService created successfully!\n...\n",
914
+ "$ cat service.xs | xano ephemeral:run:service -w 1 --stdin\nService created successfully!\n...\n",
915
+ "$ xano ephemeral:run:service -w 1 -f service.xs -o json\n{\n \"service\": { \"id\": 1 },\n ...\n}\n"
1041
916
  ],
1042
917
  "flags": {
1043
918
  "profile": {
@@ -1059,6 +934,40 @@
1059
934
  "multiple": false,
1060
935
  "type": "option"
1061
936
  },
937
+ "file": {
938
+ "char": "f",
939
+ "description": "Path or URL to file containing XanoScript code",
940
+ "exclusive": [
941
+ "stdin"
942
+ ],
943
+ "name": "file",
944
+ "required": false,
945
+ "hasDynamicHelp": false,
946
+ "multiple": false,
947
+ "type": "option"
948
+ },
949
+ "stdin": {
950
+ "char": "s",
951
+ "description": "Read XanoScript code from stdin",
952
+ "exclusive": [
953
+ "file"
954
+ ],
955
+ "name": "stdin",
956
+ "required": false,
957
+ "allowNo": false,
958
+ "type": "boolean"
959
+ },
960
+ "edit": {
961
+ "char": "e",
962
+ "dependsOn": [
963
+ "file"
964
+ ],
965
+ "description": "Open file in editor before running service (requires --file)",
966
+ "name": "edit",
967
+ "required": false,
968
+ "allowNo": false,
969
+ "type": "boolean"
970
+ },
1062
971
  "output": {
1063
972
  "char": "o",
1064
973
  "description": "Output format",
@@ -1072,29 +981,11 @@
1072
981
  "json"
1073
982
  ],
1074
983
  "type": "option"
1075
- },
1076
- "page": {
1077
- "description": "Page number for pagination",
1078
- "name": "page",
1079
- "required": false,
1080
- "default": 1,
1081
- "hasDynamicHelp": false,
1082
- "multiple": false,
1083
- "type": "option"
1084
- },
1085
- "per_page": {
1086
- "description": "Number of results per page",
1087
- "name": "per_page",
1088
- "required": false,
1089
- "default": 50,
1090
- "hasDynamicHelp": false,
1091
- "multiple": false,
1092
- "type": "option"
1093
984
  }
1094
985
  },
1095
986
  "hasDynamicHelp": false,
1096
987
  "hiddenAliases": [],
1097
- "id": "static_host:list",
988
+ "id": "ephemeral:run:service",
1098
989
  "pluginAlias": "@xano/cli",
1099
990
  "pluginName": "@xano/cli",
1100
991
  "pluginType": "core",
@@ -1104,25 +995,23 @@
1104
995
  "relativePath": [
1105
996
  "dist",
1106
997
  "commands",
1107
- "static_host",
1108
- "list",
998
+ "ephemeral",
999
+ "run",
1000
+ "service",
1109
1001
  "index.js"
1110
1002
  ]
1111
1003
  },
1112
- "static_host:build:create": {
1004
+ "ephemeral:run:job": {
1113
1005
  "aliases": [],
1114
- "args": {
1115
- "static_host": {
1116
- "description": "Static Host name",
1117
- "name": "static_host",
1118
- "required": true
1119
- }
1120
- },
1121
- "description": "Create a new build for a static host",
1006
+ "args": {},
1007
+ "description": "Run an ephemeral job in a workspace",
1122
1008
  "examples": [
1123
- "$ 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",
1124
- "$ 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",
1125
- "$ 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"
1009
+ "$ xano ephemeral:run:job -w 1 -f script.xs\nJob executed successfully!\n...\n",
1010
+ "$ xano ephemeral:run:job -f script.xs\nJob executed successfully!\n...\n",
1011
+ "$ xano ephemeral:run:job -w 1 -f script.xs --edit\n# Opens script.xs in $EDITOR, then runs job with edited content\nJob executed successfully!\n...\n",
1012
+ "$ cat script.xs | xano ephemeral:run:job -w 1 --stdin\nJob executed successfully!\n...\n",
1013
+ "$ xano ephemeral:run:job -w 1 -f script.xs -o json\n{\n \"job\": { \"id\": 1, \"run\": { \"id\": 1 } },\n \"result\": { ... }\n}\n",
1014
+ "$ xano ephemeral:run:job -w 1 -f script.xs -a args.json\n# Runs job with input arguments from args.json\nJob executed successfully!\n...\n"
1126
1015
  ],
1127
1016
  "flags": {
1128
1017
  "profile": {
@@ -1146,30 +1035,37 @@
1146
1035
  },
1147
1036
  "file": {
1148
1037
  "char": "f",
1149
- "description": "Path to zip file to upload",
1038
+ "description": "Path or URL to file containing XanoScript code",
1039
+ "exclusive": [
1040
+ "stdin"
1041
+ ],
1150
1042
  "name": "file",
1151
- "required": true,
1043
+ "required": false,
1152
1044
  "hasDynamicHelp": false,
1153
1045
  "multiple": false,
1154
1046
  "type": "option"
1155
1047
  },
1156
- "name": {
1157
- "char": "n",
1158
- "description": "Build name",
1159
- "name": "name",
1160
- "required": true,
1161
- "hasDynamicHelp": false,
1162
- "multiple": false,
1163
- "type": "option"
1048
+ "stdin": {
1049
+ "char": "s",
1050
+ "description": "Read XanoScript code from stdin",
1051
+ "exclusive": [
1052
+ "file"
1053
+ ],
1054
+ "name": "stdin",
1055
+ "required": false,
1056
+ "allowNo": false,
1057
+ "type": "boolean"
1164
1058
  },
1165
- "description": {
1166
- "char": "d",
1167
- "description": "Build description",
1168
- "name": "description",
1059
+ "edit": {
1060
+ "char": "e",
1061
+ "dependsOn": [
1062
+ "file"
1063
+ ],
1064
+ "description": "Open file in editor before running job (requires --file)",
1065
+ "name": "edit",
1169
1066
  "required": false,
1170
- "hasDynamicHelp": false,
1171
- "multiple": false,
1172
- "type": "option"
1067
+ "allowNo": false,
1068
+ "type": "boolean"
1173
1069
  },
1174
1070
  "output": {
1175
1071
  "char": "o",
@@ -1184,11 +1080,20 @@
1184
1080
  "json"
1185
1081
  ],
1186
1082
  "type": "option"
1083
+ },
1084
+ "args": {
1085
+ "char": "a",
1086
+ "description": "Path or URL to JSON file containing input arguments",
1087
+ "name": "args",
1088
+ "required": false,
1089
+ "hasDynamicHelp": false,
1090
+ "multiple": false,
1091
+ "type": "option"
1187
1092
  }
1188
1093
  },
1189
1094
  "hasDynamicHelp": false,
1190
1095
  "hiddenAliases": [],
1191
- "id": "static_host:build:create",
1096
+ "id": "ephemeral:run:job",
1192
1097
  "pluginAlias": "@xano/cli",
1193
1098
  "pluginName": "@xano/cli",
1194
1099
  "pluginType": "core",
@@ -1198,9 +1103,9 @@
1198
1103
  "relativePath": [
1199
1104
  "dist",
1200
1105
  "commands",
1201
- "static_host",
1202
- "build",
1203
- "create",
1106
+ "ephemeral",
1107
+ "run",
1108
+ "job",
1204
1109
  "index.js"
1205
1110
  ]
1206
1111
  },
@@ -1278,6 +1183,101 @@
1278
1183
  "index.js"
1279
1184
  ]
1280
1185
  },
1186
+ "static_host:build:create": {
1187
+ "aliases": [],
1188
+ "args": {
1189
+ "static_host": {
1190
+ "description": "Static Host name",
1191
+ "name": "static_host",
1192
+ "required": true
1193
+ }
1194
+ },
1195
+ "description": "Create a new build for a static host",
1196
+ "examples": [
1197
+ "$ 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",
1198
+ "$ 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",
1199
+ "$ 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"
1200
+ ],
1201
+ "flags": {
1202
+ "profile": {
1203
+ "char": "p",
1204
+ "description": "Profile to use for this command",
1205
+ "env": "XANO_PROFILE",
1206
+ "name": "profile",
1207
+ "required": false,
1208
+ "hasDynamicHelp": false,
1209
+ "multiple": false,
1210
+ "type": "option"
1211
+ },
1212
+ "workspace": {
1213
+ "char": "w",
1214
+ "description": "Workspace ID (optional if set in profile)",
1215
+ "name": "workspace",
1216
+ "required": false,
1217
+ "hasDynamicHelp": false,
1218
+ "multiple": false,
1219
+ "type": "option"
1220
+ },
1221
+ "file": {
1222
+ "char": "f",
1223
+ "description": "Path to zip file to upload",
1224
+ "name": "file",
1225
+ "required": true,
1226
+ "hasDynamicHelp": false,
1227
+ "multiple": false,
1228
+ "type": "option"
1229
+ },
1230
+ "name": {
1231
+ "char": "n",
1232
+ "description": "Build name",
1233
+ "name": "name",
1234
+ "required": true,
1235
+ "hasDynamicHelp": false,
1236
+ "multiple": false,
1237
+ "type": "option"
1238
+ },
1239
+ "description": {
1240
+ "char": "d",
1241
+ "description": "Build description",
1242
+ "name": "description",
1243
+ "required": false,
1244
+ "hasDynamicHelp": false,
1245
+ "multiple": false,
1246
+ "type": "option"
1247
+ },
1248
+ "output": {
1249
+ "char": "o",
1250
+ "description": "Output format",
1251
+ "name": "output",
1252
+ "required": false,
1253
+ "default": "summary",
1254
+ "hasDynamicHelp": false,
1255
+ "multiple": false,
1256
+ "options": [
1257
+ "summary",
1258
+ "json"
1259
+ ],
1260
+ "type": "option"
1261
+ }
1262
+ },
1263
+ "hasDynamicHelp": false,
1264
+ "hiddenAliases": [],
1265
+ "id": "static_host:build:create",
1266
+ "pluginAlias": "@xano/cli",
1267
+ "pluginName": "@xano/cli",
1268
+ "pluginType": "core",
1269
+ "strict": true,
1270
+ "enableJsonFlag": false,
1271
+ "isESM": true,
1272
+ "relativePath": [
1273
+ "dist",
1274
+ "commands",
1275
+ "static_host",
1276
+ "build",
1277
+ "create",
1278
+ "index.js"
1279
+ ]
1280
+ },
1281
1281
  "static_host:build:list": {
1282
1282
  "aliases": [],
1283
1283
  "args": {
@@ -1366,5 +1366,5 @@
1366
1366
  ]
1367
1367
  }
1368
1368
  },
1369
- "version": "0.0.8"
1369
+ "version": "0.0.10"
1370
1370
  }