@exedev/sdk 0.0.6 → 0.1.0
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.
- package/LICENSE +21 -0
- package/README.md +52 -33
- package/dist/client.d.ts +25 -30
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +137 -78
- package/dist/client.js.map +1 -1
- package/dist/commands.gen.d.ts +1432 -0
- package/dist/commands.gen.d.ts.map +1 -0
- package/dist/commands.gen.js +1373 -0
- package/dist/commands.gen.js.map +1 -0
- package/dist/index.d.ts +5 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/types.d.ts +83 -7
- package/dist/types.d.ts.map +1 -1
- package/package.json +8 -5
|
@@ -0,0 +1,1373 @@
|
|
|
1
|
+
// Code generated by "go run ./cmd/gensdkjs" in the exe.dev repository. DO NOT EDIT.
|
|
2
|
+
//
|
|
3
|
+
// Every public exe.dev command that runs over the HTTPS API (POST /exec), as a
|
|
4
|
+
// method of Commands, documented with the command's own help text. Positional
|
|
5
|
+
// arguments are parameters; flags are keys of the options object, spelled as
|
|
6
|
+
// on the command line.
|
|
7
|
+
export class Commands {
|
|
8
|
+
/**
|
|
9
|
+
* Browse documentation
|
|
10
|
+
*
|
|
11
|
+
* Usage: `doc [slug-or-query...]`
|
|
12
|
+
*
|
|
13
|
+
* Tag-scoped API keys may run this command.
|
|
14
|
+
*/
|
|
15
|
+
doc(slugOrQueries, options) {
|
|
16
|
+
return this.run("doc", [slugOrQueries], options, {});
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* List your VMs
|
|
20
|
+
*
|
|
21
|
+
* Usage: `ls [-l] [--group=tag|region|type] [name|pattern]`
|
|
22
|
+
*
|
|
23
|
+
* Tag-scoped API keys may run this command.
|
|
24
|
+
*/
|
|
25
|
+
ls(nameOrPattern, options) {
|
|
26
|
+
return this.run("ls", [nameOrPattern], options, {
|
|
27
|
+
group: "string",
|
|
28
|
+
l: "bool",
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Create a new VM
|
|
33
|
+
*
|
|
34
|
+
* CLI examples:
|
|
35
|
+
* ```
|
|
36
|
+
* new # just give me a computer
|
|
37
|
+
* new --name=b --image=ubuntu:22.04 # custom image and name
|
|
38
|
+
* new --cpu=4 --memory=16GB # 4 CPUs, 16GB RAM
|
|
39
|
+
* new --disk=50GB # 50GB disk
|
|
40
|
+
* new --tag=prod,staging # create with tags
|
|
41
|
+
* new --env FOO=bar --env BAZ=qux # with environment variables
|
|
42
|
+
* new --integration=myproxy # attach an integration
|
|
43
|
+
* echo 'build me a web app' | ssh exe.dev new --prompt=/dev/stdin
|
|
44
|
+
* ```
|
|
45
|
+
*
|
|
46
|
+
* Tag-scoped API keys may run this command.
|
|
47
|
+
*/
|
|
48
|
+
new(options) {
|
|
49
|
+
return this.run("new", [], options, {
|
|
50
|
+
comment: "string",
|
|
51
|
+
cpu: "number",
|
|
52
|
+
disk: "string",
|
|
53
|
+
env: "repeated",
|
|
54
|
+
image: "string",
|
|
55
|
+
integration: "repeated",
|
|
56
|
+
memory: "string",
|
|
57
|
+
name: "string",
|
|
58
|
+
"no-email": "bool",
|
|
59
|
+
"no-pool": "bool",
|
|
60
|
+
pool: "string",
|
|
61
|
+
prompt: "string",
|
|
62
|
+
"registry-auth": "string",
|
|
63
|
+
sandbox: "bool",
|
|
64
|
+
"setup-script": "string",
|
|
65
|
+
standalone: "bool",
|
|
66
|
+
tag: "repeated",
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Delete a VM
|
|
71
|
+
*
|
|
72
|
+
* Usage: `rm <vmname>...`
|
|
73
|
+
*
|
|
74
|
+
* Tag-scoped API keys may run this command.
|
|
75
|
+
*/
|
|
76
|
+
rm(vmnames, options) {
|
|
77
|
+
return this.run("rm", [vmnames], options, {});
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Restart a VM
|
|
81
|
+
*
|
|
82
|
+
* Usage: `restart <vmname>`
|
|
83
|
+
*
|
|
84
|
+
* Tag-scoped API keys may run this command.
|
|
85
|
+
*/
|
|
86
|
+
restart(vmname, options) {
|
|
87
|
+
return this.run("restart", [vmname], options, {});
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Pause a VM (snapshot RAM to disk, free its CPU and memory)
|
|
91
|
+
*
|
|
92
|
+
* Usage: `pause <vmname>`
|
|
93
|
+
*
|
|
94
|
+
* CLI examples:
|
|
95
|
+
* ```
|
|
96
|
+
* pause my-vm # snapshot RAM to disk; resume later with 'resume my-vm'
|
|
97
|
+
* ```
|
|
98
|
+
*
|
|
99
|
+
* Tag-scoped API keys may run this command.
|
|
100
|
+
*/
|
|
101
|
+
pause(vmname, options) {
|
|
102
|
+
return this.run("pause", [vmname], options, {});
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Resume a paused VM (restore RAM from disk)
|
|
106
|
+
*
|
|
107
|
+
* Usage: `resume <vmname>`
|
|
108
|
+
*
|
|
109
|
+
* Tag-scoped API keys may run this command.
|
|
110
|
+
*/
|
|
111
|
+
resume(vmname, options) {
|
|
112
|
+
return this.run("resume", [vmname], options, {});
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* rename a vm
|
|
116
|
+
*
|
|
117
|
+
* Usage: `rename <oldname> <newname>`
|
|
118
|
+
*
|
|
119
|
+
* Tag-scoped API keys may run this command.
|
|
120
|
+
*/
|
|
121
|
+
rename(oldname, newname, options) {
|
|
122
|
+
return this.run("rename", [oldname, newname], options, {});
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Add or remove tags on a VM
|
|
126
|
+
*
|
|
127
|
+
* Usage: `tag [-d] <vm> <tag-name> [tag-name...]`
|
|
128
|
+
*
|
|
129
|
+
* CLI examples:
|
|
130
|
+
* ```
|
|
131
|
+
* tag my-vm prod web # add tags
|
|
132
|
+
* tag -d my-vm prod web # remove tags
|
|
133
|
+
* ```
|
|
134
|
+
*
|
|
135
|
+
* Tag-scoped API keys may run this command.
|
|
136
|
+
*/
|
|
137
|
+
tag(vm, tagNames, options) {
|
|
138
|
+
return this.run("tag", [vm, tagNames], options, {
|
|
139
|
+
d: "bool",
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Copy an existing VM
|
|
144
|
+
*
|
|
145
|
+
* Usage: `cp <source-vm> [new-name] [--pool=<name>] [--memory=<size>] [--cpu=<count>] [--disk=<size>]`
|
|
146
|
+
*
|
|
147
|
+
* CLI examples:
|
|
148
|
+
* ```
|
|
149
|
+
* cp my-vm # copy with auto-generated name
|
|
150
|
+
* cp my-vm my-vm-copy # copy with specific name
|
|
151
|
+
* cp my-vm --cpu=4 --memory=16GB # copy with different resources
|
|
152
|
+
* cp my-vm my-pool-copy --pool=build # copy into a team pool
|
|
153
|
+
* cp my-vm --copy-tags=false # copy without tags
|
|
154
|
+
* ```
|
|
155
|
+
*
|
|
156
|
+
* Tag-scoped API keys may run this command.
|
|
157
|
+
*/
|
|
158
|
+
cp(sourceVm, newName, options) {
|
|
159
|
+
return this.run("cp", [sourceVm, newName], options, {
|
|
160
|
+
"copy-tags": "bool",
|
|
161
|
+
cpu: "number",
|
|
162
|
+
disk: "string",
|
|
163
|
+
memory: "string",
|
|
164
|
+
pool: "string",
|
|
165
|
+
sandbox: "bool",
|
|
166
|
+
standalone: "bool",
|
|
167
|
+
});
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* Resize a VM's resources (memory, CPU, disk)
|
|
171
|
+
*
|
|
172
|
+
* Usage: `resize <vmname> [--memory=<size>] [--cpu=<count>] [--disk=<size>]`
|
|
173
|
+
*
|
|
174
|
+
* Tag-scoped API keys may run this command.
|
|
175
|
+
*/
|
|
176
|
+
resize(vmname, options) {
|
|
177
|
+
return this.run("resize", [vmname], options, {
|
|
178
|
+
cpu: "number",
|
|
179
|
+
disk: "string",
|
|
180
|
+
memory: "string",
|
|
181
|
+
});
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* Set or clear a short comment on a VM
|
|
185
|
+
*
|
|
186
|
+
* Usage: `comment <hostname> <text>`
|
|
187
|
+
*
|
|
188
|
+
* CLI examples:
|
|
189
|
+
* ```
|
|
190
|
+
* comment my-vm staging copy
|
|
191
|
+
* comment my-vm "" # clear the comment
|
|
192
|
+
* ```
|
|
193
|
+
*
|
|
194
|
+
* Tag-scoped API keys may run this command.
|
|
195
|
+
*/
|
|
196
|
+
comment(hostname, text, options) {
|
|
197
|
+
return this.run("comment", [hostname, text], options, {});
|
|
198
|
+
}
|
|
199
|
+
/**
|
|
200
|
+
* Link a custom domain to a VM
|
|
201
|
+
*
|
|
202
|
+
* Usage: `domain add [--wildcard] <vm> <domain>`
|
|
203
|
+
*/
|
|
204
|
+
domainAdd(vm, domain, options) {
|
|
205
|
+
return this.run("domain add", [vm, domain], options, {
|
|
206
|
+
wildcard: "bool",
|
|
207
|
+
});
|
|
208
|
+
}
|
|
209
|
+
/**
|
|
210
|
+
* Remove a custom domain from a VM
|
|
211
|
+
*
|
|
212
|
+
* Usage: `domain rm <vm> <domain>`
|
|
213
|
+
*/
|
|
214
|
+
domainRm(vm, domain, options) {
|
|
215
|
+
return this.run("domain rm", [vm, domain], options, {});
|
|
216
|
+
}
|
|
217
|
+
/**
|
|
218
|
+
* List custom domains for a VM (or -a for all your VMs)
|
|
219
|
+
*
|
|
220
|
+
* Usage: `domain ls <vm> | domain ls -a`
|
|
221
|
+
*/
|
|
222
|
+
domainLs(args, options) {
|
|
223
|
+
return this.run("domain ls", [args], options, {
|
|
224
|
+
a: "bool",
|
|
225
|
+
});
|
|
226
|
+
}
|
|
227
|
+
/**
|
|
228
|
+
* Show current shares for a VM
|
|
229
|
+
*
|
|
230
|
+
* Usage: `share show <vm>`
|
|
231
|
+
*
|
|
232
|
+
* Tag-scoped API keys may run this command.
|
|
233
|
+
*/
|
|
234
|
+
shareShow(vm, options) {
|
|
235
|
+
return this.run("share show", [vm], options, {
|
|
236
|
+
qr: "bool",
|
|
237
|
+
});
|
|
238
|
+
}
|
|
239
|
+
/**
|
|
240
|
+
* Set the HTTP proxy port for a VM
|
|
241
|
+
*
|
|
242
|
+
* Usage: `share port <vm> [port]`
|
|
243
|
+
*
|
|
244
|
+
* CLI examples:
|
|
245
|
+
* ```
|
|
246
|
+
* share port mybox 8080
|
|
247
|
+
* ```
|
|
248
|
+
*
|
|
249
|
+
* Tag-scoped API keys may run this command.
|
|
250
|
+
*/
|
|
251
|
+
sharePort(vm, port, options) {
|
|
252
|
+
return this.run("share port", [vm, port], options, {});
|
|
253
|
+
}
|
|
254
|
+
/**
|
|
255
|
+
* Make the HTTP proxy publicly accessible
|
|
256
|
+
*
|
|
257
|
+
* Usage: `share set-public <vm>`
|
|
258
|
+
*
|
|
259
|
+
* Tag-scoped API keys may run this command.
|
|
260
|
+
*/
|
|
261
|
+
shareSetPublic(vm, options) {
|
|
262
|
+
return this.run("share set-public", [vm], options, {});
|
|
263
|
+
}
|
|
264
|
+
/**
|
|
265
|
+
* Restrict the HTTP proxy to authenticated users
|
|
266
|
+
*
|
|
267
|
+
* Usage: `share set-private <vm>`
|
|
268
|
+
*
|
|
269
|
+
* Tag-scoped API keys may run this command.
|
|
270
|
+
*/
|
|
271
|
+
shareSetPrivate(vm, options) {
|
|
272
|
+
return this.run("share set-private", [vm], options, {});
|
|
273
|
+
}
|
|
274
|
+
/**
|
|
275
|
+
* Share VM with a user via email, or grant shell access with --root
|
|
276
|
+
*
|
|
277
|
+
* Usage: `share add <vm> <email|team> [--root] [--message='...']`
|
|
278
|
+
*
|
|
279
|
+
* CLI examples:
|
|
280
|
+
* ```
|
|
281
|
+
* share add mybox user@example.com
|
|
282
|
+
* share add mybox user@example.com --message='Check this out'
|
|
283
|
+
* share add mybox team
|
|
284
|
+
* share add mybox teammate@example.com --root
|
|
285
|
+
* share add mybox team --root
|
|
286
|
+
* ```
|
|
287
|
+
*
|
|
288
|
+
* Tag-scoped API keys may run this command.
|
|
289
|
+
*/
|
|
290
|
+
shareAdd(vm, emailOrTeam, options) {
|
|
291
|
+
return this.run("share add", [vm, emailOrTeam], options, {
|
|
292
|
+
message: "string",
|
|
293
|
+
qr: "bool",
|
|
294
|
+
root: "bool",
|
|
295
|
+
});
|
|
296
|
+
}
|
|
297
|
+
/**
|
|
298
|
+
* Revoke a user's access to a VM, or downgrade shell access to web with --root
|
|
299
|
+
*
|
|
300
|
+
* Usage: `share remove <vm> <email|team> [--root]`
|
|
301
|
+
*
|
|
302
|
+
* CLI examples:
|
|
303
|
+
* ```
|
|
304
|
+
* share remove mybox user@example.com
|
|
305
|
+
* share remove mybox team
|
|
306
|
+
* share remove mybox teammate@example.com --root
|
|
307
|
+
* share remove mybox team --root
|
|
308
|
+
* ```
|
|
309
|
+
*
|
|
310
|
+
* Tag-scoped API keys may run this command.
|
|
311
|
+
*/
|
|
312
|
+
shareRemove(vm, emailOrTeam, options) {
|
|
313
|
+
return this.run("share remove", [vm, emailOrTeam], options, {
|
|
314
|
+
root: "bool",
|
|
315
|
+
});
|
|
316
|
+
}
|
|
317
|
+
/**
|
|
318
|
+
* Create a shareable link for a VM
|
|
319
|
+
*
|
|
320
|
+
* Usage: `share add-link <vm>`
|
|
321
|
+
*
|
|
322
|
+
* Tag-scoped API keys may run this command.
|
|
323
|
+
*/
|
|
324
|
+
shareAddLink(vm, options) {
|
|
325
|
+
return this.run("share add-link", [vm], options, {
|
|
326
|
+
qr: "bool",
|
|
327
|
+
});
|
|
328
|
+
}
|
|
329
|
+
/**
|
|
330
|
+
* Revoke a shareable link
|
|
331
|
+
*
|
|
332
|
+
* Usage: `share remove-link <vm> <token>`
|
|
333
|
+
*
|
|
334
|
+
* Tag-scoped API keys may run this command.
|
|
335
|
+
*/
|
|
336
|
+
shareRemoveLink(vm, token, options) {
|
|
337
|
+
return this.run("share remove-link", [vm, token], options, {});
|
|
338
|
+
}
|
|
339
|
+
/**
|
|
340
|
+
* Enable or disable inbound email for a VM
|
|
341
|
+
*
|
|
342
|
+
* Usage: `share receive-email <vm> [on|off] [--reply-policy=all|known|owner|none]`
|
|
343
|
+
*
|
|
344
|
+
* CLI examples:
|
|
345
|
+
* ```
|
|
346
|
+
* share receive-email mybox on
|
|
347
|
+
* share receive-email mybox off
|
|
348
|
+
* share receive-email mybox --reply-policy=known
|
|
349
|
+
* share receive-email mybox
|
|
350
|
+
* ```
|
|
351
|
+
*
|
|
352
|
+
* Tag-scoped API keys may run this command.
|
|
353
|
+
*/
|
|
354
|
+
shareReceiveEmail(vm, onOrOff, options) {
|
|
355
|
+
return this.run("share receive-email", [vm, onOrOff], options, {
|
|
356
|
+
"reply-policy": "string",
|
|
357
|
+
});
|
|
358
|
+
}
|
|
359
|
+
/**
|
|
360
|
+
* Show user information (email, keys, etc)
|
|
361
|
+
*
|
|
362
|
+
* Usage: `whoami`
|
|
363
|
+
*
|
|
364
|
+
* Tag-scoped API keys may run this command.
|
|
365
|
+
*/
|
|
366
|
+
whoami(options) {
|
|
367
|
+
return this.run("whoami", [], options, {});
|
|
368
|
+
}
|
|
369
|
+
/**
|
|
370
|
+
* List all SSH keys associated with your account
|
|
371
|
+
*
|
|
372
|
+
* Usage: `ssh-key list`
|
|
373
|
+
*
|
|
374
|
+
* Tag-scoped API keys may run this command.
|
|
375
|
+
*/
|
|
376
|
+
sshKeyList(options) {
|
|
377
|
+
return this.run("ssh-key list", [], options, {});
|
|
378
|
+
}
|
|
379
|
+
/**
|
|
380
|
+
* Add a new SSH key to your account
|
|
381
|
+
*
|
|
382
|
+
* Usage: `ssh-key add [--tag=TAG] <public-key>`
|
|
383
|
+
*
|
|
384
|
+
* CLI examples:
|
|
385
|
+
* ```
|
|
386
|
+
* ssh-key add 'ssh-ed25519 AAAA... my-laptop'
|
|
387
|
+
*
|
|
388
|
+
* To generate a new key locally:
|
|
389
|
+
* ssh-keygen -t ed25519 -C "mnemonic-for-this-key" -f ~/.ssh/id_exe
|
|
390
|
+
*
|
|
391
|
+
* The -C flag sets a name for the key.
|
|
392
|
+
*
|
|
393
|
+
* Then add the public key from your local shell:
|
|
394
|
+
* cat ~/.ssh/id_exe.pub | ssh exe.dev ssh-key add
|
|
395
|
+
*
|
|
396
|
+
* Or from the exe.dev shell:
|
|
397
|
+
* ssh-key add 'ssh-ed25519 AAAA... my-laptop'
|
|
398
|
+
* ```
|
|
399
|
+
*
|
|
400
|
+
* Tag-scoped API keys may run this command.
|
|
401
|
+
*/
|
|
402
|
+
sshKeyAdd(publicKey, options) {
|
|
403
|
+
return this.run("ssh-key add", [publicKey], options, {
|
|
404
|
+
tag: "string",
|
|
405
|
+
});
|
|
406
|
+
}
|
|
407
|
+
/**
|
|
408
|
+
* Remove an SSH key from your account
|
|
409
|
+
*
|
|
410
|
+
* Usage: `ssh-key remove <name|fingerprint|public-key>`
|
|
411
|
+
*
|
|
412
|
+
* Tag-scoped API keys may run this command.
|
|
413
|
+
*/
|
|
414
|
+
sshKeyRemove(nameOrFingerprintOrPublicKey, options) {
|
|
415
|
+
return this.run("ssh-key remove", [nameOrFingerprintOrPublicKey], options, {});
|
|
416
|
+
}
|
|
417
|
+
/**
|
|
418
|
+
* Rename an SSH key
|
|
419
|
+
*
|
|
420
|
+
* Usage: `ssh-key rename <old-name> <new-name>`
|
|
421
|
+
*
|
|
422
|
+
* Tag-scoped API keys may run this command.
|
|
423
|
+
*/
|
|
424
|
+
sshKeyRename(oldName, newName, options) {
|
|
425
|
+
return this.run("ssh-key rename", [oldName, newName], options, {});
|
|
426
|
+
}
|
|
427
|
+
/**
|
|
428
|
+
* Generate an API key for the exe.dev HTTPS API or for a specific VM
|
|
429
|
+
*
|
|
430
|
+
* Usage: `ssh-key generate-api-key [--label=NAME] [--vm=VMNAME] [--cmds=CMD1,CMD2] [--exp=30d]`
|
|
431
|
+
*
|
|
432
|
+
* CLI examples:
|
|
433
|
+
* ```
|
|
434
|
+
* # Generate a key for the exe.dev API (lobby commands like ls, new, whoami):
|
|
435
|
+
* ssh-key generate-api-key --label=ci --cmds=ls,new --exp=90d
|
|
436
|
+
*
|
|
437
|
+
* # Generate a key scoped to a VM (authenticates to its HTTPS proxy):
|
|
438
|
+
* ssh-key generate-api-key --vm=my-vm --label=deploy
|
|
439
|
+
* ```
|
|
440
|
+
*
|
|
441
|
+
* Tag-scoped API keys may run this command.
|
|
442
|
+
*/
|
|
443
|
+
sshKeyGenerateApiKey(options) {
|
|
444
|
+
return this.run("ssh-key generate-api-key", [], options, {
|
|
445
|
+
cmds: "string",
|
|
446
|
+
exp: "string",
|
|
447
|
+
label: "string",
|
|
448
|
+
vm: "string",
|
|
449
|
+
});
|
|
450
|
+
}
|
|
451
|
+
/**
|
|
452
|
+
* Set your preferred region for new VMs.
|
|
453
|
+
*
|
|
454
|
+
* Usage: `set-region <region-code>`
|
|
455
|
+
*/
|
|
456
|
+
setRegion(regionCode, options) {
|
|
457
|
+
return this.run("set-region", [regionCode], options, {});
|
|
458
|
+
}
|
|
459
|
+
/**
|
|
460
|
+
* List your integrations
|
|
461
|
+
*
|
|
462
|
+
* Usage: `integrations list [--json [--usage]]`
|
|
463
|
+
*
|
|
464
|
+
* Tag-scoped API keys may run this command.
|
|
465
|
+
*/
|
|
466
|
+
integrationsList(options) {
|
|
467
|
+
return this.run("integrations list", [], options, {
|
|
468
|
+
usage: "bool",
|
|
469
|
+
});
|
|
470
|
+
}
|
|
471
|
+
/**
|
|
472
|
+
* Set up GitHub integration
|
|
473
|
+
*
|
|
474
|
+
* Usage: `integrations setup github [--list|--verify|-d]`
|
|
475
|
+
*/
|
|
476
|
+
integrationsSetupGithub(options) {
|
|
477
|
+
return this.run("integrations setup github", [], options, {
|
|
478
|
+
d: "bool",
|
|
479
|
+
delete: "bool",
|
|
480
|
+
list: "bool",
|
|
481
|
+
verify: "bool",
|
|
482
|
+
});
|
|
483
|
+
}
|
|
484
|
+
/**
|
|
485
|
+
* Set up ChatGPT account access for LLM integrations
|
|
486
|
+
*
|
|
487
|
+
* Usage: `integrations setup chatgpt [--name=<account-name>|--list|--verify|-d]`
|
|
488
|
+
*/
|
|
489
|
+
integrationsSetupChatgpt(options) {
|
|
490
|
+
return this.run("integrations setup chatgpt", [], options, {
|
|
491
|
+
d: "bool",
|
|
492
|
+
delete: "bool",
|
|
493
|
+
list: "bool",
|
|
494
|
+
name: "string",
|
|
495
|
+
verify: "bool",
|
|
496
|
+
});
|
|
497
|
+
}
|
|
498
|
+
/**
|
|
499
|
+
* Add a new integration
|
|
500
|
+
*
|
|
501
|
+
* Credential value flags (keys, tokens, passwords, bearer tokens, and webhook URLs) accept - to read from stdin.
|
|
502
|
+
*
|
|
503
|
+
* Usage: `integrations add <type> [--default | --name=<name> [--team] [args...]]`
|
|
504
|
+
*/
|
|
505
|
+
integrationsAdd(type, options) {
|
|
506
|
+
return this.run("integrations add", [type], options, {
|
|
507
|
+
"act-as-user": "bool",
|
|
508
|
+
attach: "repeated",
|
|
509
|
+
bearer: "string",
|
|
510
|
+
comment: "string",
|
|
511
|
+
default: "bool",
|
|
512
|
+
fields: "string",
|
|
513
|
+
for: "string",
|
|
514
|
+
header: "repeated",
|
|
515
|
+
"host-key": "repeated",
|
|
516
|
+
name: "string",
|
|
517
|
+
"no-auth": "bool",
|
|
518
|
+
peer: "bool",
|
|
519
|
+
readonly: "bool",
|
|
520
|
+
repository: "string",
|
|
521
|
+
"strip-prefix": "string",
|
|
522
|
+
target: "string",
|
|
523
|
+
team: "bool",
|
|
524
|
+
});
|
|
525
|
+
}
|
|
526
|
+
/**
|
|
527
|
+
* Remove an integration
|
|
528
|
+
*
|
|
529
|
+
* Usage: `integrations remove <name> [--team]`
|
|
530
|
+
*/
|
|
531
|
+
integrationsRemove(name, options) {
|
|
532
|
+
return this.run("integrations remove", [name], options, {
|
|
533
|
+
team: "bool",
|
|
534
|
+
});
|
|
535
|
+
}
|
|
536
|
+
/**
|
|
537
|
+
* Test an integration's credential (connection check)
|
|
538
|
+
*
|
|
539
|
+
* Usage: `integrations test <name> [--team]`
|
|
540
|
+
*/
|
|
541
|
+
integrationsTest(name, options) {
|
|
542
|
+
return this.run("integrations test", [name], options, {
|
|
543
|
+
team: "bool",
|
|
544
|
+
});
|
|
545
|
+
}
|
|
546
|
+
/**
|
|
547
|
+
* Edit an integration
|
|
548
|
+
*
|
|
549
|
+
* Credential value flags (keys, tokens, passwords, bearer tokens, and webhook URLs) accept - to read from stdin.
|
|
550
|
+
*
|
|
551
|
+
* Usage: `integrations edit <name> [--team] [args...]`
|
|
552
|
+
*/
|
|
553
|
+
integrationsEdit(name, args, options) {
|
|
554
|
+
return this.run("integrations edit", [name, args], options, {
|
|
555
|
+
"act-as-user": "bool",
|
|
556
|
+
bearer: "string",
|
|
557
|
+
"clear-header": "bool",
|
|
558
|
+
comment: "string",
|
|
559
|
+
fields: "string",
|
|
560
|
+
header: "repeated",
|
|
561
|
+
"host-key": "repeated",
|
|
562
|
+
"no-auth": "bool",
|
|
563
|
+
readonly: "bool",
|
|
564
|
+
repository: "string",
|
|
565
|
+
"strip-prefix": "string",
|
|
566
|
+
target: "string",
|
|
567
|
+
team: "bool",
|
|
568
|
+
"webhook-url": "string",
|
|
569
|
+
});
|
|
570
|
+
}
|
|
571
|
+
/**
|
|
572
|
+
* Attach an integration to a VM, tag, or all VMs
|
|
573
|
+
*
|
|
574
|
+
* A <spec> controls where the integration is mounted:
|
|
575
|
+
* vm:<vm-name> attach to a specific VM (personal only)
|
|
576
|
+
* tag:<tag-name> attach to every VM with the given tag
|
|
577
|
+
* auto:all attach to all current and future VMs (personal only)
|
|
578
|
+
*
|
|
579
|
+
* You can attach the same integration multiple times with different specs.
|
|
580
|
+
* Team integrations only support tag:<tag-name>.
|
|
581
|
+
*
|
|
582
|
+
* A grant can be time-boxed with --for <duration> or --until <RFC3339>;
|
|
583
|
+
* when it lapses, access stops immediately, with nothing to revoke.
|
|
584
|
+
* Re-attaching the same spec with a new --for/--until extends or shortens it.
|
|
585
|
+
*
|
|
586
|
+
* Usage: `integrations attach <name> <spec> [--team] [--for <duration> | --until <time>]`
|
|
587
|
+
*
|
|
588
|
+
* CLI examples:
|
|
589
|
+
* ```
|
|
590
|
+
* int attach my-mcp vm:dev1
|
|
591
|
+
* int attach my-mcp tag:production
|
|
592
|
+
* int attach my-mcp auto:all
|
|
593
|
+
* int attach shared-mcp tag:production
|
|
594
|
+
* int attach gmail vm:dev1 --for 2h
|
|
595
|
+
* ```
|
|
596
|
+
*/
|
|
597
|
+
integrationsAttach(name, spec, options) {
|
|
598
|
+
return this.run("integrations attach", [name, spec], options, {
|
|
599
|
+
for: "string",
|
|
600
|
+
team: "bool",
|
|
601
|
+
until: "string",
|
|
602
|
+
});
|
|
603
|
+
}
|
|
604
|
+
/**
|
|
605
|
+
* Detach an integration from a VM, tag, or all VMs
|
|
606
|
+
*
|
|
607
|
+
* Usage: `integrations detach <name> <spec> [--team]`
|
|
608
|
+
*/
|
|
609
|
+
integrationsDetach(name, spec, options) {
|
|
610
|
+
return this.run("integrations detach", [name, spec], options, {
|
|
611
|
+
team: "bool",
|
|
612
|
+
});
|
|
613
|
+
}
|
|
614
|
+
/**
|
|
615
|
+
* Rename an integration
|
|
616
|
+
*
|
|
617
|
+
* Usage: `integrations rename <name> <new-name> [--team]`
|
|
618
|
+
*/
|
|
619
|
+
integrationsRename(name, newName, options) {
|
|
620
|
+
return this.run("integrations rename", [name, newName], options, {
|
|
621
|
+
team: "bool",
|
|
622
|
+
});
|
|
623
|
+
}
|
|
624
|
+
/**
|
|
625
|
+
* Browse the catalog of ready-made service integrations
|
|
626
|
+
*
|
|
627
|
+
* Usage: `integrations catalog [service-or-search-term]`
|
|
628
|
+
*
|
|
629
|
+
* CLI examples:
|
|
630
|
+
* ```
|
|
631
|
+
* int catalog
|
|
632
|
+
* int catalog stripe
|
|
633
|
+
* ```
|
|
634
|
+
*/
|
|
635
|
+
integrationsCatalog(serviceOrSearchTerm, options) {
|
|
636
|
+
return this.run("integrations catalog", [serviceOrSearchTerm], options, {});
|
|
637
|
+
}
|
|
638
|
+
/**
|
|
639
|
+
* View and manage your team
|
|
640
|
+
*/
|
|
641
|
+
team(options) {
|
|
642
|
+
return this.run("team", [], options, {});
|
|
643
|
+
}
|
|
644
|
+
/**
|
|
645
|
+
* Disband your team
|
|
646
|
+
*
|
|
647
|
+
* Usage: `team disable`
|
|
648
|
+
*/
|
|
649
|
+
teamDisable(options) {
|
|
650
|
+
return this.run("team disable", [], options, {
|
|
651
|
+
yes: "bool",
|
|
652
|
+
});
|
|
653
|
+
}
|
|
654
|
+
/**
|
|
655
|
+
* List team members
|
|
656
|
+
*
|
|
657
|
+
* Usage: `team members`
|
|
658
|
+
*/
|
|
659
|
+
teamMembers(options) {
|
|
660
|
+
return this.run("team members", [], options, {});
|
|
661
|
+
}
|
|
662
|
+
/**
|
|
663
|
+
* Show team pool, disk, and bandwidth usage for the billing period
|
|
664
|
+
*
|
|
665
|
+
* Usage: `team usage`
|
|
666
|
+
*/
|
|
667
|
+
teamUsage(options) {
|
|
668
|
+
return this.run("team usage", [], options, {});
|
|
669
|
+
}
|
|
670
|
+
/**
|
|
671
|
+
* Add a user to the team
|
|
672
|
+
*
|
|
673
|
+
* Usage: `team add <email> [<user|admin|billing_owner>]`
|
|
674
|
+
*/
|
|
675
|
+
teamAdd(email, userOrAdminOrBillingOwner, options) {
|
|
676
|
+
return this.run("team add", [email, userOrAdminOrBillingOwner], options, {});
|
|
677
|
+
}
|
|
678
|
+
/**
|
|
679
|
+
* Remove a user from the team
|
|
680
|
+
*
|
|
681
|
+
* Usage: `team remove <email> [--transfer-vms-to <email>]`
|
|
682
|
+
*/
|
|
683
|
+
teamRemove(email, options) {
|
|
684
|
+
return this.run("team remove", [email], options, {
|
|
685
|
+
"transfer-vms-to": "string",
|
|
686
|
+
});
|
|
687
|
+
}
|
|
688
|
+
/**
|
|
689
|
+
* Change a team member's role
|
|
690
|
+
*
|
|
691
|
+
* Usage: `team role <email> <user|admin|billing_owner>`
|
|
692
|
+
*/
|
|
693
|
+
teamRole(email, userOrAdminOrBillingOwner, options) {
|
|
694
|
+
return this.run("team role", [email, userOrAdminOrBillingOwner], options, {});
|
|
695
|
+
}
|
|
696
|
+
/**
|
|
697
|
+
* Rename your team
|
|
698
|
+
*
|
|
699
|
+
* Usage: `team rename <name>`
|
|
700
|
+
*/
|
|
701
|
+
teamRename(name, options) {
|
|
702
|
+
return this.run("team rename", [name], options, {});
|
|
703
|
+
}
|
|
704
|
+
/**
|
|
705
|
+
* Show your team's plan
|
|
706
|
+
*
|
|
707
|
+
* Usage: `team billing plan [--all]`
|
|
708
|
+
*
|
|
709
|
+
* CLI examples:
|
|
710
|
+
* ```
|
|
711
|
+
* team billing plan
|
|
712
|
+
* team billing plan --all # plans your team can switch to
|
|
713
|
+
* ```
|
|
714
|
+
*/
|
|
715
|
+
teamBillingPlan(options) {
|
|
716
|
+
return this.run("team billing plan", [], options, {
|
|
717
|
+
all: "bool",
|
|
718
|
+
});
|
|
719
|
+
}
|
|
720
|
+
/**
|
|
721
|
+
* Update team billing information
|
|
722
|
+
*
|
|
723
|
+
* Usage: `team billing update [--email=<email>] [--name=<name>] [--business-name=<name>] [--phone=<phone>] [--address-line1=<line>] [--address-line2=<line>] [--address-city=<city>] [--address-state=<state>] [--address-postal-code=<code>] [--address-country=<country>] [--tax-id-type=<type>] [--tax-id-value=<value>]`
|
|
724
|
+
*/
|
|
725
|
+
teamBillingUpdate(options) {
|
|
726
|
+
return this.run("team billing update", [], options, {
|
|
727
|
+
"address-city": "string",
|
|
728
|
+
"address-country": "string",
|
|
729
|
+
"address-line1": "string",
|
|
730
|
+
"address-line2": "string",
|
|
731
|
+
"address-postal-code": "string",
|
|
732
|
+
"address-state": "string",
|
|
733
|
+
"business-name": "string",
|
|
734
|
+
email: "string",
|
|
735
|
+
name: "string",
|
|
736
|
+
phone: "string",
|
|
737
|
+
"tax-id-type": "string",
|
|
738
|
+
"tax-id-value": "string",
|
|
739
|
+
});
|
|
740
|
+
}
|
|
741
|
+
/**
|
|
742
|
+
* Transfer a VM to another team member
|
|
743
|
+
*
|
|
744
|
+
* Usage: `team transfer <vm_name> <target_email>`
|
|
745
|
+
*/
|
|
746
|
+
teamTransfer(vmName, targetEmail, options) {
|
|
747
|
+
return this.run("team transfer", [vmName, targetEmail], options, {});
|
|
748
|
+
}
|
|
749
|
+
/**
|
|
750
|
+
* View and manage team auth settings
|
|
751
|
+
*
|
|
752
|
+
* Usage: `team auth`
|
|
753
|
+
*/
|
|
754
|
+
teamAuth(options) {
|
|
755
|
+
return this.run("team auth", [], options, {});
|
|
756
|
+
}
|
|
757
|
+
/**
|
|
758
|
+
* Require OIDC for web login (web|off)
|
|
759
|
+
*
|
|
760
|
+
* Usage: `team auth require-oidc <web|off>`
|
|
761
|
+
*/
|
|
762
|
+
teamAuthRequireOidc(webOrOff, options) {
|
|
763
|
+
return this.run("team auth require-oidc", [webOrOff], options, {});
|
|
764
|
+
}
|
|
765
|
+
/**
|
|
766
|
+
* Set the team auth provider (default, google, oidc)
|
|
767
|
+
*
|
|
768
|
+
* Usage: `team auth set <default|google|oidc> [--issuer-url=<url> --client-id=<id> --client-secret=<secret>]`
|
|
769
|
+
*/
|
|
770
|
+
teamAuthSet(defaultOrGoogleOrOidc, options) {
|
|
771
|
+
return this.run("team auth set", [defaultOrGoogleOrOidc], options, {
|
|
772
|
+
"client-id": "string",
|
|
773
|
+
"client-secret": "string",
|
|
774
|
+
"display-name": "string",
|
|
775
|
+
"issuer-url": "string",
|
|
776
|
+
});
|
|
777
|
+
}
|
|
778
|
+
/**
|
|
779
|
+
* View and manage team settings
|
|
780
|
+
*
|
|
781
|
+
* Usage: `team settings`
|
|
782
|
+
*/
|
|
783
|
+
teamSettings(options) {
|
|
784
|
+
return this.run("team settings", [], options, {});
|
|
785
|
+
}
|
|
786
|
+
/**
|
|
787
|
+
* View and manage automatic VM placement
|
|
788
|
+
*
|
|
789
|
+
* Usage: `team settings vm-placement`
|
|
790
|
+
*/
|
|
791
|
+
teamSettingsVmPlacement(options) {
|
|
792
|
+
return this.run("team settings vm-placement", [], options, {});
|
|
793
|
+
}
|
|
794
|
+
/**
|
|
795
|
+
* Use ordinary VM placement
|
|
796
|
+
*
|
|
797
|
+
* Usage: `team settings vm-placement default`
|
|
798
|
+
*/
|
|
799
|
+
teamSettingsVmPlacementDefault(options) {
|
|
800
|
+
return this.run("team settings vm-placement default", [], options, {});
|
|
801
|
+
}
|
|
802
|
+
/**
|
|
803
|
+
* Send bare new commands to a shared team pool
|
|
804
|
+
*
|
|
805
|
+
* Usage: `team settings vm-placement pool <name>`
|
|
806
|
+
*/
|
|
807
|
+
teamSettingsVmPlacementPool(name, options) {
|
|
808
|
+
return this.run("team settings vm-placement pool", [name], options, {});
|
|
809
|
+
}
|
|
810
|
+
/**
|
|
811
|
+
* Create or reuse one team pool per member for bare new commands
|
|
812
|
+
*
|
|
813
|
+
* Usage: `team settings vm-placement member-pool --cpus=N [--max-vms=N]`
|
|
814
|
+
*/
|
|
815
|
+
teamSettingsVmPlacementMemberPool(options) {
|
|
816
|
+
return this.run("team settings vm-placement member-pool", [], options, {
|
|
817
|
+
cpus: "number",
|
|
818
|
+
"max-vms": "number",
|
|
819
|
+
});
|
|
820
|
+
}
|
|
821
|
+
/**
|
|
822
|
+
* Keep bare new commands outside pools while migrating (legacy)
|
|
823
|
+
*
|
|
824
|
+
* Usage: `team settings vm-placement poolless`
|
|
825
|
+
*/
|
|
826
|
+
teamSettingsVmPlacementPoolless(options) {
|
|
827
|
+
return this.run("team settings vm-placement poolless", [], options, {});
|
|
828
|
+
}
|
|
829
|
+
/**
|
|
830
|
+
* Set who can create standalone VMs
|
|
831
|
+
*
|
|
832
|
+
* Usage: `team settings standalone <off|admins-only|all-users>`
|
|
833
|
+
*/
|
|
834
|
+
teamSettingsStandalone(offOrAdminsOnlyOrAllUsers, options) {
|
|
835
|
+
return this.run("team settings standalone", [offOrAdminsOnlyOrAllUsers], options, {});
|
|
836
|
+
}
|
|
837
|
+
/**
|
|
838
|
+
* Allow or block the exe.dev LLM gateway (your own API keys are unaffected)
|
|
839
|
+
*
|
|
840
|
+
* Usage: `team settings llm-gateway <on|off>`
|
|
841
|
+
*/
|
|
842
|
+
teamSettingsLlmGateway(onOrOff, options) {
|
|
843
|
+
return this.run("team settings llm-gateway", [onOrOff], options, {});
|
|
844
|
+
}
|
|
845
|
+
/**
|
|
846
|
+
* Allow team VMs to share CPU cores with each other
|
|
847
|
+
*
|
|
848
|
+
* Usage: `team settings core-sharing <on|off>`
|
|
849
|
+
*/
|
|
850
|
+
teamSettingsCoreSharing(onOrOff, options) {
|
|
851
|
+
return this.run("team settings core-sharing", [onOrOff], options, {});
|
|
852
|
+
}
|
|
853
|
+
/**
|
|
854
|
+
* Set who can share team VMs
|
|
855
|
+
*
|
|
856
|
+
* Usage: `team settings vm-sharing <admins-only|all-members>`
|
|
857
|
+
*/
|
|
858
|
+
teamSettingsVmSharing(adminsOnlyOrAllMembers, options) {
|
|
859
|
+
return this.run("team settings vm-sharing", [adminsOnlyOrAllMembers], options, {});
|
|
860
|
+
}
|
|
861
|
+
/**
|
|
862
|
+
* Set how long members stay signed in on the web and mobile apps
|
|
863
|
+
*
|
|
864
|
+
* Usage: `team settings session-length <length>`
|
|
865
|
+
*
|
|
866
|
+
* CLI examples:
|
|
867
|
+
* ```
|
|
868
|
+
* team settings session-length 1d
|
|
869
|
+
* team settings session-length default
|
|
870
|
+
* ```
|
|
871
|
+
*/
|
|
872
|
+
teamSettingsSessionLength(length, options) {
|
|
873
|
+
return this.run("team settings session-length", [length], options, {});
|
|
874
|
+
}
|
|
875
|
+
/**
|
|
876
|
+
* Allow users from your email domain to join this team on signup
|
|
877
|
+
*
|
|
878
|
+
* Usage: `team settings auto-join <on|off>`
|
|
879
|
+
*/
|
|
880
|
+
teamSettingsAutoJoin(onOrOff, options) {
|
|
881
|
+
return this.run("team settings auto-join", [onOrOff], options, {});
|
|
882
|
+
}
|
|
883
|
+
/**
|
|
884
|
+
* List all VMs across your team
|
|
885
|
+
*
|
|
886
|
+
* Usage: `team vm ls [-l] [--group=tag|region|type|user|access] [name|pattern]`
|
|
887
|
+
*
|
|
888
|
+
* Tag-scoped API keys may run this command.
|
|
889
|
+
*/
|
|
890
|
+
teamVmLs(nameOrPattern, options) {
|
|
891
|
+
return this.run("team vm ls", [nameOrPattern], options, {
|
|
892
|
+
group: "string",
|
|
893
|
+
l: "bool",
|
|
894
|
+
});
|
|
895
|
+
}
|
|
896
|
+
/**
|
|
897
|
+
* Create a pool: reserved capacity for your team's VMs
|
|
898
|
+
*
|
|
899
|
+
* Usage: `pool new <name> --cpus=N [--region=<region>] [--max-vms=M]`
|
|
900
|
+
*/
|
|
901
|
+
poolNew(name, options) {
|
|
902
|
+
return this.run("pool new", [name], options, {
|
|
903
|
+
cpus: "number",
|
|
904
|
+
"max-vms": "number",
|
|
905
|
+
region: "string",
|
|
906
|
+
});
|
|
907
|
+
}
|
|
908
|
+
/**
|
|
909
|
+
* Show your team's dedicated hosts, where its new pools are placed
|
|
910
|
+
*
|
|
911
|
+
* Usage: `pool hosts`
|
|
912
|
+
*/
|
|
913
|
+
poolHosts(options) {
|
|
914
|
+
return this.run("pool hosts", [], options, {});
|
|
915
|
+
}
|
|
916
|
+
/**
|
|
917
|
+
* List your team's pools, or show live or historical usage with --usage
|
|
918
|
+
*
|
|
919
|
+
* Usage: `pool list [pool-name] [--usage [--range=live|24h|7d|30d]]`
|
|
920
|
+
*/
|
|
921
|
+
poolList(poolName, options) {
|
|
922
|
+
return this.run("pool list", [poolName], options, {
|
|
923
|
+
range: "string",
|
|
924
|
+
usage: "bool",
|
|
925
|
+
});
|
|
926
|
+
}
|
|
927
|
+
/**
|
|
928
|
+
* Adopt a VM into a pool; this can take several minutes
|
|
929
|
+
*
|
|
930
|
+
* Usage: `pool adopt --vm=<vm-name> --pool=<pool-name>`
|
|
931
|
+
*
|
|
932
|
+
* CLI examples:
|
|
933
|
+
* ```
|
|
934
|
+
* pool adopt --vm=builder --pool=compile
|
|
935
|
+
* ```
|
|
936
|
+
*/
|
|
937
|
+
poolAdopt(options) {
|
|
938
|
+
return this.run("pool adopt", [], options, {
|
|
939
|
+
pool: "string",
|
|
940
|
+
vm: "string",
|
|
941
|
+
});
|
|
942
|
+
}
|
|
943
|
+
/**
|
|
944
|
+
* Detach a VM from its pool into its own standalone capacity (--poolless leaves it outside any pool)
|
|
945
|
+
*
|
|
946
|
+
* Usage: `pool detach --vm=<vm-name> [--poolless]`
|
|
947
|
+
*
|
|
948
|
+
* CLI examples:
|
|
949
|
+
* ```
|
|
950
|
+
* pool detach --vm=builder
|
|
951
|
+
* pool detach --vm=builder --poolless
|
|
952
|
+
* ```
|
|
953
|
+
*/
|
|
954
|
+
poolDetach(options) {
|
|
955
|
+
return this.run("pool detach", [], options, {
|
|
956
|
+
poolless: "bool",
|
|
957
|
+
vm: "string",
|
|
958
|
+
});
|
|
959
|
+
}
|
|
960
|
+
/**
|
|
961
|
+
* Change a pool's CPU capacity or VM cap
|
|
962
|
+
*
|
|
963
|
+
* Usage: `pool resize <name> --cpus=N | pool resize <name> --max-vms=N [--force]`
|
|
964
|
+
*/
|
|
965
|
+
poolResize(args, options) {
|
|
966
|
+
return this.run("pool resize", [args], options, {
|
|
967
|
+
cpus: "number",
|
|
968
|
+
force: "bool",
|
|
969
|
+
"max-vms": "string",
|
|
970
|
+
});
|
|
971
|
+
}
|
|
972
|
+
/**
|
|
973
|
+
* Rename a pool without changing its capacity or VMs
|
|
974
|
+
*
|
|
975
|
+
* Usage: `pool rename <old-name> <new-name>`
|
|
976
|
+
*/
|
|
977
|
+
poolRename(oldName, newName, options) {
|
|
978
|
+
return this.run("pool rename", [oldName, newName], options, {});
|
|
979
|
+
}
|
|
980
|
+
/**
|
|
981
|
+
* Delete a pool (refused while it has VMs; --force detaches them)
|
|
982
|
+
*
|
|
983
|
+
* Usage: `pool delete <name> [--force]`
|
|
984
|
+
*/
|
|
985
|
+
poolDelete(name, options) {
|
|
986
|
+
return this.run("pool delete", [name], options, {});
|
|
987
|
+
}
|
|
988
|
+
/**
|
|
989
|
+
* Show your current plan and resource limits
|
|
990
|
+
*
|
|
991
|
+
* Usage: `billing plan [--all]`
|
|
992
|
+
*
|
|
993
|
+
* CLI examples:
|
|
994
|
+
* ```
|
|
995
|
+
* billing plan
|
|
996
|
+
* billing plan --all # plans you can switch to
|
|
997
|
+
* ```
|
|
998
|
+
*/
|
|
999
|
+
billingPlan(options) {
|
|
1000
|
+
return this.run("billing plan", [], options, {
|
|
1001
|
+
all: "bool",
|
|
1002
|
+
});
|
|
1003
|
+
}
|
|
1004
|
+
/**
|
|
1005
|
+
* Show VM resource usage against your plan quotas
|
|
1006
|
+
*
|
|
1007
|
+
* Usage: `billing usage [--range=cycle|24h|7d|30d] [--group=vm]`
|
|
1008
|
+
*
|
|
1009
|
+
* CLI examples:
|
|
1010
|
+
* ```
|
|
1011
|
+
* billing usage --range=7d
|
|
1012
|
+
* billing credits usage # Shelley/LLM credit spend instead
|
|
1013
|
+
* ```
|
|
1014
|
+
*/
|
|
1015
|
+
billingUsage(options) {
|
|
1016
|
+
return this.run("billing usage", [], options, {
|
|
1017
|
+
group: "string",
|
|
1018
|
+
range: "string",
|
|
1019
|
+
});
|
|
1020
|
+
}
|
|
1021
|
+
/**
|
|
1022
|
+
* Show Shelley credit balances
|
|
1023
|
+
*
|
|
1024
|
+
* Usage: `billing credits [usage|transactions|buy]`
|
|
1025
|
+
*/
|
|
1026
|
+
billingCredits(options) {
|
|
1027
|
+
return this.run("billing credits", [], options, {});
|
|
1028
|
+
}
|
|
1029
|
+
/**
|
|
1030
|
+
* Show Shelley (LLM) credit spend by model, day, or VM
|
|
1031
|
+
*
|
|
1032
|
+
* Usage: `billing credits usage [--month=YYYY-MM] [--group=model|day|box] [--detail]`
|
|
1033
|
+
*
|
|
1034
|
+
* CLI examples:
|
|
1035
|
+
* ```
|
|
1036
|
+
* billing credits usage --group=day
|
|
1037
|
+
* billing credits usage --group=box --detail
|
|
1038
|
+
* billing credits usage --month=2026-05 --group=box
|
|
1039
|
+
* ```
|
|
1040
|
+
*/
|
|
1041
|
+
billingCreditsUsage(options) {
|
|
1042
|
+
return this.run("billing credits usage", [], options, {
|
|
1043
|
+
detail: "bool",
|
|
1044
|
+
group: "string",
|
|
1045
|
+
month: "string",
|
|
1046
|
+
});
|
|
1047
|
+
}
|
|
1048
|
+
/**
|
|
1049
|
+
* Show your credit purchases and gifts
|
|
1050
|
+
*
|
|
1051
|
+
* Usage: `billing credits transactions [--limit=N]`
|
|
1052
|
+
*/
|
|
1053
|
+
billingCreditsTransactions(options) {
|
|
1054
|
+
return this.run("billing credits transactions", [], options, {
|
|
1055
|
+
limit: "string",
|
|
1056
|
+
});
|
|
1057
|
+
}
|
|
1058
|
+
/**
|
|
1059
|
+
* Buy Shelley credits with your personal payment method
|
|
1060
|
+
*
|
|
1061
|
+
* Usage: `billing credits buy <dollars> [--yes]`
|
|
1062
|
+
*
|
|
1063
|
+
* CLI examples:
|
|
1064
|
+
* ```
|
|
1065
|
+
* billing credits buy 25
|
|
1066
|
+
* billing credits buy 100 --yes
|
|
1067
|
+
* ```
|
|
1068
|
+
*/
|
|
1069
|
+
billingCreditsBuy(dollars, options) {
|
|
1070
|
+
return this.run("billing credits buy", [dollars], options, {
|
|
1071
|
+
"idempotency-key": "string",
|
|
1072
|
+
yes: "bool",
|
|
1073
|
+
});
|
|
1074
|
+
}
|
|
1075
|
+
/**
|
|
1076
|
+
* Show invite rewards you've earned
|
|
1077
|
+
*
|
|
1078
|
+
* Usage: `billing rewards`
|
|
1079
|
+
*/
|
|
1080
|
+
billingRewards(options) {
|
|
1081
|
+
return this.run("billing rewards", [], options, {});
|
|
1082
|
+
}
|
|
1083
|
+
/**
|
|
1084
|
+
* Change your subscription capacity
|
|
1085
|
+
*
|
|
1086
|
+
* Usage: `billing capacity [--cpu=N] [--yes]`
|
|
1087
|
+
*
|
|
1088
|
+
* CLI examples:
|
|
1089
|
+
* ```
|
|
1090
|
+
* billing capacity
|
|
1091
|
+
* billing capacity --cpu=4 --yes
|
|
1092
|
+
* ```
|
|
1093
|
+
*/
|
|
1094
|
+
billingCapacity(options) {
|
|
1095
|
+
return this.run("billing capacity", [], options, {
|
|
1096
|
+
cpu: "number",
|
|
1097
|
+
yes: "bool",
|
|
1098
|
+
});
|
|
1099
|
+
}
|
|
1100
|
+
/**
|
|
1101
|
+
* Show your payment methods
|
|
1102
|
+
*
|
|
1103
|
+
* Usage: `billing payment [list]`
|
|
1104
|
+
*/
|
|
1105
|
+
billingPayment(options) {
|
|
1106
|
+
return this.run("billing payment", [], options, {});
|
|
1107
|
+
}
|
|
1108
|
+
/**
|
|
1109
|
+
* List all payment methods on file
|
|
1110
|
+
*
|
|
1111
|
+
* Usage: `billing payment list`
|
|
1112
|
+
*/
|
|
1113
|
+
billingPaymentList(options) {
|
|
1114
|
+
return this.run("billing payment list", [], options, {});
|
|
1115
|
+
}
|
|
1116
|
+
/**
|
|
1117
|
+
* Remove a saved payment method
|
|
1118
|
+
*
|
|
1119
|
+
* Usage: `billing payment remove <ref>`
|
|
1120
|
+
*
|
|
1121
|
+
* CLI examples:
|
|
1122
|
+
* ```
|
|
1123
|
+
* billing payment remove 4f1c2a9b8d3e
|
|
1124
|
+
* ```
|
|
1125
|
+
*/
|
|
1126
|
+
billingPaymentRemove(ref, options) {
|
|
1127
|
+
return this.run("billing payment remove", [ref], options, {});
|
|
1128
|
+
}
|
|
1129
|
+
/**
|
|
1130
|
+
* Make a saved payment method the default
|
|
1131
|
+
*
|
|
1132
|
+
* Usage: `billing payment default <ref>`
|
|
1133
|
+
*
|
|
1134
|
+
* CLI examples:
|
|
1135
|
+
* ```
|
|
1136
|
+
* billing payment default 4f1c2a9b8d3e
|
|
1137
|
+
* ```
|
|
1138
|
+
*/
|
|
1139
|
+
billingPaymentDefault(ref, options) {
|
|
1140
|
+
return this.run("billing payment default", [ref], options, {});
|
|
1141
|
+
}
|
|
1142
|
+
/**
|
|
1143
|
+
* Open the billing management page
|
|
1144
|
+
*
|
|
1145
|
+
* Usage: `billing manage`
|
|
1146
|
+
*/
|
|
1147
|
+
billingManage(options) {
|
|
1148
|
+
return this.run("billing manage", [], options, {});
|
|
1149
|
+
}
|
|
1150
|
+
/**
|
|
1151
|
+
* Open the personal plan activation page
|
|
1152
|
+
*
|
|
1153
|
+
* Usage: `billing activate`
|
|
1154
|
+
*/
|
|
1155
|
+
billingActivate(options) {
|
|
1156
|
+
return this.run("billing activate", [], options, {});
|
|
1157
|
+
}
|
|
1158
|
+
/**
|
|
1159
|
+
* Update your billing contact information
|
|
1160
|
+
*
|
|
1161
|
+
* Usage: `billing update [--email=<email>] [--name=<name>] [--business-name=<name>] [--phone=<phone>] [--address-line1=<line>] [--address-line2=<line>] [--address-city=<city>] [--address-state=<state>] [--address-postal-code=<code>] [--address-country=<country>] [--tax-id-type=<type>] [--tax-id-value=<value>]`
|
|
1162
|
+
*/
|
|
1163
|
+
billingUpdate(options) {
|
|
1164
|
+
return this.run("billing update", [], options, {
|
|
1165
|
+
"address-city": "string",
|
|
1166
|
+
"address-country": "string",
|
|
1167
|
+
"address-line1": "string",
|
|
1168
|
+
"address-line2": "string",
|
|
1169
|
+
"address-postal-code": "string",
|
|
1170
|
+
"address-state": "string",
|
|
1171
|
+
"business-name": "string",
|
|
1172
|
+
email: "string",
|
|
1173
|
+
name: "string",
|
|
1174
|
+
phone: "string",
|
|
1175
|
+
"tax-id-type": "string",
|
|
1176
|
+
"tax-id-value": "string",
|
|
1177
|
+
});
|
|
1178
|
+
}
|
|
1179
|
+
/**
|
|
1180
|
+
* Show recent invoices
|
|
1181
|
+
*
|
|
1182
|
+
* Usage: `billing invoices`
|
|
1183
|
+
*/
|
|
1184
|
+
billingInvoices(options) {
|
|
1185
|
+
return this.run("billing invoices", [], options, {});
|
|
1186
|
+
}
|
|
1187
|
+
/**
|
|
1188
|
+
* List invoices for your personal or team account
|
|
1189
|
+
*
|
|
1190
|
+
* Usage: `billing invoices list [--account=personal|team]`
|
|
1191
|
+
*
|
|
1192
|
+
* CLI examples:
|
|
1193
|
+
* ```
|
|
1194
|
+
* billing invoices list --account=team
|
|
1195
|
+
* ```
|
|
1196
|
+
*/
|
|
1197
|
+
billingInvoicesList(options) {
|
|
1198
|
+
return this.run("billing invoices list", [], options, {
|
|
1199
|
+
account: "string",
|
|
1200
|
+
});
|
|
1201
|
+
}
|
|
1202
|
+
/**
|
|
1203
|
+
* Show one invoice with its usage breakdown
|
|
1204
|
+
*
|
|
1205
|
+
* Usage: `billing invoices show <id> [--vms]`
|
|
1206
|
+
*
|
|
1207
|
+
* CLI examples:
|
|
1208
|
+
* ```
|
|
1209
|
+
* billing invoices show in_1Abc --vms
|
|
1210
|
+
* ```
|
|
1211
|
+
*/
|
|
1212
|
+
billingInvoicesShow(id, options) {
|
|
1213
|
+
return this.run("billing invoices show", [id], options, {
|
|
1214
|
+
vms: "bool",
|
|
1215
|
+
});
|
|
1216
|
+
}
|
|
1217
|
+
/**
|
|
1218
|
+
* Show credit purchase receipts and purchases (this billing account only)
|
|
1219
|
+
*
|
|
1220
|
+
* Usage: `billing receipts [--from=<YYYY-MM-DD>] [--to=<YYYY-MM-DD>]`
|
|
1221
|
+
*
|
|
1222
|
+
* CLI examples:
|
|
1223
|
+
* ```
|
|
1224
|
+
* billing receipts --from=2026-01-01 --to=2026-06-30
|
|
1225
|
+
* ```
|
|
1226
|
+
*/
|
|
1227
|
+
billingReceipts(options) {
|
|
1228
|
+
return this.run("billing receipts", [], options, {
|
|
1229
|
+
from: "string",
|
|
1230
|
+
to: "string",
|
|
1231
|
+
});
|
|
1232
|
+
}
|
|
1233
|
+
/**
|
|
1234
|
+
* Open a consolidated credit purchase statement
|
|
1235
|
+
*
|
|
1236
|
+
* Usage: `billing statement [--from=<YYYY-MM-DD>] [--to=<YYYY-MM-DD>]`
|
|
1237
|
+
*
|
|
1238
|
+
* CLI examples:
|
|
1239
|
+
* ```
|
|
1240
|
+
* billing statement --from=2026-01-01 --to=2026-06-30
|
|
1241
|
+
* ```
|
|
1242
|
+
*/
|
|
1243
|
+
billingStatement(options) {
|
|
1244
|
+
return this.run("billing statement", [], options, {
|
|
1245
|
+
from: "string",
|
|
1246
|
+
to: "string",
|
|
1247
|
+
});
|
|
1248
|
+
}
|
|
1249
|
+
/**
|
|
1250
|
+
* Connect a marketplace subscription to your team
|
|
1251
|
+
*
|
|
1252
|
+
* Usage: `billing provider link <aws|azure> --token=<link-token> [--size=<team-size>] [--team-name=<name>]`
|
|
1253
|
+
*/
|
|
1254
|
+
billingProviderLink(awsOrAzure, options) {
|
|
1255
|
+
return this.run("billing provider link", [awsOrAzure], options, {
|
|
1256
|
+
size: "string",
|
|
1257
|
+
"team-name": "string",
|
|
1258
|
+
token: "string",
|
|
1259
|
+
});
|
|
1260
|
+
}
|
|
1261
|
+
/**
|
|
1262
|
+
* Manage your invite link and rewards
|
|
1263
|
+
*/
|
|
1264
|
+
invite(options) {
|
|
1265
|
+
return this.run("invite", [], options, {});
|
|
1266
|
+
}
|
|
1267
|
+
/**
|
|
1268
|
+
* Show your active invite link and reward
|
|
1269
|
+
*
|
|
1270
|
+
* Usage: `invite show`
|
|
1271
|
+
*/
|
|
1272
|
+
inviteShow(options) {
|
|
1273
|
+
return this.run("invite show", [], options, {});
|
|
1274
|
+
}
|
|
1275
|
+
/**
|
|
1276
|
+
* Print only your active invite link
|
|
1277
|
+
*
|
|
1278
|
+
* Usage: `invite link`
|
|
1279
|
+
*/
|
|
1280
|
+
inviteLink(options) {
|
|
1281
|
+
return this.run("invite link", [], options, {});
|
|
1282
|
+
}
|
|
1283
|
+
/**
|
|
1284
|
+
* List invite rewards you can use
|
|
1285
|
+
*
|
|
1286
|
+
* Usage: `invite rewards`
|
|
1287
|
+
*/
|
|
1288
|
+
inviteRewards(options) {
|
|
1289
|
+
return this.run("invite rewards", [], options, {});
|
|
1290
|
+
}
|
|
1291
|
+
/**
|
|
1292
|
+
* Choose the reward for your invite link
|
|
1293
|
+
*
|
|
1294
|
+
* Usage: `invite set-reward standard|bonus-credits|extra-memory|extra-disk`
|
|
1295
|
+
*/
|
|
1296
|
+
inviteSetReward(standardOrBonusCreditsOrExtraMemoryOrExtraDisk, options) {
|
|
1297
|
+
return this.run("invite set-reward", [standardOrBonusCreditsOrExtraMemoryOrExtraDisk], options, {});
|
|
1298
|
+
}
|
|
1299
|
+
/**
|
|
1300
|
+
* Show signups, upgrades, and reward status
|
|
1301
|
+
*
|
|
1302
|
+
* Usage: `invite activity`
|
|
1303
|
+
*/
|
|
1304
|
+
inviteActivity(options) {
|
|
1305
|
+
return this.run("invite activity", [], options, {});
|
|
1306
|
+
}
|
|
1307
|
+
/**
|
|
1308
|
+
* Request more trial invites
|
|
1309
|
+
*
|
|
1310
|
+
* Usage: `invite request`
|
|
1311
|
+
*/
|
|
1312
|
+
inviteRequest(options) {
|
|
1313
|
+
return this.run("invite request", [], options, {});
|
|
1314
|
+
}
|
|
1315
|
+
/**
|
|
1316
|
+
* Open the invites page
|
|
1317
|
+
*
|
|
1318
|
+
* Usage: `invite manage`
|
|
1319
|
+
*/
|
|
1320
|
+
inviteManage(options) {
|
|
1321
|
+
return this.run("invite manage", [], options, {});
|
|
1322
|
+
}
|
|
1323
|
+
/**
|
|
1324
|
+
* Install or upgrade Shelley to the current version
|
|
1325
|
+
*
|
|
1326
|
+
* Usage: `shelley install <vm>`
|
|
1327
|
+
*
|
|
1328
|
+
* Tag-scoped API keys may run this command.
|
|
1329
|
+
*/
|
|
1330
|
+
shelleyInstall(vm, options) {
|
|
1331
|
+
return this.run("shelley install", [vm], options, {});
|
|
1332
|
+
}
|
|
1333
|
+
/**
|
|
1334
|
+
* Generate a magic link to log in to the website
|
|
1335
|
+
*
|
|
1336
|
+
* Usage: `browser`
|
|
1337
|
+
*/
|
|
1338
|
+
browser(options) {
|
|
1339
|
+
return this.run("browser", [], options, {
|
|
1340
|
+
qr: "bool",
|
|
1341
|
+
});
|
|
1342
|
+
}
|
|
1343
|
+
/**
|
|
1344
|
+
* Allow exe.dev support to log in to a VM
|
|
1345
|
+
*
|
|
1346
|
+
* Usage: `grant-support-root <vmname> on|off`
|
|
1347
|
+
*
|
|
1348
|
+
* Tag-scoped API keys may run this command.
|
|
1349
|
+
*/
|
|
1350
|
+
grantSupportRoot(vmname, onOrOff, options) {
|
|
1351
|
+
return this.run("grant-support-root", [vmname, onOrOff], options, {});
|
|
1352
|
+
}
|
|
1353
|
+
/**
|
|
1354
|
+
* Show vCPU, disk, IO, and network (RX/TX) metrics for a VM
|
|
1355
|
+
*
|
|
1356
|
+
* Usage: `stat <vm-name> [--range=24h|7d|30d]`
|
|
1357
|
+
*
|
|
1358
|
+
* CLI examples:
|
|
1359
|
+
* ```
|
|
1360
|
+
* stat my-vm # last 24 hours (default)
|
|
1361
|
+
* stat my-vm --range=7d # last 7 days
|
|
1362
|
+
* stat my-vm --range=30d # last 30 days
|
|
1363
|
+
* ```
|
|
1364
|
+
*
|
|
1365
|
+
* Tag-scoped API keys may run this command.
|
|
1366
|
+
*/
|
|
1367
|
+
stat(vmName, options) {
|
|
1368
|
+
return this.run("stat", [vmName], options, {
|
|
1369
|
+
range: "string",
|
|
1370
|
+
});
|
|
1371
|
+
}
|
|
1372
|
+
}
|
|
1373
|
+
//# sourceMappingURL=commands.gen.js.map
|