freestyle-sandboxes 0.1.3 → 0.1.5

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.
Files changed (6) hide show
  1. package/README.md +2 -2
  2. package/index.cjs +1729 -1098
  3. package/index.d.cts +2209 -829
  4. package/index.d.mts +2209 -829
  5. package/index.mjs +1729 -1098
  6. package/package.json +1 -1
package/index.cjs CHANGED
@@ -8,137 +8,41 @@ function errorFromJSON(body) {
8
8
  return new Error(`Unknown error code: ${body.code} - ${body.description}`);
9
9
  }
10
10
  }
11
- class InternalErrorError extends Error {
11
+ class GitErrorError extends Error {
12
12
  constructor(body) {
13
13
  super(
14
- `INTERNAL_ERROR: ${body.message}`
14
+ `GIT_ERROR: ${body.message}`
15
15
  );
16
16
  this.body = body;
17
- this.name = "InternalErrorError";
17
+ this.name = "GitErrorError";
18
18
  }
19
- static code = "INTERNAL_ERROR";
19
+ static code = "GIT_ERROR";
20
20
  static statusCode = 500;
21
- static description = `Internal error: {message}`;
22
- }
23
- class DockerImportBadRequestError extends Error {
24
- constructor(body) {
25
- super(
26
- `DOCKER_IMPORT_BAD_REQUEST: ${body.message}`
27
- );
28
- this.body = body;
29
- this.name = "DockerImportBadRequestError";
30
- }
31
- static code = "DOCKER_IMPORT_BAD_REQUEST";
32
- static statusCode = 400;
33
- static description = `Bad request: {message}`;
34
- }
35
- class VmNotFoundInFsError extends Error {
36
- constructor(body) {
37
- super(
38
- `VM_NOT_FOUND_IN_FS: ${body.message}`
39
- );
40
- this.body = body;
41
- this.name = "VmNotFoundInFsError";
42
- }
43
- static code = "VM_NOT_FOUND_IN_FS";
44
- static statusCode = 406;
45
- static description = `Vm Not found in filesystem`;
46
- }
47
- class VmNotRunningError extends Error {
48
- constructor(body) {
49
- super(
50
- `VM_NOT_RUNNING: ${body.message}`
51
- );
52
- this.body = body;
53
- this.name = "VmNotRunningError";
54
- }
55
- static code = "VM_NOT_RUNNING";
56
- static statusCode = 400;
57
- static description = `VmNotRunning`;
58
- }
59
- class VmNotFoundError extends Error {
60
- constructor(body) {
61
- super(
62
- `VM_NOT_FOUND: ${body.message}`
63
- );
64
- this.body = body;
65
- this.name = "VmNotFoundError";
66
- }
67
- static code = "VM_NOT_FOUND";
68
- static statusCode = 404;
69
- static description = `VmNotFound`;
70
- }
71
- class InternalForkVmNotFoundError extends Error {
72
- constructor(body) {
73
- super(
74
- `INTERNAL_FORK_VM_NOT_FOUND: ${body.message}`
75
- );
76
- this.body = body;
77
- this.name = "InternalForkVmNotFoundError";
78
- }
79
- static code = "INTERNAL_FORK_VM_NOT_FOUND";
80
- static statusCode = 404;
81
- static description = `The VM you're trying to fork from was not found: {fork_vm_id}`;
21
+ static description = `{message}`;
82
22
  }
83
- class BadRequestError extends Error {
23
+ class SnapshotVmBadRequestError extends Error {
84
24
  constructor(body) {
85
25
  super(
86
- `BAD_REQUEST: ${body.message}`
26
+ `SNAPSHOT_VM_BAD_REQUEST: ${body.message}`
87
27
  );
88
28
  this.body = body;
89
- this.name = "BadRequestError";
29
+ this.name = "SnapshotVmBadRequestError";
90
30
  }
91
- static code = "BAD_REQUEST";
31
+ static code = "SNAPSHOT_VM_BAD_REQUEST";
92
32
  static statusCode = 400;
93
33
  static description = `Bad request: {message}`;
94
34
  }
95
- class InternalVmNotFoundError extends Error {
96
- constructor(body) {
97
- super(
98
- `INTERNAL_VM_NOT_FOUND: ${body.message}`
99
- );
100
- this.body = body;
101
- this.name = "InternalVmNotFoundError";
102
- }
103
- static code = "INTERNAL_VM_NOT_FOUND";
104
- static statusCode = 404;
105
- static description = `VM not found: {vm_id}`;
106
- }
107
- class VmMustBeStoppedError extends Error {
108
- constructor(body) {
109
- super(
110
- `VM_MUST_BE_STOPPED: ${body.message}`
111
- );
112
- this.body = body;
113
- this.name = "VmMustBeStoppedError";
114
- }
115
- static code = "VM_MUST_BE_STOPPED";
116
- static statusCode = 400;
117
- static description = `VM must be stopped before converting to base`;
118
- }
119
- class AlreadyHasBaseError extends Error {
120
- constructor(body) {
121
- super(
122
- `ALREADY_HAS_BASE: ${body.message}`
123
- );
124
- this.body = body;
125
- this.name = "AlreadyHasBaseError";
126
- }
127
- static code = "ALREADY_HAS_BASE";
128
- static statusCode = 400;
129
- static description = `VM already has a base rootfs`;
130
- }
131
- class NotFoundError extends Error {
35
+ class InternalErrorError extends Error {
132
36
  constructor(body) {
133
37
  super(
134
- `NOT_FOUND: ${body.message}`
38
+ `INTERNAL_ERROR: ${body.message}`
135
39
  );
136
40
  this.body = body;
137
- this.name = "NotFoundError";
41
+ this.name = "InternalErrorError";
138
42
  }
139
- static code = "NOT_FOUND";
140
- static statusCode = 404;
141
- static description = `VM not found`;
43
+ static code = "INTERNAL_ERROR";
44
+ static statusCode = 500;
45
+ static description = `Internal error: {message}`;
142
46
  }
143
47
  class ForkVmNotFoundError extends Error {
144
48
  constructor(body) {
@@ -164,42 +68,6 @@ class CreateSnapshotBadRequestError extends Error {
164
68
  static statusCode = 400;
165
69
  static description = `Bad request: {message}`;
166
70
  }
167
- class SnapshotVmBadRequestError extends Error {
168
- constructor(body) {
169
- super(
170
- `SNAPSHOT_VM_BAD_REQUEST: ${body.message}`
171
- );
172
- this.body = body;
173
- this.name = "SnapshotVmBadRequestError";
174
- }
175
- static code = "SNAPSHOT_VM_BAD_REQUEST";
176
- static statusCode = 400;
177
- static description = `Bad request: {message}`;
178
- }
179
- class FileNotFoundError extends Error {
180
- constructor(body) {
181
- super(
182
- `FILE_NOT_FOUND: ${body.message}`
183
- );
184
- this.body = body;
185
- this.name = "FileNotFoundError";
186
- }
187
- static code = "FILE_NOT_FOUND";
188
- static statusCode = 404;
189
- static description = `File not found: {path}`;
190
- }
191
- class FilesBadRequestError extends Error {
192
- constructor(body) {
193
- super(
194
- `FILES_BAD_REQUEST: ${body.message}`
195
- );
196
- this.body = body;
197
- this.name = "FilesBadRequestError";
198
- }
199
- static code = "FILES_BAD_REQUEST";
200
- static statusCode = 400;
201
- static description = `Bad request: {message}`;
202
- }
203
71
  class VmDeletedError extends Error {
204
72
  constructor(body) {
205
73
  super(
@@ -308,112 +176,268 @@ class VmSubnetNotFoundError extends Error {
308
176
  static statusCode = 500;
309
177
  static description = `Subnet for VM not found`;
310
178
  }
311
- class VmOperationDeniedDuringTransactionError extends Error {
179
+ class FileNotFoundError extends Error {
312
180
  constructor(body) {
313
181
  super(
314
- `VM_OPERATION_DENIED_DURING_TRANSACTION: ${body.message}`
182
+ `FILE_NOT_FOUND: ${body.message}`
315
183
  );
316
184
  this.body = body;
317
- this.name = "VmOperationDeniedDuringTransactionError";
185
+ this.name = "FileNotFoundError";
318
186
  }
319
- static code = "VM_OPERATION_DENIED_DURING_TRANSACTION";
320
- static statusCode = 409;
321
- static description = `VM operation denied during active transaction for VM {vm_id} in transaction {transaction_id}`;
187
+ static code = "FILE_NOT_FOUND";
188
+ static statusCode = 404;
189
+ static description = `File not found: {path}`;
322
190
  }
323
- class VmTransactionIdMismatchError extends Error {
191
+ class FilesBadRequestError extends Error {
324
192
  constructor(body) {
325
193
  super(
326
- `VM_TRANSACTION_ID_MISMATCH: ${body.message}`
194
+ `FILES_BAD_REQUEST: ${body.message}`
327
195
  );
328
196
  this.body = body;
329
- this.name = "VmTransactionIdMismatchError";
197
+ this.name = "FilesBadRequestError";
330
198
  }
331
- static code = "VM_TRANSACTION_ID_MISMATCH";
199
+ static code = "FILES_BAD_REQUEST";
332
200
  static statusCode = 400;
333
- static description = `Transaction ID {provided_transaction_id} does not match the current VM transaction {expected_transaction_id} for VM {vm_id}`;
201
+ static description = `Bad request: {message}`;
334
202
  }
335
- class VmNotInTransactionError extends Error {
203
+ class VmMustBeStoppedError extends Error {
336
204
  constructor(body) {
337
205
  super(
338
- `VM_NOT_IN_TRANSACTION: ${body.message}`
206
+ `VM_MUST_BE_STOPPED: ${body.message}`
339
207
  );
340
208
  this.body = body;
341
- this.name = "VmNotInTransactionError";
209
+ this.name = "VmMustBeStoppedError";
342
210
  }
343
- static code = "VM_NOT_IN_TRANSACTION";
344
- static statusCode = 404;
345
- static description = `VM not in a transaction: {vm_id}`;
211
+ static code = "VM_MUST_BE_STOPPED";
212
+ static statusCode = 400;
213
+ static description = `VM must be stopped before converting to base`;
346
214
  }
347
- class UserNotFoundError extends Error {
215
+ class AlreadyHasBaseError extends Error {
348
216
  constructor(body) {
349
217
  super(
350
- `USER_NOT_FOUND: ${body.message}`
218
+ `ALREADY_HAS_BASE: ${body.message}`
351
219
  );
352
220
  this.body = body;
353
- this.name = "UserNotFoundError";
221
+ this.name = "AlreadyHasBaseError";
354
222
  }
355
- static code = "USER_NOT_FOUND";
356
- static statusCode = 404;
357
- static description = `User not found: {user_name}`;
223
+ static code = "ALREADY_HAS_BASE";
224
+ static statusCode = 400;
225
+ static description = `VM already has a base rootfs`;
358
226
  }
359
- class UserAlreadyExistsError extends Error {
227
+ class NotFoundError extends Error {
360
228
  constructor(body) {
361
229
  super(
362
- `USER_ALREADY_EXISTS: ${body.message}`
230
+ `NOT_FOUND: ${body.message}`
363
231
  );
364
232
  this.body = body;
365
- this.name = "UserAlreadyExistsError";
233
+ this.name = "NotFoundError";
366
234
  }
367
- static code = "USER_ALREADY_EXISTS";
368
- static statusCode = 409;
369
- static description = `Conflict: User '{user_name}' already exists`;
235
+ static code = "NOT_FOUND";
236
+ static statusCode = 404;
237
+ static description = `VM not found`;
370
238
  }
371
- class ValidationErrorError extends Error {
239
+ class VmNotFoundInFsError extends Error {
372
240
  constructor(body) {
373
241
  super(
374
- `VALIDATION_ERROR: ${body.message}`
242
+ `VM_NOT_FOUND_IN_FS: ${body.message}`
375
243
  );
376
244
  this.body = body;
377
- this.name = "ValidationErrorError";
245
+ this.name = "VmNotFoundInFsError";
378
246
  }
379
- static code = "VALIDATION_ERROR";
380
- static statusCode = 400;
381
- static description = `Validation error: {message}`;
247
+ static code = "VM_NOT_FOUND_IN_FS";
248
+ static statusCode = 406;
249
+ static description = `Vm Not found in filesystem`;
382
250
  }
383
- class GroupNotFoundError extends Error {
251
+ class VmNotRunningError extends Error {
384
252
  constructor(body) {
385
253
  super(
386
- `GROUP_NOT_FOUND: ${body.message}`
254
+ `VM_NOT_RUNNING: ${body.message}`
387
255
  );
388
256
  this.body = body;
389
- this.name = "GroupNotFoundError";
257
+ this.name = "VmNotRunningError";
390
258
  }
391
- static code = "GROUP_NOT_FOUND";
392
- static statusCode = 404;
393
- static description = `Group not found: {group_name}`;
259
+ static code = "VM_NOT_RUNNING";
260
+ static statusCode = 400;
261
+ static description = `VM is not running: {vm_id}`;
394
262
  }
395
- class GroupAlreadyExistsError extends Error {
263
+ class VmNotFoundError extends Error {
396
264
  constructor(body) {
397
265
  super(
398
- `GROUP_ALREADY_EXISTS: ${body.message}`
266
+ `VM_NOT_FOUND: ${body.message}`
399
267
  );
400
268
  this.body = body;
401
- this.name = "GroupAlreadyExistsError";
269
+ this.name = "VmNotFoundError";
402
270
  }
403
- static code = "GROUP_ALREADY_EXISTS";
404
- static statusCode = 409;
405
- static description = `Conflict: Group '{group_name}' already exists`;
271
+ static code = "VM_NOT_FOUND";
272
+ static statusCode = 404;
273
+ static description = `VM not found: {vm_id}`;
406
274
  }
407
- class DuplicateUserNameError extends Error {
275
+ class InternalForkVmNotFoundError extends Error {
408
276
  constructor(body) {
409
277
  super(
410
- `DUPLICATE_USER_NAME: ${body.message}`
278
+ `INTERNAL_FORK_VM_NOT_FOUND: ${body.message}`
411
279
  );
412
280
  this.body = body;
413
- this.name = "DuplicateUserNameError";
281
+ this.name = "InternalForkVmNotFoundError";
414
282
  }
415
- static code = "DUPLICATE_USER_NAME";
416
- static statusCode = 400;
283
+ static code = "INTERNAL_FORK_VM_NOT_FOUND";
284
+ static statusCode = 404;
285
+ static description = `The VM you're trying to fork from was not found: {fork_vm_id}`;
286
+ }
287
+ class BadRequestError extends Error {
288
+ constructor(body) {
289
+ super(
290
+ `BAD_REQUEST: ${body.message}`
291
+ );
292
+ this.body = body;
293
+ this.name = "BadRequestError";
294
+ }
295
+ static code = "BAD_REQUEST";
296
+ static statusCode = 400;
297
+ static description = `Bad request: {message}`;
298
+ }
299
+ class InternalVmNotFoundError extends Error {
300
+ constructor(body) {
301
+ super(
302
+ `INTERNAL_VM_NOT_FOUND: ${body.message}`
303
+ );
304
+ this.body = body;
305
+ this.name = "InternalVmNotFoundError";
306
+ }
307
+ static code = "INTERNAL_VM_NOT_FOUND";
308
+ static statusCode = 404;
309
+ static description = `VM not found: {vm_id}`;
310
+ }
311
+ class DockerImportBadRequestError extends Error {
312
+ constructor(body) {
313
+ super(
314
+ `DOCKER_IMPORT_BAD_REQUEST: ${body.message}`
315
+ );
316
+ this.body = body;
317
+ this.name = "DockerImportBadRequestError";
318
+ }
319
+ static code = "DOCKER_IMPORT_BAD_REQUEST";
320
+ static statusCode = 400;
321
+ static description = `Bad request: {message}`;
322
+ }
323
+ class VmOperationDeniedDuringTransactionError extends Error {
324
+ constructor(body) {
325
+ super(
326
+ `VM_OPERATION_DENIED_DURING_TRANSACTION: ${body.message}`
327
+ );
328
+ this.body = body;
329
+ this.name = "VmOperationDeniedDuringTransactionError";
330
+ }
331
+ static code = "VM_OPERATION_DENIED_DURING_TRANSACTION";
332
+ static statusCode = 409;
333
+ static description = `VM operation denied during active transaction for VM {vm_id} in transaction {transaction_id}`;
334
+ }
335
+ class VmTransactionIdMismatchError extends Error {
336
+ constructor(body) {
337
+ super(
338
+ `VM_TRANSACTION_ID_MISMATCH: ${body.message}`
339
+ );
340
+ this.body = body;
341
+ this.name = "VmTransactionIdMismatchError";
342
+ }
343
+ static code = "VM_TRANSACTION_ID_MISMATCH";
344
+ static statusCode = 400;
345
+ static description = `Transaction ID {provided_transaction_id} does not match the current VM transaction {expected_transaction_id} for VM {vm_id}`;
346
+ }
347
+ class VmNotInTransactionError extends Error {
348
+ constructor(body) {
349
+ super(
350
+ `VM_NOT_IN_TRANSACTION: ${body.message}`
351
+ );
352
+ this.body = body;
353
+ this.name = "VmNotInTransactionError";
354
+ }
355
+ static code = "VM_NOT_IN_TRANSACTION";
356
+ static statusCode = 404;
357
+ static description = `VM not in a transaction: {vm_id}`;
358
+ }
359
+ class CreateVmBadRequestError extends Error {
360
+ constructor(body) {
361
+ super(
362
+ `CREATE_VM_BAD_REQUEST: ${body.message}`
363
+ );
364
+ this.body = body;
365
+ this.name = "CreateVmBadRequestError";
366
+ }
367
+ static code = "CREATE_VM_BAD_REQUEST";
368
+ static statusCode = 400;
369
+ static description = `Bad request: {message}`;
370
+ }
371
+ class UserNotFoundError extends Error {
372
+ constructor(body) {
373
+ super(
374
+ `USER_NOT_FOUND: ${body.message}`
375
+ );
376
+ this.body = body;
377
+ this.name = "UserNotFoundError";
378
+ }
379
+ static code = "USER_NOT_FOUND";
380
+ static statusCode = 404;
381
+ static description = `User not found: {user_name}`;
382
+ }
383
+ class UserAlreadyExistsError extends Error {
384
+ constructor(body) {
385
+ super(
386
+ `USER_ALREADY_EXISTS: ${body.message}`
387
+ );
388
+ this.body = body;
389
+ this.name = "UserAlreadyExistsError";
390
+ }
391
+ static code = "USER_ALREADY_EXISTS";
392
+ static statusCode = 409;
393
+ static description = `Conflict: User '{user_name}' already exists`;
394
+ }
395
+ class ValidationErrorError extends Error {
396
+ constructor(body) {
397
+ super(
398
+ `VALIDATION_ERROR: ${body.message}`
399
+ );
400
+ this.body = body;
401
+ this.name = "ValidationErrorError";
402
+ }
403
+ static code = "VALIDATION_ERROR";
404
+ static statusCode = 400;
405
+ static description = `Validation error: {message}`;
406
+ }
407
+ class GroupNotFoundError extends Error {
408
+ constructor(body) {
409
+ super(
410
+ `GROUP_NOT_FOUND: ${body.message}`
411
+ );
412
+ this.body = body;
413
+ this.name = "GroupNotFoundError";
414
+ }
415
+ static code = "GROUP_NOT_FOUND";
416
+ static statusCode = 404;
417
+ static description = `Group not found: {group_name}`;
418
+ }
419
+ class GroupAlreadyExistsError extends Error {
420
+ constructor(body) {
421
+ super(
422
+ `GROUP_ALREADY_EXISTS: ${body.message}`
423
+ );
424
+ this.body = body;
425
+ this.name = "GroupAlreadyExistsError";
426
+ }
427
+ static code = "GROUP_ALREADY_EXISTS";
428
+ static statusCode = 409;
429
+ static description = `Conflict: Group '{group_name}' already exists`;
430
+ }
431
+ class DuplicateUserNameError extends Error {
432
+ constructor(body) {
433
+ super(
434
+ `DUPLICATE_USER_NAME: ${body.message}`
435
+ );
436
+ this.body = body;
437
+ this.name = "DuplicateUserNameError";
438
+ }
439
+ static code = "DUPLICATE_USER_NAME";
440
+ static statusCode = 400;
417
441
  static description = `Duplicate user name '{name}' found`;
418
442
  }
419
443
  class UserGroupEmptyError extends Error {
@@ -536,18 +560,6 @@ class GroupNameEmptyError extends Error {
536
560
  static statusCode = 400;
537
561
  static description = `Group name cannot be empty`;
538
562
  }
539
- class CreateVmBadRequestError extends Error {
540
- constructor(body) {
541
- super(
542
- `CREATE_VM_BAD_REQUEST: ${body.message}`
543
- );
544
- this.body = body;
545
- this.name = "CreateVmBadRequestError";
546
- }
547
- static code = "CREATE_VM_BAD_REQUEST";
548
- static statusCode = 400;
549
- static description = `Bad request: {message}`;
550
- }
551
563
  class WantedByEmptyError extends Error {
552
564
  constructor(body) {
553
565
  super(
@@ -738,91 +750,31 @@ class ServiceNotFoundError extends Error {
738
750
  }
739
751
  static code = "SERVICE_NOT_FOUND";
740
752
  static statusCode = 404;
741
- static description = `null`;
742
- }
743
- class WaitTimeoutError extends Error {
744
- constructor(body) {
745
- super(
746
- `WAIT_TIMEOUT: ${body.message}`
747
- );
748
- this.body = body;
749
- this.name = "WaitTimeoutError";
750
- }
751
- static code = "WAIT_TIMEOUT";
752
- static statusCode = 504;
753
- static description = `Timed out waiting for certificate validation`;
754
- }
755
- class PreVerifyChallengeMismatchError extends Error {
756
- constructor(body) {
757
- super(
758
- `PRE_VERIFY_CHALLENGE_MISMATCH: ${body.message}`
759
- );
760
- this.body = body;
761
- this.name = "PreVerifyChallengeMismatchError";
762
- }
763
- static code = "PRE_VERIFY_CHALLENGE_MISMATCH";
764
- static statusCode = 400;
765
- static description = `Certificate challenge verification failed - response did not match`;
766
- }
767
- class PreVerifyFailedParseError extends Error {
768
- constructor(body) {
769
- super(
770
- `PRE_VERIFY_FAILED_PARSE: ${body.message}`
771
- );
772
- this.body = body;
773
- this.name = "PreVerifyFailedParseError";
774
- }
775
- static code = "PRE_VERIFY_FAILED_PARSE";
776
- static statusCode = 400;
777
- static description = `Invalid response from domain during certificate verification`;
778
- }
779
- class PreVerifyFailedFetchError extends Error {
780
- constructor(body) {
781
- super(
782
- `PRE_VERIFY_FAILED_FETCH: ${body.message}`
783
- );
784
- this.body = body;
785
- this.name = "PreVerifyFailedFetchError";
786
- }
787
- static code = "PRE_VERIFY_FAILED_FETCH";
788
- static statusCode = 400;
789
- static description = `Could not reach domain for certificate verification - check DNS settings`;
753
+ static description = `Service '{service_name}' not found`;
790
754
  }
791
- class PreVerifyRouteNotFoundError extends Error {
755
+ class InvalidRequestError extends Error {
792
756
  constructor(body) {
793
757
  super(
794
- `PRE_VERIFY_ROUTE_NOT_FOUND: ${body.message}`
758
+ `INVALID_REQUEST: ${body.message}`
795
759
  );
796
760
  this.body = body;
797
- this.name = "PreVerifyRouteNotFoundError";
761
+ this.name = "InvalidRequestError";
798
762
  }
799
- static code = "PRE_VERIFY_ROUTE_NOT_FOUND";
763
+ static code = "INVALID_REQUEST";
800
764
  static statusCode = 400;
801
- static description = `Domain does not resolve to Freestyle servers`;
802
- }
803
- class AuthorizationNotFoundError extends Error {
804
- constructor(body) {
805
- super(
806
- `AUTHORIZATION_NOT_FOUND: ${body.message}`
807
- );
808
- this.body = body;
809
- this.name = "AuthorizationNotFoundError";
810
- }
811
- static code = "AUTHORIZATION_NOT_FOUND";
812
- static statusCode = 404;
813
- static description = `No authorization found for domain`;
765
+ static description = `Invalid request: {message}`;
814
766
  }
815
- class OrderNotFoundError extends Error {
767
+ class RepoNotFoundError extends Error {
816
768
  constructor(body) {
817
769
  super(
818
- `ORDER_NOT_FOUND: ${body.message}`
770
+ `REPO_NOT_FOUND: ${body.message}`
819
771
  );
820
772
  this.body = body;
821
- this.name = "OrderNotFoundError";
773
+ this.name = "RepoNotFoundError";
822
774
  }
823
- static code = "ORDER_NOT_FOUND";
775
+ static code = "REPO_NOT_FOUND";
824
776
  static statusCode = 404;
825
- static description = `No certificate order found for domain`;
777
+ static description = `Repository not found: {repo_id}`;
826
778
  }
827
779
  class InternalError extends Error {
828
780
  constructor(body) {
@@ -896,17 +848,17 @@ class ExpiredError extends Error {
896
848
  static statusCode = 403;
897
849
  static description = `Session has expired`;
898
850
  }
899
- class TagNotFoundError extends Error {
851
+ class ConflictError extends Error {
900
852
  constructor(body) {
901
853
  super(
902
- `TAG_NOT_FOUND: ${body.message}`
854
+ `CONFLICT: ${body.message}`
903
855
  );
904
856
  this.body = body;
905
- this.name = "TagNotFoundError";
857
+ this.name = "ConflictError";
906
858
  }
907
- static code = "TAG_NOT_FOUND";
908
- static statusCode = 404;
909
- static description = `Tag not found: {tag}`;
859
+ static code = "CONFLICT";
860
+ static statusCode = 409;
861
+ static description = `Sync conflict: {message}`;
910
862
  }
911
863
  class BranchNotFoundError extends Error {
912
864
  constructor(body) {
@@ -920,41 +872,41 @@ class BranchNotFoundError extends Error {
920
872
  static statusCode = 404;
921
873
  static description = `Branch not found: {branch}`;
922
874
  }
923
- class RepoNotFoundError extends Error {
875
+ class SendErrorError extends Error {
924
876
  constructor(body) {
925
877
  super(
926
- `REPO_NOT_FOUND: ${body.message}`
878
+ `SEND_ERROR: ${body.message}`
927
879
  );
928
880
  this.body = body;
929
- this.name = "RepoNotFoundError";
881
+ this.name = "SendErrorError";
930
882
  }
931
- static code = "REPO_NOT_FOUND";
932
- static statusCode = 404;
933
- static description = `Repository not found`;
883
+ static code = "SEND_ERROR";
884
+ static statusCode = 500;
885
+ static description = `Stream receiver dropped`;
934
886
  }
935
- class InvalidObjectIdError extends Error {
887
+ class ForbiddenError extends Error {
936
888
  constructor(body) {
937
889
  super(
938
- `INVALID_OBJECT_ID: ${body.message}`
890
+ `FORBIDDEN: ${body.message}`
939
891
  );
940
892
  this.body = body;
941
- this.name = "InvalidObjectIdError";
893
+ this.name = "ForbiddenError";
942
894
  }
943
- static code = "INVALID_OBJECT_ID";
944
- static statusCode = 400;
945
- static description = `Invalid object ID`;
895
+ static code = "FORBIDDEN";
896
+ static statusCode = 403;
897
+ static description = `Forbidden: {message}`;
946
898
  }
947
- class CommitNotFoundError extends Error {
899
+ class UnsupportedTransferError extends Error {
948
900
  constructor(body) {
949
901
  super(
950
- `COMMIT_NOT_FOUND: ${body.message}`
902
+ `UNSUPPORTED_TRANSFER: ${body.message}`
951
903
  );
952
904
  this.body = body;
953
- this.name = "CommitNotFoundError";
905
+ this.name = "UnsupportedTransferError";
954
906
  }
955
- static code = "COMMIT_NOT_FOUND";
956
- static statusCode = 404;
957
- static description = `Commit not found: {hash}`;
907
+ static code = "UNSUPPORTED_TRANSFER";
908
+ static statusCode = 400;
909
+ static description = `Unsupported LFS transfer protocol(s)`;
958
910
  }
959
911
  class ReferenceNotFoundError extends Error {
960
912
  constructor(body) {
@@ -968,89 +920,53 @@ class ReferenceNotFoundError extends Error {
968
920
  static statusCode = 404;
969
921
  static description = `Reference not found: {reference}`;
970
922
  }
971
- class PathNotFoundError extends Error {
972
- constructor(body) {
973
- super(
974
- `PATH_NOT_FOUND: ${body.message}`
975
- );
976
- this.body = body;
977
- this.name = "PathNotFoundError";
978
- }
979
- static code = "PATH_NOT_FOUND";
980
- static statusCode = 404;
981
- static description = `Path not found: {path}`;
982
- }
983
- class InvalidRequestError extends Error {
923
+ class InvalidRangeError extends Error {
984
924
  constructor(body) {
985
925
  super(
986
- `INVALID_REQUEST: ${body.message}`
926
+ `INVALID_RANGE: ${body.message}`
987
927
  );
988
928
  this.body = body;
989
- this.name = "InvalidRequestError";
929
+ this.name = "InvalidRangeError";
990
930
  }
991
- static code = "INVALID_REQUEST";
931
+ static code = "INVALID_RANGE";
992
932
  static statusCode = 400;
993
- static description = `null`;
933
+ static description = `Invalid range: 'until' commit ({until}) must be a descendant of 'since' commit ({since}). In other words, 'until' must be newer than 'since' in the commit graph.`;
994
934
  }
995
- class InvalidRevisionError extends Error {
935
+ class OffsetWithSelectorError extends Error {
996
936
  constructor(body) {
997
937
  super(
998
- `INVALID_REVISION: ${body.message}`
938
+ `OFFSET_WITH_SELECTOR: ${body.message}`
999
939
  );
1000
940
  this.body = body;
1001
- this.name = "InvalidRevisionError";
941
+ this.name = "OffsetWithSelectorError";
1002
942
  }
1003
- static code = "INVALID_REVISION";
943
+ static code = "OFFSET_WITH_SELECTOR";
1004
944
  static statusCode = 400;
1005
- static description = `null`;
1006
- }
1007
- class ForbiddenError extends Error {
1008
- constructor(body) {
1009
- super(
1010
- `FORBIDDEN: ${body.message}`
1011
- );
1012
- this.body = body;
1013
- this.name = "ForbiddenError";
1014
- }
1015
- static code = "FORBIDDEN";
1016
- static statusCode = 403;
1017
- static description = `Forbidden`;
1018
- }
1019
- class UnauthorizedError extends Error {
1020
- constructor(body) {
1021
- super(
1022
- `UNAUTHORIZED: ${body.message}`
1023
- );
1024
- this.body = body;
1025
- this.name = "UnauthorizedError";
1026
- }
1027
- static code = "UNAUTHORIZED";
1028
- static statusCode = 401;
1029
- static description = `Unauthorized`;
945
+ static description = `Cannot use 'offset' parameter together with 'since' or 'until'. Use 'since' for cursor-based pagination.`;
1030
946
  }
1031
- class ConflictError extends Error {
947
+ class CommitNotInBranchError extends Error {
1032
948
  constructor(body) {
1033
949
  super(
1034
- `CONFLICT: ${body.message}`
950
+ `COMMIT_NOT_IN_BRANCH: ${body.message}`
1035
951
  );
1036
952
  this.body = body;
1037
- this.name = "ConflictError";
953
+ this.name = "CommitNotInBranchError";
1038
954
  }
1039
- static code = "CONFLICT";
1040
- static statusCode = 409;
1041
- static description = `Sync conflict: {message}`;
955
+ static code = "COMMIT_NOT_IN_BRANCH";
956
+ static statusCode = 400;
957
+ static description = `Commit {sha} is not in the history of branch {branch}`;
1042
958
  }
1043
- class UnsupportedTransferError extends Error {
959
+ class CommitNotFoundError extends Error {
1044
960
  constructor(body) {
1045
961
  super(
1046
- `UNSUPPORTED_TRANSFER: ${body.message}`
962
+ `COMMIT_NOT_FOUND: ${body.message}`
1047
963
  );
1048
964
  this.body = body;
1049
- this.name = "UnsupportedTransferError";
965
+ this.name = "CommitNotFoundError";
1050
966
  }
1051
- static code = "UNSUPPORTED_TRANSFER";
967
+ static code = "COMMIT_NOT_FOUND";
1052
968
  static statusCode = 400;
1053
- static description = `Unsupported LFS transfer protocol(s)`;
969
+ static description = `Commit not found: {sha}`;
1054
970
  }
1055
971
  class BlobNotFoundError extends Error {
1056
972
  constructor(body) {
@@ -1076,1061 +992,1181 @@ class TreeNotFoundError extends Error {
1076
992
  static statusCode = 404;
1077
993
  static description = `Tree not found: {hash}`;
1078
994
  }
1079
- class ResizeFailedError extends Error {
995
+ class InvalidRevisionError extends Error {
1080
996
  constructor(body) {
1081
997
  super(
1082
- `RESIZE_FAILED: ${body.message}`
998
+ `INVALID_REVISION: ${body.message}`
1083
999
  );
1084
1000
  this.body = body;
1085
- this.name = "ResizeFailedError";
1001
+ this.name = "InvalidRevisionError";
1086
1002
  }
1087
- static code = "RESIZE_FAILED";
1088
- static statusCode = 500;
1089
- static description = `Failed to resize VM: {message}`;
1003
+ static code = "INVALID_REVISION";
1004
+ static statusCode = 400;
1005
+ static description = `Invalid revision: {revision}`;
1090
1006
  }
1091
- class InternalResizeVmNotFoundError extends Error {
1007
+ class UnauthorizedError extends Error {
1092
1008
  constructor(body) {
1093
1009
  super(
1094
- `INTERNAL_RESIZE_VM_NOT_FOUND: ${body.message}`
1010
+ `UNAUTHORIZED: ${body.message}`
1095
1011
  );
1096
1012
  this.body = body;
1097
- this.name = "InternalResizeVmNotFoundError";
1013
+ this.name = "UnauthorizedError";
1098
1014
  }
1099
- static code = "INTERNAL_RESIZE_VM_NOT_FOUND";
1100
- static statusCode = 404;
1101
- static description = `VM not found`;
1015
+ static code = "UNAUTHORIZED";
1016
+ static statusCode = 401;
1017
+ static description = `Unauthorized`;
1102
1018
  }
1103
- class ObservabilityDatabaseErrorError extends Error {
1019
+ class TagNotFoundError extends Error {
1104
1020
  constructor(body) {
1105
1021
  super(
1106
- `OBSERVABILITY_DATABASE_ERROR: ${body.message}`
1022
+ `TAG_NOT_FOUND: ${body.message}`
1107
1023
  );
1108
1024
  this.body = body;
1109
- this.name = "ObservabilityDatabaseErrorError";
1025
+ this.name = "TagNotFoundError";
1110
1026
  }
1111
- static code = "OBSERVABILITY_DATABASE_ERROR";
1112
- static statusCode = 500;
1113
- static description = `Database operation failed: {message}`;
1027
+ static code = "TAG_NOT_FOUND";
1028
+ static statusCode = 404;
1029
+ static description = `Tag not found: {tag}`;
1114
1030
  }
1115
- class ObservabilityAccessDeniedError extends Error {
1031
+ class RepoAlreadyExistsError extends Error {
1116
1032
  constructor(body) {
1117
1033
  super(
1118
- `OBSERVABILITY_ACCESS_DENIED: ${body.message}`
1034
+ `REPO_ALREADY_EXISTS: ${body.message}`
1119
1035
  );
1120
1036
  this.body = body;
1121
- this.name = "ObservabilityAccessDeniedError";
1037
+ this.name = "RepoAlreadyExistsError";
1122
1038
  }
1123
- static code = "OBSERVABILITY_ACCESS_DENIED";
1124
- static statusCode = 403;
1125
- static description = `Access denied to logs for deployment: {deployment_id}`;
1039
+ static code = "REPO_ALREADY_EXISTS";
1040
+ static statusCode = 409;
1041
+ static description = `Repository {repo_id} already exists`;
1126
1042
  }
1127
- class ParseLogsFailedError extends Error {
1043
+ class GitHubSyncConflictError extends Error {
1128
1044
  constructor(body) {
1129
1045
  super(
1130
- `PARSE_LOGS_FAILED: ${body.message}`
1046
+ `GIT_HUB_SYNC_CONFLICT: ${body.message}`
1131
1047
  );
1132
1048
  this.body = body;
1133
- this.name = "ParseLogsFailedError";
1049
+ this.name = "GitHubSyncConflictError";
1134
1050
  }
1135
- static code = "PARSE_LOGS_FAILED";
1136
- static statusCode = 500;
1137
- static description = `Failed to parse logs: {message}`;
1051
+ static code = "GIT_HUB_SYNC_CONFLICT";
1052
+ static statusCode = 409;
1053
+ static description = `GitHub Sync Conflict: {message}`;
1138
1054
  }
1139
- class RetrieveLogsFailedError extends Error {
1055
+ class InvalidObjectIdError extends Error {
1140
1056
  constructor(body) {
1141
1057
  super(
1142
- `RETRIEVE_LOGS_FAILED: ${body.message}`
1058
+ `INVALID_OBJECT_ID: ${body.message}`
1143
1059
  );
1144
1060
  this.body = body;
1145
- this.name = "RetrieveLogsFailedError";
1061
+ this.name = "InvalidObjectIdError";
1146
1062
  }
1147
- static code = "RETRIEVE_LOGS_FAILED";
1148
- static statusCode = 500;
1149
- static description = `Failed to retrieve logs: {message}`;
1063
+ static code = "INVALID_OBJECT_ID";
1064
+ static statusCode = 400;
1065
+ static description = `Invalid object ID: {hash}`;
1150
1066
  }
1151
- class InvalidQueryError extends Error {
1067
+ class SourceImportConflictError extends Error {
1152
1068
  constructor(body) {
1153
1069
  super(
1154
- `INVALID_QUERY: ${body.message}`
1070
+ `SOURCE_IMPORT_CONFLICT: ${body.message}`
1155
1071
  );
1156
1072
  this.body = body;
1157
- this.name = "InvalidQueryError";
1073
+ this.name = "SourceImportConflictError";
1158
1074
  }
1159
- static code = "INVALID_QUERY";
1075
+ static code = "SOURCE_IMPORT_CONFLICT";
1160
1076
  static statusCode = 400;
1161
- static description = `Invalid log query: {message}`;
1077
+ static description = `Source and import are mutually exclusive`;
1162
1078
  }
1163
- class LogsNotFoundError extends Error {
1079
+ class SourceUnauthorizedError extends Error {
1164
1080
  constructor(body) {
1165
1081
  super(
1166
- `LOGS_NOT_FOUND: ${body.message}`
1082
+ `SOURCE_UNAUTHORIZED: ${body.message}`
1167
1083
  );
1168
1084
  this.body = body;
1169
- this.name = "LogsNotFoundError";
1085
+ this.name = "SourceUnauthorizedError";
1170
1086
  }
1171
- static code = "LOGS_NOT_FOUND";
1172
- static statusCode = 404;
1173
- static description = `Logs not found for deployment: {deployment_id}`;
1087
+ static code = "SOURCE_UNAUTHORIZED";
1088
+ static statusCode = 400;
1089
+ static description = `Unauthorized to access source repository at {url}`;
1174
1090
  }
1175
- class PermissionAlreadyExistsError extends Error {
1091
+ class SourceNotFoundError extends Error {
1176
1092
  constructor(body) {
1177
1093
  super(
1178
- `PERMISSION_ALREADY_EXISTS: ${body.message}`
1094
+ `SOURCE_NOT_FOUND: ${body.message}`
1179
1095
  );
1180
1096
  this.body = body;
1181
- this.name = "PermissionAlreadyExistsError";
1097
+ this.name = "SourceNotFoundError";
1182
1098
  }
1183
- static code = "PERMISSION_ALREADY_EXISTS";
1184
- static statusCode = 409;
1185
- static description = `Permission already exists`;
1099
+ static code = "SOURCE_NOT_FOUND";
1100
+ static statusCode = 400;
1101
+ static description = `Source repository not found at {url}`;
1186
1102
  }
1187
- class ListTokensFailedError extends Error {
1103
+ class ImportSubdirNotFoundError extends Error {
1188
1104
  constructor(body) {
1189
1105
  super(
1190
- `LIST_TOKENS_FAILED: ${body.message}`
1106
+ `IMPORT_SUBDIR_NOT_FOUND: ${body.message}`
1191
1107
  );
1192
1108
  this.body = body;
1193
- this.name = "ListTokensFailedError";
1109
+ this.name = "ImportSubdirNotFoundError";
1194
1110
  }
1195
- static code = "LIST_TOKENS_FAILED";
1196
- static statusCode = 500;
1197
- static description = `Failed to list tokens: {message}`;
1111
+ static code = "IMPORT_SUBDIR_NOT_FOUND";
1112
+ static statusCode = 400;
1113
+ static description = `Directory not found in {source}: {dir}`;
1198
1114
  }
1199
- class RevokeTokenFailedError extends Error {
1115
+ class PackfileError extends Error {
1200
1116
  constructor(body) {
1201
1117
  super(
1202
- `REVOKE_TOKEN_FAILED: ${body.message}`
1118
+ `PACKFILE: ${body.message}`
1203
1119
  );
1204
1120
  this.body = body;
1205
- this.name = "RevokeTokenFailedError";
1121
+ this.name = "PackfileError";
1206
1122
  }
1207
- static code = "REVOKE_TOKEN_FAILED";
1123
+ static code = "PACKFILE";
1208
1124
  static statusCode = 500;
1209
- static description = `Failed to revoke token: {message}`;
1125
+ static description = `Error building packfile`;
1210
1126
  }
1211
- class CreateTokenFailedError extends Error {
1127
+ class PathNotFoundError extends Error {
1212
1128
  constructor(body) {
1213
1129
  super(
1214
- `CREATE_TOKEN_FAILED: ${body.message}`
1130
+ `PATH_NOT_FOUND: ${body.message}`
1215
1131
  );
1216
1132
  this.body = body;
1217
- this.name = "CreateTokenFailedError";
1133
+ this.name = "PathNotFoundError";
1218
1134
  }
1219
- static code = "CREATE_TOKEN_FAILED";
1220
- static statusCode = 500;
1221
- static description = `Failed to create token: {message}`;
1135
+ static code = "PATH_NOT_FOUND";
1136
+ static statusCode = 404;
1137
+ static description = `Path not found: {path}`;
1222
1138
  }
1223
- class ListPermissionsFailedError extends Error {
1139
+ class InvalidServiceError extends Error {
1224
1140
  constructor(body) {
1225
1141
  super(
1226
- `LIST_PERMISSIONS_FAILED: ${body.message}`
1142
+ `INVALID_SERVICE: ${body.message}`
1227
1143
  );
1228
1144
  this.body = body;
1229
- this.name = "ListPermissionsFailedError";
1145
+ this.name = "InvalidServiceError";
1230
1146
  }
1231
- static code = "LIST_PERMISSIONS_FAILED";
1232
- static statusCode = 500;
1233
- static description = `Failed to list permissions: {message}`;
1147
+ static code = "INVALID_SERVICE";
1148
+ static statusCode = 403;
1149
+ static description = `Invalid service '{invalid}', expected 'git-upload-pack' or 'git-receive-pack'`;
1234
1150
  }
1235
- class GetPermissionFailedError extends Error {
1151
+ class ExpectedServiceError extends Error {
1236
1152
  constructor(body) {
1237
1153
  super(
1238
- `GET_PERMISSION_FAILED: ${body.message}`
1154
+ `EXPECTED_SERVICE: ${body.message}`
1239
1155
  );
1240
1156
  this.body = body;
1241
- this.name = "GetPermissionFailedError";
1157
+ this.name = "ExpectedServiceError";
1242
1158
  }
1243
- static code = "GET_PERMISSION_FAILED";
1244
- static statusCode = 500;
1245
- static description = `Failed to get permission: {message}`;
1159
+ static code = "EXPECTED_SERVICE";
1160
+ static statusCode = 403;
1161
+ static description = `Expected 'service' query parameter`;
1246
1162
  }
1247
- class UpdatePermissionFailedError extends Error {
1163
+ class DatabaseErrorError extends Error {
1248
1164
  constructor(body) {
1249
1165
  super(
1250
- `UPDATE_PERMISSION_FAILED: ${body.message}`
1166
+ `DATABASE_ERROR: ${body.message}`
1251
1167
  );
1252
1168
  this.body = body;
1253
- this.name = "UpdatePermissionFailedError";
1169
+ this.name = "DatabaseErrorError";
1254
1170
  }
1255
- static code = "UPDATE_PERMISSION_FAILED";
1171
+ static code = "DATABASE_ERROR";
1256
1172
  static statusCode = 500;
1257
- static description = `Failed to update permission: {message}`;
1173
+ static description = `Database error: {0}`;
1258
1174
  }
1259
- class RevokePermissionFailedError extends Error {
1175
+ class WaitTimeoutError extends Error {
1260
1176
  constructor(body) {
1261
1177
  super(
1262
- `REVOKE_PERMISSION_FAILED: ${body.message}`
1178
+ `WAIT_TIMEOUT: ${body.message}`
1263
1179
  );
1264
1180
  this.body = body;
1265
- this.name = "RevokePermissionFailedError";
1181
+ this.name = "WaitTimeoutError";
1266
1182
  }
1267
- static code = "REVOKE_PERMISSION_FAILED";
1268
- static statusCode = 500;
1269
- static description = `Failed to revoke permission: {message}`;
1183
+ static code = "WAIT_TIMEOUT";
1184
+ static statusCode = 504;
1185
+ static description = `Timed out waiting for certificate validation`;
1270
1186
  }
1271
- class GrantPermissionFailedError extends Error {
1187
+ class PreVerifyChallengeMismatchError extends Error {
1272
1188
  constructor(body) {
1273
1189
  super(
1274
- `GRANT_PERMISSION_FAILED: ${body.message}`
1190
+ `PRE_VERIFY_CHALLENGE_MISMATCH: ${body.message}`
1275
1191
  );
1276
1192
  this.body = body;
1277
- this.name = "GrantPermissionFailedError";
1193
+ this.name = "PreVerifyChallengeMismatchError";
1278
1194
  }
1279
- static code = "GRANT_PERMISSION_FAILED";
1280
- static statusCode = 500;
1281
- static description = `Failed to grant permission: {message}`;
1195
+ static code = "PRE_VERIFY_CHALLENGE_MISMATCH";
1196
+ static statusCode = 400;
1197
+ static description = `Certificate challenge verification failed - response did not match`;
1282
1198
  }
1283
- class ListIdentitiesFailedError extends Error {
1199
+ class PreVerifyFailedParseError extends Error {
1284
1200
  constructor(body) {
1285
1201
  super(
1286
- `LIST_IDENTITIES_FAILED: ${body.message}`
1202
+ `PRE_VERIFY_FAILED_PARSE: ${body.message}`
1287
1203
  );
1288
1204
  this.body = body;
1289
- this.name = "ListIdentitiesFailedError";
1205
+ this.name = "PreVerifyFailedParseError";
1290
1206
  }
1291
- static code = "LIST_IDENTITIES_FAILED";
1292
- static statusCode = 500;
1293
- static description = `Failed to list identities: {message}`;
1207
+ static code = "PRE_VERIFY_FAILED_PARSE";
1208
+ static statusCode = 400;
1209
+ static description = `Invalid response from domain during certificate verification`;
1294
1210
  }
1295
- class DeleteIdentityFailedError extends Error {
1211
+ class PreVerifyFailedFetchError extends Error {
1296
1212
  constructor(body) {
1297
1213
  super(
1298
- `DELETE_IDENTITY_FAILED: ${body.message}`
1214
+ `PRE_VERIFY_FAILED_FETCH: ${body.message}`
1299
1215
  );
1300
1216
  this.body = body;
1301
- this.name = "DeleteIdentityFailedError";
1217
+ this.name = "PreVerifyFailedFetchError";
1302
1218
  }
1303
- static code = "DELETE_IDENTITY_FAILED";
1304
- static statusCode = 500;
1305
- static description = `Failed to delete identity: {message}`;
1219
+ static code = "PRE_VERIFY_FAILED_FETCH";
1220
+ static statusCode = 400;
1221
+ static description = `Could not reach domain for certificate verification - check DNS settings`;
1306
1222
  }
1307
- class CreateIdentityFailedError extends Error {
1223
+ class PreVerifyRouteNotFoundError extends Error {
1308
1224
  constructor(body) {
1309
1225
  super(
1310
- `CREATE_IDENTITY_FAILED: ${body.message}`
1226
+ `PRE_VERIFY_ROUTE_NOT_FOUND: ${body.message}`
1311
1227
  );
1312
1228
  this.body = body;
1313
- this.name = "CreateIdentityFailedError";
1229
+ this.name = "PreVerifyRouteNotFoundError";
1314
1230
  }
1315
- static code = "CREATE_IDENTITY_FAILED";
1316
- static statusCode = 500;
1317
- static description = `Failed to create identity: {message}`;
1231
+ static code = "PRE_VERIFY_ROUTE_NOT_FOUND";
1232
+ static statusCode = 400;
1233
+ static description = `Domain does not resolve to Freestyle servers`;
1318
1234
  }
1319
- class VmPermissionNotFoundError extends Error {
1235
+ class AuthorizationNotFoundError extends Error {
1320
1236
  constructor(body) {
1321
1237
  super(
1322
- `VM_PERMISSION_NOT_FOUND: ${body.message}`
1238
+ `AUTHORIZATION_NOT_FOUND: ${body.message}`
1323
1239
  );
1324
1240
  this.body = body;
1325
- this.name = "VmPermissionNotFoundError";
1241
+ this.name = "AuthorizationNotFoundError";
1326
1242
  }
1327
- static code = "VM_PERMISSION_NOT_FOUND";
1243
+ static code = "AUTHORIZATION_NOT_FOUND";
1328
1244
  static statusCode = 404;
1329
- static description = `VM permission not found`;
1245
+ static description = `No authorization found for domain`;
1330
1246
  }
1331
- class PermissionNotFoundError extends Error {
1247
+ class OrderNotFoundError extends Error {
1332
1248
  constructor(body) {
1333
1249
  super(
1334
- `PERMISSION_NOT_FOUND: ${body.message}`
1250
+ `ORDER_NOT_FOUND: ${body.message}`
1335
1251
  );
1336
1252
  this.body = body;
1337
- this.name = "PermissionNotFoundError";
1253
+ this.name = "OrderNotFoundError";
1338
1254
  }
1339
- static code = "PERMISSION_NOT_FOUND";
1255
+ static code = "ORDER_NOT_FOUND";
1340
1256
  static statusCode = 404;
1341
- static description = `Permission not found`;
1257
+ static description = `No certificate order found for domain`;
1342
1258
  }
1343
- class VmAccessDeniedError extends Error {
1259
+ class ResizeFailedError extends Error {
1344
1260
  constructor(body) {
1345
1261
  super(
1346
- `VM_ACCESS_DENIED: ${body.message}`
1262
+ `RESIZE_FAILED: ${body.message}`
1347
1263
  );
1348
1264
  this.body = body;
1349
- this.name = "VmAccessDeniedError";
1265
+ this.name = "ResizeFailedError";
1350
1266
  }
1351
- static code = "VM_ACCESS_DENIED";
1352
- static statusCode = 403;
1353
- static description = `You are not allowed to access this VM`;
1267
+ static code = "RESIZE_FAILED";
1268
+ static statusCode = 500;
1269
+ static description = `Failed to resize VM: {message}`;
1354
1270
  }
1355
- class GitRepositoryAccessDeniedError extends Error {
1271
+ class InternalResizeVmNotFoundError extends Error {
1356
1272
  constructor(body) {
1357
1273
  super(
1358
- `GIT_REPOSITORY_ACCESS_DENIED: ${body.message}`
1274
+ `INTERNAL_RESIZE_VM_NOT_FOUND: ${body.message}`
1359
1275
  );
1360
1276
  this.body = body;
1361
- this.name = "GitRepositoryAccessDeniedError";
1277
+ this.name = "InternalResizeVmNotFoundError";
1362
1278
  }
1363
- static code = "GIT_REPOSITORY_ACCESS_DENIED";
1364
- static statusCode = 403;
1365
- static description = `You are not allowed to access this repository`;
1279
+ static code = "INTERNAL_RESIZE_VM_NOT_FOUND";
1280
+ static statusCode = 404;
1281
+ static description = `VM not found`;
1366
1282
  }
1367
- class GitRepositoryNotFoundError extends Error {
1283
+ class DomainOwnershipVerificationFailedError extends Error {
1368
1284
  constructor(body) {
1369
1285
  super(
1370
- `GIT_REPOSITORY_NOT_FOUND: ${body.message}`
1286
+ `DOMAIN_OWNERSHIP_VERIFICATION_FAILED: ${body.message}`
1371
1287
  );
1372
1288
  this.body = body;
1373
- this.name = "GitRepositoryNotFoundError";
1289
+ this.name = "DomainOwnershipVerificationFailedError";
1374
1290
  }
1375
- static code = "GIT_REPOSITORY_NOT_FOUND";
1376
- static statusCode = 404;
1377
- static description = `Repository not found`;
1291
+ static code = "DOMAIN_OWNERSHIP_VERIFICATION_FAILED";
1292
+ static statusCode = 403;
1293
+ static description = `Domain ownership verification failed`;
1378
1294
  }
1379
- class CannotDeleteManagedIdentityError extends Error {
1295
+ class ErrorDeletingRecordError extends Error {
1380
1296
  constructor(body) {
1381
1297
  super(
1382
- `CANNOT_DELETE_MANAGED_IDENTITY: ${body.message}`
1298
+ `ERROR_DELETING_RECORD: ${body.message}`
1383
1299
  );
1384
1300
  this.body = body;
1385
- this.name = "CannotDeleteManagedIdentityError";
1301
+ this.name = "ErrorDeletingRecordError";
1386
1302
  }
1387
- static code = "CANNOT_DELETE_MANAGED_IDENTITY";
1388
- static statusCode = 403;
1389
- static description = `Cannot delete managed identities`;
1303
+ static code = "ERROR_DELETING_RECORD";
1304
+ static statusCode = 500;
1305
+ static description = `Error deleting DNS record for {domain}/{name}: {message}`;
1390
1306
  }
1391
- class CannotModifyManagedIdentityError extends Error {
1307
+ class RecordOwnershipErrorError extends Error {
1392
1308
  constructor(body) {
1393
1309
  super(
1394
- `CANNOT_MODIFY_MANAGED_IDENTITY: ${body.message}`
1310
+ `RECORD_OWNERSHIP_ERROR: ${body.message}`
1395
1311
  );
1396
1312
  this.body = body;
1397
- this.name = "CannotModifyManagedIdentityError";
1313
+ this.name = "RecordOwnershipErrorError";
1398
1314
  }
1399
- static code = "CANNOT_MODIFY_MANAGED_IDENTITY";
1315
+ static code = "RECORD_OWNERSHIP_ERROR";
1400
1316
  static statusCode = 403;
1401
- static description = `Cannot modify managed identities`;
1317
+ static description = `Account {account_id} does not own record {record_id}`;
1402
1318
  }
1403
- class IdentityAccessDeniedError extends Error {
1319
+ class ErrorCreatingRecordError extends Error {
1404
1320
  constructor(body) {
1405
1321
  super(
1406
- `IDENTITY_ACCESS_DENIED: ${body.message}`
1322
+ `ERROR_CREATING_RECORD: ${body.message}`
1407
1323
  );
1408
1324
  this.body = body;
1409
- this.name = "IdentityAccessDeniedError";
1325
+ this.name = "ErrorCreatingRecordError";
1410
1326
  }
1411
- static code = "IDENTITY_ACCESS_DENIED";
1412
- static statusCode = 403;
1413
- static description = `You are not allowed to access this identity`;
1327
+ static code = "ERROR_CREATING_RECORD";
1328
+ static statusCode = 500;
1329
+ static description = `Error creating DNS record: {message}`;
1414
1330
  }
1415
- class IdentityNotFoundError extends Error {
1331
+ class DomainOwnershipErrorError extends Error {
1416
1332
  constructor(body) {
1417
1333
  super(
1418
- `IDENTITY_NOT_FOUND: ${body.message}`
1334
+ `DOMAIN_OWNERSHIP_ERROR: ${body.message}`
1419
1335
  );
1420
1336
  this.body = body;
1421
- this.name = "IdentityNotFoundError";
1337
+ this.name = "DomainOwnershipErrorError";
1422
1338
  }
1423
- static code = "IDENTITY_NOT_FOUND";
1424
- static statusCode = 404;
1425
- static description = `Identity not found`;
1339
+ static code = "DOMAIN_OWNERSHIP_ERROR";
1340
+ static statusCode = 403;
1341
+ static description = `Account {account_id} does not own domain {domain}`;
1426
1342
  }
1427
- class ExecuteInternalErrorError extends Error {
1343
+ class BrowserOperationFailedError extends Error {
1428
1344
  constructor(body) {
1429
1345
  super(
1430
- `EXECUTE_INTERNAL_ERROR: ${body.message}`
1346
+ `BROWSER_OPERATION_FAILED: ${body.message}`
1431
1347
  );
1432
1348
  this.body = body;
1433
- this.name = "ExecuteInternalErrorError";
1349
+ this.name = "BrowserOperationFailedError";
1434
1350
  }
1435
- static code = "EXECUTE_INTERNAL_ERROR";
1351
+ static code = "BROWSER_OPERATION_FAILED";
1436
1352
  static statusCode = 500;
1437
- static description = `Internal error: {message}`;
1353
+ static description = `Browser operation failed: {message}`;
1438
1354
  }
1439
- class ExecuteAccessDeniedError extends Error {
1355
+ class WatchFilesFailedError extends Error {
1440
1356
  constructor(body) {
1441
1357
  super(
1442
- `EXECUTE_ACCESS_DENIED: ${body.message}`
1358
+ `WATCH_FILES_FAILED: ${body.message}`
1443
1359
  );
1444
1360
  this.body = body;
1445
- this.name = "ExecuteAccessDeniedError";
1361
+ this.name = "WatchFilesFailedError";
1446
1362
  }
1447
- static code = "EXECUTE_ACCESS_DENIED";
1448
- static statusCode = 403;
1449
- static description = `Access denied to execute run`;
1363
+ static code = "WATCH_FILES_FAILED";
1364
+ static statusCode = 500;
1365
+ static description = `Failed to watch files: {message}`;
1450
1366
  }
1451
- class ListRunsFailedError extends Error {
1367
+ class LogsFailedError extends Error {
1452
1368
  constructor(body) {
1453
1369
  super(
1454
- `LIST_RUNS_FAILED: ${body.message}`
1370
+ `LOGS_FAILED: ${body.message}`
1455
1371
  );
1456
1372
  this.body = body;
1457
- this.name = "ListRunsFailedError";
1373
+ this.name = "LogsFailedError";
1458
1374
  }
1459
- static code = "LIST_RUNS_FAILED";
1375
+ static code = "LOGS_FAILED";
1460
1376
  static statusCode = 500;
1461
- static description = `Failed to list execute runs: {message}`;
1377
+ static description = `Failed to get logs: {message}`;
1462
1378
  }
1463
- class ExecutionErrorError extends Error {
1379
+ class StatusFailedError extends Error {
1464
1380
  constructor(body) {
1465
1381
  super(
1466
- `EXECUTION_ERROR: ${body.message}`
1382
+ `STATUS_FAILED: ${body.message}`
1467
1383
  );
1468
1384
  this.body = body;
1469
- this.name = "ExecutionErrorError";
1385
+ this.name = "StatusFailedError";
1470
1386
  }
1471
- static code = "EXECUTION_ERROR";
1387
+ static code = "STATUS_FAILED";
1472
1388
  static statusCode = 500;
1473
- static description = `Script execution error: {message}`;
1389
+ static description = `Failed to get dev server status: {message}`;
1474
1390
  }
1475
- class ConnectionFailedError extends Error {
1391
+ class RestartFailedError extends Error {
1476
1392
  constructor(body) {
1477
1393
  super(
1478
- `CONNECTION_FAILED: ${body.message}`
1394
+ `RESTART_FAILED: ${body.message}`
1479
1395
  );
1480
1396
  this.body = body;
1481
- this.name = "ConnectionFailedError";
1397
+ this.name = "RestartFailedError";
1482
1398
  }
1483
- static code = "CONNECTION_FAILED";
1399
+ static code = "RESTART_FAILED";
1484
1400
  static statusCode = 500;
1485
- static description = `Failed to connect to execute server: {message}`;
1401
+ static description = `Failed to restart dev server: {message}`;
1486
1402
  }
1487
- class MetadataWriteFailedError extends Error {
1403
+ class ShutdownFailedError extends Error {
1488
1404
  constructor(body) {
1489
1405
  super(
1490
- `METADATA_WRITE_FAILED: ${body.message}`
1406
+ `SHUTDOWN_FAILED: ${body.message}`
1491
1407
  );
1492
1408
  this.body = body;
1493
- this.name = "MetadataWriteFailedError";
1409
+ this.name = "ShutdownFailedError";
1494
1410
  }
1495
- static code = "METADATA_WRITE_FAILED";
1411
+ static code = "SHUTDOWN_FAILED";
1496
1412
  static statusCode = 500;
1497
- static description = `Failed to write metadata file: {message}`;
1413
+ static description = `Failed to shutdown dev server: {message}`;
1498
1414
  }
1499
- class NodeModulesInstallFailedError extends Error {
1415
+ class CommitFailedError extends Error {
1500
1416
  constructor(body) {
1501
1417
  super(
1502
- `NODE_MODULES_INSTALL_FAILED: ${body.message}`
1418
+ `COMMIT_FAILED: ${body.message}`
1503
1419
  );
1504
1420
  this.body = body;
1505
- this.name = "NodeModulesInstallFailedError";
1421
+ this.name = "CommitFailedError";
1506
1422
  }
1507
- static code = "NODE_MODULES_INSTALL_FAILED";
1423
+ static code = "COMMIT_FAILED";
1508
1424
  static statusCode = 500;
1509
- static description = `Failed to install node modules: {message}`;
1425
+ static description = `Failed to commit changes: {message}`;
1510
1426
  }
1511
- class NodeModulesDownloadFailedError extends Error {
1427
+ class WriteFileFailedError extends Error {
1512
1428
  constructor(body) {
1513
1429
  super(
1514
- `NODE_MODULES_DOWNLOAD_FAILED: ${body.message}`
1430
+ `WRITE_FILE_FAILED: ${body.message}`
1515
1431
  );
1516
1432
  this.body = body;
1517
- this.name = "NodeModulesDownloadFailedError";
1433
+ this.name = "WriteFileFailedError";
1518
1434
  }
1519
- static code = "NODE_MODULES_DOWNLOAD_FAILED";
1435
+ static code = "WRITE_FILE_FAILED";
1520
1436
  static statusCode = 500;
1521
- static description = `Failed to download node modules: {message}`;
1437
+ static description = `Failed to write file: {message}`;
1522
1438
  }
1523
- class LockGenerationFailedError extends Error {
1439
+ class ReadFileFailedError extends Error {
1524
1440
  constructor(body) {
1525
1441
  super(
1526
- `LOCK_GENERATION_FAILED: ${body.message}`
1442
+ `READ_FILE_FAILED: ${body.message}`
1527
1443
  );
1528
1444
  this.body = body;
1529
- this.name = "LockGenerationFailedError";
1445
+ this.name = "ReadFileFailedError";
1530
1446
  }
1531
- static code = "LOCK_GENERATION_FAILED";
1447
+ static code = "READ_FILE_FAILED";
1532
1448
  static statusCode = 500;
1533
- static description = `Failed to generate lock file: {message}`;
1449
+ static description = `Failed to read file: {message}`;
1534
1450
  }
1535
- class WriteScriptFailedError extends Error {
1451
+ class ExecutionFailedError extends Error {
1536
1452
  constructor(body) {
1537
1453
  super(
1538
- `WRITE_SCRIPT_FAILED: ${body.message}`
1454
+ `EXECUTION_FAILED: ${body.message}`
1539
1455
  );
1540
1456
  this.body = body;
1541
- this.name = "WriteScriptFailedError";
1457
+ this.name = "ExecutionFailedError";
1542
1458
  }
1543
- static code = "WRITE_SCRIPT_FAILED";
1459
+ static code = "EXECUTION_FAILED";
1544
1460
  static statusCode = 500;
1545
- static description = `Failed to write script file: {message}`;
1461
+ static description = `Failed to execute command: {message}`;
1546
1462
  }
1547
- class DirectoryCreationFailedError extends Error {
1463
+ class RequestFailedError extends Error {
1548
1464
  constructor(body) {
1549
1465
  super(
1550
- `DIRECTORY_CREATION_FAILED: ${body.message}`
1466
+ `REQUEST_FAILED: ${body.message}`
1551
1467
  );
1552
1468
  this.body = body;
1553
- this.name = "DirectoryCreationFailedError";
1469
+ this.name = "RequestFailedError";
1554
1470
  }
1555
- static code = "DIRECTORY_CREATION_FAILED";
1471
+ static code = "REQUEST_FAILED";
1556
1472
  static statusCode = 500;
1557
- static description = `Failed to create script directory: {message}`;
1473
+ static description = `Failed to request dev server: {message}`;
1558
1474
  }
1559
- class NetworkPermissionsFailedError extends Error {
1475
+ class DevServerFileNotFoundError extends Error {
1560
1476
  constructor(body) {
1561
1477
  super(
1562
- `NETWORK_PERMISSIONS_FAILED: ${body.message}`
1478
+ `DEV_SERVER_FILE_NOT_FOUND: ${body.message}`
1563
1479
  );
1564
1480
  this.body = body;
1565
- this.name = "NetworkPermissionsFailedError";
1481
+ this.name = "DevServerFileNotFoundError";
1566
1482
  }
1567
- static code = "NETWORK_PERMISSIONS_FAILED";
1568
- static statusCode = 500;
1569
- static description = `Failed to insert network permissions: {message}`;
1483
+ static code = "DEV_SERVER_FILE_NOT_FOUND";
1484
+ static statusCode = 404;
1485
+ static description = `Dev server file not found: {path}`;
1570
1486
  }
1571
- class LoggingFailedError extends Error {
1487
+ class DevServerInvalidRequestError extends Error {
1572
1488
  constructor(body) {
1573
1489
  super(
1574
- `LOGGING_FAILED: ${body.message}`
1490
+ `DEV_SERVER_INVALID_REQUEST: ${body.message}`
1575
1491
  );
1576
1492
  this.body = body;
1577
- this.name = "LoggingFailedError";
1493
+ this.name = "DevServerInvalidRequestError";
1578
1494
  }
1579
- static code = "LOGGING_FAILED";
1580
- static statusCode = 500;
1581
- static description = `Failed to log execute run: {message}`;
1495
+ static code = "DEV_SERVER_INVALID_REQUEST";
1496
+ static statusCode = 400;
1497
+ static description = `Invalid dev server request: {message}`;
1582
1498
  }
1583
- class RunNotFoundError extends Error {
1499
+ class DevServerNotFoundError extends Error {
1584
1500
  constructor(body) {
1585
1501
  super(
1586
- `RUN_NOT_FOUND: ${body.message}`
1502
+ `DEV_SERVER_NOT_FOUND: ${body.message}`
1587
1503
  );
1588
1504
  this.body = body;
1589
- this.name = "RunNotFoundError";
1505
+ this.name = "DevServerNotFoundError";
1590
1506
  }
1591
- static code = "RUN_NOT_FOUND";
1507
+ static code = "DEV_SERVER_NOT_FOUND";
1592
1508
  static statusCode = 404;
1593
- static description = `Execute run not found: {run_id}`;
1509
+ static description = `Dev server not found: {server_id}`;
1594
1510
  }
1595
- class FailedToProvisionCertificateError extends Error {
1511
+ class ExecuteInternalErrorError extends Error {
1596
1512
  constructor(body) {
1597
1513
  super(
1598
- `FAILED_TO_PROVISION_CERTIFICATE: ${body.message}`
1514
+ `EXECUTE_INTERNAL_ERROR: ${body.message}`
1599
1515
  );
1600
1516
  this.body = body;
1601
- this.name = "FailedToProvisionCertificateError";
1517
+ this.name = "ExecuteInternalErrorError";
1602
1518
  }
1603
- static code = "FAILED_TO_PROVISION_CERTIFICATE";
1604
- static statusCode = 422;
1605
- static description = `Failed to provision certificate: {message}`;
1519
+ static code = "EXECUTE_INTERNAL_ERROR";
1520
+ static statusCode = 500;
1521
+ static description = `Internal error: {message}`;
1606
1522
  }
1607
- class FailedToInsertDomainMappingError extends Error {
1523
+ class ExecuteAccessDeniedError extends Error {
1608
1524
  constructor(body) {
1609
1525
  super(
1610
- `FAILED_TO_INSERT_DOMAIN_MAPPING: ${body.message}`
1526
+ `EXECUTE_ACCESS_DENIED: ${body.message}`
1611
1527
  );
1612
1528
  this.body = body;
1613
- this.name = "FailedToInsertDomainMappingError";
1529
+ this.name = "ExecuteAccessDeniedError";
1614
1530
  }
1615
- static code = "FAILED_TO_INSERT_DOMAIN_MAPPING";
1616
- static statusCode = 500;
1617
- static description = `Failed to insert domain mapping: {message}`;
1531
+ static code = "EXECUTE_ACCESS_DENIED";
1532
+ static statusCode = 403;
1533
+ static description = `Access denied to execute run`;
1618
1534
  }
1619
- class PermissionDeniedError extends Error {
1535
+ class ListRunsFailedError extends Error {
1620
1536
  constructor(body) {
1621
1537
  super(
1622
- `PERMISSION_DENIED: ${body.message}`
1538
+ `LIST_RUNS_FAILED: ${body.message}`
1623
1539
  );
1624
1540
  this.body = body;
1625
- this.name = "PermissionDeniedError";
1541
+ this.name = "ListRunsFailedError";
1626
1542
  }
1627
- static code = "PERMISSION_DENIED";
1628
- static statusCode = 401;
1629
- static description = `Permission denied: {message}`;
1543
+ static code = "LIST_RUNS_FAILED";
1544
+ static statusCode = 500;
1545
+ static description = `Failed to list execute runs: {message}`;
1630
1546
  }
1631
- class FailedToCheckPermissionsError extends Error {
1547
+ class ExecutionErrorError extends Error {
1632
1548
  constructor(body) {
1633
1549
  super(
1634
- `FAILED_TO_CHECK_PERMISSIONS: ${body.message}`
1550
+ `EXECUTION_ERROR: ${body.message}`
1635
1551
  );
1636
1552
  this.body = body;
1637
- this.name = "FailedToCheckPermissionsError";
1553
+ this.name = "ExecutionErrorError";
1638
1554
  }
1639
- static code = "FAILED_TO_CHECK_PERMISSIONS";
1640
- static statusCode = 502;
1641
- static description = `Failed to check permissions: {message}`;
1555
+ static code = "EXECUTION_ERROR";
1556
+ static statusCode = 500;
1557
+ static description = `Script execution error: {message}`;
1642
1558
  }
1643
- class FailedToListDomainsError extends Error {
1559
+ class ConnectionFailedError extends Error {
1644
1560
  constructor(body) {
1645
1561
  super(
1646
- `FAILED_TO_LIST_DOMAINS: ${body.message}`
1562
+ `CONNECTION_FAILED: ${body.message}`
1647
1563
  );
1648
1564
  this.body = body;
1649
- this.name = "FailedToListDomainsError";
1565
+ this.name = "ConnectionFailedError";
1650
1566
  }
1651
- static code = "FAILED_TO_LIST_DOMAINS";
1567
+ static code = "CONNECTION_FAILED";
1652
1568
  static statusCode = 500;
1653
- static description = `Failed to list domains: {message}`;
1569
+ static description = `Failed to connect to execute server: {message}`;
1654
1570
  }
1655
- class FailedToListVerificationsError extends Error {
1571
+ class MetadataWriteFailedError extends Error {
1656
1572
  constructor(body) {
1657
1573
  super(
1658
- `FAILED_TO_LIST_VERIFICATIONS: ${body.message}`
1574
+ `METADATA_WRITE_FAILED: ${body.message}`
1659
1575
  );
1660
1576
  this.body = body;
1661
- this.name = "FailedToListVerificationsError";
1577
+ this.name = "MetadataWriteFailedError";
1662
1578
  }
1663
- static code = "FAILED_TO_LIST_VERIFICATIONS";
1579
+ static code = "METADATA_WRITE_FAILED";
1664
1580
  static statusCode = 500;
1665
- static description = `Failed to list verifications: {message}`;
1581
+ static description = `Failed to write metadata file: {message}`;
1666
1582
  }
1667
- class FailedToVerifyDomainError extends Error {
1583
+ class NodeModulesInstallFailedError extends Error {
1668
1584
  constructor(body) {
1669
1585
  super(
1670
- `FAILED_TO_VERIFY_DOMAIN: ${body.message}`
1586
+ `NODE_MODULES_INSTALL_FAILED: ${body.message}`
1671
1587
  );
1672
1588
  this.body = body;
1673
- this.name = "FailedToVerifyDomainError";
1589
+ this.name = "NodeModulesInstallFailedError";
1674
1590
  }
1675
- static code = "FAILED_TO_VERIFY_DOMAIN";
1591
+ static code = "NODE_MODULES_INSTALL_FAILED";
1676
1592
  static statusCode = 500;
1677
- static description = `Failed to verify domain: {message}`;
1593
+ static description = `Failed to install node modules: {message}`;
1678
1594
  }
1679
- class VerificationFailedError extends Error {
1595
+ class NodeModulesDownloadFailedError extends Error {
1680
1596
  constructor(body) {
1681
1597
  super(
1682
- `VERIFICATION_FAILED: ${body.message}`
1598
+ `NODE_MODULES_DOWNLOAD_FAILED: ${body.message}`
1683
1599
  );
1684
1600
  this.body = body;
1685
- this.name = "VerificationFailedError";
1601
+ this.name = "NodeModulesDownloadFailedError";
1686
1602
  }
1687
- static code = "VERIFICATION_FAILED";
1688
- static statusCode = 400;
1689
- static description = `Domain verification failed: {message}`;
1603
+ static code = "NODE_MODULES_DOWNLOAD_FAILED";
1604
+ static statusCode = 500;
1605
+ static description = `Failed to download node modules: {message}`;
1690
1606
  }
1691
- class FailedToDeleteVerificationError extends Error {
1607
+ class LockGenerationFailedError extends Error {
1692
1608
  constructor(body) {
1693
1609
  super(
1694
- `FAILED_TO_DELETE_VERIFICATION: ${body.message}`
1610
+ `LOCK_GENERATION_FAILED: ${body.message}`
1695
1611
  );
1696
1612
  this.body = body;
1697
- this.name = "FailedToDeleteVerificationError";
1613
+ this.name = "LockGenerationFailedError";
1698
1614
  }
1699
- static code = "FAILED_TO_DELETE_VERIFICATION";
1700
- static statusCode = 400;
1701
- static description = `Failed to delete verification: {message}`;
1615
+ static code = "LOCK_GENERATION_FAILED";
1616
+ static statusCode = 500;
1617
+ static description = `Failed to generate lock file: {message}`;
1702
1618
  }
1703
- class VerificationNotFoundError extends Error {
1619
+ class WriteScriptFailedError extends Error {
1704
1620
  constructor(body) {
1705
1621
  super(
1706
- `VERIFICATION_NOT_FOUND: ${body.message}`
1622
+ `WRITE_SCRIPT_FAILED: ${body.message}`
1707
1623
  );
1708
1624
  this.body = body;
1709
- this.name = "VerificationNotFoundError";
1625
+ this.name = "WriteScriptFailedError";
1710
1626
  }
1711
- static code = "VERIFICATION_NOT_FOUND";
1712
- static statusCode = 404;
1713
- static description = `Verification request not found for domain: {domain}`;
1627
+ static code = "WRITE_SCRIPT_FAILED";
1628
+ static statusCode = 500;
1629
+ static description = `Failed to write script file: {message}`;
1714
1630
  }
1715
- class FailedToCreateVerificationCodeError extends Error {
1631
+ class DirectoryCreationFailedError extends Error {
1716
1632
  constructor(body) {
1717
1633
  super(
1718
- `FAILED_TO_CREATE_VERIFICATION_CODE: ${body.message}`
1634
+ `DIRECTORY_CREATION_FAILED: ${body.message}`
1719
1635
  );
1720
1636
  this.body = body;
1721
- this.name = "FailedToCreateVerificationCodeError";
1637
+ this.name = "DirectoryCreationFailedError";
1722
1638
  }
1723
- static code = "FAILED_TO_CREATE_VERIFICATION_CODE";
1724
- static statusCode = 400;
1725
- static description = `Failed to create verification code: {message}`;
1639
+ static code = "DIRECTORY_CREATION_FAILED";
1640
+ static statusCode = 500;
1641
+ static description = `Failed to create script directory: {message}`;
1726
1642
  }
1727
- class InvalidDomainError extends Error {
1643
+ class NetworkPermissionsFailedError extends Error {
1728
1644
  constructor(body) {
1729
1645
  super(
1730
- `INVALID_DOMAIN: ${body.message}`
1646
+ `NETWORK_PERMISSIONS_FAILED: ${body.message}`
1731
1647
  );
1732
1648
  this.body = body;
1733
- this.name = "InvalidDomainError";
1649
+ this.name = "NetworkPermissionsFailedError";
1734
1650
  }
1735
- static code = "INVALID_DOMAIN";
1736
- static statusCode = 400;
1737
- static description = `Invalid domain: {domain}`;
1651
+ static code = "NETWORK_PERMISSIONS_FAILED";
1652
+ static statusCode = 500;
1653
+ static description = `Failed to insert network permissions: {message}`;
1738
1654
  }
1739
- class DomainOwnershipVerificationFailedError extends Error {
1655
+ class LoggingFailedError extends Error {
1740
1656
  constructor(body) {
1741
1657
  super(
1742
- `DOMAIN_OWNERSHIP_VERIFICATION_FAILED: ${body.message}`
1658
+ `LOGGING_FAILED: ${body.message}`
1743
1659
  );
1744
1660
  this.body = body;
1745
- this.name = "DomainOwnershipVerificationFailedError";
1661
+ this.name = "LoggingFailedError";
1746
1662
  }
1747
- static code = "DOMAIN_OWNERSHIP_VERIFICATION_FAILED";
1748
- static statusCode = 403;
1749
- static description = `Domain ownership verification failed`;
1663
+ static code = "LOGGING_FAILED";
1664
+ static statusCode = 500;
1665
+ static description = `Failed to log execute run: {message}`;
1750
1666
  }
1751
- class ErrorDeletingRecordError extends Error {
1667
+ class RunNotFoundError extends Error {
1752
1668
  constructor(body) {
1753
1669
  super(
1754
- `ERROR_DELETING_RECORD: ${body.message}`
1670
+ `RUN_NOT_FOUND: ${body.message}`
1755
1671
  );
1756
1672
  this.body = body;
1757
- this.name = "ErrorDeletingRecordError";
1673
+ this.name = "RunNotFoundError";
1758
1674
  }
1759
- static code = "ERROR_DELETING_RECORD";
1760
- static statusCode = 500;
1761
- static description = `Error deleting DNS record for {domain}/{name}: {message}`;
1675
+ static code = "RUN_NOT_FOUND";
1676
+ static statusCode = 404;
1677
+ static description = `Execute run not found: {run_id}`;
1762
1678
  }
1763
- class RecordOwnershipErrorError extends Error {
1679
+ class EmptyTagError extends Error {
1764
1680
  constructor(body) {
1765
1681
  super(
1766
- `RECORD_OWNERSHIP_ERROR: ${body.message}`
1682
+ `EMPTY_TAG: ${body.message}`
1767
1683
  );
1768
1684
  this.body = body;
1769
- this.name = "RecordOwnershipErrorError";
1685
+ this.name = "EmptyTagError";
1770
1686
  }
1771
- static code = "RECORD_OWNERSHIP_ERROR";
1772
- static statusCode = 403;
1773
- static description = `Account {account_id} does not own record {record_id}`;
1687
+ static code = "EMPTY_TAG";
1688
+ static statusCode = 400;
1689
+ static description = `Invalid request: tag cannot be empty`;
1774
1690
  }
1775
- class ErrorCreatingRecordError extends Error {
1691
+ class AnyhowError extends Error {
1776
1692
  constructor(body) {
1777
1693
  super(
1778
- `ERROR_CREATING_RECORD: ${body.message}`
1694
+ `ANYHOW: ${body.message}`
1779
1695
  );
1780
1696
  this.body = body;
1781
- this.name = "ErrorCreatingRecordError";
1697
+ this.name = "AnyhowError";
1782
1698
  }
1783
- static code = "ERROR_CREATING_RECORD";
1699
+ static code = "ANYHOW";
1784
1700
  static statusCode = 500;
1785
- static description = `Error creating DNS record: {message}`;
1701
+ static description = `Internal server error: {0}`;
1786
1702
  }
1787
- class DomainOwnershipErrorError extends Error {
1703
+ class BranchNameEmptyError extends Error {
1788
1704
  constructor(body) {
1789
1705
  super(
1790
- `DOMAIN_OWNERSHIP_ERROR: ${body.message}`
1706
+ `BRANCH_NAME_EMPTY: ${body.message}`
1791
1707
  );
1792
1708
  this.body = body;
1793
- this.name = "DomainOwnershipErrorError";
1709
+ this.name = "BranchNameEmptyError";
1794
1710
  }
1795
- static code = "DOMAIN_OWNERSHIP_ERROR";
1796
- static statusCode = 403;
1797
- static description = `Account {account_id} does not own domain {domain}`;
1711
+ static code = "BRANCH_NAME_EMPTY";
1712
+ static statusCode = 400;
1713
+ static description = `Branch name cannot be empty`;
1798
1714
  }
1799
- class BrowserOperationFailedError extends Error {
1715
+ class CloudstateInternalErrorError extends Error {
1800
1716
  constructor(body) {
1801
1717
  super(
1802
- `BROWSER_OPERATION_FAILED: ${body.message}`
1718
+ `CLOUDSTATE_INTERNAL_ERROR: ${body.message}`
1803
1719
  );
1804
1720
  this.body = body;
1805
- this.name = "BrowserOperationFailedError";
1721
+ this.name = "CloudstateInternalErrorError";
1806
1722
  }
1807
- static code = "BROWSER_OPERATION_FAILED";
1723
+ static code = "CLOUDSTATE_INTERNAL_ERROR";
1808
1724
  static statusCode = 500;
1809
- static description = `Browser operation failed: {message}`;
1725
+ static description = `Internal error: {message}`;
1810
1726
  }
1811
- class WatchFilesFailedError extends Error {
1727
+ class CloudstateDatabaseErrorError extends Error {
1812
1728
  constructor(body) {
1813
1729
  super(
1814
- `WATCH_FILES_FAILED: ${body.message}`
1730
+ `CLOUDSTATE_DATABASE_ERROR: ${body.message}`
1815
1731
  );
1816
1732
  this.body = body;
1817
- this.name = "WatchFilesFailedError";
1733
+ this.name = "CloudstateDatabaseErrorError";
1818
1734
  }
1819
- static code = "WATCH_FILES_FAILED";
1735
+ static code = "CLOUDSTATE_DATABASE_ERROR";
1820
1736
  static statusCode = 500;
1821
- static description = `Failed to watch files: {message}`;
1737
+ static description = `Database operation failed: {message}`;
1822
1738
  }
1823
- class LogsFailedError extends Error {
1739
+ class CloudstateAccessDeniedError extends Error {
1824
1740
  constructor(body) {
1825
1741
  super(
1826
- `LOGS_FAILED: ${body.message}`
1742
+ `CLOUDSTATE_ACCESS_DENIED: ${body.message}`
1827
1743
  );
1828
1744
  this.body = body;
1829
- this.name = "LogsFailedError";
1745
+ this.name = "CloudstateAccessDeniedError";
1830
1746
  }
1831
- static code = "LOGS_FAILED";
1832
- static statusCode = 500;
1833
- static description = `Failed to get logs: {message}`;
1747
+ static code = "CLOUDSTATE_ACCESS_DENIED";
1748
+ static statusCode = 403;
1749
+ static description = `Access denied to project: {project_id}`;
1834
1750
  }
1835
- class StatusFailedError extends Error {
1751
+ class RestoreFailedError extends Error {
1836
1752
  constructor(body) {
1837
1753
  super(
1838
- `STATUS_FAILED: ${body.message}`
1754
+ `RESTORE_FAILED: ${body.message}`
1839
1755
  );
1840
1756
  this.body = body;
1841
- this.name = "StatusFailedError";
1757
+ this.name = "RestoreFailedError";
1842
1758
  }
1843
- static code = "STATUS_FAILED";
1759
+ static code = "RESTORE_FAILED";
1844
1760
  static statusCode = 500;
1845
- static description = `Failed to get dev server status: {message}`;
1761
+ static description = `Failed to restore from backup: {message}`;
1846
1762
  }
1847
- class RestartFailedError extends Error {
1763
+ class CreateBackupFailedError extends Error {
1848
1764
  constructor(body) {
1849
1765
  super(
1850
- `RESTART_FAILED: ${body.message}`
1766
+ `CREATE_BACKUP_FAILED: ${body.message}`
1851
1767
  );
1852
1768
  this.body = body;
1853
- this.name = "RestartFailedError";
1769
+ this.name = "CreateBackupFailedError";
1854
1770
  }
1855
- static code = "RESTART_FAILED";
1771
+ static code = "CREATE_BACKUP_FAILED";
1856
1772
  static statusCode = 500;
1857
- static description = `Failed to restart dev server: {message}`;
1773
+ static description = `Failed to create backup: {message}`;
1858
1774
  }
1859
- class ShutdownFailedError extends Error {
1775
+ class BackupFailedError extends Error {
1860
1776
  constructor(body) {
1861
1777
  super(
1862
- `SHUTDOWN_FAILED: ${body.message}`
1778
+ `BACKUP_FAILED: ${body.message}`
1863
1779
  );
1864
1780
  this.body = body;
1865
- this.name = "ShutdownFailedError";
1781
+ this.name = "BackupFailedError";
1866
1782
  }
1867
- static code = "SHUTDOWN_FAILED";
1783
+ static code = "BACKUP_FAILED";
1868
1784
  static statusCode = 500;
1869
- static description = `Failed to shutdown dev server: {message}`;
1785
+ static description = `Backup failed: {message}`;
1870
1786
  }
1871
- class CommitFailedError extends Error {
1787
+ class DeploymentFailedError extends Error {
1872
1788
  constructor(body) {
1873
1789
  super(
1874
- `COMMIT_FAILED: ${body.message}`
1790
+ `DEPLOYMENT_FAILED: ${body.message}`
1875
1791
  );
1876
1792
  this.body = body;
1877
- this.name = "CommitFailedError";
1793
+ this.name = "DeploymentFailedError";
1878
1794
  }
1879
- static code = "COMMIT_FAILED";
1795
+ static code = "DEPLOYMENT_FAILED";
1880
1796
  static statusCode = 500;
1881
- static description = `Failed to commit changes: {message}`;
1797
+ static description = `Deployment failed: {message}`;
1882
1798
  }
1883
- class WriteFileFailedError extends Error {
1799
+ class InvalidDeploymentRequestError extends Error {
1884
1800
  constructor(body) {
1885
1801
  super(
1886
- `WRITE_FILE_FAILED: ${body.message}`
1802
+ `INVALID_DEPLOYMENT_REQUEST: ${body.message}`
1887
1803
  );
1888
1804
  this.body = body;
1889
- this.name = "WriteFileFailedError";
1805
+ this.name = "InvalidDeploymentRequestError";
1890
1806
  }
1891
- static code = "WRITE_FILE_FAILED";
1892
- static statusCode = 500;
1893
- static description = `Failed to write file: {message}`;
1807
+ static code = "INVALID_DEPLOYMENT_REQUEST";
1808
+ static statusCode = 400;
1809
+ static description = `Invalid deployment request: {message}`;
1894
1810
  }
1895
- class ReadFileFailedError extends Error {
1811
+ class ProjectNotFoundError extends Error {
1896
1812
  constructor(body) {
1897
1813
  super(
1898
- `READ_FILE_FAILED: ${body.message}`
1814
+ `PROJECT_NOT_FOUND: ${body.message}`
1899
1815
  );
1900
1816
  this.body = body;
1901
- this.name = "ReadFileFailedError";
1817
+ this.name = "ProjectNotFoundError";
1902
1818
  }
1903
- static code = "READ_FILE_FAILED";
1904
- static statusCode = 500;
1905
- static description = `Failed to read file: {message}`;
1819
+ static code = "PROJECT_NOT_FOUND";
1820
+ static statusCode = 404;
1821
+ static description = `Project not found: {project_id}`;
1906
1822
  }
1907
- class ExecutionFailedError extends Error {
1823
+ class PermissionAlreadyExistsError extends Error {
1908
1824
  constructor(body) {
1909
1825
  super(
1910
- `EXECUTION_FAILED: ${body.message}`
1826
+ `PERMISSION_ALREADY_EXISTS: ${body.message}`
1911
1827
  );
1912
1828
  this.body = body;
1913
- this.name = "ExecutionFailedError";
1829
+ this.name = "PermissionAlreadyExistsError";
1914
1830
  }
1915
- static code = "EXECUTION_FAILED";
1916
- static statusCode = 500;
1917
- static description = `Failed to execute command: {message}`;
1831
+ static code = "PERMISSION_ALREADY_EXISTS";
1832
+ static statusCode = 409;
1833
+ static description = `Permission already exists`;
1918
1834
  }
1919
- class RequestFailedError extends Error {
1835
+ class ListTokensFailedError extends Error {
1920
1836
  constructor(body) {
1921
1837
  super(
1922
- `REQUEST_FAILED: ${body.message}`
1838
+ `LIST_TOKENS_FAILED: ${body.message}`
1923
1839
  );
1924
1840
  this.body = body;
1925
- this.name = "RequestFailedError";
1841
+ this.name = "ListTokensFailedError";
1926
1842
  }
1927
- static code = "REQUEST_FAILED";
1843
+ static code = "LIST_TOKENS_FAILED";
1928
1844
  static statusCode = 500;
1929
- static description = `Failed to request dev server: {message}`;
1845
+ static description = `Failed to list tokens: {message}`;
1930
1846
  }
1931
- class DevServerFileNotFoundError extends Error {
1847
+ class RevokeTokenFailedError extends Error {
1932
1848
  constructor(body) {
1933
1849
  super(
1934
- `DEV_SERVER_FILE_NOT_FOUND: ${body.message}`
1850
+ `REVOKE_TOKEN_FAILED: ${body.message}`
1935
1851
  );
1936
1852
  this.body = body;
1937
- this.name = "DevServerFileNotFoundError";
1853
+ this.name = "RevokeTokenFailedError";
1938
1854
  }
1939
- static code = "DEV_SERVER_FILE_NOT_FOUND";
1940
- static statusCode = 404;
1941
- static description = `Dev server file not found: {path}`;
1855
+ static code = "REVOKE_TOKEN_FAILED";
1856
+ static statusCode = 500;
1857
+ static description = `Failed to revoke token: {message}`;
1942
1858
  }
1943
- class DevServerInvalidRequestError extends Error {
1859
+ class CreateTokenFailedError extends Error {
1944
1860
  constructor(body) {
1945
1861
  super(
1946
- `DEV_SERVER_INVALID_REQUEST: ${body.message}`
1862
+ `CREATE_TOKEN_FAILED: ${body.message}`
1947
1863
  );
1948
1864
  this.body = body;
1949
- this.name = "DevServerInvalidRequestError";
1865
+ this.name = "CreateTokenFailedError";
1950
1866
  }
1951
- static code = "DEV_SERVER_INVALID_REQUEST";
1952
- static statusCode = 400;
1953
- static description = `Invalid dev server request: {message}`;
1867
+ static code = "CREATE_TOKEN_FAILED";
1868
+ static statusCode = 500;
1869
+ static description = `Failed to create token: {message}`;
1954
1870
  }
1955
- class DevServerNotFoundError extends Error {
1871
+ class ListPermissionsFailedError extends Error {
1956
1872
  constructor(body) {
1957
1873
  super(
1958
- `DEV_SERVER_NOT_FOUND: ${body.message}`
1874
+ `LIST_PERMISSIONS_FAILED: ${body.message}`
1959
1875
  );
1960
1876
  this.body = body;
1961
- this.name = "DevServerNotFoundError";
1877
+ this.name = "ListPermissionsFailedError";
1962
1878
  }
1963
- static code = "DEV_SERVER_NOT_FOUND";
1964
- static statusCode = 404;
1965
- static description = `Dev server not found: {server_id}`;
1879
+ static code = "LIST_PERMISSIONS_FAILED";
1880
+ static statusCode = 500;
1881
+ static description = `Failed to list permissions: {message}`;
1966
1882
  }
1967
- class BuildFailedError extends Error {
1883
+ class GetPermissionFailedError extends Error {
1968
1884
  constructor(body) {
1969
1885
  super(
1970
- `BUILD_FAILED: ${body.message}`
1886
+ `GET_PERMISSION_FAILED: ${body.message}`
1971
1887
  );
1972
1888
  this.body = body;
1973
- this.name = "BuildFailedError";
1889
+ this.name = "GetPermissionFailedError";
1974
1890
  }
1975
- static code = "BUILD_FAILED";
1891
+ static code = "GET_PERMISSION_FAILED";
1976
1892
  static statusCode = 500;
1977
- static description = `Build failed on VM {vm_id}`;
1893
+ static description = `Failed to get permission: {message}`;
1978
1894
  }
1979
- class ServerDeploymentFailedError extends Error {
1895
+ class UpdatePermissionFailedError extends Error {
1980
1896
  constructor(body) {
1981
1897
  super(
1982
- `SERVER_DEPLOYMENT_FAILED: ${body.message}`
1898
+ `UPDATE_PERMISSION_FAILED: ${body.message}`
1983
1899
  );
1984
1900
  this.body = body;
1985
- this.name = "ServerDeploymentFailedError";
1901
+ this.name = "UpdatePermissionFailedError";
1986
1902
  }
1987
- static code = "SERVER_DEPLOYMENT_FAILED";
1988
- static statusCode = 502;
1989
- static description = `Failed to deploy to servers`;
1903
+ static code = "UPDATE_PERMISSION_FAILED";
1904
+ static statusCode = 500;
1905
+ static description = `Failed to update permission: {message}`;
1990
1906
  }
1991
- class LockfileErrorError extends Error {
1907
+ class RevokePermissionFailedError extends Error {
1992
1908
  constructor(body) {
1993
1909
  super(
1994
- `LOCKFILE_ERROR: ${body.message}`
1910
+ `REVOKE_PERMISSION_FAILED: ${body.message}`
1995
1911
  );
1996
1912
  this.body = body;
1997
- this.name = "LockfileErrorError";
1913
+ this.name = "RevokePermissionFailedError";
1998
1914
  }
1999
- static code = "LOCKFILE_ERROR";
1915
+ static code = "REVOKE_PERMISSION_FAILED";
2000
1916
  static statusCode = 500;
2001
- static description = `Failed to generate dependency lockfile: {message}`;
1917
+ static description = `Failed to revoke permission: {message}`;
2002
1918
  }
2003
- class UploadErrorError extends Error {
1919
+ class GrantPermissionFailedError extends Error {
2004
1920
  constructor(body) {
2005
1921
  super(
2006
- `UPLOAD_ERROR: ${body.message}`
1922
+ `GRANT_PERMISSION_FAILED: ${body.message}`
2007
1923
  );
2008
1924
  this.body = body;
2009
- this.name = "UploadErrorError";
1925
+ this.name = "GrantPermissionFailedError";
2010
1926
  }
2011
- static code = "UPLOAD_ERROR";
1927
+ static code = "GRANT_PERMISSION_FAILED";
2012
1928
  static statusCode = 500;
2013
- static description = `Failed to upload deployment to storage`;
1929
+ static description = `Failed to grant permission: {message}`;
2014
1930
  }
2015
- class DomainMappingErrorError extends Error {
1931
+ class ListIdentitiesFailedError extends Error {
2016
1932
  constructor(body) {
2017
1933
  super(
2018
- `DOMAIN_MAPPING_ERROR: ${body.message}`
1934
+ `LIST_IDENTITIES_FAILED: ${body.message}`
2019
1935
  );
2020
1936
  this.body = body;
2021
- this.name = "DomainMappingErrorError";
1937
+ this.name = "ListIdentitiesFailedError";
2022
1938
  }
2023
- static code = "DOMAIN_MAPPING_ERROR";
1939
+ static code = "LIST_IDENTITIES_FAILED";
2024
1940
  static statusCode = 500;
2025
- static description = `Failed to configure domain mapping for: {domain}`;
1941
+ static description = `Failed to list identities: {message}`;
2026
1942
  }
2027
- class CertificateProvisioningErrorError extends Error {
1943
+ class DeleteIdentityFailedError extends Error {
2028
1944
  constructor(body) {
2029
1945
  super(
2030
- `CERTIFICATE_PROVISIONING_ERROR: ${body.message}`
1946
+ `DELETE_IDENTITY_FAILED: ${body.message}`
2031
1947
  );
2032
1948
  this.body = body;
2033
- this.name = "CertificateProvisioningErrorError";
1949
+ this.name = "DeleteIdentityFailedError";
2034
1950
  }
2035
- static code = "CERTIFICATE_PROVISIONING_ERROR";
2036
- static statusCode = 502;
2037
- static description = `Failed to provision certificate for domain: {domain}`;
1951
+ static code = "DELETE_IDENTITY_FAILED";
1952
+ static statusCode = 500;
1953
+ static description = `Failed to delete identity: {message}`;
2038
1954
  }
2039
- class NoEntrypointFoundError extends Error {
1955
+ class CreateIdentityFailedError extends Error {
2040
1956
  constructor(body) {
2041
1957
  super(
2042
- `NO_ENTRYPOINT_FOUND: ${body.message}`
1958
+ `CREATE_IDENTITY_FAILED: ${body.message}`
2043
1959
  );
2044
1960
  this.body = body;
2045
- this.name = "NoEntrypointFoundError";
1961
+ this.name = "CreateIdentityFailedError";
2046
1962
  }
2047
- static code = "NO_ENTRYPOINT_FOUND";
2048
- static statusCode = 400;
2049
- static description = `No entrypoint found in deployment`;
1963
+ static code = "CREATE_IDENTITY_FAILED";
1964
+ static statusCode = 500;
1965
+ static description = `Failed to create identity: {message}`;
2050
1966
  }
2051
- class EntrypointNotFoundError extends Error {
1967
+ class VmPermissionNotFoundError extends Error {
2052
1968
  constructor(body) {
2053
1969
  super(
2054
- `ENTRYPOINT_NOT_FOUND: ${body.message}`
1970
+ `VM_PERMISSION_NOT_FOUND: ${body.message}`
2055
1971
  );
2056
1972
  this.body = body;
2057
- this.name = "EntrypointNotFoundError";
1973
+ this.name = "VmPermissionNotFoundError";
2058
1974
  }
2059
- static code = "ENTRYPOINT_NOT_FOUND";
2060
- static statusCode = 400;
2061
- static description = `Entrypoint not found: {entrypoint}`;
1975
+ static code = "VM_PERMISSION_NOT_FOUND";
1976
+ static statusCode = 404;
1977
+ static description = `VM permission not found`;
2062
1978
  }
2063
- class NoDomainOwnershipError extends Error {
1979
+ class PermissionNotFoundError extends Error {
2064
1980
  constructor(body) {
2065
1981
  super(
2066
- `NO_DOMAIN_OWNERSHIP: ${body.message}`
1982
+ `PERMISSION_NOT_FOUND: ${body.message}`
2067
1983
  );
2068
1984
  this.body = body;
2069
- this.name = "NoDomainOwnershipError";
1985
+ this.name = "PermissionNotFoundError";
2070
1986
  }
2071
- static code = "NO_DOMAIN_OWNERSHIP";
2072
- static statusCode = 403;
2073
- static description = `No domain ownership for: {domain}`;
1987
+ static code = "PERMISSION_NOT_FOUND";
1988
+ static statusCode = 404;
1989
+ static description = `Permission not found`;
2074
1990
  }
2075
- class InvalidDomainsError extends Error {
1991
+ class VmAccessDeniedError extends Error {
2076
1992
  constructor(body) {
2077
1993
  super(
2078
- `INVALID_DOMAINS: ${body.message}`
1994
+ `VM_ACCESS_DENIED: ${body.message}`
2079
1995
  );
2080
1996
  this.body = body;
2081
- this.name = "InvalidDomainsError";
1997
+ this.name = "VmAccessDeniedError";
2082
1998
  }
2083
- static code = "INVALID_DOMAINS";
2084
- static statusCode = 400;
2085
- static description = `Invalid domains provided`;
1999
+ static code = "VM_ACCESS_DENIED";
2000
+ static statusCode = 403;
2001
+ static description = `You are not allowed to access this VM`;
2086
2002
  }
2087
- class WebDeploymentBadRequestError extends Error {
2003
+ class GitRepositoryAccessDeniedError extends Error {
2088
2004
  constructor(body) {
2089
2005
  super(
2090
- `WEB_DEPLOYMENT_BAD_REQUEST: ${body.message}`
2006
+ `GIT_REPOSITORY_ACCESS_DENIED: ${body.message}`
2091
2007
  );
2092
2008
  this.body = body;
2093
- this.name = "WebDeploymentBadRequestError";
2009
+ this.name = "GitRepositoryAccessDeniedError";
2094
2010
  }
2095
- static code = "WEB_DEPLOYMENT_BAD_REQUEST";
2096
- static statusCode = 400;
2097
- static description = `Bad request: {message}`;
2011
+ static code = "GIT_REPOSITORY_ACCESS_DENIED";
2012
+ static statusCode = 403;
2013
+ static description = `You are not allowed to access this repository`;
2098
2014
  }
2099
- class DeploymentNotFoundError extends Error {
2015
+ class GitRepositoryNotFoundError extends Error {
2100
2016
  constructor(body) {
2101
2017
  super(
2102
- `DEPLOYMENT_NOT_FOUND: ${body.message}`
2018
+ `GIT_REPOSITORY_NOT_FOUND: ${body.message}`
2103
2019
  );
2104
2020
  this.body = body;
2105
- this.name = "DeploymentNotFoundError";
2021
+ this.name = "GitRepositoryNotFoundError";
2106
2022
  }
2107
- static code = "DEPLOYMENT_NOT_FOUND";
2023
+ static code = "GIT_REPOSITORY_NOT_FOUND";
2108
2024
  static statusCode = 404;
2109
- static description = `Deployment not found`;
2025
+ static description = `Repository not found`;
2110
2026
  }
2111
- class DatabaseErrorError extends Error {
2027
+ class CannotDeleteManagedIdentityError extends Error {
2112
2028
  constructor(body) {
2113
2029
  super(
2114
- `DATABASE_ERROR: ${body.message}`
2030
+ `CANNOT_DELETE_MANAGED_IDENTITY: ${body.message}`
2115
2031
  );
2116
2032
  this.body = body;
2117
- this.name = "DatabaseErrorError";
2033
+ this.name = "CannotDeleteManagedIdentityError";
2118
2034
  }
2119
- static code = "DATABASE_ERROR";
2120
- static statusCode = 500;
2121
- static description = `Database operation failed: {message}`;
2035
+ static code = "CANNOT_DELETE_MANAGED_IDENTITY";
2036
+ static statusCode = 403;
2037
+ static description = `Cannot delete managed identities`;
2122
2038
  }
2123
- class TriggerErrorError extends Error {
2039
+ class CannotModifyManagedIdentityError extends Error {
2124
2040
  constructor(body) {
2125
2041
  super(
2126
- `TRIGGER_ERROR: ${body.message}`
2042
+ `CANNOT_MODIFY_MANAGED_IDENTITY: ${body.message}`
2127
2043
  );
2128
2044
  this.body = body;
2129
- this.name = "TriggerErrorError";
2045
+ this.name = "CannotModifyManagedIdentityError";
2130
2046
  }
2131
- static code = "TRIGGER_ERROR";
2132
- static statusCode = 500;
2133
- static description = `Failed to manage triggers: {message}`;
2047
+ static code = "CANNOT_MODIFY_MANAGED_IDENTITY";
2048
+ static statusCode = 403;
2049
+ static description = `Cannot modify managed identities`;
2050
+ }
2051
+ class IdentityAccessDeniedError extends Error {
2052
+ constructor(body) {
2053
+ super(
2054
+ `IDENTITY_ACCESS_DENIED: ${body.message}`
2055
+ );
2056
+ this.body = body;
2057
+ this.name = "IdentityAccessDeniedError";
2058
+ }
2059
+ static code = "IDENTITY_ACCESS_DENIED";
2060
+ static statusCode = 403;
2061
+ static description = `You are not allowed to access this identity`;
2062
+ }
2063
+ class IdentityNotFoundError extends Error {
2064
+ constructor(body) {
2065
+ super(
2066
+ `IDENTITY_NOT_FOUND: ${body.message}`
2067
+ );
2068
+ this.body = body;
2069
+ this.name = "IdentityNotFoundError";
2070
+ }
2071
+ static code = "IDENTITY_NOT_FOUND";
2072
+ static statusCode = 404;
2073
+ static description = `Identity not found`;
2074
+ }
2075
+ class UnauthorizedErrorError extends Error {
2076
+ constructor(body) {
2077
+ super(
2078
+ `UNAUTHORIZED_ERROR: ${body.message}`
2079
+ );
2080
+ this.body = body;
2081
+ this.name = "UnauthorizedErrorError";
2082
+ }
2083
+ static code = "UNAUTHORIZED_ERROR";
2084
+ static statusCode = 401;
2085
+ static description = `Unauthorized request to {route}`;
2086
+ }
2087
+ class ObservabilityDatabaseErrorError extends Error {
2088
+ constructor(body) {
2089
+ super(
2090
+ `OBSERVABILITY_DATABASE_ERROR: ${body.message}`
2091
+ );
2092
+ this.body = body;
2093
+ this.name = "ObservabilityDatabaseErrorError";
2094
+ }
2095
+ static code = "OBSERVABILITY_DATABASE_ERROR";
2096
+ static statusCode = 500;
2097
+ static description = `Database operation failed: {message}`;
2098
+ }
2099
+ class ObservabilityAccessDeniedError extends Error {
2100
+ constructor(body) {
2101
+ super(
2102
+ `OBSERVABILITY_ACCESS_DENIED: ${body.message}`
2103
+ );
2104
+ this.body = body;
2105
+ this.name = "ObservabilityAccessDeniedError";
2106
+ }
2107
+ static code = "OBSERVABILITY_ACCESS_DENIED";
2108
+ static statusCode = 403;
2109
+ static description = `Access denied to logs for deployment: {deployment_id}`;
2110
+ }
2111
+ class ParseLogsFailedError extends Error {
2112
+ constructor(body) {
2113
+ super(
2114
+ `PARSE_LOGS_FAILED: ${body.message}`
2115
+ );
2116
+ this.body = body;
2117
+ this.name = "ParseLogsFailedError";
2118
+ }
2119
+ static code = "PARSE_LOGS_FAILED";
2120
+ static statusCode = 500;
2121
+ static description = `Failed to parse logs: {message}`;
2122
+ }
2123
+ class RetrieveLogsFailedError extends Error {
2124
+ constructor(body) {
2125
+ super(
2126
+ `RETRIEVE_LOGS_FAILED: ${body.message}`
2127
+ );
2128
+ this.body = body;
2129
+ this.name = "RetrieveLogsFailedError";
2130
+ }
2131
+ static code = "RETRIEVE_LOGS_FAILED";
2132
+ static statusCode = 500;
2133
+ static description = `Failed to retrieve logs: {message}`;
2134
+ }
2135
+ class InvalidQueryError extends Error {
2136
+ constructor(body) {
2137
+ super(
2138
+ `INVALID_QUERY: ${body.message}`
2139
+ );
2140
+ this.body = body;
2141
+ this.name = "InvalidQueryError";
2142
+ }
2143
+ static code = "INVALID_QUERY";
2144
+ static statusCode = 400;
2145
+ static description = `Invalid log query: {message}`;
2146
+ }
2147
+ class LogsNotFoundError extends Error {
2148
+ constructor(body) {
2149
+ super(
2150
+ `LOGS_NOT_FOUND: ${body.message}`
2151
+ );
2152
+ this.body = body;
2153
+ this.name = "LogsNotFoundError";
2154
+ }
2155
+ static code = "LOGS_NOT_FOUND";
2156
+ static statusCode = 404;
2157
+ static description = `Logs not found for deployment: {deployment_id}`;
2158
+ }
2159
+ class TriggerErrorError extends Error {
2160
+ constructor(body) {
2161
+ super(
2162
+ `TRIGGER_ERROR: ${body.message}`
2163
+ );
2164
+ this.body = body;
2165
+ this.name = "TriggerErrorError";
2166
+ }
2167
+ static code = "TRIGGER_ERROR";
2168
+ static statusCode = 500;
2169
+ static description = `Failed to manage triggers: {message}`;
2134
2170
  }
2135
2171
  class TokenErrorError extends Error {
2136
2172
  constructor(body) {
@@ -2348,215 +2384,360 @@ class RepositoryNotFoundError extends Error {
2348
2384
  static statusCode = 404;
2349
2385
  static description = `Repository not found: {repo_id}`;
2350
2386
  }
2351
- class DomainAlreadyExistsError extends Error {
2352
- constructor(body) {
2353
- super(
2354
- `DOMAIN_ALREADY_EXISTS: ${body.message}`
2355
- );
2356
- this.body = body;
2357
- this.name = "DomainAlreadyExistsError";
2358
- }
2359
- static code = "DOMAIN_ALREADY_EXISTS";
2360
- static statusCode = 400;
2361
- static description = `Domain already exists: {domain}`;
2362
- }
2363
- class FailedToInsertOwnershipError extends Error {
2387
+ class FailedToProvisionCertificateError extends Error {
2364
2388
  constructor(body) {
2365
2389
  super(
2366
- `FAILED_TO_INSERT_OWNERSHIP: ${body.message}`
2390
+ `FAILED_TO_PROVISION_CERTIFICATE: ${body.message}`
2367
2391
  );
2368
2392
  this.body = body;
2369
- this.name = "FailedToInsertOwnershipError";
2393
+ this.name = "FailedToProvisionCertificateError";
2370
2394
  }
2371
- static code = "FAILED_TO_INSERT_OWNERSHIP";
2372
- static statusCode = 500;
2373
- static description = `Failed to insert domain ownership: {message}`;
2395
+ static code = "FAILED_TO_PROVISION_CERTIFICATE";
2396
+ static statusCode = 422;
2397
+ static description = `Failed to provision certificate: {message}`;
2374
2398
  }
2375
- class FailedRemoveDomainMappingError extends Error {
2399
+ class FailedToInsertDomainMappingError extends Error {
2376
2400
  constructor(body) {
2377
2401
  super(
2378
- `FAILED_REMOVE_DOMAIN_MAPPING: ${body.message}`
2402
+ `FAILED_TO_INSERT_DOMAIN_MAPPING: ${body.message}`
2379
2403
  );
2380
2404
  this.body = body;
2381
- this.name = "FailedRemoveDomainMappingError";
2405
+ this.name = "FailedToInsertDomainMappingError";
2382
2406
  }
2383
- static code = "FAILED_REMOVE_DOMAIN_MAPPING";
2407
+ static code = "FAILED_TO_INSERT_DOMAIN_MAPPING";
2384
2408
  static statusCode = 500;
2385
- static description = `Failed to remove domain mapping: {message}`;
2409
+ static description = `Failed to insert domain mapping: {message}`;
2386
2410
  }
2387
- class FailedPermissionsCheckError extends Error {
2411
+ class PermissionDeniedError extends Error {
2388
2412
  constructor(body) {
2389
2413
  super(
2390
- `FAILED_PERMISSIONS_CHECK: ${body.message}`
2414
+ `PERMISSION_DENIED: ${body.message}`
2391
2415
  );
2392
2416
  this.body = body;
2393
- this.name = "FailedPermissionsCheckError";
2417
+ this.name = "PermissionDeniedError";
2394
2418
  }
2395
- static code = "FAILED_PERMISSIONS_CHECK";
2419
+ static code = "PERMISSION_DENIED";
2396
2420
  static statusCode = 401;
2397
- static description = `You do not have permission to delete the domain mapping for: {domain}`;
2421
+ static description = `Permission denied: {message}`;
2398
2422
  }
2399
- class FailedToCheckDomainMappingPermissionsError extends Error {
2423
+ class FailedToCheckPermissionsError extends Error {
2400
2424
  constructor(body) {
2401
2425
  super(
2402
- `FAILED_TO_CHECK_DOMAIN_MAPPING_PERMISSIONS: ${body.message}`
2426
+ `FAILED_TO_CHECK_PERMISSIONS: ${body.message}`
2403
2427
  );
2404
2428
  this.body = body;
2405
- this.name = "FailedToCheckDomainMappingPermissionsError";
2429
+ this.name = "FailedToCheckPermissionsError";
2406
2430
  }
2407
- static code = "FAILED_TO_CHECK_DOMAIN_MAPPING_PERMISSIONS";
2431
+ static code = "FAILED_TO_CHECK_PERMISSIONS";
2408
2432
  static statusCode = 502;
2409
2433
  static description = `Failed to check permissions: {message}`;
2410
2434
  }
2411
- class CloudstateInternalErrorError extends Error {
2435
+ class FailedToListDomainsError extends Error {
2412
2436
  constructor(body) {
2413
2437
  super(
2414
- `CLOUDSTATE_INTERNAL_ERROR: ${body.message}`
2438
+ `FAILED_TO_LIST_DOMAINS: ${body.message}`
2415
2439
  );
2416
2440
  this.body = body;
2417
- this.name = "CloudstateInternalErrorError";
2441
+ this.name = "FailedToListDomainsError";
2418
2442
  }
2419
- static code = "CLOUDSTATE_INTERNAL_ERROR";
2443
+ static code = "FAILED_TO_LIST_DOMAINS";
2420
2444
  static statusCode = 500;
2421
- static description = `Internal error: {message}`;
2445
+ static description = `Failed to list domains: {message}`;
2422
2446
  }
2423
- class CloudstateDatabaseErrorError extends Error {
2447
+ class FailedToListVerificationsError extends Error {
2424
2448
  constructor(body) {
2425
2449
  super(
2426
- `CLOUDSTATE_DATABASE_ERROR: ${body.message}`
2450
+ `FAILED_TO_LIST_VERIFICATIONS: ${body.message}`
2427
2451
  );
2428
2452
  this.body = body;
2429
- this.name = "CloudstateDatabaseErrorError";
2453
+ this.name = "FailedToListVerificationsError";
2430
2454
  }
2431
- static code = "CLOUDSTATE_DATABASE_ERROR";
2455
+ static code = "FAILED_TO_LIST_VERIFICATIONS";
2432
2456
  static statusCode = 500;
2433
- static description = `Database operation failed: {message}`;
2457
+ static description = `Failed to list verifications: {message}`;
2434
2458
  }
2435
- class CloudstateAccessDeniedError extends Error {
2459
+ class FailedToVerifyDomainError extends Error {
2436
2460
  constructor(body) {
2437
2461
  super(
2438
- `CLOUDSTATE_ACCESS_DENIED: ${body.message}`
2462
+ `FAILED_TO_VERIFY_DOMAIN: ${body.message}`
2439
2463
  );
2440
2464
  this.body = body;
2441
- this.name = "CloudstateAccessDeniedError";
2465
+ this.name = "FailedToVerifyDomainError";
2442
2466
  }
2443
- static code = "CLOUDSTATE_ACCESS_DENIED";
2444
- static statusCode = 403;
2445
- static description = `Access denied to project: {project_id}`;
2467
+ static code = "FAILED_TO_VERIFY_DOMAIN";
2468
+ static statusCode = 500;
2469
+ static description = `Failed to verify domain: {message}`;
2446
2470
  }
2447
- class RestoreFailedError extends Error {
2471
+ class VerificationFailedError extends Error {
2448
2472
  constructor(body) {
2449
2473
  super(
2450
- `RESTORE_FAILED: ${body.message}`
2474
+ `VERIFICATION_FAILED: ${body.message}`
2451
2475
  );
2452
2476
  this.body = body;
2453
- this.name = "RestoreFailedError";
2477
+ this.name = "VerificationFailedError";
2454
2478
  }
2455
- static code = "RESTORE_FAILED";
2456
- static statusCode = 500;
2457
- static description = `Failed to restore from backup: {message}`;
2479
+ static code = "VERIFICATION_FAILED";
2480
+ static statusCode = 400;
2481
+ static description = `Domain verification failed: {message}`;
2458
2482
  }
2459
- class CreateBackupFailedError extends Error {
2483
+ class FailedToDeleteVerificationError extends Error {
2460
2484
  constructor(body) {
2461
2485
  super(
2462
- `CREATE_BACKUP_FAILED: ${body.message}`
2486
+ `FAILED_TO_DELETE_VERIFICATION: ${body.message}`
2463
2487
  );
2464
2488
  this.body = body;
2465
- this.name = "CreateBackupFailedError";
2489
+ this.name = "FailedToDeleteVerificationError";
2466
2490
  }
2467
- static code = "CREATE_BACKUP_FAILED";
2468
- static statusCode = 500;
2469
- static description = `Failed to create backup: {message}`;
2491
+ static code = "FAILED_TO_DELETE_VERIFICATION";
2492
+ static statusCode = 400;
2493
+ static description = `Failed to delete verification: {message}`;
2470
2494
  }
2471
- class BackupFailedError extends Error {
2495
+ class VerificationNotFoundError extends Error {
2472
2496
  constructor(body) {
2473
2497
  super(
2474
- `BACKUP_FAILED: ${body.message}`
2498
+ `VERIFICATION_NOT_FOUND: ${body.message}`
2475
2499
  );
2476
2500
  this.body = body;
2477
- this.name = "BackupFailedError";
2501
+ this.name = "VerificationNotFoundError";
2478
2502
  }
2479
- static code = "BACKUP_FAILED";
2480
- static statusCode = 500;
2481
- static description = `Backup failed: {message}`;
2503
+ static code = "VERIFICATION_NOT_FOUND";
2504
+ static statusCode = 404;
2505
+ static description = `Verification request not found for domain: {domain}`;
2482
2506
  }
2483
- class DeploymentFailedError extends Error {
2507
+ class FailedToCreateVerificationCodeError extends Error {
2484
2508
  constructor(body) {
2485
2509
  super(
2486
- `DEPLOYMENT_FAILED: ${body.message}`
2510
+ `FAILED_TO_CREATE_VERIFICATION_CODE: ${body.message}`
2487
2511
  );
2488
2512
  this.body = body;
2489
- this.name = "DeploymentFailedError";
2513
+ this.name = "FailedToCreateVerificationCodeError";
2490
2514
  }
2491
- static code = "DEPLOYMENT_FAILED";
2492
- static statusCode = 500;
2493
- static description = `Deployment failed: {message}`;
2515
+ static code = "FAILED_TO_CREATE_VERIFICATION_CODE";
2516
+ static statusCode = 400;
2517
+ static description = `Failed to create verification code: {message}`;
2494
2518
  }
2495
- class InvalidDeploymentRequestError extends Error {
2519
+ class InvalidDomainError extends Error {
2496
2520
  constructor(body) {
2497
2521
  super(
2498
- `INVALID_DEPLOYMENT_REQUEST: ${body.message}`
2522
+ `INVALID_DOMAIN: ${body.message}`
2499
2523
  );
2500
2524
  this.body = body;
2501
- this.name = "InvalidDeploymentRequestError";
2525
+ this.name = "InvalidDomainError";
2502
2526
  }
2503
- static code = "INVALID_DEPLOYMENT_REQUEST";
2527
+ static code = "INVALID_DOMAIN";
2504
2528
  static statusCode = 400;
2505
- static description = `Invalid deployment request: {message}`;
2529
+ static description = `Invalid domain: {domain}`;
2506
2530
  }
2507
- class ProjectNotFoundError extends Error {
2531
+ class BuildFailedError extends Error {
2508
2532
  constructor(body) {
2509
2533
  super(
2510
- `PROJECT_NOT_FOUND: ${body.message}`
2534
+ `BUILD_FAILED: ${body.message}`
2511
2535
  );
2512
2536
  this.body = body;
2513
- this.name = "ProjectNotFoundError";
2537
+ this.name = "BuildFailedError";
2514
2538
  }
2515
- static code = "PROJECT_NOT_FOUND";
2539
+ static code = "BUILD_FAILED";
2540
+ static statusCode = 500;
2541
+ static description = `Build failed on VM {vm_id}`;
2542
+ }
2543
+ class ServerDeploymentFailedError extends Error {
2544
+ constructor(body) {
2545
+ super(
2546
+ `SERVER_DEPLOYMENT_FAILED: ${body.message}`
2547
+ );
2548
+ this.body = body;
2549
+ this.name = "ServerDeploymentFailedError";
2550
+ }
2551
+ static code = "SERVER_DEPLOYMENT_FAILED";
2552
+ static statusCode = 502;
2553
+ static description = `Failed to deploy to servers`;
2554
+ }
2555
+ class LockfileErrorError extends Error {
2556
+ constructor(body) {
2557
+ super(
2558
+ `LOCKFILE_ERROR: ${body.message}`
2559
+ );
2560
+ this.body = body;
2561
+ this.name = "LockfileErrorError";
2562
+ }
2563
+ static code = "LOCKFILE_ERROR";
2564
+ static statusCode = 500;
2565
+ static description = `Failed to generate dependency lockfile: {message}`;
2566
+ }
2567
+ class UploadErrorError extends Error {
2568
+ constructor(body) {
2569
+ super(
2570
+ `UPLOAD_ERROR: ${body.message}`
2571
+ );
2572
+ this.body = body;
2573
+ this.name = "UploadErrorError";
2574
+ }
2575
+ static code = "UPLOAD_ERROR";
2576
+ static statusCode = 500;
2577
+ static description = `Failed to upload deployment to storage`;
2578
+ }
2579
+ class DomainMappingErrorError extends Error {
2580
+ constructor(body) {
2581
+ super(
2582
+ `DOMAIN_MAPPING_ERROR: ${body.message}`
2583
+ );
2584
+ this.body = body;
2585
+ this.name = "DomainMappingErrorError";
2586
+ }
2587
+ static code = "DOMAIN_MAPPING_ERROR";
2588
+ static statusCode = 500;
2589
+ static description = `Failed to configure domain mapping for: {domain}`;
2590
+ }
2591
+ class CertificateProvisioningErrorError extends Error {
2592
+ constructor(body) {
2593
+ super(
2594
+ `CERTIFICATE_PROVISIONING_ERROR: ${body.message}`
2595
+ );
2596
+ this.body = body;
2597
+ this.name = "CertificateProvisioningErrorError";
2598
+ }
2599
+ static code = "CERTIFICATE_PROVISIONING_ERROR";
2600
+ static statusCode = 502;
2601
+ static description = `Failed to provision certificate for domain: {domain}`;
2602
+ }
2603
+ class NoEntrypointFoundError extends Error {
2604
+ constructor(body) {
2605
+ super(
2606
+ `NO_ENTRYPOINT_FOUND: ${body.message}`
2607
+ );
2608
+ this.body = body;
2609
+ this.name = "NoEntrypointFoundError";
2610
+ }
2611
+ static code = "NO_ENTRYPOINT_FOUND";
2612
+ static statusCode = 400;
2613
+ static description = `No entrypoint found in deployment`;
2614
+ }
2615
+ class EntrypointNotFoundError extends Error {
2616
+ constructor(body) {
2617
+ super(
2618
+ `ENTRYPOINT_NOT_FOUND: ${body.message}`
2619
+ );
2620
+ this.body = body;
2621
+ this.name = "EntrypointNotFoundError";
2622
+ }
2623
+ static code = "ENTRYPOINT_NOT_FOUND";
2624
+ static statusCode = 400;
2625
+ static description = `Entrypoint not found: {entrypoint}`;
2626
+ }
2627
+ class NoDomainOwnershipError extends Error {
2628
+ constructor(body) {
2629
+ super(
2630
+ `NO_DOMAIN_OWNERSHIP: ${body.message}`
2631
+ );
2632
+ this.body = body;
2633
+ this.name = "NoDomainOwnershipError";
2634
+ }
2635
+ static code = "NO_DOMAIN_OWNERSHIP";
2636
+ static statusCode = 403;
2637
+ static description = `No domain ownership for: {domain}`;
2638
+ }
2639
+ class InvalidDomainsError extends Error {
2640
+ constructor(body) {
2641
+ super(
2642
+ `INVALID_DOMAINS: ${body.message}`
2643
+ );
2644
+ this.body = body;
2645
+ this.name = "InvalidDomainsError";
2646
+ }
2647
+ static code = "INVALID_DOMAINS";
2648
+ static statusCode = 400;
2649
+ static description = `Invalid domains provided`;
2650
+ }
2651
+ class WebDeploymentBadRequestError extends Error {
2652
+ constructor(body) {
2653
+ super(
2654
+ `WEB_DEPLOYMENT_BAD_REQUEST: ${body.message}`
2655
+ );
2656
+ this.body = body;
2657
+ this.name = "WebDeploymentBadRequestError";
2658
+ }
2659
+ static code = "WEB_DEPLOYMENT_BAD_REQUEST";
2660
+ static statusCode = 400;
2661
+ static description = `Bad request: {message}`;
2662
+ }
2663
+ class DeploymentNotFoundError extends Error {
2664
+ constructor(body) {
2665
+ super(
2666
+ `DEPLOYMENT_NOT_FOUND: ${body.message}`
2667
+ );
2668
+ this.body = body;
2669
+ this.name = "DeploymentNotFoundError";
2670
+ }
2671
+ static code = "DEPLOYMENT_NOT_FOUND";
2516
2672
  static statusCode = 404;
2517
- static description = `Project not found: {project_id}`;
2673
+ static description = `Deployment not found`;
2518
2674
  }
2519
- class UnauthorizedErrorError extends Error {
2675
+ class DomainAlreadyExistsError extends Error {
2520
2676
  constructor(body) {
2521
2677
  super(
2522
- `UNAUTHORIZED_ERROR: ${body.message}`
2678
+ `DOMAIN_ALREADY_EXISTS: ${body.message}`
2523
2679
  );
2524
2680
  this.body = body;
2525
- this.name = "UnauthorizedErrorError";
2681
+ this.name = "DomainAlreadyExistsError";
2526
2682
  }
2527
- static code = "UNAUTHORIZED_ERROR";
2528
- static statusCode = 401;
2529
- static description = `Unauthorized request to {route}`;
2683
+ static code = "DOMAIN_ALREADY_EXISTS";
2684
+ static statusCode = 400;
2685
+ static description = `Domain already exists: {domain}`;
2530
2686
  }
2531
- class AnyhowError extends Error {
2687
+ class FailedToInsertOwnershipError extends Error {
2532
2688
  constructor(body) {
2533
2689
  super(
2534
- `ANYHOW: ${body.message}`
2690
+ `FAILED_TO_INSERT_OWNERSHIP: ${body.message}`
2535
2691
  );
2536
2692
  this.body = body;
2537
- this.name = "AnyhowError";
2693
+ this.name = "FailedToInsertOwnershipError";
2538
2694
  }
2539
- static code = "ANYHOW";
2695
+ static code = "FAILED_TO_INSERT_OWNERSHIP";
2540
2696
  static statusCode = 500;
2541
- static description = `null`;
2697
+ static description = `Failed to insert domain ownership: {message}`;
2698
+ }
2699
+ class FailedRemoveDomainMappingError extends Error {
2700
+ constructor(body) {
2701
+ super(
2702
+ `FAILED_REMOVE_DOMAIN_MAPPING: ${body.message}`
2703
+ );
2704
+ this.body = body;
2705
+ this.name = "FailedRemoveDomainMappingError";
2706
+ }
2707
+ static code = "FAILED_REMOVE_DOMAIN_MAPPING";
2708
+ static statusCode = 500;
2709
+ static description = `Failed to remove domain mapping: {message}`;
2710
+ }
2711
+ class FailedPermissionsCheckError extends Error {
2712
+ constructor(body) {
2713
+ super(
2714
+ `FAILED_PERMISSIONS_CHECK: ${body.message}`
2715
+ );
2716
+ this.body = body;
2717
+ this.name = "FailedPermissionsCheckError";
2718
+ }
2719
+ static code = "FAILED_PERMISSIONS_CHECK";
2720
+ static statusCode = 401;
2721
+ static description = `You do not have permission to delete the domain mapping for: {domain}`;
2722
+ }
2723
+ class FailedToCheckDomainMappingPermissionsError extends Error {
2724
+ constructor(body) {
2725
+ super(
2726
+ `FAILED_TO_CHECK_DOMAIN_MAPPING_PERMISSIONS: ${body.message}`
2727
+ );
2728
+ this.body = body;
2729
+ this.name = "FailedToCheckDomainMappingPermissionsError";
2730
+ }
2731
+ static code = "FAILED_TO_CHECK_DOMAIN_MAPPING_PERMISSIONS";
2732
+ static statusCode = 502;
2733
+ static description = `Failed to check permissions: {message}`;
2542
2734
  }
2543
2735
  const FREESTYLE_ERROR_CODE_MAP = {
2736
+ "GIT_ERROR": GitErrorError,
2737
+ "SNAPSHOT_VM_BAD_REQUEST": SnapshotVmBadRequestError,
2544
2738
  "INTERNAL_ERROR": InternalErrorError,
2545
- "DOCKER_IMPORT_BAD_REQUEST": DockerImportBadRequestError,
2546
- "VM_NOT_FOUND_IN_FS": VmNotFoundInFsError,
2547
- "VM_NOT_RUNNING": VmNotRunningError,
2548
- "VM_NOT_FOUND": VmNotFoundError,
2549
- "INTERNAL_FORK_VM_NOT_FOUND": InternalForkVmNotFoundError,
2550
- "BAD_REQUEST": BadRequestError,
2551
- "INTERNAL_VM_NOT_FOUND": InternalVmNotFoundError,
2552
- "VM_MUST_BE_STOPPED": VmMustBeStoppedError,
2553
- "ALREADY_HAS_BASE": AlreadyHasBaseError,
2554
- "NOT_FOUND": NotFoundError,
2555
2739
  "FORK_VM_NOT_FOUND": ForkVmNotFoundError,
2556
2740
  "CREATE_SNAPSHOT_BAD_REQUEST": CreateSnapshotBadRequestError,
2557
- "SNAPSHOT_VM_BAD_REQUEST": SnapshotVmBadRequestError,
2558
- "FILE_NOT_FOUND": FileNotFoundError,
2559
- "FILES_BAD_REQUEST": FilesBadRequestError,
2560
2741
  "VM_DELETED": VmDeletedError,
2561
2742
  "REQWEST": ReqwestError,
2562
2743
  "FIRECRACKER_PID_NOT_FOUND": FirecrackerPidNotFoundError,
@@ -2566,9 +2747,22 @@ const FREESTYLE_ERROR_CODE_MAP = {
2566
2747
  "STD_IO": StdIoError,
2567
2748
  "VM_CREATE_TMUX_SESSION": VmCreateTmuxSessionError,
2568
2749
  "VM_SUBNET_NOT_FOUND": VmSubnetNotFoundError,
2750
+ "FILE_NOT_FOUND": FileNotFoundError,
2751
+ "FILES_BAD_REQUEST": FilesBadRequestError,
2752
+ "VM_MUST_BE_STOPPED": VmMustBeStoppedError,
2753
+ "ALREADY_HAS_BASE": AlreadyHasBaseError,
2754
+ "NOT_FOUND": NotFoundError,
2755
+ "VM_NOT_FOUND_IN_FS": VmNotFoundInFsError,
2756
+ "VM_NOT_RUNNING": VmNotRunningError,
2757
+ "VM_NOT_FOUND": VmNotFoundError,
2758
+ "INTERNAL_FORK_VM_NOT_FOUND": InternalForkVmNotFoundError,
2759
+ "BAD_REQUEST": BadRequestError,
2760
+ "INTERNAL_VM_NOT_FOUND": InternalVmNotFoundError,
2761
+ "DOCKER_IMPORT_BAD_REQUEST": DockerImportBadRequestError,
2569
2762
  "VM_OPERATION_DENIED_DURING_TRANSACTION": VmOperationDeniedDuringTransactionError,
2570
2763
  "VM_TRANSACTION_ID_MISMATCH": VmTransactionIdMismatchError,
2571
2764
  "VM_NOT_IN_TRANSACTION": VmNotInTransactionError,
2765
+ "CREATE_VM_BAD_REQUEST": CreateVmBadRequestError,
2572
2766
  "USER_NOT_FOUND": UserNotFoundError,
2573
2767
  "USER_ALREADY_EXISTS": UserAlreadyExistsError,
2574
2768
  "VALIDATION_ERROR": ValidationErrorError,
@@ -2585,7 +2779,6 @@ const FREESTYLE_ERROR_CODE_MAP = {
2585
2779
  "GROUP_NAME_INVALID_CHARS": GroupNameInvalidCharsError,
2586
2780
  "GROUP_NAME_TOO_LONG": GroupNameTooLongError,
2587
2781
  "GROUP_NAME_EMPTY": GroupNameEmptyError,
2588
- "CREATE_VM_BAD_REQUEST": CreateVmBadRequestError,
2589
2782
  "WANTED_BY_EMPTY": WantedByEmptyError,
2590
2783
  "WORKDIR_EMPTY": WorkdirEmptyError,
2591
2784
  "GROUP_EMPTY": GroupEmptyError,
@@ -2602,42 +2795,95 @@ const FREESTYLE_ERROR_CODE_MAP = {
2602
2795
  "SERVICE_NAME_EMPTY": ServiceNameEmptyError,
2603
2796
  "SERVICE_ALREADY_EXISTS": ServiceAlreadyExistsError,
2604
2797
  "SERVICE_NOT_FOUND": ServiceNotFoundError,
2605
- "WAIT_TIMEOUT": WaitTimeoutError,
2606
- "PRE_VERIFY_CHALLENGE_MISMATCH": PreVerifyChallengeMismatchError,
2607
- "PRE_VERIFY_FAILED_PARSE": PreVerifyFailedParseError,
2608
- "PRE_VERIFY_FAILED_FETCH": PreVerifyFailedFetchError,
2609
- "PRE_VERIFY_ROUTE_NOT_FOUND": PreVerifyRouteNotFoundError,
2610
- "AUTHORIZATION_NOT_FOUND": AuthorizationNotFoundError,
2611
- "ORDER_NOT_FOUND": OrderNotFoundError,
2798
+ "INVALID_REQUEST": InvalidRequestError,
2799
+ "REPO_NOT_FOUND": RepoNotFoundError,
2612
2800
  "INTERNAL": InternalError,
2613
2801
  "SIGNING": SigningError,
2614
2802
  "INVALID_SIGNATURE": InvalidSignatureError,
2615
2803
  "INVALID_PARAMETERS": InvalidParametersError,
2616
2804
  "MAX_USES_EXCEEDED": MaxUsesExceededError,
2617
2805
  "EXPIRED": ExpiredError,
2618
- "TAG_NOT_FOUND": TagNotFoundError,
2806
+ "CONFLICT": ConflictError,
2619
2807
  "BRANCH_NOT_FOUND": BranchNotFoundError,
2620
- "REPO_NOT_FOUND": RepoNotFoundError,
2621
- "INVALID_OBJECT_ID": InvalidObjectIdError,
2622
- "COMMIT_NOT_FOUND": CommitNotFoundError,
2623
- "REFERENCE_NOT_FOUND": ReferenceNotFoundError,
2624
- "PATH_NOT_FOUND": PathNotFoundError,
2625
- "INVALID_REQUEST": InvalidRequestError,
2626
- "INVALID_REVISION": InvalidRevisionError,
2808
+ "SEND_ERROR": SendErrorError,
2627
2809
  "FORBIDDEN": ForbiddenError,
2628
- "UNAUTHORIZED": UnauthorizedError,
2629
- "CONFLICT": ConflictError,
2630
2810
  "UNSUPPORTED_TRANSFER": UnsupportedTransferError,
2811
+ "REFERENCE_NOT_FOUND": ReferenceNotFoundError,
2812
+ "INVALID_RANGE": InvalidRangeError,
2813
+ "OFFSET_WITH_SELECTOR": OffsetWithSelectorError,
2814
+ "COMMIT_NOT_IN_BRANCH": CommitNotInBranchError,
2815
+ "COMMIT_NOT_FOUND": CommitNotFoundError,
2631
2816
  "BLOB_NOT_FOUND": BlobNotFoundError,
2632
2817
  "TREE_NOT_FOUND": TreeNotFoundError,
2818
+ "INVALID_REVISION": InvalidRevisionError,
2819
+ "UNAUTHORIZED": UnauthorizedError,
2820
+ "TAG_NOT_FOUND": TagNotFoundError,
2821
+ "REPO_ALREADY_EXISTS": RepoAlreadyExistsError,
2822
+ "GIT_HUB_SYNC_CONFLICT": GitHubSyncConflictError,
2823
+ "INVALID_OBJECT_ID": InvalidObjectIdError,
2824
+ "SOURCE_IMPORT_CONFLICT": SourceImportConflictError,
2825
+ "SOURCE_UNAUTHORIZED": SourceUnauthorizedError,
2826
+ "SOURCE_NOT_FOUND": SourceNotFoundError,
2827
+ "IMPORT_SUBDIR_NOT_FOUND": ImportSubdirNotFoundError,
2828
+ "PACKFILE": PackfileError,
2829
+ "PATH_NOT_FOUND": PathNotFoundError,
2830
+ "INVALID_SERVICE": InvalidServiceError,
2831
+ "EXPECTED_SERVICE": ExpectedServiceError,
2832
+ "DATABASE_ERROR": DatabaseErrorError,
2833
+ "WAIT_TIMEOUT": WaitTimeoutError,
2834
+ "PRE_VERIFY_CHALLENGE_MISMATCH": PreVerifyChallengeMismatchError,
2835
+ "PRE_VERIFY_FAILED_PARSE": PreVerifyFailedParseError,
2836
+ "PRE_VERIFY_FAILED_FETCH": PreVerifyFailedFetchError,
2837
+ "PRE_VERIFY_ROUTE_NOT_FOUND": PreVerifyRouteNotFoundError,
2838
+ "AUTHORIZATION_NOT_FOUND": AuthorizationNotFoundError,
2839
+ "ORDER_NOT_FOUND": OrderNotFoundError,
2633
2840
  "RESIZE_FAILED": ResizeFailedError,
2634
2841
  "INTERNAL_RESIZE_VM_NOT_FOUND": InternalResizeVmNotFoundError,
2635
- "OBSERVABILITY_DATABASE_ERROR": ObservabilityDatabaseErrorError,
2636
- "OBSERVABILITY_ACCESS_DENIED": ObservabilityAccessDeniedError,
2637
- "PARSE_LOGS_FAILED": ParseLogsFailedError,
2638
- "RETRIEVE_LOGS_FAILED": RetrieveLogsFailedError,
2639
- "INVALID_QUERY": InvalidQueryError,
2640
- "LOGS_NOT_FOUND": LogsNotFoundError,
2842
+ "DOMAIN_OWNERSHIP_VERIFICATION_FAILED": DomainOwnershipVerificationFailedError,
2843
+ "ERROR_DELETING_RECORD": ErrorDeletingRecordError,
2844
+ "RECORD_OWNERSHIP_ERROR": RecordOwnershipErrorError,
2845
+ "ERROR_CREATING_RECORD": ErrorCreatingRecordError,
2846
+ "DOMAIN_OWNERSHIP_ERROR": DomainOwnershipErrorError,
2847
+ "BROWSER_OPERATION_FAILED": BrowserOperationFailedError,
2848
+ "WATCH_FILES_FAILED": WatchFilesFailedError,
2849
+ "LOGS_FAILED": LogsFailedError,
2850
+ "STATUS_FAILED": StatusFailedError,
2851
+ "RESTART_FAILED": RestartFailedError,
2852
+ "SHUTDOWN_FAILED": ShutdownFailedError,
2853
+ "COMMIT_FAILED": CommitFailedError,
2854
+ "WRITE_FILE_FAILED": WriteFileFailedError,
2855
+ "READ_FILE_FAILED": ReadFileFailedError,
2856
+ "EXECUTION_FAILED": ExecutionFailedError,
2857
+ "REQUEST_FAILED": RequestFailedError,
2858
+ "DEV_SERVER_FILE_NOT_FOUND": DevServerFileNotFoundError,
2859
+ "DEV_SERVER_INVALID_REQUEST": DevServerInvalidRequestError,
2860
+ "DEV_SERVER_NOT_FOUND": DevServerNotFoundError,
2861
+ "EXECUTE_INTERNAL_ERROR": ExecuteInternalErrorError,
2862
+ "EXECUTE_ACCESS_DENIED": ExecuteAccessDeniedError,
2863
+ "LIST_RUNS_FAILED": ListRunsFailedError,
2864
+ "EXECUTION_ERROR": ExecutionErrorError,
2865
+ "CONNECTION_FAILED": ConnectionFailedError,
2866
+ "METADATA_WRITE_FAILED": MetadataWriteFailedError,
2867
+ "NODE_MODULES_INSTALL_FAILED": NodeModulesInstallFailedError,
2868
+ "NODE_MODULES_DOWNLOAD_FAILED": NodeModulesDownloadFailedError,
2869
+ "LOCK_GENERATION_FAILED": LockGenerationFailedError,
2870
+ "WRITE_SCRIPT_FAILED": WriteScriptFailedError,
2871
+ "DIRECTORY_CREATION_FAILED": DirectoryCreationFailedError,
2872
+ "NETWORK_PERMISSIONS_FAILED": NetworkPermissionsFailedError,
2873
+ "LOGGING_FAILED": LoggingFailedError,
2874
+ "RUN_NOT_FOUND": RunNotFoundError,
2875
+ "EMPTY_TAG": EmptyTagError,
2876
+ "ANYHOW": AnyhowError,
2877
+ "BRANCH_NAME_EMPTY": BranchNameEmptyError,
2878
+ "CLOUDSTATE_INTERNAL_ERROR": CloudstateInternalErrorError,
2879
+ "CLOUDSTATE_DATABASE_ERROR": CloudstateDatabaseErrorError,
2880
+ "CLOUDSTATE_ACCESS_DENIED": CloudstateAccessDeniedError,
2881
+ "RESTORE_FAILED": RestoreFailedError,
2882
+ "CREATE_BACKUP_FAILED": CreateBackupFailedError,
2883
+ "BACKUP_FAILED": BackupFailedError,
2884
+ "DEPLOYMENT_FAILED": DeploymentFailedError,
2885
+ "INVALID_DEPLOYMENT_REQUEST": InvalidDeploymentRequestError,
2886
+ "PROJECT_NOT_FOUND": ProjectNotFoundError,
2641
2887
  "PERMISSION_ALREADY_EXISTS": PermissionAlreadyExistsError,
2642
2888
  "LIST_TOKENS_FAILED": ListTokensFailedError,
2643
2889
  "REVOKE_TOKEN_FAILED": RevokeTokenFailedError,
@@ -2659,64 +2905,13 @@ const FREESTYLE_ERROR_CODE_MAP = {
2659
2905
  "CANNOT_MODIFY_MANAGED_IDENTITY": CannotModifyManagedIdentityError,
2660
2906
  "IDENTITY_ACCESS_DENIED": IdentityAccessDeniedError,
2661
2907
  "IDENTITY_NOT_FOUND": IdentityNotFoundError,
2662
- "EXECUTE_INTERNAL_ERROR": ExecuteInternalErrorError,
2663
- "EXECUTE_ACCESS_DENIED": ExecuteAccessDeniedError,
2664
- "LIST_RUNS_FAILED": ListRunsFailedError,
2665
- "EXECUTION_ERROR": ExecutionErrorError,
2666
- "CONNECTION_FAILED": ConnectionFailedError,
2667
- "METADATA_WRITE_FAILED": MetadataWriteFailedError,
2668
- "NODE_MODULES_INSTALL_FAILED": NodeModulesInstallFailedError,
2669
- "NODE_MODULES_DOWNLOAD_FAILED": NodeModulesDownloadFailedError,
2670
- "LOCK_GENERATION_FAILED": LockGenerationFailedError,
2671
- "WRITE_SCRIPT_FAILED": WriteScriptFailedError,
2672
- "DIRECTORY_CREATION_FAILED": DirectoryCreationFailedError,
2673
- "NETWORK_PERMISSIONS_FAILED": NetworkPermissionsFailedError,
2674
- "LOGGING_FAILED": LoggingFailedError,
2675
- "RUN_NOT_FOUND": RunNotFoundError,
2676
- "FAILED_TO_PROVISION_CERTIFICATE": FailedToProvisionCertificateError,
2677
- "FAILED_TO_INSERT_DOMAIN_MAPPING": FailedToInsertDomainMappingError,
2678
- "PERMISSION_DENIED": PermissionDeniedError,
2679
- "FAILED_TO_CHECK_PERMISSIONS": FailedToCheckPermissionsError,
2680
- "FAILED_TO_LIST_DOMAINS": FailedToListDomainsError,
2681
- "FAILED_TO_LIST_VERIFICATIONS": FailedToListVerificationsError,
2682
- "FAILED_TO_VERIFY_DOMAIN": FailedToVerifyDomainError,
2683
- "VERIFICATION_FAILED": VerificationFailedError,
2684
- "FAILED_TO_DELETE_VERIFICATION": FailedToDeleteVerificationError,
2685
- "VERIFICATION_NOT_FOUND": VerificationNotFoundError,
2686
- "FAILED_TO_CREATE_VERIFICATION_CODE": FailedToCreateVerificationCodeError,
2687
- "INVALID_DOMAIN": InvalidDomainError,
2688
- "DOMAIN_OWNERSHIP_VERIFICATION_FAILED": DomainOwnershipVerificationFailedError,
2689
- "ERROR_DELETING_RECORD": ErrorDeletingRecordError,
2690
- "RECORD_OWNERSHIP_ERROR": RecordOwnershipErrorError,
2691
- "ERROR_CREATING_RECORD": ErrorCreatingRecordError,
2692
- "DOMAIN_OWNERSHIP_ERROR": DomainOwnershipErrorError,
2693
- "BROWSER_OPERATION_FAILED": BrowserOperationFailedError,
2694
- "WATCH_FILES_FAILED": WatchFilesFailedError,
2695
- "LOGS_FAILED": LogsFailedError,
2696
- "STATUS_FAILED": StatusFailedError,
2697
- "RESTART_FAILED": RestartFailedError,
2698
- "SHUTDOWN_FAILED": ShutdownFailedError,
2699
- "COMMIT_FAILED": CommitFailedError,
2700
- "WRITE_FILE_FAILED": WriteFileFailedError,
2701
- "READ_FILE_FAILED": ReadFileFailedError,
2702
- "EXECUTION_FAILED": ExecutionFailedError,
2703
- "REQUEST_FAILED": RequestFailedError,
2704
- "DEV_SERVER_FILE_NOT_FOUND": DevServerFileNotFoundError,
2705
- "DEV_SERVER_INVALID_REQUEST": DevServerInvalidRequestError,
2706
- "DEV_SERVER_NOT_FOUND": DevServerNotFoundError,
2707
- "BUILD_FAILED": BuildFailedError,
2708
- "SERVER_DEPLOYMENT_FAILED": ServerDeploymentFailedError,
2709
- "LOCKFILE_ERROR": LockfileErrorError,
2710
- "UPLOAD_ERROR": UploadErrorError,
2711
- "DOMAIN_MAPPING_ERROR": DomainMappingErrorError,
2712
- "CERTIFICATE_PROVISIONING_ERROR": CertificateProvisioningErrorError,
2713
- "NO_ENTRYPOINT_FOUND": NoEntrypointFoundError,
2714
- "ENTRYPOINT_NOT_FOUND": EntrypointNotFoundError,
2715
- "NO_DOMAIN_OWNERSHIP": NoDomainOwnershipError,
2716
- "INVALID_DOMAINS": InvalidDomainsError,
2717
- "WEB_DEPLOYMENT_BAD_REQUEST": WebDeploymentBadRequestError,
2718
- "DEPLOYMENT_NOT_FOUND": DeploymentNotFoundError,
2719
- "DATABASE_ERROR": DatabaseErrorError,
2908
+ "UNAUTHORIZED_ERROR": UnauthorizedErrorError,
2909
+ "OBSERVABILITY_DATABASE_ERROR": ObservabilityDatabaseErrorError,
2910
+ "OBSERVABILITY_ACCESS_DENIED": ObservabilityAccessDeniedError,
2911
+ "PARSE_LOGS_FAILED": ParseLogsFailedError,
2912
+ "RETRIEVE_LOGS_FAILED": RetrieveLogsFailedError,
2913
+ "INVALID_QUERY": InvalidQueryError,
2914
+ "LOGS_NOT_FOUND": LogsNotFoundError,
2720
2915
  "TRIGGER_ERROR": TriggerErrorError,
2721
2916
  "TOKEN_ERROR": TokenErrorError,
2722
2917
  "PERMISSION_ERROR": PermissionErrorError,
@@ -2736,22 +2931,35 @@ const FREESTYLE_ERROR_CODE_MAP = {
2736
2931
  "SERIALIZATION_ERROR": SerializationErrorError,
2737
2932
  "GIT_INVALID_REQUEST": GitInvalidRequestError,
2738
2933
  "REPOSITORY_NOT_FOUND": RepositoryNotFoundError,
2934
+ "FAILED_TO_PROVISION_CERTIFICATE": FailedToProvisionCertificateError,
2935
+ "FAILED_TO_INSERT_DOMAIN_MAPPING": FailedToInsertDomainMappingError,
2936
+ "PERMISSION_DENIED": PermissionDeniedError,
2937
+ "FAILED_TO_CHECK_PERMISSIONS": FailedToCheckPermissionsError,
2938
+ "FAILED_TO_LIST_DOMAINS": FailedToListDomainsError,
2939
+ "FAILED_TO_LIST_VERIFICATIONS": FailedToListVerificationsError,
2940
+ "FAILED_TO_VERIFY_DOMAIN": FailedToVerifyDomainError,
2941
+ "VERIFICATION_FAILED": VerificationFailedError,
2942
+ "FAILED_TO_DELETE_VERIFICATION": FailedToDeleteVerificationError,
2943
+ "VERIFICATION_NOT_FOUND": VerificationNotFoundError,
2944
+ "FAILED_TO_CREATE_VERIFICATION_CODE": FailedToCreateVerificationCodeError,
2945
+ "INVALID_DOMAIN": InvalidDomainError,
2946
+ "BUILD_FAILED": BuildFailedError,
2947
+ "SERVER_DEPLOYMENT_FAILED": ServerDeploymentFailedError,
2948
+ "LOCKFILE_ERROR": LockfileErrorError,
2949
+ "UPLOAD_ERROR": UploadErrorError,
2950
+ "DOMAIN_MAPPING_ERROR": DomainMappingErrorError,
2951
+ "CERTIFICATE_PROVISIONING_ERROR": CertificateProvisioningErrorError,
2952
+ "NO_ENTRYPOINT_FOUND": NoEntrypointFoundError,
2953
+ "ENTRYPOINT_NOT_FOUND": EntrypointNotFoundError,
2954
+ "NO_DOMAIN_OWNERSHIP": NoDomainOwnershipError,
2955
+ "INVALID_DOMAINS": InvalidDomainsError,
2956
+ "WEB_DEPLOYMENT_BAD_REQUEST": WebDeploymentBadRequestError,
2957
+ "DEPLOYMENT_NOT_FOUND": DeploymentNotFoundError,
2739
2958
  "DOMAIN_ALREADY_EXISTS": DomainAlreadyExistsError,
2740
2959
  "FAILED_TO_INSERT_OWNERSHIP": FailedToInsertOwnershipError,
2741
2960
  "FAILED_REMOVE_DOMAIN_MAPPING": FailedRemoveDomainMappingError,
2742
2961
  "FAILED_PERMISSIONS_CHECK": FailedPermissionsCheckError,
2743
- "FAILED_TO_CHECK_DOMAIN_MAPPING_PERMISSIONS": FailedToCheckDomainMappingPermissionsError,
2744
- "CLOUDSTATE_INTERNAL_ERROR": CloudstateInternalErrorError,
2745
- "CLOUDSTATE_DATABASE_ERROR": CloudstateDatabaseErrorError,
2746
- "CLOUDSTATE_ACCESS_DENIED": CloudstateAccessDeniedError,
2747
- "RESTORE_FAILED": RestoreFailedError,
2748
- "CREATE_BACKUP_FAILED": CreateBackupFailedError,
2749
- "BACKUP_FAILED": BackupFailedError,
2750
- "DEPLOYMENT_FAILED": DeploymentFailedError,
2751
- "INVALID_DEPLOYMENT_REQUEST": InvalidDeploymentRequestError,
2752
- "PROJECT_NOT_FOUND": ProjectNotFoundError,
2753
- "UNAUTHORIZED_ERROR": UnauthorizedErrorError,
2754
- "ANYHOW": AnyhowError
2962
+ "FAILED_TO_CHECK_DOMAIN_MAPPING_PERMISSIONS": FailedToCheckDomainMappingPermissionsError
2755
2963
  };
2756
2964
 
2757
2965
  var errors = /*#__PURE__*/Object.freeze({
@@ -2763,6 +2971,7 @@ var errors = /*#__PURE__*/Object.freeze({
2763
2971
  BackupFailedError: BackupFailedError,
2764
2972
  BadRequestError: BadRequestError,
2765
2973
  BlobNotFoundError: BlobNotFoundError,
2974
+ BranchNameEmptyError: BranchNameEmptyError,
2766
2975
  BranchNotFoundError: BranchNotFoundError,
2767
2976
  BrowserOperationFailedError: BrowserOperationFailedError,
2768
2977
  BuildFailedError: BuildFailedError,
@@ -2774,6 +2983,7 @@ var errors = /*#__PURE__*/Object.freeze({
2774
2983
  CloudstateInternalErrorError: CloudstateInternalErrorError,
2775
2984
  CommitFailedError: CommitFailedError,
2776
2985
  CommitNotFoundError: CommitNotFoundError,
2986
+ CommitNotInBranchError: CommitNotInBranchError,
2777
2987
  ConflictError: ConflictError,
2778
2988
  ConnectionFailedError: ConnectionFailedError,
2779
2989
  ContentNotFoundError: ContentNotFoundError,
@@ -2800,6 +3010,7 @@ var errors = /*#__PURE__*/Object.freeze({
2800
3010
  DownloadFailedError: DownloadFailedError,
2801
3011
  DuplicateGroupNameError: DuplicateGroupNameError,
2802
3012
  DuplicateUserNameError: DuplicateUserNameError,
3013
+ EmptyTagError: EmptyTagError,
2803
3014
  EntrypointNotFoundError: EntrypointNotFoundError,
2804
3015
  EnvKeyContainsEqualsError: EnvKeyContainsEqualsError,
2805
3016
  EnvKeyEmptyError: EnvKeyEmptyError,
@@ -2810,6 +3021,7 @@ var errors = /*#__PURE__*/Object.freeze({
2810
3021
  ExecuteInternalErrorError: ExecuteInternalErrorError,
2811
3022
  ExecutionErrorError: ExecutionErrorError,
2812
3023
  ExecutionFailedError: ExecutionFailedError,
3024
+ ExpectedServiceError: ExpectedServiceError,
2813
3025
  ExpiredError: ExpiredError,
2814
3026
  FREESTYLE_ERROR_CODE_MAP: FREESTYLE_ERROR_CODE_MAP,
2815
3027
  FailedPermissionsCheckError: FailedPermissionsCheckError,
@@ -2833,6 +3045,8 @@ var errors = /*#__PURE__*/Object.freeze({
2833
3045
  GetContentFailedError: GetContentFailedError,
2834
3046
  GetPermissionFailedError: GetPermissionFailedError,
2835
3047
  GetRepositoryInfoFailedError: GetRepositoryInfoFailedError,
3048
+ GitErrorError: GitErrorError,
3049
+ GitHubSyncConflictError: GitHubSyncConflictError,
2836
3050
  GitHubSyncFailedError: GitHubSyncFailedError,
2837
3051
  GitInvalidRequestError: GitInvalidRequestError,
2838
3052
  GitRepositoryAccessDeniedError: GitRepositoryAccessDeniedError,
@@ -2849,6 +3063,7 @@ var errors = /*#__PURE__*/Object.freeze({
2849
3063
  IdentityAccessDeniedError: IdentityAccessDeniedError,
2850
3064
  IdentityErrorError: IdentityErrorError,
2851
3065
  IdentityNotFoundError: IdentityNotFoundError,
3066
+ ImportSubdirNotFoundError: ImportSubdirNotFoundError,
2852
3067
  InternalError: InternalError,
2853
3068
  InternalErrorError: InternalErrorError,
2854
3069
  InternalForkVmNotFoundError: InternalForkVmNotFoundError,
@@ -2860,8 +3075,10 @@ var errors = /*#__PURE__*/Object.freeze({
2860
3075
  InvalidObjectIdError: InvalidObjectIdError,
2861
3076
  InvalidParametersError: InvalidParametersError,
2862
3077
  InvalidQueryError: InvalidQueryError,
3078
+ InvalidRangeError: InvalidRangeError,
2863
3079
  InvalidRequestError: InvalidRequestError,
2864
3080
  InvalidRevisionError: InvalidRevisionError,
3081
+ InvalidServiceError: InvalidServiceError,
2865
3082
  InvalidSignatureError: InvalidSignatureError,
2866
3083
  ListIdentitiesFailedError: ListIdentitiesFailedError,
2867
3084
  ListPermissionsFailedError: ListPermissionsFailedError,
@@ -2883,8 +3100,10 @@ var errors = /*#__PURE__*/Object.freeze({
2883
3100
  NotFoundError: NotFoundError,
2884
3101
  ObservabilityAccessDeniedError: ObservabilityAccessDeniedError,
2885
3102
  ObservabilityDatabaseErrorError: ObservabilityDatabaseErrorError,
3103
+ OffsetWithSelectorError: OffsetWithSelectorError,
2886
3104
  OnFailureArrayContainsEmptyError: OnFailureArrayContainsEmptyError,
2887
3105
  OrderNotFoundError: OrderNotFoundError,
3106
+ PackfileError: PackfileError,
2888
3107
  ParseLogsFailedError: ParseLogsFailedError,
2889
3108
  ParseResponseErrorError: ParseResponseErrorError,
2890
3109
  PathNotFoundError: PathNotFoundError,
@@ -2900,6 +3119,7 @@ var errors = /*#__PURE__*/Object.freeze({
2900
3119
  ReadFileFailedError: ReadFileFailedError,
2901
3120
  RecordOwnershipErrorError: RecordOwnershipErrorError,
2902
3121
  ReferenceNotFoundError: ReferenceNotFoundError,
3122
+ RepoAlreadyExistsError: RepoAlreadyExistsError,
2903
3123
  RepoNotFoundError: RepoNotFoundError,
2904
3124
  RepositoryAccessDeniedError: RepositoryAccessDeniedError,
2905
3125
  RepositoryNotFoundError: RepositoryNotFoundError,
@@ -2913,6 +3133,7 @@ var errors = /*#__PURE__*/Object.freeze({
2913
3133
  RevokePermissionFailedError: RevokePermissionFailedError,
2914
3134
  RevokeTokenFailedError: RevokeTokenFailedError,
2915
3135
  RunNotFoundError: RunNotFoundError,
3136
+ SendErrorError: SendErrorError,
2916
3137
  SerializationErrorError: SerializationErrorError,
2917
3138
  ServerDeploymentFailedError: ServerDeploymentFailedError,
2918
3139
  ServiceAlreadyExistsError: ServiceAlreadyExistsError,
@@ -2924,6 +3145,9 @@ var errors = /*#__PURE__*/Object.freeze({
2924
3145
  ShutdownFailedError: ShutdownFailedError,
2925
3146
  SigningError: SigningError,
2926
3147
  SnapshotVmBadRequestError: SnapshotVmBadRequestError,
3148
+ SourceImportConflictError: SourceImportConflictError,
3149
+ SourceNotFoundError: SourceNotFoundError,
3150
+ SourceUnauthorizedError: SourceUnauthorizedError,
2927
3151
  StatusFailedError: StatusFailedError,
2928
3152
  StdIoError: StdIoError,
2929
3153
  TagNotFoundError: TagNotFoundError,
@@ -3018,7 +3242,7 @@ class ApiClient {
3018
3242
  }
3019
3243
  return headers;
3020
3244
  }
3021
- async request(method, url, body) {
3245
+ async requestRaw(method, url, body) {
3022
3246
  const headers = this.getDefaultHeaders();
3023
3247
  if (body) {
3024
3248
  headers["Content-Type"] = "application/json";
@@ -3041,6 +3265,10 @@ class ApiClient {
3041
3265
  }
3042
3266
  throw errorFromJSON(errorData);
3043
3267
  }
3268
+ return response;
3269
+ }
3270
+ async request(method, url, body) {
3271
+ const response = await this.requestRaw(method, url, body);
3044
3272
  return response.json();
3045
3273
  }
3046
3274
  async fetch(url, options) {
@@ -3054,6 +3282,10 @@ class ApiClient {
3054
3282
  };
3055
3283
  return this.fetchFn(url, finalOptions);
3056
3284
  }
3285
+ getRaw(path, options) {
3286
+ const url = this.buildUrl(path, options?.params, options?.query);
3287
+ return this.requestRaw("GET", url);
3288
+ }
3057
3289
  get(path, ...args) {
3058
3290
  const options = args[0];
3059
3291
  const url = this.buildUrl(path, options?.params, options?.query);
@@ -3215,12 +3447,19 @@ class DomainsNamespace {
3215
3447
  }
3216
3448
  }
3217
3449
 
3218
- class GitRepo {
3450
+ class GitRepoBranchesNamespace {
3219
3451
  constructor(repoId, apiClient) {
3220
- this.apiClient = apiClient;
3221
3452
  this.repoId = repoId;
3453
+ this.apiClient = apiClient;
3454
+ }
3455
+ /**
3456
+ * Get the default branch for this repository.
3457
+ */
3458
+ async getDefaultBranch() {
3459
+ return this.apiClient.get("/git/v1/repo/{repo_id}/default-branch", {
3460
+ params: { repo_id: this.repoId }
3461
+ });
3222
3462
  }
3223
- repoId;
3224
3463
  /**
3225
3464
  * Set the default branch for this repository.
3226
3465
  */
@@ -3232,30 +3471,29 @@ class GitRepo {
3232
3471
  body: { defaultBranch }
3233
3472
  });
3234
3473
  }
3235
- /**
3236
- * Get the default branch for this repository.
3237
- */
3238
- async getDefaultBranch() {
3239
- return this.apiClient.get("/git/v1/repo/{repo_id}/default-branch", {
3240
- params: { repo_id: this.repoId }
3474
+ async list() {
3475
+ return this.apiClient.get("/git/v1/repo/{repo}/git/refs/heads/", {
3476
+ params: { repo: this.repoId }
3241
3477
  });
3242
3478
  }
3243
- /**
3244
- * Get the contents of this repository at the given path.
3245
- */
3246
- async getContents({
3247
- path = "",
3248
- ref
3249
- } = {}) {
3250
- return this.apiClient.get("/git/v1/repo/{repo}/contents/{path}", {
3251
- params: { repo: this.repoId, path },
3252
- query: { ref }
3479
+ async get({
3480
+ branchName
3481
+ }) {
3482
+ return this.apiClient.get("/git/v1/repo/{repo}/git/refs/heads/{branch}", {
3483
+ params: { repo: this.repoId, branch: branchName }
3253
3484
  });
3254
3485
  }
3486
+ }
3487
+ class GitRepoGitHubSyncNamespace {
3488
+ constructor(repoId, apiClient) {
3489
+ this.repoId = repoId;
3490
+ this.apiClient = apiClient;
3491
+ }
3255
3492
  /**
3256
3493
  * Get the GitHub sync configuration for this repository.
3494
+ * Returns null if GitHub sync is not configured.
3257
3495
  */
3258
- async getGitHubSyncConfig() {
3496
+ async get() {
3259
3497
  try {
3260
3498
  return await this.apiClient.get("/git/v1/repo/{repo_id}/github-sync", {
3261
3499
  params: { repo_id: this.repoId }
@@ -3267,10 +3505,33 @@ class GitRepo {
3267
3505
  throw error;
3268
3506
  }
3269
3507
  }
3508
+ /**
3509
+ * Enable GitHub sync for this repository.
3510
+ */
3511
+ async enable({ githubRepoName }) {
3512
+ await this.apiClient.post("/git/v1/repo/{repo_id}/github-sync", {
3513
+ params: { repo_id: this.repoId },
3514
+ body: { githubRepoName }
3515
+ });
3516
+ }
3517
+ /**
3518
+ * Disable GitHub sync for this repository.
3519
+ */
3520
+ async disable() {
3521
+ await this.apiClient.delete("/git/v1/repo/{repo_id}/github-sync", {
3522
+ params: { repo_id: this.repoId }
3523
+ });
3524
+ }
3525
+ }
3526
+ class GitRepoTriggersNamespace {
3527
+ constructor(repoId, apiClient) {
3528
+ this.repoId = repoId;
3529
+ this.apiClient = apiClient;
3530
+ }
3270
3531
  /**
3271
3532
  * List git triggers for this repository.
3272
3533
  */
3273
- async listTriggers() {
3534
+ async list() {
3274
3535
  return this.apiClient.get("/git/v1/repo/{repo}/trigger", {
3275
3536
  params: { repo: this.repoId }
3276
3537
  });
@@ -3278,7 +3539,7 @@ class GitRepo {
3278
3539
  /**
3279
3540
  * Create a git trigger for this repository.
3280
3541
  */
3281
- async createTrigger({
3542
+ async create({
3282
3543
  trigger,
3283
3544
  action
3284
3545
  }) {
@@ -3293,14 +3554,334 @@ class GitRepo {
3293
3554
  /**
3294
3555
  * Delete a git trigger.
3295
3556
  */
3296
- async deleteTrigger({
3557
+ async delete({
3297
3558
  triggerId
3298
3559
  }) {
3299
3560
  return this.apiClient.delete("/git/v1/repo/{repo}/trigger/{trigger}", {
3300
3561
  params: { repo: this.repoId, trigger: triggerId }
3301
3562
  });
3302
3563
  }
3303
- /**
3564
+ }
3565
+ class GitRepoOdbBlobsNamespace {
3566
+ constructor(repoId, apiClient) {
3567
+ this.repoId = repoId;
3568
+ this.apiClient = apiClient;
3569
+ }
3570
+ async get({
3571
+ sha
3572
+ }) {
3573
+ return this.apiClient.get("/git/v1/repo/{repo}/git/blobs/{hash}", {
3574
+ params: { repo: this.repoId, hash: sha }
3575
+ });
3576
+ }
3577
+ }
3578
+ class GitRepoOdbTreesNamespace {
3579
+ constructor(repoId, apiClient) {
3580
+ this.repoId = repoId;
3581
+ this.apiClient = apiClient;
3582
+ }
3583
+ async get({
3584
+ sha
3585
+ }) {
3586
+ return this.apiClient.get("/git/v1/repo/{repo}/git/trees/{hash}", {
3587
+ params: { repo: this.repoId, hash: sha }
3588
+ });
3589
+ }
3590
+ }
3591
+ class GitRepoContentsNamespace {
3592
+ constructor(repoId, apiClient) {
3593
+ this.repoId = repoId;
3594
+ this.apiClient = apiClient;
3595
+ }
3596
+ /**
3597
+ * Get the contents of a file or directory at a specific path and revision.
3598
+ *
3599
+ * @param path - The path to the file or directory (empty string for root)
3600
+ * @param rev - The revision (branch, tag, or commit SHA) to get contents from
3601
+ * @returns File contents (base64 encoded) or directory listing
3602
+ */
3603
+ async get({
3604
+ path = "",
3605
+ rev
3606
+ } = {}) {
3607
+ return this.apiClient.get("/git/v1/repo/{repo}/contents/{path}", {
3608
+ params: { repo: this.repoId, path },
3609
+ query: { rev }
3610
+ });
3611
+ }
3612
+ /**
3613
+ * Download repository contents as a tarball archive.
3614
+ *
3615
+ * @param rev - The revision (branch, tag, or commit SHA) to download
3616
+ * @returns The tarball as an ArrayBuffer
3617
+ *
3618
+ * @example
3619
+ * ```ts
3620
+ * const tarball = await repo.contents.downloadTarball({ rev: "main" });
3621
+ * await fs.writeFile("repo.tar", Buffer.from(tarball));
3622
+ * ```
3623
+ */
3624
+ async downloadTarball({
3625
+ rev
3626
+ } = {}) {
3627
+ const response = await this.apiClient.getRaw(
3628
+ "/git/v1/repo/{repo}/tarball",
3629
+ {
3630
+ params: { repo: this.repoId },
3631
+ query: { rev }
3632
+ }
3633
+ );
3634
+ return response.arrayBuffer();
3635
+ }
3636
+ /**
3637
+ * Download repository contents as a zip archive.
3638
+ *
3639
+ * @param rev - The revision (branch, tag, or commit SHA) to download
3640
+ * @returns The zip file as an ArrayBuffer
3641
+ *
3642
+ * @example
3643
+ * ```ts
3644
+ * const zip = await repo.contents.downloadZip({ rev: "main" });
3645
+ * await fs.writeFile("repo.zip", Buffer.from(zip));
3646
+ * ```
3647
+ */
3648
+ async downloadZip({
3649
+ rev
3650
+ } = {}) {
3651
+ const response = await this.apiClient.getRaw("/git/v1/repo/{repo}/zip", {
3652
+ params: { repo: this.repoId },
3653
+ query: { rev }
3654
+ });
3655
+ return response.arrayBuffer();
3656
+ }
3657
+ }
3658
+ class GitRepoCommitsNamespace {
3659
+ constructor(repoId, apiClient) {
3660
+ this.repoId = repoId;
3661
+ this.apiClient = apiClient;
3662
+ }
3663
+ /**
3664
+ * Get a specific commit by SHA.
3665
+ */
3666
+ async get({
3667
+ sha
3668
+ }) {
3669
+ return this.apiClient.get("/git/v1/repo/{repo}/git/commits/{hash}", {
3670
+ params: { repo: this.repoId, hash: sha }
3671
+ });
3672
+ }
3673
+ /**
3674
+ * List commits for this repository.
3675
+ */
3676
+ async list(params = {}) {
3677
+ return this.apiClient.get("/git/v1/repo/{repo}/git/commits", {
3678
+ params: { repo: this.repoId },
3679
+ query: params
3680
+ });
3681
+ }
3682
+ }
3683
+ class GitRepoTagsNamespace {
3684
+ constructor(repoId, apiClient) {
3685
+ this.repoId = repoId;
3686
+ this.apiClient = apiClient;
3687
+ }
3688
+ /**
3689
+ * List all tags in this repository.
3690
+ */
3691
+ async list() {
3692
+ return this.apiClient.get("/git/v1/repo/{repo}/git/refs/tags/", {
3693
+ params: { repo: this.repoId }
3694
+ });
3695
+ }
3696
+ /**
3697
+ * Get a tag by name.
3698
+ */
3699
+ async get({
3700
+ tagName
3701
+ }) {
3702
+ return this.apiClient.get("/git/v1/repo/{repo}/git/refs/tags/{tag}", {
3703
+ params: { repo: this.repoId, tag: tagName }
3704
+ });
3705
+ }
3706
+ /**
3707
+ * Get an annotated tag object by its SHA.
3708
+ */
3709
+ async getByHash({
3710
+ sha
3711
+ }) {
3712
+ return this.apiClient.get("/git/v1/repo/{repo}/git/tags/{hash}", {
3713
+ params: { repo: this.repoId, hash: sha }
3714
+ });
3715
+ }
3716
+ }
3717
+ class GitRepo {
3718
+ constructor(repoId, apiClient) {
3719
+ this.apiClient = apiClient;
3720
+ this.repoId = repoId;
3721
+ this.branches = new GitRepoBranchesNamespace(repoId, apiClient);
3722
+ this.contents = new GitRepoContentsNamespace(repoId, apiClient);
3723
+ this.commits = new GitRepoCommitsNamespace(repoId, apiClient);
3724
+ this.tags = new GitRepoTagsNamespace(repoId, apiClient);
3725
+ this.triggers = new GitRepoTriggersNamespace(repoId, apiClient);
3726
+ this.githubSync = new GitRepoGitHubSyncNamespace(repoId, apiClient);
3727
+ this.blobs = new GitRepoOdbBlobsNamespace(repoId, apiClient);
3728
+ this.trees = new GitRepoOdbTreesNamespace(repoId, apiClient);
3729
+ }
3730
+ repoId;
3731
+ /**
3732
+ * Manage branches in this repository.
3733
+ *
3734
+ * @example
3735
+ * ```ts
3736
+ * // List all branches
3737
+ * const branches = await repo.branches.list();
3738
+ *
3739
+ * // Get a specific branch
3740
+ * const main = await repo.branches.get({ branchName: "main" });
3741
+ *
3742
+ * // Get/set default branch
3743
+ * const { defaultBranch } = await repo.branches.getDefaultBranch();
3744
+ * await repo.branches.setDefaultBranch({ defaultBranch: "develop" });
3745
+ * ```
3746
+ */
3747
+ branches;
3748
+ /**
3749
+ * Access repository contents (files and directories).
3750
+ *
3751
+ * @example
3752
+ * ```ts
3753
+ * // Get file contents
3754
+ * const file = await repo.contents.get({ path: "README.md" });
3755
+ * const content = atob(file.content);
3756
+ *
3757
+ * // Get contents at a specific commit/branch/tag
3758
+ * const file = await repo.contents.get({
3759
+ * path: "src/index.ts",
3760
+ * rev: "main"
3761
+ * });
3762
+ *
3763
+ * // Get directory listing
3764
+ * const dir = await repo.contents.get({ path: "src" });
3765
+ *
3766
+ * // Download repository as tarball or zip
3767
+ * const tarball = await repo.contents.downloadTarball({ rev: "main" });
3768
+ * const zip = await repo.contents.downloadZip({ rev: "main" });
3769
+ * ```
3770
+ */
3771
+ contents;
3772
+ /**
3773
+ * Access commits in this repository.
3774
+ *
3775
+ * @example
3776
+ * ```ts
3777
+ * // Get a specific commit by SHA
3778
+ * const commit = await repo.commits.get({ sha: "abc123..." });
3779
+ * console.log(commit.message);
3780
+ * console.log(commit.author.name);
3781
+ *
3782
+ * // List recent commits
3783
+ * const commits = await repo.commits.list();
3784
+ * ```
3785
+ */
3786
+ commits;
3787
+ /**
3788
+ * Access tags in this repository.
3789
+ *
3790
+ * @example
3791
+ * ```ts
3792
+ * // List all tags
3793
+ * const tags = await repo.tags.list();
3794
+ *
3795
+ * // Get a tag by name
3796
+ * const tag = await repo.tags.get({ tagName: "v1.0.0" });
3797
+ *
3798
+ * // Get an annotated tag object by SHA
3799
+ * const tagObject = await repo.tags.getByHash({ sha: "abc123..." });
3800
+ * ```
3801
+ */
3802
+ tags;
3803
+ /**
3804
+ * Manage webhook triggers for this repository.
3805
+ *
3806
+ * Triggers send HTTP POST requests to your URL when events occur,
3807
+ * such as pushes to specific branches or changes to specific files.
3808
+ *
3809
+ * @example
3810
+ * ```ts
3811
+ * // Create a trigger for pushes to main
3812
+ * const { triggerId } = await repo.triggers.create({
3813
+ * trigger: { event: "push", branch: ["main"] },
3814
+ * action: { type: "webhook", url: "https://your-server.com/webhook" }
3815
+ * });
3816
+ *
3817
+ * // List all triggers
3818
+ * const triggers = await repo.triggers.list();
3819
+ *
3820
+ * // Delete a trigger
3821
+ * await repo.triggers.delete({ triggerId });
3822
+ * ```
3823
+ */
3824
+ triggers;
3825
+ /**
3826
+ * Manage GitHub synchronization for this repository.
3827
+ *
3828
+ * When enabled, pushes to either your Freestyle repository or the linked
3829
+ * GitHub repository are automatically synced to the other.
3830
+ *
3831
+ * @example
3832
+ * ```ts
3833
+ * // Enable sync with a GitHub repository
3834
+ * await repo.githubSync.enable({ githubRepoName: "owner/repo" });
3835
+ *
3836
+ * // Check sync configuration
3837
+ * const config = await repo.githubSync.get();
3838
+ *
3839
+ * // Disable sync
3840
+ * await repo.githubSync.disable();
3841
+ * ```
3842
+ */
3843
+ githubSync;
3844
+ /**
3845
+ * Access blob objects in the Git object database.
3846
+ *
3847
+ * Blobs represent raw file contents. Content is returned base64-encoded
3848
+ * for binary safety.
3849
+ *
3850
+ * @example
3851
+ * ```ts
3852
+ * // Get a blob by its SHA hash
3853
+ * const blob = await repo.blobs.get({ sha: "abc123..." });
3854
+ *
3855
+ * // Decode the base64 content
3856
+ * const content = atob(blob.content);
3857
+ * console.log(content);
3858
+ * ```
3859
+ */
3860
+ blobs;
3861
+ /**
3862
+ * Access tree objects in the Git object database.
3863
+ *
3864
+ * Trees represent directories in Git. Each tree contains entries
3865
+ * pointing to blobs (files) or other trees (subdirectories).
3866
+ *
3867
+ * @example
3868
+ * ```ts
3869
+ * // Get the root tree from a commit
3870
+ * const commit = await repo.commits.get({ sha: "abc123..." });
3871
+ * const tree = await repo.trees.get({ sha: commit.tree.sha });
3872
+ *
3873
+ * // Iterate over entries
3874
+ * for (const entry of tree.tree) {
3875
+ * if (entry.type === "blob") {
3876
+ * console.log(`File: ${entry.path}`);
3877
+ * } else {
3878
+ * console.log(`Directory: ${entry.path}`);
3879
+ * }
3880
+ * }
3881
+ * ```
3882
+ */
3883
+ trees;
3884
+ /**
3304
3885
  * Compare two revs in this repository.
3305
3886
  *
3306
3887
  * Head and base can be branch names, tags, or commit SHAs.
@@ -3350,7 +3931,7 @@ class GitReposNamespace {
3350
3931
  /**
3351
3932
  * Get a repository instance by ID.
3352
3933
  */
3353
- instance({ repoId }) {
3934
+ ref({ repoId }) {
3354
3935
  return new GitRepo(repoId, this.apiClient);
3355
3936
  }
3356
3937
  /**
@@ -3370,6 +3951,31 @@ class GitNamespace {
3370
3951
  this.freestyle = freestyle;
3371
3952
  this.repos = new GitReposNamespace(apiClient);
3372
3953
  }
3954
+ /**
3955
+ * Manage Git repositories.
3956
+ *
3957
+ * Create, list, delete, and get references to repositories.
3958
+ *
3959
+ * @example
3960
+ * ```ts
3961
+ * // Create a new empty repository
3962
+ * const { repoId, repo } = await freestyle.git.repos.create({});
3963
+ *
3964
+ * // Create from a GitHub URL
3965
+ * const { repo } = await freestyle.git.repos.create({
3966
+ * source: { url: "https://github.com/owner/repo" }
3967
+ * });
3968
+ *
3969
+ * // List repositories
3970
+ * const repos = await freestyle.git.repos.list({ limit: 10 });
3971
+ *
3972
+ * // Get a reference to an existing repository
3973
+ * const repo = freestyle.git.repos.ref({ repoId: "your-repo-id" });
3974
+ *
3975
+ * // Delete a repository
3976
+ * await freestyle.git.repos.delete({ repoId: "your-repo-id" });
3977
+ * ```
3978
+ */
3373
3979
  repos;
3374
3980
  }
3375
3981
 
@@ -3378,13 +3984,21 @@ class Identity {
3378
3984
  this.apiClient = apiClient;
3379
3985
  this.identityId = identityId;
3380
3986
  this.permissions = new IdentityPermissions(identityId, apiClient);
3987
+ this.tokens = new IdentityTokens(identityId, apiClient);
3381
3988
  }
3382
3989
  identityId;
3383
3990
  permissions;
3991
+ tokens;
3992
+ }
3993
+ class IdentityTokens {
3994
+ constructor(identityId, apiClient) {
3995
+ this.identityId = identityId;
3996
+ this.apiClient = apiClient;
3997
+ }
3384
3998
  /**
3385
3999
  * Create a new access token for this identity.
3386
4000
  */
3387
- async createToken() {
4001
+ async create() {
3388
4002
  const response = await this.apiClient.post(
3389
4003
  "/identity/v1/identities/{identity}/tokens",
3390
4004
  {
@@ -3399,7 +4013,7 @@ class Identity {
3399
4013
  /**
3400
4014
  * Revoke an access token.
3401
4015
  */
3402
- async revokeToken({
4016
+ async revoke({
3403
4017
  tokenId
3404
4018
  }) {
3405
4019
  return this.apiClient.delete(
@@ -3412,7 +4026,7 @@ class Identity {
3412
4026
  /**
3413
4027
  * List access tokens for this identity.
3414
4028
  */
3415
- async listTokens() {
4029
+ async list() {
3416
4030
  return this.apiClient.get("/identity/v1/identities/{identity}/tokens", {
3417
4031
  params: { identity: this.identityId }
3418
4032
  });
@@ -3480,7 +4094,7 @@ class GitPermissions {
3480
4094
  /**
3481
4095
  * Grant this identity access to a repository.
3482
4096
  */
3483
- async create({
4097
+ async grant({
3484
4098
  repoId,
3485
4099
  permission
3486
4100
  }) {
@@ -3495,7 +4109,7 @@ class GitPermissions {
3495
4109
  /**
3496
4110
  * Revoke this identity's access to a repository.
3497
4111
  */
3498
- async delete({
4112
+ async revoke({
3499
4113
  repoId
3500
4114
  }) {
3501
4115
  return this.apiClient.delete(
@@ -3558,7 +4172,7 @@ class VmPermissions {
3558
4172
  /**
3559
4173
  * Grant this identity access to a VM.
3560
4174
  */
3561
- async create({
4175
+ async grant({
3562
4176
  vmId,
3563
4177
  allowedUsers
3564
4178
  }) {
@@ -3573,7 +4187,7 @@ class VmPermissions {
3573
4187
  /**
3574
4188
  * Revoke this identity's access to a VM.
3575
4189
  */
3576
- async delete({
4190
+ async revoke({
3577
4191
  vmId
3578
4192
  }) {
3579
4193
  return this.apiClient.delete(
@@ -3698,9 +4312,11 @@ class DeploymentsNamespace {
3698
4312
  this.apiClient = apiClient;
3699
4313
  }
3700
4314
  /**
3701
- * Create a web deployment on the edge.
4315
+ * Create a serverless web deployment
3702
4316
  */
3703
- async create({ ...body }) {
4317
+ async create({
4318
+ ...body
4319
+ }) {
3704
4320
  let source;
3705
4321
  if ("repo" in body) {
3706
4322
  source = {
@@ -3788,13 +4404,16 @@ class RunsNamespace {
3788
4404
  */
3789
4405
  async create({
3790
4406
  code,
3791
- ...config
4407
+ config,
4408
+ outgoingHeaders,
4409
+ outgoingProxy
3792
4410
  }) {
3793
4411
  const response = await this.apiClient.post("/execute/v1/script", {
3794
4412
  body: {
3795
4413
  script: code,
3796
4414
  config: {
3797
- customHeaders: config.customHeaders,
4415
+ proxy: outgoingProxy,
4416
+ customHeaders: outgoingHeaders,
3798
4417
  networkPermissions: config.networkPermissions?.map((np) => ({
3799
4418
  action: np.action,
3800
4419
  query: np.domain,
@@ -3838,7 +4457,7 @@ class RunsNamespace {
3838
4457
  };
3839
4458
  }
3840
4459
  }
3841
- class EdgeNamespace {
4460
+ class ServerlessNamespace {
3842
4461
  constructor(apiClient) {
3843
4462
  this.apiClient = apiClient;
3844
4463
  this.deployments = new DeploymentsNamespace(apiClient);
@@ -4424,6 +5043,18 @@ class Vm {
4424
5043
  params: { vm_id: this.vmId }
4425
5044
  });
4426
5045
  }
5046
+ /**
5047
+ * Create a snapshot of the VM.
5048
+ *
5049
+ * @param body Optional snapshot configuration
5050
+ * @returns Snapshot ID and Source VM ID
5051
+ */
5052
+ async snapshot(body = {}) {
5053
+ return this.apiClient.post("/v1/vms/{vm_id}/snapshot", {
5054
+ params: { vm_id: this.vmId },
5055
+ body
5056
+ });
5057
+ }
4427
5058
  /**
4428
5059
  * Execute a command in the VM and wait for it to complete.
4429
5060
  * @param command The command to execute
@@ -4621,7 +5252,7 @@ class Freestyle {
4621
5252
  git;
4622
5253
  identities;
4623
5254
  dns;
4624
- edge;
5255
+ serverless;
4625
5256
  vms;
4626
5257
  constructor(options = {}) {
4627
5258
  if (!options.baseUrl) {
@@ -4646,7 +5277,7 @@ class Freestyle {
4646
5277
  this.git = new GitNamespace(this.apiClient, this);
4647
5278
  this.identities = new IdentitiesNamespace(this.apiClient);
4648
5279
  this.dns = new DnsNamespace(this.apiClient);
4649
- this.edge = new EdgeNamespace(this.apiClient);
5280
+ this.serverless = new ServerlessNamespace(this.apiClient);
4650
5281
  this.vms = new VmsNamespace(this.apiClient);
4651
5282
  }
4652
5283
  /**