@runlot/api 0.1.0-rc.53 → 0.1.0-rc.55
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/dist/index.d.ts +14 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +30 -0
- package/dist/index.js.map +1 -1
- package/dist/schema.d.ts +426 -3
- package/dist/schema.d.ts.map +1 -1
- package/package.json +4 -2
package/dist/schema.d.ts
CHANGED
|
@@ -28,6 +28,118 @@ export interface paths {
|
|
|
28
28
|
patch?: never;
|
|
29
29
|
trace?: never;
|
|
30
30
|
};
|
|
31
|
+
"/v1/auth/password/sign-up": {
|
|
32
|
+
parameters: {
|
|
33
|
+
query?: never;
|
|
34
|
+
header?: never;
|
|
35
|
+
path?: never;
|
|
36
|
+
cookie?: never;
|
|
37
|
+
};
|
|
38
|
+
get?: never;
|
|
39
|
+
put?: never;
|
|
40
|
+
/**
|
|
41
|
+
* Start a dashboard sign-up by email
|
|
42
|
+
* @description For a new email, queues a verification message. This does not create a session:
|
|
43
|
+
* the account becomes usable when the recipient calls `/v1/auth/email/verify`.
|
|
44
|
+
* An existing verified account instead receives an "already registered" message at its
|
|
45
|
+
* own mailbox, pointing at password reset. The public response is deliberately identical
|
|
46
|
+
* in both cases, so it does not disclose account existence — only the mailbox owner can
|
|
47
|
+
* tell the two apart, which is the point.
|
|
48
|
+
*
|
|
49
|
+
* **There is no password here by design.** Whoever sends this request is not yet
|
|
50
|
+
* known to own the mailbox, so a password taken now would be an unproven visitor's
|
|
51
|
+
* credential waiting on someone else's address. The recipient of the link chooses
|
|
52
|
+
* the password at `/v1/auth/email/verify`.
|
|
53
|
+
*/
|
|
54
|
+
post: operations["passwordSignUp"];
|
|
55
|
+
delete?: never;
|
|
56
|
+
options?: never;
|
|
57
|
+
head?: never;
|
|
58
|
+
patch?: never;
|
|
59
|
+
trace?: never;
|
|
60
|
+
};
|
|
61
|
+
"/v1/auth/password/sign-in": {
|
|
62
|
+
parameters: {
|
|
63
|
+
query?: never;
|
|
64
|
+
header?: never;
|
|
65
|
+
path?: never;
|
|
66
|
+
cookie?: never;
|
|
67
|
+
};
|
|
68
|
+
get?: never;
|
|
69
|
+
put?: never;
|
|
70
|
+
/** Sign in to the dashboard with email and password */
|
|
71
|
+
post: operations["passwordSignIn"];
|
|
72
|
+
delete?: never;
|
|
73
|
+
options?: never;
|
|
74
|
+
head?: never;
|
|
75
|
+
patch?: never;
|
|
76
|
+
trace?: never;
|
|
77
|
+
};
|
|
78
|
+
"/v1/auth/password/forgot": {
|
|
79
|
+
parameters: {
|
|
80
|
+
query?: never;
|
|
81
|
+
header?: never;
|
|
82
|
+
path?: never;
|
|
83
|
+
cookie?: never;
|
|
84
|
+
};
|
|
85
|
+
get?: never;
|
|
86
|
+
put?: never;
|
|
87
|
+
/**
|
|
88
|
+
* Request a dashboard password reset
|
|
89
|
+
* @description Queues a reset email. The response is deliberately the same whether or not an account
|
|
90
|
+
* exists for the email address.
|
|
91
|
+
*/
|
|
92
|
+
post: operations["passwordForgot"];
|
|
93
|
+
delete?: never;
|
|
94
|
+
options?: never;
|
|
95
|
+
head?: never;
|
|
96
|
+
patch?: never;
|
|
97
|
+
trace?: never;
|
|
98
|
+
};
|
|
99
|
+
"/v1/auth/password/reset": {
|
|
100
|
+
parameters: {
|
|
101
|
+
query?: never;
|
|
102
|
+
header?: never;
|
|
103
|
+
path?: never;
|
|
104
|
+
cookie?: never;
|
|
105
|
+
};
|
|
106
|
+
get?: never;
|
|
107
|
+
put?: never;
|
|
108
|
+
/**
|
|
109
|
+
* Reset a dashboard password
|
|
110
|
+
* @description Consumes a one-hour reset token, changes the password, invalidates sessions issued
|
|
111
|
+
* before the change, and returns a new session.
|
|
112
|
+
*/
|
|
113
|
+
post: operations["passwordReset"];
|
|
114
|
+
delete?: never;
|
|
115
|
+
options?: never;
|
|
116
|
+
head?: never;
|
|
117
|
+
patch?: never;
|
|
118
|
+
trace?: never;
|
|
119
|
+
};
|
|
120
|
+
"/v1/auth/email/verify": {
|
|
121
|
+
parameters: {
|
|
122
|
+
query?: never;
|
|
123
|
+
header?: never;
|
|
124
|
+
path?: never;
|
|
125
|
+
cookie?: never;
|
|
126
|
+
};
|
|
127
|
+
get?: never;
|
|
128
|
+
put?: never;
|
|
129
|
+
/**
|
|
130
|
+
* Verify a dashboard email address and choose its password
|
|
131
|
+
* @description Consumes a 24-hour verification token, creates the account with the password chosen
|
|
132
|
+
* here, and returns the account's first session. The password arrives with the proof of
|
|
133
|
+
* mailbox access rather than before it, so a sign-up request for someone else's address
|
|
134
|
+
* never leaves a credential behind.
|
|
135
|
+
*/
|
|
136
|
+
post: operations["verifyEmail"];
|
|
137
|
+
delete?: never;
|
|
138
|
+
options?: never;
|
|
139
|
+
head?: never;
|
|
140
|
+
patch?: never;
|
|
141
|
+
trace?: never;
|
|
142
|
+
};
|
|
31
143
|
"/v1/auth/github/start": {
|
|
32
144
|
parameters: {
|
|
33
145
|
query?: never;
|
|
@@ -77,6 +189,50 @@ export interface paths {
|
|
|
77
189
|
patch?: never;
|
|
78
190
|
trace?: never;
|
|
79
191
|
};
|
|
192
|
+
"/v1/auth/google/start": {
|
|
193
|
+
parameters: {
|
|
194
|
+
query?: never;
|
|
195
|
+
header?: never;
|
|
196
|
+
path?: never;
|
|
197
|
+
cookie?: never;
|
|
198
|
+
};
|
|
199
|
+
/**
|
|
200
|
+
* Start Google OAuth
|
|
201
|
+
* @description `redirect` is the client callback to return to, with the token carried as a fragment,
|
|
202
|
+
* after login finishes. The redirect must match the server allowlist. This sends a 302
|
|
203
|
+
* to Google and uses PKCE for the authorization-code exchange.
|
|
204
|
+
*/
|
|
205
|
+
get: operations["googleStart"];
|
|
206
|
+
put?: never;
|
|
207
|
+
post?: never;
|
|
208
|
+
delete?: never;
|
|
209
|
+
options?: never;
|
|
210
|
+
head?: never;
|
|
211
|
+
patch?: never;
|
|
212
|
+
trace?: never;
|
|
213
|
+
};
|
|
214
|
+
"/v1/auth/google/callback": {
|
|
215
|
+
parameters: {
|
|
216
|
+
query?: never;
|
|
217
|
+
header?: never;
|
|
218
|
+
path?: never;
|
|
219
|
+
cookie?: never;
|
|
220
|
+
};
|
|
221
|
+
/**
|
|
222
|
+
* Google OAuth callback
|
|
223
|
+
* @description This path is the Google OAuth client's callback URL. It exchanges the authorization
|
|
224
|
+
* code and PKCE verifier for a session, then redirects to the client callback with the
|
|
225
|
+
* result in the URL fragment, using the same shape as the GitHub callback.
|
|
226
|
+
*/
|
|
227
|
+
get: operations["googleCallback"];
|
|
228
|
+
put?: never;
|
|
229
|
+
post?: never;
|
|
230
|
+
delete?: never;
|
|
231
|
+
options?: never;
|
|
232
|
+
head?: never;
|
|
233
|
+
patch?: never;
|
|
234
|
+
trace?: never;
|
|
235
|
+
};
|
|
80
236
|
"/v1/hooks/ses": {
|
|
81
237
|
parameters: {
|
|
82
238
|
query?: never;
|
|
@@ -3022,11 +3178,20 @@ export interface components {
|
|
|
3022
3178
|
expiresAt?: string;
|
|
3023
3179
|
user: components["schemas"]["User"];
|
|
3024
3180
|
};
|
|
3181
|
+
AuthEmailAccepted: {
|
|
3182
|
+
/** @constant */
|
|
3183
|
+
accepted: true;
|
|
3184
|
+
};
|
|
3025
3185
|
User: {
|
|
3026
3186
|
/** Format: uuid */
|
|
3027
3187
|
userId: string;
|
|
3028
|
-
/**
|
|
3029
|
-
|
|
3188
|
+
/**
|
|
3189
|
+
* @description The oldest linked identity; retained as the primary provider contract
|
|
3190
|
+
* @enum {string}
|
|
3191
|
+
*/
|
|
3192
|
+
provider: "dev" | "github" | "google" | "password";
|
|
3193
|
+
/** @description All login methods linked to this user, oldest first */
|
|
3194
|
+
providers: ("dev" | "github" | "google" | "password")[];
|
|
3030
3195
|
subject: string;
|
|
3031
3196
|
email?: string | null;
|
|
3032
3197
|
name?: string | null;
|
|
@@ -4620,6 +4785,208 @@ export interface operations {
|
|
|
4620
4785
|
400: components["responses"]["BadRequest"];
|
|
4621
4786
|
};
|
|
4622
4787
|
};
|
|
4788
|
+
passwordSignUp: {
|
|
4789
|
+
parameters: {
|
|
4790
|
+
query?: never;
|
|
4791
|
+
header?: never;
|
|
4792
|
+
path?: never;
|
|
4793
|
+
cookie?: never;
|
|
4794
|
+
};
|
|
4795
|
+
requestBody: {
|
|
4796
|
+
content: {
|
|
4797
|
+
"application/json": {
|
|
4798
|
+
/** Format: email */
|
|
4799
|
+
email: string;
|
|
4800
|
+
name?: string;
|
|
4801
|
+
};
|
|
4802
|
+
};
|
|
4803
|
+
};
|
|
4804
|
+
responses: {
|
|
4805
|
+
/** @description Sign-up request accepted without disclosing whether mail was queued */
|
|
4806
|
+
202: {
|
|
4807
|
+
headers: {
|
|
4808
|
+
[name: string]: unknown;
|
|
4809
|
+
};
|
|
4810
|
+
content: {
|
|
4811
|
+
"application/json": components["schemas"]["AuthEmailAccepted"];
|
|
4812
|
+
};
|
|
4813
|
+
};
|
|
4814
|
+
400: components["responses"]["BadRequest"];
|
|
4815
|
+
/** @description Too many attempts; retry after the number of seconds in `Retry-After` */
|
|
4816
|
+
429: {
|
|
4817
|
+
headers: {
|
|
4818
|
+
[name: string]: unknown;
|
|
4819
|
+
};
|
|
4820
|
+
content?: never;
|
|
4821
|
+
};
|
|
4822
|
+
};
|
|
4823
|
+
};
|
|
4824
|
+
passwordSignIn: {
|
|
4825
|
+
parameters: {
|
|
4826
|
+
query?: never;
|
|
4827
|
+
header?: never;
|
|
4828
|
+
path?: never;
|
|
4829
|
+
cookie?: never;
|
|
4830
|
+
};
|
|
4831
|
+
requestBody: {
|
|
4832
|
+
content: {
|
|
4833
|
+
"application/json": {
|
|
4834
|
+
/** Format: email */
|
|
4835
|
+
email: string;
|
|
4836
|
+
/** Format: password */
|
|
4837
|
+
password: string;
|
|
4838
|
+
};
|
|
4839
|
+
};
|
|
4840
|
+
};
|
|
4841
|
+
responses: {
|
|
4842
|
+
/** @description Session token */
|
|
4843
|
+
200: {
|
|
4844
|
+
headers: {
|
|
4845
|
+
[name: string]: unknown;
|
|
4846
|
+
};
|
|
4847
|
+
content: {
|
|
4848
|
+
"application/json": components["schemas"]["Session"];
|
|
4849
|
+
};
|
|
4850
|
+
};
|
|
4851
|
+
400: components["responses"]["BadRequest"];
|
|
4852
|
+
/** @description Email or password is invalid (`invalid_credentials`) */
|
|
4853
|
+
401: {
|
|
4854
|
+
headers: {
|
|
4855
|
+
[name: string]: unknown;
|
|
4856
|
+
};
|
|
4857
|
+
content: {
|
|
4858
|
+
"application/json": components["schemas"]["Error"];
|
|
4859
|
+
};
|
|
4860
|
+
};
|
|
4861
|
+
/** @description The email address has not been verified (`email_unverified`) */
|
|
4862
|
+
403: {
|
|
4863
|
+
headers: {
|
|
4864
|
+
[name: string]: unknown;
|
|
4865
|
+
};
|
|
4866
|
+
content: {
|
|
4867
|
+
"application/json": components["schemas"]["Error"];
|
|
4868
|
+
};
|
|
4869
|
+
};
|
|
4870
|
+
/** @description Too many attempts; retry after the number of seconds in `Retry-After` */
|
|
4871
|
+
429: {
|
|
4872
|
+
headers: {
|
|
4873
|
+
[name: string]: unknown;
|
|
4874
|
+
};
|
|
4875
|
+
content?: never;
|
|
4876
|
+
};
|
|
4877
|
+
};
|
|
4878
|
+
};
|
|
4879
|
+
passwordForgot: {
|
|
4880
|
+
parameters: {
|
|
4881
|
+
query?: never;
|
|
4882
|
+
header?: never;
|
|
4883
|
+
path?: never;
|
|
4884
|
+
cookie?: never;
|
|
4885
|
+
};
|
|
4886
|
+
requestBody: {
|
|
4887
|
+
content: {
|
|
4888
|
+
"application/json": {
|
|
4889
|
+
/** Format: email */
|
|
4890
|
+
email: string;
|
|
4891
|
+
};
|
|
4892
|
+
};
|
|
4893
|
+
};
|
|
4894
|
+
responses: {
|
|
4895
|
+
/** @description Password reset email accepted for delivery */
|
|
4896
|
+
202: {
|
|
4897
|
+
headers: {
|
|
4898
|
+
[name: string]: unknown;
|
|
4899
|
+
};
|
|
4900
|
+
content: {
|
|
4901
|
+
"application/json": components["schemas"]["AuthEmailAccepted"];
|
|
4902
|
+
};
|
|
4903
|
+
};
|
|
4904
|
+
400: components["responses"]["BadRequest"];
|
|
4905
|
+
/** @description Too many attempts; retry after the number of seconds in `Retry-After` */
|
|
4906
|
+
429: {
|
|
4907
|
+
headers: {
|
|
4908
|
+
[name: string]: unknown;
|
|
4909
|
+
};
|
|
4910
|
+
content?: never;
|
|
4911
|
+
};
|
|
4912
|
+
};
|
|
4913
|
+
};
|
|
4914
|
+
passwordReset: {
|
|
4915
|
+
parameters: {
|
|
4916
|
+
query?: never;
|
|
4917
|
+
header?: never;
|
|
4918
|
+
path?: never;
|
|
4919
|
+
cookie?: never;
|
|
4920
|
+
};
|
|
4921
|
+
requestBody: {
|
|
4922
|
+
content: {
|
|
4923
|
+
"application/json": {
|
|
4924
|
+
token: string;
|
|
4925
|
+
/** Format: password */
|
|
4926
|
+
password: string;
|
|
4927
|
+
};
|
|
4928
|
+
};
|
|
4929
|
+
};
|
|
4930
|
+
responses: {
|
|
4931
|
+
/** @description New session token */
|
|
4932
|
+
200: {
|
|
4933
|
+
headers: {
|
|
4934
|
+
[name: string]: unknown;
|
|
4935
|
+
};
|
|
4936
|
+
content: {
|
|
4937
|
+
"application/json": components["schemas"]["Session"];
|
|
4938
|
+
};
|
|
4939
|
+
};
|
|
4940
|
+
400: components["responses"]["BadRequest"];
|
|
4941
|
+
401: components["responses"]["Unauthorized"];
|
|
4942
|
+
/** @description Too many attempts; retry after the number of seconds in `Retry-After` */
|
|
4943
|
+
429: {
|
|
4944
|
+
headers: {
|
|
4945
|
+
[name: string]: unknown;
|
|
4946
|
+
};
|
|
4947
|
+
content?: never;
|
|
4948
|
+
};
|
|
4949
|
+
};
|
|
4950
|
+
};
|
|
4951
|
+
verifyEmail: {
|
|
4952
|
+
parameters: {
|
|
4953
|
+
query?: never;
|
|
4954
|
+
header?: never;
|
|
4955
|
+
path?: never;
|
|
4956
|
+
cookie?: never;
|
|
4957
|
+
};
|
|
4958
|
+
requestBody: {
|
|
4959
|
+
content: {
|
|
4960
|
+
"application/json": {
|
|
4961
|
+
token: string;
|
|
4962
|
+
/** Format: password */
|
|
4963
|
+
password: string;
|
|
4964
|
+
};
|
|
4965
|
+
};
|
|
4966
|
+
};
|
|
4967
|
+
responses: {
|
|
4968
|
+
/** @description Session token */
|
|
4969
|
+
200: {
|
|
4970
|
+
headers: {
|
|
4971
|
+
[name: string]: unknown;
|
|
4972
|
+
};
|
|
4973
|
+
content: {
|
|
4974
|
+
"application/json": components["schemas"]["Session"];
|
|
4975
|
+
};
|
|
4976
|
+
};
|
|
4977
|
+
400: components["responses"]["BadRequest"];
|
|
4978
|
+
401: components["responses"]["Unauthorized"];
|
|
4979
|
+
/** @description A verified account appeared after sign-up; use password reset (`account_exists`) */
|
|
4980
|
+
409: {
|
|
4981
|
+
headers: {
|
|
4982
|
+
[name: string]: unknown;
|
|
4983
|
+
};
|
|
4984
|
+
content: {
|
|
4985
|
+
"application/json": components["schemas"]["Error"];
|
|
4986
|
+
};
|
|
4987
|
+
};
|
|
4988
|
+
};
|
|
4989
|
+
};
|
|
4623
4990
|
githubStart: {
|
|
4624
4991
|
parameters: {
|
|
4625
4992
|
query: {
|
|
@@ -4664,6 +5031,50 @@ export interface operations {
|
|
|
4664
5031
|
400: components["responses"]["BadRequest"];
|
|
4665
5032
|
};
|
|
4666
5033
|
};
|
|
5034
|
+
googleStart: {
|
|
5035
|
+
parameters: {
|
|
5036
|
+
query: {
|
|
5037
|
+
redirect: string;
|
|
5038
|
+
};
|
|
5039
|
+
header?: never;
|
|
5040
|
+
path?: never;
|
|
5041
|
+
cookie?: never;
|
|
5042
|
+
};
|
|
5043
|
+
requestBody?: never;
|
|
5044
|
+
responses: {
|
|
5045
|
+
/** @description to Google authorize */
|
|
5046
|
+
302: {
|
|
5047
|
+
headers: {
|
|
5048
|
+
[name: string]: unknown;
|
|
5049
|
+
};
|
|
5050
|
+
content?: never;
|
|
5051
|
+
};
|
|
5052
|
+
400: components["responses"]["BadRequest"];
|
|
5053
|
+
};
|
|
5054
|
+
};
|
|
5055
|
+
googleCallback: {
|
|
5056
|
+
parameters: {
|
|
5057
|
+
query: {
|
|
5058
|
+
code?: string;
|
|
5059
|
+
state: string;
|
|
5060
|
+
error?: string;
|
|
5061
|
+
};
|
|
5062
|
+
header?: never;
|
|
5063
|
+
path?: never;
|
|
5064
|
+
cookie?: never;
|
|
5065
|
+
};
|
|
5066
|
+
requestBody?: never;
|
|
5067
|
+
responses: {
|
|
5068
|
+
/** @description to the client callback */
|
|
5069
|
+
302: {
|
|
5070
|
+
headers: {
|
|
5071
|
+
[name: string]: unknown;
|
|
5072
|
+
};
|
|
5073
|
+
content?: never;
|
|
5074
|
+
};
|
|
5075
|
+
400: components["responses"]["BadRequest"];
|
|
5076
|
+
};
|
|
5077
|
+
};
|
|
4667
5078
|
sesHook: {
|
|
4668
5079
|
parameters: {
|
|
4669
5080
|
query?: never;
|
|
@@ -5733,7 +6144,19 @@ export interface operations {
|
|
|
5733
6144
|
};
|
|
5734
6145
|
};
|
|
5735
6146
|
403: components["responses"]["Forbidden"];
|
|
5736
|
-
|
|
6147
|
+
/**
|
|
6148
|
+
* @description `code` is `not_found` when the organization or project does not exist, and
|
|
6149
|
+
* `no_deployment` when the project exists but has never been deployed — there is
|
|
6150
|
+
* nothing to stream until the first deploy.
|
|
6151
|
+
*/
|
|
6152
|
+
404: {
|
|
6153
|
+
headers: {
|
|
6154
|
+
[name: string]: unknown;
|
|
6155
|
+
};
|
|
6156
|
+
content: {
|
|
6157
|
+
"application/json": components["schemas"]["Error"];
|
|
6158
|
+
};
|
|
6159
|
+
};
|
|
5737
6160
|
/**
|
|
5738
6161
|
* @description No process is available to stream right now. `code` is either `no_home_node` (cold,
|
|
5739
6162
|
* or no placement) or `suspended`.
|