freestyle-sandboxes 0.1.8 → 0.1.9

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 (5) hide show
  1. package/index.cjs +1175 -1062
  2. package/index.d.cts +1045 -852
  3. package/index.d.mts +1045 -852
  4. package/index.mjs +1175 -1062
  5. package/package.json +1 -1
package/index.cjs CHANGED
@@ -20,30 +20,6 @@ class GitErrorError extends Error {
20
20
  static statusCode = 500;
21
21
  static description = `{message}`;
22
22
  }
23
- class InternalErrorError extends Error {
24
- constructor(body) {
25
- super(
26
- `INTERNAL_ERROR: ${body.message}`
27
- );
28
- this.body = body;
29
- this.name = "InternalErrorError";
30
- }
31
- static code = "INTERNAL_ERROR";
32
- static statusCode = 500;
33
- static description = `Internal error: {message}`;
34
- }
35
- class DockerImportBadRequestError extends Error {
36
- constructor(body) {
37
- super(
38
- `DOCKER_IMPORT_BAD_REQUEST: ${body.message}`
39
- );
40
- this.body = body;
41
- this.name = "DockerImportBadRequestError";
42
- }
43
- static code = "DOCKER_IMPORT_BAD_REQUEST";
44
- static statusCode = 400;
45
- static description = `Bad request: {message}`;
46
- }
47
23
  class VmOperationDeniedDuringTransactionError extends Error {
48
24
  constructor(body) {
49
25
  super(
@@ -80,41 +56,29 @@ class VmNotInTransactionError extends Error {
80
56
  static statusCode = 404;
81
57
  static description = `VM not in a transaction: {vm_id}`;
82
58
  }
83
- class ForkVmNotFoundError extends Error {
84
- constructor(body) {
85
- super(
86
- `FORK_VM_NOT_FOUND: ${body.message}`
87
- );
88
- this.body = body;
89
- this.name = "ForkVmNotFoundError";
90
- }
91
- static code = "FORK_VM_NOT_FOUND";
92
- static statusCode = 404;
93
- static description = `Fork VM not found: {fork_vm_id}`;
94
- }
95
- class CreateSnapshotBadRequestError extends Error {
59
+ class SnapshotVmBadRequestError extends Error {
96
60
  constructor(body) {
97
61
  super(
98
- `CREATE_SNAPSHOT_BAD_REQUEST: ${body.message}`
62
+ `SNAPSHOT_VM_BAD_REQUEST: ${body.message}`
99
63
  );
100
64
  this.body = body;
101
- this.name = "CreateSnapshotBadRequestError";
65
+ this.name = "SnapshotVmBadRequestError";
102
66
  }
103
- static code = "CREATE_SNAPSHOT_BAD_REQUEST";
67
+ static code = "SNAPSHOT_VM_BAD_REQUEST";
104
68
  static statusCode = 400;
105
69
  static description = `Bad request: {message}`;
106
70
  }
107
- class SnapshotVmBadRequestError extends Error {
71
+ class KernelPanicError extends Error {
108
72
  constructor(body) {
109
73
  super(
110
- `SNAPSHOT_VM_BAD_REQUEST: ${body.message}`
74
+ `KERNEL_PANIC: ${body.message}`
111
75
  );
112
76
  this.body = body;
113
- this.name = "SnapshotVmBadRequestError";
77
+ this.name = "KernelPanicError";
114
78
  }
115
- static code = "SNAPSHOT_VM_BAD_REQUEST";
116
- static statusCode = 400;
117
- static description = `Bad request: {message}`;
79
+ static code = "KERNEL_PANIC";
80
+ static statusCode = 500;
81
+ static description = `VM kernel panic detected`;
118
82
  }
119
83
  class VmDeletedError extends Error {
120
84
  constructor(body) {
@@ -138,7 +102,7 @@ class ReqwestError extends Error {
138
102
  }
139
103
  static code = "REQWEST";
140
104
  static statusCode = 500;
141
- static description = `Reqwest error`;
105
+ static description = `Reqwest error: {details}`;
142
106
  }
143
107
  class FirecrackerPidNotFoundError extends Error {
144
108
  constructor(body) {
@@ -164,6 +128,18 @@ class FirecrackerApiSocketNotFoundError extends Error {
164
128
  static statusCode = 500;
165
129
  static description = `Firecracker API socket not found`;
166
130
  }
131
+ class InvalidSnapshotIdError extends Error {
132
+ constructor(body) {
133
+ super(
134
+ `INVALID_SNAPSHOT_ID: ${body.message}`
135
+ );
136
+ this.body = body;
137
+ this.name = "InvalidSnapshotIdError";
138
+ }
139
+ static code = "INVALID_SNAPSHOT_ID";
140
+ static statusCode = 400;
141
+ static description = `Invalid snapshot id: {id}`;
142
+ }
167
143
  class VmStartTimeoutError extends Error {
168
144
  constructor(body) {
169
145
  super(
@@ -188,6 +164,18 @@ class VmExitDuringStartError extends Error {
188
164
  static statusCode = 500;
189
165
  static description = `VM process exited unexpectedly during start`;
190
166
  }
167
+ class VmAccessDeniedError extends Error {
168
+ constructor(body) {
169
+ super(
170
+ `VM_ACCESS_DENIED: ${body.message}`
171
+ );
172
+ this.body = body;
173
+ this.name = "VmAccessDeniedError";
174
+ }
175
+ static code = "VM_ACCESS_DENIED";
176
+ static statusCode = 403;
177
+ static description = `You do not have access to this VM`;
178
+ }
191
179
  class StdIoError extends Error {
192
180
  constructor(body) {
193
181
  super(
@@ -224,6 +212,42 @@ class VmSubnetNotFoundError extends Error {
224
212
  static statusCode = 500;
225
213
  static description = `Subnet for VM not found`;
226
214
  }
215
+ class InternalErrorError extends Error {
216
+ constructor(body) {
217
+ super(
218
+ `INTERNAL_ERROR: ${body.message}`
219
+ );
220
+ this.body = body;
221
+ this.name = "InternalErrorError";
222
+ }
223
+ static code = "INTERNAL_ERROR";
224
+ static statusCode = 500;
225
+ static description = `Internal error: {message}`;
226
+ }
227
+ class ForkVmNotFoundError extends Error {
228
+ constructor(body) {
229
+ super(
230
+ `FORK_VM_NOT_FOUND: ${body.message}`
231
+ );
232
+ this.body = body;
233
+ this.name = "ForkVmNotFoundError";
234
+ }
235
+ static code = "FORK_VM_NOT_FOUND";
236
+ static statusCode = 404;
237
+ static description = `Fork VM not found: {fork_vm_id}`;
238
+ }
239
+ class CreateSnapshotBadRequestError extends Error {
240
+ constructor(body) {
241
+ super(
242
+ `CREATE_SNAPSHOT_BAD_REQUEST: ${body.message}`
243
+ );
244
+ this.body = body;
245
+ this.name = "CreateSnapshotBadRequestError";
246
+ }
247
+ static code = "CREATE_SNAPSHOT_BAD_REQUEST";
248
+ static statusCode = 400;
249
+ static description = `Bad request: {message}`;
250
+ }
227
251
  class FileNotFoundError extends Error {
228
252
  constructor(body) {
229
253
  super(
@@ -248,6 +272,54 @@ class FilesBadRequestError extends Error {
248
272
  static statusCode = 400;
249
273
  static description = `Bad request: {message}`;
250
274
  }
275
+ class DockerImportBadRequestError extends Error {
276
+ constructor(body) {
277
+ super(
278
+ `DOCKER_IMPORT_BAD_REQUEST: ${body.message}`
279
+ );
280
+ this.body = body;
281
+ this.name = "DockerImportBadRequestError";
282
+ }
283
+ static code = "DOCKER_IMPORT_BAD_REQUEST";
284
+ static statusCode = 400;
285
+ static description = `Bad request: {message}`;
286
+ }
287
+ class VmMustBeStoppedError extends Error {
288
+ constructor(body) {
289
+ super(
290
+ `VM_MUST_BE_STOPPED: ${body.message}`
291
+ );
292
+ this.body = body;
293
+ this.name = "VmMustBeStoppedError";
294
+ }
295
+ static code = "VM_MUST_BE_STOPPED";
296
+ static statusCode = 400;
297
+ static description = `VM must be stopped before converting to base`;
298
+ }
299
+ class AlreadyHasBaseError extends Error {
300
+ constructor(body) {
301
+ super(
302
+ `ALREADY_HAS_BASE: ${body.message}`
303
+ );
304
+ this.body = body;
305
+ this.name = "AlreadyHasBaseError";
306
+ }
307
+ static code = "ALREADY_HAS_BASE";
308
+ static statusCode = 400;
309
+ static description = `VM already has a base rootfs`;
310
+ }
311
+ class NotFoundError extends Error {
312
+ constructor(body) {
313
+ super(
314
+ `NOT_FOUND: ${body.message}`
315
+ );
316
+ this.body = body;
317
+ this.name = "NotFoundError";
318
+ }
319
+ static code = "NOT_FOUND";
320
+ static statusCode = 404;
321
+ static description = `VM not found`;
322
+ }
251
323
  class VmNotFoundInFsError extends Error {
252
324
  constructor(body) {
253
325
  super(
@@ -320,42 +392,6 @@ class InternalVmNotFoundError extends Error {
320
392
  static statusCode = 404;
321
393
  static description = `VM not found: {vm_id}`;
322
394
  }
323
- class VmMustBeStoppedError extends Error {
324
- constructor(body) {
325
- super(
326
- `VM_MUST_BE_STOPPED: ${body.message}`
327
- );
328
- this.body = body;
329
- this.name = "VmMustBeStoppedError";
330
- }
331
- static code = "VM_MUST_BE_STOPPED";
332
- static statusCode = 400;
333
- static description = `VM must be stopped before converting to base`;
334
- }
335
- class AlreadyHasBaseError extends Error {
336
- constructor(body) {
337
- super(
338
- `ALREADY_HAS_BASE: ${body.message}`
339
- );
340
- this.body = body;
341
- this.name = "AlreadyHasBaseError";
342
- }
343
- static code = "ALREADY_HAS_BASE";
344
- static statusCode = 400;
345
- static description = `VM already has a base rootfs`;
346
- }
347
- class NotFoundError extends Error {
348
- constructor(body) {
349
- super(
350
- `NOT_FOUND: ${body.message}`
351
- );
352
- this.body = body;
353
- this.name = "NotFoundError";
354
- }
355
- static code = "NOT_FOUND";
356
- static statusCode = 404;
357
- static description = `VM not found`;
358
- }
359
395
  class CreateVmBadRequestError extends Error {
360
396
  constructor(body) {
361
397
  super(
@@ -872,341 +908,353 @@ class ExpiredError extends Error {
872
908
  static statusCode = 403;
873
909
  static description = `Session has expired`;
874
910
  }
875
- class ForbiddenError extends Error {
911
+ class TagNotFoundError extends Error {
876
912
  constructor(body) {
877
913
  super(
878
- `FORBIDDEN: ${body.message}`
914
+ `TAG_NOT_FOUND: ${body.message}`
879
915
  );
880
916
  this.body = body;
881
- this.name = "ForbiddenError";
917
+ this.name = "TagNotFoundError";
882
918
  }
883
- static code = "FORBIDDEN";
884
- static statusCode = 403;
885
- static description = `You do not have permission to push to this repository`;
919
+ static code = "TAG_NOT_FOUND";
920
+ static statusCode = 404;
921
+ static description = `Tag not found: {tag}`;
886
922
  }
887
- class UnauthorizedError extends Error {
923
+ class TreeNotFoundError extends Error {
888
924
  constructor(body) {
889
925
  super(
890
- `UNAUTHORIZED: ${body.message}`
926
+ `TREE_NOT_FOUND: ${body.message}`
891
927
  );
892
928
  this.body = body;
893
- this.name = "UnauthorizedError";
929
+ this.name = "TreeNotFoundError";
894
930
  }
895
- static code = "UNAUTHORIZED";
896
- static statusCode = 401;
897
- static description = `Unauthorized`;
931
+ static code = "TREE_NOT_FOUND";
932
+ static statusCode = 404;
933
+ static description = `Tree not found: {hash}`;
898
934
  }
899
- class InvalidServiceError extends Error {
935
+ class BranchNotFoundError extends Error {
900
936
  constructor(body) {
901
937
  super(
902
- `INVALID_SERVICE: ${body.message}`
938
+ `BRANCH_NOT_FOUND: ${body.message}`
903
939
  );
904
940
  this.body = body;
905
- this.name = "InvalidServiceError";
941
+ this.name = "BranchNotFoundError";
906
942
  }
907
- static code = "INVALID_SERVICE";
908
- static statusCode = 403;
909
- static description = `Invalid service '{invalid}', expected 'git-upload-pack' or 'git-receive-pack'`;
943
+ static code = "BRANCH_NOT_FOUND";
944
+ static statusCode = 404;
945
+ static description = `Branch not found: {branch}`;
910
946
  }
911
- class ExpectedServiceError extends Error {
947
+ class ForbiddenError extends Error {
912
948
  constructor(body) {
913
949
  super(
914
- `EXPECTED_SERVICE: ${body.message}`
950
+ `FORBIDDEN: ${body.message}`
915
951
  );
916
952
  this.body = body;
917
- this.name = "ExpectedServiceError";
953
+ this.name = "ForbiddenError";
918
954
  }
919
- static code = "EXPECTED_SERVICE";
955
+ static code = "FORBIDDEN";
920
956
  static statusCode = 403;
921
- static description = `Expected 'service' query parameter`;
957
+ static description = `Forbidden: {message}`;
922
958
  }
923
- class UnsupportedTransferError extends Error {
959
+ class UnauthorizedError extends Error {
924
960
  constructor(body) {
925
961
  super(
926
- `UNSUPPORTED_TRANSFER: ${body.message}`
962
+ `UNAUTHORIZED: ${body.message}`
927
963
  );
928
964
  this.body = body;
929
- this.name = "UnsupportedTransferError";
965
+ this.name = "UnauthorizedError";
930
966
  }
931
- static code = "UNSUPPORTED_TRANSFER";
932
- static statusCode = 400;
933
- static description = `Unsupported LFS transfer protocol(s)`;
967
+ static code = "UNAUTHORIZED";
968
+ static statusCode = 401;
969
+ static description = `Unauthorized: {message}`;
934
970
  }
935
- class ConflictError extends Error {
971
+ class RepoAlreadyExistsError extends Error {
936
972
  constructor(body) {
937
973
  super(
938
- `CONFLICT: ${body.message}`
974
+ `REPO_ALREADY_EXISTS: ${body.message}`
939
975
  );
940
976
  this.body = body;
941
- this.name = "ConflictError";
977
+ this.name = "RepoAlreadyExistsError";
942
978
  }
943
- static code = "CONFLICT";
979
+ static code = "REPO_ALREADY_EXISTS";
944
980
  static statusCode = 409;
945
- static description = `Sync conflict: {message}`;
981
+ static description = `Repository {repo_id} already exists`;
946
982
  }
947
- class BranchNotFoundError extends Error {
983
+ class GitHubSyncConflictError extends Error {
948
984
  constructor(body) {
949
985
  super(
950
- `BRANCH_NOT_FOUND: ${body.message}`
986
+ `GIT_HUB_SYNC_CONFLICT: ${body.message}`
951
987
  );
952
988
  this.body = body;
953
- this.name = "BranchNotFoundError";
989
+ this.name = "GitHubSyncConflictError";
954
990
  }
955
- static code = "BRANCH_NOT_FOUND";
956
- static statusCode = 404;
957
- static description = `Branch not found: {branch}`;
991
+ static code = "GIT_HUB_SYNC_CONFLICT";
992
+ static statusCode = 409;
993
+ static description = `GitHub Sync Conflict: {message}`;
958
994
  }
959
- class SourceImportConflictError extends Error {
995
+ class InvalidObjectIdError extends Error {
960
996
  constructor(body) {
961
997
  super(
962
- `SOURCE_IMPORT_CONFLICT: ${body.message}`
998
+ `INVALID_OBJECT_ID: ${body.message}`
963
999
  );
964
1000
  this.body = body;
965
- this.name = "SourceImportConflictError";
1001
+ this.name = "InvalidObjectIdError";
966
1002
  }
967
- static code = "SOURCE_IMPORT_CONFLICT";
1003
+ static code = "INVALID_OBJECT_ID";
968
1004
  static statusCode = 400;
969
- static description = `Source and import are mutually exclusive`;
1005
+ static description = `Invalid object ID: {hash}`;
970
1006
  }
971
- class SourceUnauthorizedError extends Error {
1007
+ class CommitNotFoundError extends Error {
972
1008
  constructor(body) {
973
1009
  super(
974
- `SOURCE_UNAUTHORIZED: ${body.message}`
1010
+ `COMMIT_NOT_FOUND: ${body.message}`
975
1011
  );
976
1012
  this.body = body;
977
- this.name = "SourceUnauthorizedError";
1013
+ this.name = "CommitNotFoundError";
978
1014
  }
979
- static code = "SOURCE_UNAUTHORIZED";
980
- static statusCode = 400;
981
- static description = `Unauthorized to access source repository at {url}`;
1015
+ static code = "COMMIT_NOT_FOUND";
1016
+ static statusCode = 404;
1017
+ static description = `Commit {commit_hash} not found in repository {repo_id}`;
982
1018
  }
983
- class SourceNotFoundError extends Error {
1019
+ class PackfileError extends Error {
984
1020
  constructor(body) {
985
1021
  super(
986
- `SOURCE_NOT_FOUND: ${body.message}`
1022
+ `PACKFILE: ${body.message}`
987
1023
  );
988
1024
  this.body = body;
989
- this.name = "SourceNotFoundError";
1025
+ this.name = "PackfileError";
990
1026
  }
991
- static code = "SOURCE_NOT_FOUND";
992
- static statusCode = 400;
993
- static description = `Source repository not found at {url}`;
1027
+ static code = "PACKFILE";
1028
+ static statusCode = 500;
1029
+ static description = `Error building packfile`;
994
1030
  }
995
- class ImportSubdirNotFoundError extends Error {
1031
+ class SendErrorError extends Error {
996
1032
  constructor(body) {
997
1033
  super(
998
- `IMPORT_SUBDIR_NOT_FOUND: ${body.message}`
1034
+ `SEND_ERROR: ${body.message}`
999
1035
  );
1000
1036
  this.body = body;
1001
- this.name = "ImportSubdirNotFoundError";
1037
+ this.name = "SendErrorError";
1002
1038
  }
1003
- static code = "IMPORT_SUBDIR_NOT_FOUND";
1004
- static statusCode = 400;
1005
- static description = `Directory not found in {source}: {dir}`;
1039
+ static code = "SEND_ERROR";
1040
+ static statusCode = 500;
1041
+ static description = `Stream receiver dropped`;
1006
1042
  }
1007
- class RepoAlreadyExistsError extends Error {
1043
+ class UnsupportedTransferError extends Error {
1008
1044
  constructor(body) {
1009
1045
  super(
1010
- `REPO_ALREADY_EXISTS: ${body.message}`
1046
+ `UNSUPPORTED_TRANSFER: ${body.message}`
1011
1047
  );
1012
1048
  this.body = body;
1013
- this.name = "RepoAlreadyExistsError";
1049
+ this.name = "UnsupportedTransferError";
1014
1050
  }
1015
- static code = "REPO_ALREADY_EXISTS";
1016
- static statusCode = 409;
1017
- static description = `Repo '{repo_id}' already exists`;
1051
+ static code = "UNSUPPORTED_TRANSFER";
1052
+ static statusCode = 400;
1053
+ static description = `Unsupported LFS transfer protocol(s)`;
1018
1054
  }
1019
- class PathNotFoundError extends Error {
1055
+ class InvalidRangeError extends Error {
1020
1056
  constructor(body) {
1021
1057
  super(
1022
- `PATH_NOT_FOUND: ${body.message}`
1058
+ `INVALID_RANGE: ${body.message}`
1023
1059
  );
1024
1060
  this.body = body;
1025
- this.name = "PathNotFoundError";
1061
+ this.name = "InvalidRangeError";
1026
1062
  }
1027
- static code = "PATH_NOT_FOUND";
1028
- static statusCode = 404;
1029
- static description = `Path not found: {path}`;
1063
+ static code = "INVALID_RANGE";
1064
+ static statusCode = 400;
1065
+ 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.`;
1030
1066
  }
1031
- class ReferenceNotFoundError extends Error {
1067
+ class OffsetWithSelectorError extends Error {
1032
1068
  constructor(body) {
1033
1069
  super(
1034
- `REFERENCE_NOT_FOUND: ${body.message}`
1070
+ `OFFSET_WITH_SELECTOR: ${body.message}`
1035
1071
  );
1036
1072
  this.body = body;
1037
- this.name = "ReferenceNotFoundError";
1073
+ this.name = "OffsetWithSelectorError";
1038
1074
  }
1039
- static code = "REFERENCE_NOT_FOUND";
1040
- static statusCode = 404;
1041
- static description = `Reference not found: {reference}`;
1075
+ static code = "OFFSET_WITH_SELECTOR";
1076
+ static statusCode = 400;
1077
+ static description = `Cannot use 'offset' parameter together with 'since' or 'until'. Use 'since' for cursor-based pagination.`;
1042
1078
  }
1043
- class TagNotFoundError extends Error {
1079
+ class CommitNotInBranchError extends Error {
1044
1080
  constructor(body) {
1045
1081
  super(
1046
- `TAG_NOT_FOUND: ${body.message}`
1082
+ `COMMIT_NOT_IN_BRANCH: ${body.message}`
1047
1083
  );
1048
1084
  this.body = body;
1049
- this.name = "TagNotFoundError";
1085
+ this.name = "CommitNotInBranchError";
1050
1086
  }
1051
- static code = "TAG_NOT_FOUND";
1052
- static statusCode = 404;
1053
- static description = `Tag not found: {hash}`;
1087
+ static code = "COMMIT_NOT_IN_BRANCH";
1088
+ static statusCode = 400;
1089
+ static description = `Commit {sha} is not in the history of branch {branch}`;
1054
1090
  }
1055
- class SendErrorError extends Error {
1091
+ class BlobNotFoundError extends Error {
1056
1092
  constructor(body) {
1057
1093
  super(
1058
- `SEND_ERROR: ${body.message}`
1094
+ `BLOB_NOT_FOUND: ${body.message}`
1059
1095
  );
1060
1096
  this.body = body;
1061
- this.name = "SendErrorError";
1097
+ this.name = "BlobNotFoundError";
1062
1098
  }
1063
- static code = "SEND_ERROR";
1064
- static statusCode = 500;
1065
- static description = `Stream receiver dropped`;
1099
+ static code = "BLOB_NOT_FOUND";
1100
+ static statusCode = 404;
1101
+ static description = `Blob not found: {hash}`;
1066
1102
  }
1067
- class GitHubSyncConflictError extends Error {
1103
+ class InvalidServiceError extends Error {
1068
1104
  constructor(body) {
1069
1105
  super(
1070
- `GIT_HUB_SYNC_CONFLICT: ${body.message}`
1106
+ `INVALID_SERVICE: ${body.message}`
1071
1107
  );
1072
1108
  this.body = body;
1073
- this.name = "GitHubSyncConflictError";
1109
+ this.name = "InvalidServiceError";
1074
1110
  }
1075
- static code = "GIT_HUB_SYNC_CONFLICT";
1076
- static statusCode = 409;
1077
- static description = `GitHub Sync Conflict: {message}`;
1111
+ static code = "INVALID_SERVICE";
1112
+ static statusCode = 403;
1113
+ static description = `Invalid service '{invalid}', expected 'git-upload-pack' or 'git-receive-pack'`;
1078
1114
  }
1079
- class InvalidObjectIdError extends Error {
1115
+ class ExpectedServiceError extends Error {
1080
1116
  constructor(body) {
1081
1117
  super(
1082
- `INVALID_OBJECT_ID: ${body.message}`
1118
+ `EXPECTED_SERVICE: ${body.message}`
1083
1119
  );
1084
1120
  this.body = body;
1085
- this.name = "InvalidObjectIdError";
1121
+ this.name = "ExpectedServiceError";
1086
1122
  }
1087
- static code = "INVALID_OBJECT_ID";
1088
- static statusCode = 400;
1089
- static description = `Invalid object ID: {hash}`;
1123
+ static code = "EXPECTED_SERVICE";
1124
+ static statusCode = 403;
1125
+ static description = `Expected 'service' query parameter`;
1090
1126
  }
1091
- class CommitNotFoundError extends Error {
1127
+ class PathNotFoundError extends Error {
1092
1128
  constructor(body) {
1093
1129
  super(
1094
- `COMMIT_NOT_FOUND: ${body.message}`
1130
+ `PATH_NOT_FOUND: ${body.message}`
1095
1131
  );
1096
1132
  this.body = body;
1097
- this.name = "CommitNotFoundError";
1133
+ this.name = "PathNotFoundError";
1098
1134
  }
1099
- static code = "COMMIT_NOT_FOUND";
1135
+ static code = "PATH_NOT_FOUND";
1100
1136
  static statusCode = 404;
1101
- static description = `Commit {commit_hash} not found in repository {repo_id}`;
1137
+ static description = `Path not found: {path}`;
1102
1138
  }
1103
- class TreeNotFoundError extends Error {
1139
+ class ReferenceNotFoundError extends Error {
1104
1140
  constructor(body) {
1105
1141
  super(
1106
- `TREE_NOT_FOUND: ${body.message}`
1142
+ `REFERENCE_NOT_FOUND: ${body.message}`
1107
1143
  );
1108
1144
  this.body = body;
1109
- this.name = "TreeNotFoundError";
1145
+ this.name = "ReferenceNotFoundError";
1110
1146
  }
1111
- static code = "TREE_NOT_FOUND";
1147
+ static code = "REFERENCE_NOT_FOUND";
1112
1148
  static statusCode = 404;
1113
- static description = `Tree not found: {hash}`;
1149
+ static description = `Reference not found: {reference}`;
1114
1150
  }
1115
- class InvalidRevisionError extends Error {
1151
+ class AmbiguousError extends Error {
1116
1152
  constructor(body) {
1117
1153
  super(
1118
- `INVALID_REVISION: ${body.message}`
1154
+ `AMBIGUOUS: ${body.message}`
1119
1155
  );
1120
1156
  this.body = body;
1121
- this.name = "InvalidRevisionError";
1157
+ this.name = "AmbiguousError";
1122
1158
  }
1123
- static code = "INVALID_REVISION";
1159
+ static code = "AMBIGUOUS";
1124
1160
  static statusCode = 400;
1125
- static description = `Invalid revision: {revision}`;
1161
+ static description = `rev is ambiguous: {rev}`;
1126
1162
  }
1127
- class InvalidRangeError extends Error {
1163
+ class InvalidError extends Error {
1128
1164
  constructor(body) {
1129
1165
  super(
1130
- `INVALID_RANGE: ${body.message}`
1166
+ `INVALID: ${body.message}`
1131
1167
  );
1132
1168
  this.body = body;
1133
- this.name = "InvalidRangeError";
1169
+ this.name = "InvalidError";
1134
1170
  }
1135
- static code = "INVALID_RANGE";
1171
+ static code = "INVALID";
1136
1172
  static statusCode = 400;
1137
- 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.`;
1173
+ static description = `invalid rev syntax: {rev}`;
1138
1174
  }
1139
- class OffsetWithSelectorError extends Error {
1175
+ class InvalidAccountIdError extends Error {
1140
1176
  constructor(body) {
1141
1177
  super(
1142
- `OFFSET_WITH_SELECTOR: ${body.message}`
1178
+ `INVALID_ACCOUNT_ID: ${body.message}`
1143
1179
  );
1144
1180
  this.body = body;
1145
- this.name = "OffsetWithSelectorError";
1181
+ this.name = "InvalidAccountIdError";
1146
1182
  }
1147
- static code = "OFFSET_WITH_SELECTOR";
1183
+ static code = "INVALID_ACCOUNT_ID";
1148
1184
  static statusCode = 400;
1149
- static description = `Cannot use 'offset' parameter together with 'since' or 'until'. Use 'since' for cursor-based pagination.`;
1185
+ static description = `Invalid account ID: {account_id}`;
1150
1186
  }
1151
- class CommitNotInBranchError extends Error {
1187
+ class SourceImportConflictError extends Error {
1152
1188
  constructor(body) {
1153
1189
  super(
1154
- `COMMIT_NOT_IN_BRANCH: ${body.message}`
1190
+ `SOURCE_IMPORT_CONFLICT: ${body.message}`
1155
1191
  );
1156
1192
  this.body = body;
1157
- this.name = "CommitNotInBranchError";
1193
+ this.name = "SourceImportConflictError";
1158
1194
  }
1159
- static code = "COMMIT_NOT_IN_BRANCH";
1195
+ static code = "SOURCE_IMPORT_CONFLICT";
1160
1196
  static statusCode = 400;
1161
- static description = `Commit {sha} is not in the history of branch {branch}`;
1197
+ static description = `Source and import are mutually exclusive`;
1162
1198
  }
1163
- class BlobNotFoundError extends Error {
1199
+ class SourceUnauthorizedError extends Error {
1164
1200
  constructor(body) {
1165
1201
  super(
1166
- `BLOB_NOT_FOUND: ${body.message}`
1202
+ `SOURCE_UNAUTHORIZED: ${body.message}`
1167
1203
  );
1168
1204
  this.body = body;
1169
- this.name = "BlobNotFoundError";
1205
+ this.name = "SourceUnauthorizedError";
1170
1206
  }
1171
- static code = "BLOB_NOT_FOUND";
1172
- static statusCode = 404;
1173
- static description = `Blob not found: {hash}`;
1207
+ static code = "SOURCE_UNAUTHORIZED";
1208
+ static statusCode = 400;
1209
+ static description = `Unauthorized to access source repository at {url}`;
1174
1210
  }
1175
- class AmbiguousError extends Error {
1211
+ class SourceNotFoundError extends Error {
1176
1212
  constructor(body) {
1177
1213
  super(
1178
- `AMBIGUOUS: ${body.message}`
1214
+ `SOURCE_NOT_FOUND: ${body.message}`
1179
1215
  );
1180
1216
  this.body = body;
1181
- this.name = "AmbiguousError";
1217
+ this.name = "SourceNotFoundError";
1182
1218
  }
1183
- static code = "AMBIGUOUS";
1219
+ static code = "SOURCE_NOT_FOUND";
1184
1220
  static statusCode = 400;
1185
- static description = `rev is ambiguous: {rev}`;
1221
+ static description = `Source repository not found at {url}`;
1186
1222
  }
1187
- class InvalidError extends Error {
1223
+ class ImportSubdirNotFoundError extends Error {
1188
1224
  constructor(body) {
1189
1225
  super(
1190
- `INVALID: ${body.message}`
1226
+ `IMPORT_SUBDIR_NOT_FOUND: ${body.message}`
1191
1227
  );
1192
1228
  this.body = body;
1193
- this.name = "InvalidError";
1229
+ this.name = "ImportSubdirNotFoundError";
1194
1230
  }
1195
- static code = "INVALID";
1231
+ static code = "IMPORT_SUBDIR_NOT_FOUND";
1196
1232
  static statusCode = 400;
1197
- static description = `invalid rev syntax: {rev}`;
1233
+ static description = `Directory not found in {source}: {dir}`;
1198
1234
  }
1199
- class PackfileError extends Error {
1235
+ class ConflictError extends Error {
1200
1236
  constructor(body) {
1201
1237
  super(
1202
- `PACKFILE: ${body.message}`
1238
+ `CONFLICT: ${body.message}`
1203
1239
  );
1204
1240
  this.body = body;
1205
- this.name = "PackfileError";
1241
+ this.name = "ConflictError";
1206
1242
  }
1207
- static code = "PACKFILE";
1208
- static statusCode = 500;
1209
- static description = `Error building packfile`;
1243
+ static code = "CONFLICT";
1244
+ static statusCode = 409;
1245
+ static description = `Sync conflict: {message}`;
1246
+ }
1247
+ class InvalidRevisionError extends Error {
1248
+ constructor(body) {
1249
+ super(
1250
+ `INVALID_REVISION: ${body.message}`
1251
+ );
1252
+ this.body = body;
1253
+ this.name = "InvalidRevisionError";
1254
+ }
1255
+ static code = "INVALID_REVISION";
1256
+ static statusCode = 400;
1257
+ static description = `Invalid revision: {revision}`;
1210
1258
  }
1211
1259
  class DatabaseErrorError extends Error {
1212
1260
  constructor(body) {
@@ -1220,1512 +1268,1503 @@ class DatabaseErrorError extends Error {
1220
1268
  static statusCode = 500;
1221
1269
  static description = `Database error: {0}`;
1222
1270
  }
1223
- class EmptyTagError extends Error {
1271
+ class DevServerNotFoundError extends Error {
1224
1272
  constructor(body) {
1225
1273
  super(
1226
- `EMPTY_TAG: ${body.message}`
1274
+ `DEV_SERVER_NOT_FOUND: ${body.message}`
1227
1275
  );
1228
1276
  this.body = body;
1229
- this.name = "EmptyTagError";
1277
+ this.name = "DevServerNotFoundError";
1230
1278
  }
1231
- static code = "EMPTY_TAG";
1232
- static statusCode = 400;
1233
- static description = `Invalid request: tag cannot be empty`;
1234
- }
1235
- class ResizeFailedError extends Error {
1279
+ static code = "DEV_SERVER_NOT_FOUND";
1280
+ static statusCode = 404;
1281
+ static description = `dev server not found`;
1282
+ }
1283
+ class EmptyTagError extends Error {
1236
1284
  constructor(body) {
1237
1285
  super(
1238
- `RESIZE_FAILED: ${body.message}`
1286
+ `EMPTY_TAG: ${body.message}`
1239
1287
  );
1240
1288
  this.body = body;
1241
- this.name = "ResizeFailedError";
1289
+ this.name = "EmptyTagError";
1242
1290
  }
1243
- static code = "RESIZE_FAILED";
1244
- static statusCode = 500;
1245
- static description = `Failed to resize VM: {message}`;
1291
+ static code = "EMPTY_TAG";
1292
+ static statusCode = 400;
1293
+ static description = `Invalid request: tag cannot be empty`;
1246
1294
  }
1247
- class InternalResizeVmNotFoundError extends Error {
1295
+ class BuildFailedError extends Error {
1248
1296
  constructor(body) {
1249
1297
  super(
1250
- `INTERNAL_RESIZE_VM_NOT_FOUND: ${body.message}`
1298
+ `BUILD_FAILED: ${body.message}`
1251
1299
  );
1252
1300
  this.body = body;
1253
- this.name = "InternalResizeVmNotFoundError";
1301
+ this.name = "BuildFailedError";
1254
1302
  }
1255
- static code = "INTERNAL_RESIZE_VM_NOT_FOUND";
1256
- static statusCode = 404;
1257
- static description = `VM not found`;
1303
+ static code = "BUILD_FAILED";
1304
+ static statusCode = 500;
1305
+ static description = `Build failed on VM {vm_id}`;
1258
1306
  }
1259
- class DomainOwnershipVerificationFailedError extends Error {
1307
+ class ServerDeploymentFailedError extends Error {
1260
1308
  constructor(body) {
1261
1309
  super(
1262
- `DOMAIN_OWNERSHIP_VERIFICATION_FAILED: ${body.message}`
1310
+ `SERVER_DEPLOYMENT_FAILED: ${body.message}`
1263
1311
  );
1264
1312
  this.body = body;
1265
- this.name = "DomainOwnershipVerificationFailedError";
1313
+ this.name = "ServerDeploymentFailedError";
1266
1314
  }
1267
- static code = "DOMAIN_OWNERSHIP_VERIFICATION_FAILED";
1268
- static statusCode = 403;
1269
- static description = `Domain ownership verification failed`;
1315
+ static code = "SERVER_DEPLOYMENT_FAILED";
1316
+ static statusCode = 502;
1317
+ static description = `Failed to deploy to servers`;
1270
1318
  }
1271
- class ErrorDeletingRecordError extends Error {
1319
+ class LockfileErrorError extends Error {
1272
1320
  constructor(body) {
1273
1321
  super(
1274
- `ERROR_DELETING_RECORD: ${body.message}`
1322
+ `LOCKFILE_ERROR: ${body.message}`
1275
1323
  );
1276
1324
  this.body = body;
1277
- this.name = "ErrorDeletingRecordError";
1325
+ this.name = "LockfileErrorError";
1278
1326
  }
1279
- static code = "ERROR_DELETING_RECORD";
1327
+ static code = "LOCKFILE_ERROR";
1280
1328
  static statusCode = 500;
1281
- static description = `Error deleting DNS record for {domain}/{name}: {message}`;
1329
+ static description = `Failed to generate dependency lockfile: {message}`;
1282
1330
  }
1283
- class RecordOwnershipErrorError extends Error {
1331
+ class UploadErrorError extends Error {
1284
1332
  constructor(body) {
1285
1333
  super(
1286
- `RECORD_OWNERSHIP_ERROR: ${body.message}`
1334
+ `UPLOAD_ERROR: ${body.message}`
1287
1335
  );
1288
1336
  this.body = body;
1289
- this.name = "RecordOwnershipErrorError";
1337
+ this.name = "UploadErrorError";
1290
1338
  }
1291
- static code = "RECORD_OWNERSHIP_ERROR";
1292
- static statusCode = 403;
1293
- static description = `Account {account_id} does not own record {record_id}`;
1339
+ static code = "UPLOAD_ERROR";
1340
+ static statusCode = 500;
1341
+ static description = `Failed to upload deployment to storage`;
1294
1342
  }
1295
- class ErrorCreatingRecordError extends Error {
1343
+ class DomainMappingErrorError extends Error {
1296
1344
  constructor(body) {
1297
1345
  super(
1298
- `ERROR_CREATING_RECORD: ${body.message}`
1346
+ `DOMAIN_MAPPING_ERROR: ${body.message}`
1299
1347
  );
1300
1348
  this.body = body;
1301
- this.name = "ErrorCreatingRecordError";
1349
+ this.name = "DomainMappingErrorError";
1302
1350
  }
1303
- static code = "ERROR_CREATING_RECORD";
1351
+ static code = "DOMAIN_MAPPING_ERROR";
1304
1352
  static statusCode = 500;
1305
- static description = `Error creating DNS record: {message}`;
1353
+ static description = `Failed to configure domain mapping for: {domain}`;
1306
1354
  }
1307
- class DomainOwnershipErrorError extends Error {
1355
+ class CertificateProvisioningErrorError extends Error {
1308
1356
  constructor(body) {
1309
1357
  super(
1310
- `DOMAIN_OWNERSHIP_ERROR: ${body.message}`
1358
+ `CERTIFICATE_PROVISIONING_ERROR: ${body.message}`
1311
1359
  );
1312
1360
  this.body = body;
1313
- this.name = "DomainOwnershipErrorError";
1361
+ this.name = "CertificateProvisioningErrorError";
1314
1362
  }
1315
- static code = "DOMAIN_OWNERSHIP_ERROR";
1316
- static statusCode = 403;
1317
- static description = `Account {account_id} does not own domain {domain}`;
1363
+ static code = "CERTIFICATE_PROVISIONING_ERROR";
1364
+ static statusCode = 502;
1365
+ static description = `Failed to provision certificate for domain: {domain}`;
1318
1366
  }
1319
- class BrowserOperationFailedError extends Error {
1367
+ class NoEntrypointFoundError extends Error {
1320
1368
  constructor(body) {
1321
1369
  super(
1322
- `BROWSER_OPERATION_FAILED: ${body.message}`
1370
+ `NO_ENTRYPOINT_FOUND: ${body.message}`
1323
1371
  );
1324
1372
  this.body = body;
1325
- this.name = "BrowserOperationFailedError";
1373
+ this.name = "NoEntrypointFoundError";
1326
1374
  }
1327
- static code = "BROWSER_OPERATION_FAILED";
1328
- static statusCode = 500;
1329
- static description = `Browser operation failed: {message}`;
1375
+ static code = "NO_ENTRYPOINT_FOUND";
1376
+ static statusCode = 400;
1377
+ static description = `No entrypoint found in deployment`;
1330
1378
  }
1331
- class WatchFilesFailedError extends Error {
1379
+ class EntrypointNotFoundError extends Error {
1332
1380
  constructor(body) {
1333
1381
  super(
1334
- `WATCH_FILES_FAILED: ${body.message}`
1382
+ `ENTRYPOINT_NOT_FOUND: ${body.message}`
1335
1383
  );
1336
1384
  this.body = body;
1337
- this.name = "WatchFilesFailedError";
1385
+ this.name = "EntrypointNotFoundError";
1338
1386
  }
1339
- static code = "WATCH_FILES_FAILED";
1340
- static statusCode = 500;
1341
- static description = `Failed to watch files: {message}`;
1387
+ static code = "ENTRYPOINT_NOT_FOUND";
1388
+ static statusCode = 400;
1389
+ static description = `Entrypoint not found: {entrypoint}`;
1342
1390
  }
1343
- class LogsFailedError extends Error {
1391
+ class NoDomainOwnershipError extends Error {
1344
1392
  constructor(body) {
1345
1393
  super(
1346
- `LOGS_FAILED: ${body.message}`
1394
+ `NO_DOMAIN_OWNERSHIP: ${body.message}`
1347
1395
  );
1348
1396
  this.body = body;
1349
- this.name = "LogsFailedError";
1397
+ this.name = "NoDomainOwnershipError";
1350
1398
  }
1351
- static code = "LOGS_FAILED";
1352
- static statusCode = 500;
1353
- static description = `Failed to get logs: {message}`;
1399
+ static code = "NO_DOMAIN_OWNERSHIP";
1400
+ static statusCode = 403;
1401
+ static description = `No domain ownership for: {domain}`;
1354
1402
  }
1355
- class StatusFailedError extends Error {
1403
+ class InvalidDomainsError extends Error {
1356
1404
  constructor(body) {
1357
1405
  super(
1358
- `STATUS_FAILED: ${body.message}`
1406
+ `INVALID_DOMAINS: ${body.message}`
1359
1407
  );
1360
1408
  this.body = body;
1361
- this.name = "StatusFailedError";
1409
+ this.name = "InvalidDomainsError";
1362
1410
  }
1363
- static code = "STATUS_FAILED";
1364
- static statusCode = 500;
1365
- static description = `Failed to get dev server status: {message}`;
1411
+ static code = "INVALID_DOMAINS";
1412
+ static statusCode = 400;
1413
+ static description = `Invalid domains provided`;
1366
1414
  }
1367
- class RestartFailedError extends Error {
1415
+ class WebDeploymentBadRequestError extends Error {
1368
1416
  constructor(body) {
1369
1417
  super(
1370
- `RESTART_FAILED: ${body.message}`
1418
+ `WEB_DEPLOYMENT_BAD_REQUEST: ${body.message}`
1371
1419
  );
1372
1420
  this.body = body;
1373
- this.name = "RestartFailedError";
1421
+ this.name = "WebDeploymentBadRequestError";
1374
1422
  }
1375
- static code = "RESTART_FAILED";
1376
- static statusCode = 500;
1377
- static description = `Failed to restart dev server: {message}`;
1423
+ static code = "WEB_DEPLOYMENT_BAD_REQUEST";
1424
+ static statusCode = 400;
1425
+ static description = `Bad request: {message}`;
1378
1426
  }
1379
- class ShutdownFailedError extends Error {
1427
+ class DeploymentNotFoundError extends Error {
1380
1428
  constructor(body) {
1381
1429
  super(
1382
- `SHUTDOWN_FAILED: ${body.message}`
1430
+ `DEPLOYMENT_NOT_FOUND: ${body.message}`
1383
1431
  );
1384
1432
  this.body = body;
1385
- this.name = "ShutdownFailedError";
1433
+ this.name = "DeploymentNotFoundError";
1386
1434
  }
1387
- static code = "SHUTDOWN_FAILED";
1388
- static statusCode = 500;
1389
- static description = `Failed to shutdown dev server: {message}`;
1435
+ static code = "DEPLOYMENT_NOT_FOUND";
1436
+ static statusCode = 404;
1437
+ static description = `Deployment not found`;
1390
1438
  }
1391
- class CommitFailedError extends Error {
1439
+ class ResizeFailedError extends Error {
1392
1440
  constructor(body) {
1393
1441
  super(
1394
- `COMMIT_FAILED: ${body.message}`
1442
+ `RESIZE_FAILED: ${body.message}`
1395
1443
  );
1396
1444
  this.body = body;
1397
- this.name = "CommitFailedError";
1445
+ this.name = "ResizeFailedError";
1398
1446
  }
1399
- static code = "COMMIT_FAILED";
1447
+ static code = "RESIZE_FAILED";
1400
1448
  static statusCode = 500;
1401
- static description = `Failed to commit changes: {message}`;
1449
+ static description = `Failed to resize VM: {message}`;
1402
1450
  }
1403
- class WriteFileFailedError extends Error {
1451
+ class InternalResizeVmNotFoundError extends Error {
1404
1452
  constructor(body) {
1405
1453
  super(
1406
- `WRITE_FILE_FAILED: ${body.message}`
1454
+ `INTERNAL_RESIZE_VM_NOT_FOUND: ${body.message}`
1407
1455
  );
1408
1456
  this.body = body;
1409
- this.name = "WriteFileFailedError";
1457
+ this.name = "InternalResizeVmNotFoundError";
1410
1458
  }
1411
- static code = "WRITE_FILE_FAILED";
1412
- static statusCode = 500;
1413
- static description = `Failed to write file: {message}`;
1459
+ static code = "INTERNAL_RESIZE_VM_NOT_FOUND";
1460
+ static statusCode = 404;
1461
+ static description = `VM not found`;
1414
1462
  }
1415
- class ReadFileFailedError extends Error {
1463
+ class TriggerErrorError extends Error {
1416
1464
  constructor(body) {
1417
1465
  super(
1418
- `READ_FILE_FAILED: ${body.message}`
1466
+ `TRIGGER_ERROR: ${body.message}`
1419
1467
  );
1420
1468
  this.body = body;
1421
- this.name = "ReadFileFailedError";
1469
+ this.name = "TriggerErrorError";
1422
1470
  }
1423
- static code = "READ_FILE_FAILED";
1471
+ static code = "TRIGGER_ERROR";
1424
1472
  static statusCode = 500;
1425
- static description = `Failed to read file: {message}`;
1473
+ static description = `Failed to manage triggers: {message}`;
1426
1474
  }
1427
- class ExecutionFailedError extends Error {
1475
+ class TokenErrorError extends Error {
1428
1476
  constructor(body) {
1429
1477
  super(
1430
- `EXECUTION_FAILED: ${body.message}`
1478
+ `TOKEN_ERROR: ${body.message}`
1431
1479
  );
1432
1480
  this.body = body;
1433
- this.name = "ExecutionFailedError";
1481
+ this.name = "TokenErrorError";
1434
1482
  }
1435
- static code = "EXECUTION_FAILED";
1483
+ static code = "TOKEN_ERROR";
1436
1484
  static statusCode = 500;
1437
- static description = `Failed to execute command: {message}`;
1485
+ static description = `Failed to manage tokens: {message}`;
1438
1486
  }
1439
- class RequestFailedError extends Error {
1487
+ class PermissionErrorError extends Error {
1440
1488
  constructor(body) {
1441
1489
  super(
1442
- `REQUEST_FAILED: ${body.message}`
1490
+ `PERMISSION_ERROR: ${body.message}`
1443
1491
  );
1444
1492
  this.body = body;
1445
- this.name = "RequestFailedError";
1493
+ this.name = "PermissionErrorError";
1446
1494
  }
1447
- static code = "REQUEST_FAILED";
1495
+ static code = "PERMISSION_ERROR";
1448
1496
  static statusCode = 500;
1449
- static description = `Failed to request dev server: {message}`;
1497
+ static description = `Failed to manage permissions: {message}`;
1450
1498
  }
1451
- class DevServerFileNotFoundError extends Error {
1499
+ class IdentityErrorError extends Error {
1452
1500
  constructor(body) {
1453
1501
  super(
1454
- `DEV_SERVER_FILE_NOT_FOUND: ${body.message}`
1502
+ `IDENTITY_ERROR: ${body.message}`
1455
1503
  );
1456
1504
  this.body = body;
1457
- this.name = "DevServerFileNotFoundError";
1505
+ this.name = "IdentityErrorError";
1458
1506
  }
1459
- static code = "DEV_SERVER_FILE_NOT_FOUND";
1460
- static statusCode = 404;
1461
- static description = `Dev server file not found: {path}`;
1507
+ static code = "IDENTITY_ERROR";
1508
+ static statusCode = 500;
1509
+ static description = `Failed to manage identity: {message}`;
1462
1510
  }
1463
- class DevServerInvalidRequestError extends Error {
1511
+ class GetContentFailedError extends Error {
1464
1512
  constructor(body) {
1465
1513
  super(
1466
- `DEV_SERVER_INVALID_REQUEST: ${body.message}`
1514
+ `GET_CONTENT_FAILED: ${body.message}`
1467
1515
  );
1468
1516
  this.body = body;
1469
- this.name = "DevServerInvalidRequestError";
1517
+ this.name = "GetContentFailedError";
1470
1518
  }
1471
- static code = "DEV_SERVER_INVALID_REQUEST";
1472
- static statusCode = 400;
1473
- static description = `Invalid dev server request: {message}`;
1519
+ static code = "GET_CONTENT_FAILED";
1520
+ static statusCode = 500;
1521
+ static description = `Failed to get content: {message}`;
1474
1522
  }
1475
- class DevServerNotFoundError extends Error {
1523
+ class ContentNotFoundError extends Error {
1476
1524
  constructor(body) {
1477
1525
  super(
1478
- `DEV_SERVER_NOT_FOUND: ${body.message}`
1526
+ `CONTENT_NOT_FOUND: ${body.message}`
1479
1527
  );
1480
1528
  this.body = body;
1481
- this.name = "DevServerNotFoundError";
1529
+ this.name = "ContentNotFoundError";
1482
1530
  }
1483
- static code = "DEV_SERVER_NOT_FOUND";
1531
+ static code = "CONTENT_NOT_FOUND";
1484
1532
  static statusCode = 404;
1485
- static description = `Dev server not found: {server_id}`;
1533
+ static description = `Content not found: {path}`;
1486
1534
  }
1487
- class AnyhowError extends Error {
1535
+ class DownloadFailedError extends Error {
1488
1536
  constructor(body) {
1489
1537
  super(
1490
- `ANYHOW: ${body.message}`
1538
+ `DOWNLOAD_FAILED: ${body.message}`
1491
1539
  );
1492
1540
  this.body = body;
1493
- this.name = "AnyhowError";
1541
+ this.name = "DownloadFailedError";
1494
1542
  }
1495
- static code = "ANYHOW";
1543
+ static code = "DOWNLOAD_FAILED";
1496
1544
  static statusCode = 500;
1497
- static description = `Internal server error: {0}`;
1545
+ static description = `Failed to download repository: {message}`;
1498
1546
  }
1499
- class BranchNameEmptyError extends Error {
1547
+ class GitServerErrorError extends Error {
1500
1548
  constructor(body) {
1501
1549
  super(
1502
- `BRANCH_NAME_EMPTY: ${body.message}`
1550
+ `GIT_SERVER_ERROR: ${body.message}`
1503
1551
  );
1504
1552
  this.body = body;
1505
- this.name = "BranchNameEmptyError";
1553
+ this.name = "GitServerErrorError";
1506
1554
  }
1507
- static code = "BRANCH_NAME_EMPTY";
1508
- static statusCode = 400;
1509
- static description = `Branch name cannot be empty`;
1510
- }
1511
- class PermissionAlreadyExistsError extends Error {
1512
- constructor(body) {
1513
- super(
1514
- `PERMISSION_ALREADY_EXISTS: ${body.message}`
1515
- );
1516
- this.body = body;
1517
- this.name = "PermissionAlreadyExistsError";
1518
- }
1519
- static code = "PERMISSION_ALREADY_EXISTS";
1520
- static statusCode = 409;
1521
- static description = `Permission already exists`;
1555
+ static code = "GIT_SERVER_ERROR";
1556
+ static statusCode = 500;
1557
+ static description = `Git server error: {message}`;
1522
1558
  }
1523
- class ListTokensFailedError extends Error {
1559
+ class ParseResponseErrorError extends Error {
1524
1560
  constructor(body) {
1525
1561
  super(
1526
- `LIST_TOKENS_FAILED: ${body.message}`
1562
+ `PARSE_RESPONSE_ERROR: ${body.message}`
1527
1563
  );
1528
1564
  this.body = body;
1529
- this.name = "ListTokensFailedError";
1565
+ this.name = "ParseResponseErrorError";
1530
1566
  }
1531
- static code = "LIST_TOKENS_FAILED";
1567
+ static code = "PARSE_RESPONSE_ERROR";
1532
1568
  static statusCode = 500;
1533
- static description = `Failed to list tokens: {message}`;
1569
+ static description = `Failed to parse response from Git server: {message}`;
1534
1570
  }
1535
- class RevokeTokenFailedError extends Error {
1571
+ class RepositoryAccessDeniedError extends Error {
1536
1572
  constructor(body) {
1537
1573
  super(
1538
- `REVOKE_TOKEN_FAILED: ${body.message}`
1574
+ `REPOSITORY_ACCESS_DENIED: ${body.message}`
1539
1575
  );
1540
1576
  this.body = body;
1541
- this.name = "RevokeTokenFailedError";
1577
+ this.name = "RepositoryAccessDeniedError";
1542
1578
  }
1543
- static code = "REVOKE_TOKEN_FAILED";
1544
- static statusCode = 500;
1545
- static description = `Failed to revoke token: {message}`;
1579
+ static code = "REPOSITORY_ACCESS_DENIED";
1580
+ static statusCode = 403;
1581
+ static description = `Repository does not belong to account`;
1546
1582
  }
1547
- class CreateTokenFailedError extends Error {
1583
+ class GitHubSyncFailedError extends Error {
1548
1584
  constructor(body) {
1549
1585
  super(
1550
- `CREATE_TOKEN_FAILED: ${body.message}`
1586
+ `GIT_HUB_SYNC_FAILED: ${body.message}`
1551
1587
  );
1552
1588
  this.body = body;
1553
- this.name = "CreateTokenFailedError";
1589
+ this.name = "GitHubSyncFailedError";
1554
1590
  }
1555
- static code = "CREATE_TOKEN_FAILED";
1591
+ static code = "GIT_HUB_SYNC_FAILED";
1556
1592
  static statusCode = 500;
1557
- static description = `Failed to create token: {message}`;
1593
+ static description = `Failed to configure GitHub sync: {message}`;
1558
1594
  }
1559
- class ListPermissionsFailedError extends Error {
1595
+ class UpdateDefaultBranchFailedError extends Error {
1560
1596
  constructor(body) {
1561
1597
  super(
1562
- `LIST_PERMISSIONS_FAILED: ${body.message}`
1598
+ `UPDATE_DEFAULT_BRANCH_FAILED: ${body.message}`
1563
1599
  );
1564
1600
  this.body = body;
1565
- this.name = "ListPermissionsFailedError";
1601
+ this.name = "UpdateDefaultBranchFailedError";
1566
1602
  }
1567
- static code = "LIST_PERMISSIONS_FAILED";
1603
+ static code = "UPDATE_DEFAULT_BRANCH_FAILED";
1568
1604
  static statusCode = 500;
1569
- static description = `Failed to list permissions: {message}`;
1605
+ static description = `Failed to update default branch: {message}`;
1570
1606
  }
1571
- class GetPermissionFailedError extends Error {
1607
+ class GetRepositoryInfoFailedError extends Error {
1572
1608
  constructor(body) {
1573
1609
  super(
1574
- `GET_PERMISSION_FAILED: ${body.message}`
1610
+ `GET_REPOSITORY_INFO_FAILED: ${body.message}`
1575
1611
  );
1576
1612
  this.body = body;
1577
- this.name = "GetPermissionFailedError";
1613
+ this.name = "GetRepositoryInfoFailedError";
1578
1614
  }
1579
- static code = "GET_PERMISSION_FAILED";
1615
+ static code = "GET_REPOSITORY_INFO_FAILED";
1580
1616
  static statusCode = 500;
1581
- static description = `Failed to get permission: {message}`;
1617
+ static description = `Failed to get repository info: {message}`;
1582
1618
  }
1583
- class UpdatePermissionFailedError extends Error {
1619
+ class ListRepositoriesFailedError extends Error {
1584
1620
  constructor(body) {
1585
1621
  super(
1586
- `UPDATE_PERMISSION_FAILED: ${body.message}`
1622
+ `LIST_REPOSITORIES_FAILED: ${body.message}`
1587
1623
  );
1588
1624
  this.body = body;
1589
- this.name = "UpdatePermissionFailedError";
1625
+ this.name = "ListRepositoriesFailedError";
1590
1626
  }
1591
- static code = "UPDATE_PERMISSION_FAILED";
1627
+ static code = "LIST_REPOSITORIES_FAILED";
1592
1628
  static statusCode = 500;
1593
- static description = `Failed to update permission: {message}`;
1629
+ static description = `Failed to list repositories: {message}`;
1594
1630
  }
1595
- class RevokePermissionFailedError extends Error {
1631
+ class DeleteRepositoryFailedError extends Error {
1596
1632
  constructor(body) {
1597
1633
  super(
1598
- `REVOKE_PERMISSION_FAILED: ${body.message}`
1634
+ `DELETE_REPOSITORY_FAILED: ${body.message}`
1599
1635
  );
1600
1636
  this.body = body;
1601
- this.name = "RevokePermissionFailedError";
1637
+ this.name = "DeleteRepositoryFailedError";
1602
1638
  }
1603
- static code = "REVOKE_PERMISSION_FAILED";
1639
+ static code = "DELETE_REPOSITORY_FAILED";
1604
1640
  static statusCode = 500;
1605
- static description = `Failed to revoke permission: {message}`;
1641
+ static description = `Failed to delete repository: {message}`;
1606
1642
  }
1607
- class GrantPermissionFailedError extends Error {
1643
+ class CreateRepositoryFailedError extends Error {
1608
1644
  constructor(body) {
1609
1645
  super(
1610
- `GRANT_PERMISSION_FAILED: ${body.message}`
1646
+ `CREATE_REPOSITORY_FAILED: ${body.message}`
1611
1647
  );
1612
1648
  this.body = body;
1613
- this.name = "GrantPermissionFailedError";
1649
+ this.name = "CreateRepositoryFailedError";
1614
1650
  }
1615
- static code = "GRANT_PERMISSION_FAILED";
1651
+ static code = "CREATE_REPOSITORY_FAILED";
1616
1652
  static statusCode = 500;
1617
- static description = `Failed to grant permission: {message}`;
1653
+ static description = `Failed to create repository: {message}`;
1618
1654
  }
1619
- class ListIdentitiesFailedError extends Error {
1655
+ class SerializationErrorError extends Error {
1620
1656
  constructor(body) {
1621
1657
  super(
1622
- `LIST_IDENTITIES_FAILED: ${body.message}`
1658
+ `SERIALIZATION_ERROR: ${body.message}`
1623
1659
  );
1624
1660
  this.body = body;
1625
- this.name = "ListIdentitiesFailedError";
1661
+ this.name = "SerializationErrorError";
1626
1662
  }
1627
- static code = "LIST_IDENTITIES_FAILED";
1628
- static statusCode = 500;
1629
- static description = `Failed to list identities: {message}`;
1663
+ static code = "SERIALIZATION_ERROR";
1664
+ static statusCode = 400;
1665
+ static description = `Failed to serialize request: {message}`;
1630
1666
  }
1631
- class DeleteIdentityFailedError extends Error {
1667
+ class GitInvalidRequestError extends Error {
1632
1668
  constructor(body) {
1633
1669
  super(
1634
- `DELETE_IDENTITY_FAILED: ${body.message}`
1670
+ `GIT_INVALID_REQUEST: ${body.message}`
1635
1671
  );
1636
1672
  this.body = body;
1637
- this.name = "DeleteIdentityFailedError";
1673
+ this.name = "GitInvalidRequestError";
1638
1674
  }
1639
- static code = "DELETE_IDENTITY_FAILED";
1640
- static statusCode = 500;
1641
- static description = `Failed to delete identity: {message}`;
1675
+ static code = "GIT_INVALID_REQUEST";
1676
+ static statusCode = 400;
1677
+ static description = `Invalid request: {message}`;
1642
1678
  }
1643
- class CreateIdentityFailedError extends Error {
1679
+ class RepositoryNotFoundError extends Error {
1644
1680
  constructor(body) {
1645
1681
  super(
1646
- `CREATE_IDENTITY_FAILED: ${body.message}`
1682
+ `REPOSITORY_NOT_FOUND: ${body.message}`
1647
1683
  );
1648
1684
  this.body = body;
1649
- this.name = "CreateIdentityFailedError";
1685
+ this.name = "RepositoryNotFoundError";
1650
1686
  }
1651
- static code = "CREATE_IDENTITY_FAILED";
1652
- static statusCode = 500;
1653
- static description = `Failed to create identity: {message}`;
1687
+ static code = "REPOSITORY_NOT_FOUND";
1688
+ static statusCode = 404;
1689
+ static description = `Repository not found: {repo_id}`;
1654
1690
  }
1655
- class VmPermissionNotFoundError extends Error {
1691
+ class FailedToProvisionCertificateError extends Error {
1656
1692
  constructor(body) {
1657
1693
  super(
1658
- `VM_PERMISSION_NOT_FOUND: ${body.message}`
1694
+ `FAILED_TO_PROVISION_CERTIFICATE: ${body.message}`
1659
1695
  );
1660
1696
  this.body = body;
1661
- this.name = "VmPermissionNotFoundError";
1697
+ this.name = "FailedToProvisionCertificateError";
1662
1698
  }
1663
- static code = "VM_PERMISSION_NOT_FOUND";
1664
- static statusCode = 404;
1665
- static description = `VM permission not found`;
1699
+ static code = "FAILED_TO_PROVISION_CERTIFICATE";
1700
+ static statusCode = 422;
1701
+ static description = `Failed to provision certificate: {message}`;
1666
1702
  }
1667
- class PermissionNotFoundError extends Error {
1703
+ class FailedToInsertDomainMappingError extends Error {
1668
1704
  constructor(body) {
1669
1705
  super(
1670
- `PERMISSION_NOT_FOUND: ${body.message}`
1706
+ `FAILED_TO_INSERT_DOMAIN_MAPPING: ${body.message}`
1671
1707
  );
1672
1708
  this.body = body;
1673
- this.name = "PermissionNotFoundError";
1709
+ this.name = "FailedToInsertDomainMappingError";
1674
1710
  }
1675
- static code = "PERMISSION_NOT_FOUND";
1676
- static statusCode = 404;
1677
- static description = `Permission not found`;
1711
+ static code = "FAILED_TO_INSERT_DOMAIN_MAPPING";
1712
+ static statusCode = 500;
1713
+ static description = `Failed to insert domain mapping: {message}`;
1678
1714
  }
1679
- class VmAccessDeniedError extends Error {
1715
+ class PermissionDeniedError extends Error {
1680
1716
  constructor(body) {
1681
1717
  super(
1682
- `VM_ACCESS_DENIED: ${body.message}`
1718
+ `PERMISSION_DENIED: ${body.message}`
1683
1719
  );
1684
1720
  this.body = body;
1685
- this.name = "VmAccessDeniedError";
1721
+ this.name = "PermissionDeniedError";
1686
1722
  }
1687
- static code = "VM_ACCESS_DENIED";
1688
- static statusCode = 403;
1689
- static description = `You are not allowed to access this VM`;
1723
+ static code = "PERMISSION_DENIED";
1724
+ static statusCode = 401;
1725
+ static description = `Permission denied: {message}`;
1690
1726
  }
1691
- class GitRepositoryAccessDeniedError extends Error {
1727
+ class FailedToCheckPermissionsError extends Error {
1692
1728
  constructor(body) {
1693
1729
  super(
1694
- `GIT_REPOSITORY_ACCESS_DENIED: ${body.message}`
1730
+ `FAILED_TO_CHECK_PERMISSIONS: ${body.message}`
1695
1731
  );
1696
1732
  this.body = body;
1697
- this.name = "GitRepositoryAccessDeniedError";
1733
+ this.name = "FailedToCheckPermissionsError";
1698
1734
  }
1699
- static code = "GIT_REPOSITORY_ACCESS_DENIED";
1700
- static statusCode = 403;
1701
- static description = `You are not allowed to access this repository`;
1735
+ static code = "FAILED_TO_CHECK_PERMISSIONS";
1736
+ static statusCode = 502;
1737
+ static description = `Failed to check permissions: {message}`;
1702
1738
  }
1703
- class GitRepositoryNotFoundError extends Error {
1739
+ class FailedToListDomainsError extends Error {
1704
1740
  constructor(body) {
1705
1741
  super(
1706
- `GIT_REPOSITORY_NOT_FOUND: ${body.message}`
1742
+ `FAILED_TO_LIST_DOMAINS: ${body.message}`
1707
1743
  );
1708
1744
  this.body = body;
1709
- this.name = "GitRepositoryNotFoundError";
1745
+ this.name = "FailedToListDomainsError";
1710
1746
  }
1711
- static code = "GIT_REPOSITORY_NOT_FOUND";
1712
- static statusCode = 404;
1713
- static description = `Repository not found`;
1747
+ static code = "FAILED_TO_LIST_DOMAINS";
1748
+ static statusCode = 500;
1749
+ static description = `Failed to list domains: {message}`;
1714
1750
  }
1715
- class CannotDeleteManagedIdentityError extends Error {
1751
+ class FailedToListVerificationsError extends Error {
1716
1752
  constructor(body) {
1717
1753
  super(
1718
- `CANNOT_DELETE_MANAGED_IDENTITY: ${body.message}`
1754
+ `FAILED_TO_LIST_VERIFICATIONS: ${body.message}`
1719
1755
  );
1720
1756
  this.body = body;
1721
- this.name = "CannotDeleteManagedIdentityError";
1757
+ this.name = "FailedToListVerificationsError";
1722
1758
  }
1723
- static code = "CANNOT_DELETE_MANAGED_IDENTITY";
1724
- static statusCode = 403;
1725
- static description = `Cannot delete managed identities`;
1759
+ static code = "FAILED_TO_LIST_VERIFICATIONS";
1760
+ static statusCode = 500;
1761
+ static description = `Failed to list verifications: {message}`;
1726
1762
  }
1727
- class CannotModifyManagedIdentityError extends Error {
1763
+ class FailedToVerifyDomainError extends Error {
1728
1764
  constructor(body) {
1729
1765
  super(
1730
- `CANNOT_MODIFY_MANAGED_IDENTITY: ${body.message}`
1766
+ `FAILED_TO_VERIFY_DOMAIN: ${body.message}`
1731
1767
  );
1732
1768
  this.body = body;
1733
- this.name = "CannotModifyManagedIdentityError";
1769
+ this.name = "FailedToVerifyDomainError";
1734
1770
  }
1735
- static code = "CANNOT_MODIFY_MANAGED_IDENTITY";
1736
- static statusCode = 403;
1737
- static description = `Cannot modify managed identities`;
1771
+ static code = "FAILED_TO_VERIFY_DOMAIN";
1772
+ static statusCode = 500;
1773
+ static description = `Failed to verify domain: {message}`;
1738
1774
  }
1739
- class IdentityAccessDeniedError extends Error {
1775
+ class VerificationFailedError extends Error {
1740
1776
  constructor(body) {
1741
1777
  super(
1742
- `IDENTITY_ACCESS_DENIED: ${body.message}`
1778
+ `VERIFICATION_FAILED: ${body.message}`
1743
1779
  );
1744
1780
  this.body = body;
1745
- this.name = "IdentityAccessDeniedError";
1781
+ this.name = "VerificationFailedError";
1746
1782
  }
1747
- static code = "IDENTITY_ACCESS_DENIED";
1748
- static statusCode = 403;
1749
- static description = `You are not allowed to access this identity`;
1783
+ static code = "VERIFICATION_FAILED";
1784
+ static statusCode = 400;
1785
+ static description = `Domain verification failed: {message}`;
1750
1786
  }
1751
- class IdentityNotFoundError extends Error {
1787
+ class FailedToDeleteVerificationError extends Error {
1752
1788
  constructor(body) {
1753
1789
  super(
1754
- `IDENTITY_NOT_FOUND: ${body.message}`
1790
+ `FAILED_TO_DELETE_VERIFICATION: ${body.message}`
1755
1791
  );
1756
1792
  this.body = body;
1757
- this.name = "IdentityNotFoundError";
1793
+ this.name = "FailedToDeleteVerificationError";
1758
1794
  }
1759
- static code = "IDENTITY_NOT_FOUND";
1760
- static statusCode = 404;
1761
- static description = `Identity not found`;
1795
+ static code = "FAILED_TO_DELETE_VERIFICATION";
1796
+ static statusCode = 400;
1797
+ static description = `Failed to delete verification: {message}`;
1762
1798
  }
1763
- class ExecuteInternalErrorError extends Error {
1799
+ class VerificationNotFoundError extends Error {
1764
1800
  constructor(body) {
1765
1801
  super(
1766
- `EXECUTE_INTERNAL_ERROR: ${body.message}`
1802
+ `VERIFICATION_NOT_FOUND: ${body.message}`
1767
1803
  );
1768
1804
  this.body = body;
1769
- this.name = "ExecuteInternalErrorError";
1805
+ this.name = "VerificationNotFoundError";
1770
1806
  }
1771
- static code = "EXECUTE_INTERNAL_ERROR";
1772
- static statusCode = 500;
1773
- static description = `Internal error: {message}`;
1807
+ static code = "VERIFICATION_NOT_FOUND";
1808
+ static statusCode = 404;
1809
+ static description = `Verification request not found for domain: {domain}`;
1774
1810
  }
1775
- class ExecuteAccessDeniedError extends Error {
1811
+ class FailedToCreateVerificationCodeError extends Error {
1776
1812
  constructor(body) {
1777
1813
  super(
1778
- `EXECUTE_ACCESS_DENIED: ${body.message}`
1814
+ `FAILED_TO_CREATE_VERIFICATION_CODE: ${body.message}`
1779
1815
  );
1780
1816
  this.body = body;
1781
- this.name = "ExecuteAccessDeniedError";
1817
+ this.name = "FailedToCreateVerificationCodeError";
1782
1818
  }
1783
- static code = "EXECUTE_ACCESS_DENIED";
1784
- static statusCode = 403;
1785
- static description = `Access denied to execute run`;
1819
+ static code = "FAILED_TO_CREATE_VERIFICATION_CODE";
1820
+ static statusCode = 400;
1821
+ static description = `Failed to create verification code: {message}`;
1786
1822
  }
1787
- class ListRunsFailedError extends Error {
1823
+ class InvalidDomainError extends Error {
1788
1824
  constructor(body) {
1789
1825
  super(
1790
- `LIST_RUNS_FAILED: ${body.message}`
1826
+ `INVALID_DOMAIN: ${body.message}`
1791
1827
  );
1792
1828
  this.body = body;
1793
- this.name = "ListRunsFailedError";
1829
+ this.name = "InvalidDomainError";
1794
1830
  }
1795
- static code = "LIST_RUNS_FAILED";
1796
- static statusCode = 500;
1797
- static description = `Failed to list execute runs: {message}`;
1831
+ static code = "INVALID_DOMAIN";
1832
+ static statusCode = 400;
1833
+ static description = `Invalid domain: {domain}`;
1798
1834
  }
1799
- class ExecutionErrorError extends Error {
1835
+ class DomainAlreadyExistsError extends Error {
1800
1836
  constructor(body) {
1801
1837
  super(
1802
- `EXECUTION_ERROR: ${body.message}`
1838
+ `DOMAIN_ALREADY_EXISTS: ${body.message}`
1803
1839
  );
1804
1840
  this.body = body;
1805
- this.name = "ExecutionErrorError";
1841
+ this.name = "DomainAlreadyExistsError";
1806
1842
  }
1807
- static code = "EXECUTION_ERROR";
1808
- static statusCode = 500;
1809
- static description = `Script execution error: {message}`;
1843
+ static code = "DOMAIN_ALREADY_EXISTS";
1844
+ static statusCode = 400;
1845
+ static description = `Domain already exists: {domain}`;
1810
1846
  }
1811
- class ConnectionFailedError extends Error {
1847
+ class FailedToInsertOwnershipError extends Error {
1812
1848
  constructor(body) {
1813
1849
  super(
1814
- `CONNECTION_FAILED: ${body.message}`
1850
+ `FAILED_TO_INSERT_OWNERSHIP: ${body.message}`
1815
1851
  );
1816
1852
  this.body = body;
1817
- this.name = "ConnectionFailedError";
1853
+ this.name = "FailedToInsertOwnershipError";
1818
1854
  }
1819
- static code = "CONNECTION_FAILED";
1855
+ static code = "FAILED_TO_INSERT_OWNERSHIP";
1820
1856
  static statusCode = 500;
1821
- static description = `Failed to connect to execute server: {message}`;
1857
+ static description = `Failed to insert domain ownership: {message}`;
1822
1858
  }
1823
- class MetadataWriteFailedError extends Error {
1859
+ class FailedRemoveDomainMappingError extends Error {
1824
1860
  constructor(body) {
1825
1861
  super(
1826
- `METADATA_WRITE_FAILED: ${body.message}`
1862
+ `FAILED_REMOVE_DOMAIN_MAPPING: ${body.message}`
1827
1863
  );
1828
1864
  this.body = body;
1829
- this.name = "MetadataWriteFailedError";
1865
+ this.name = "FailedRemoveDomainMappingError";
1830
1866
  }
1831
- static code = "METADATA_WRITE_FAILED";
1867
+ static code = "FAILED_REMOVE_DOMAIN_MAPPING";
1832
1868
  static statusCode = 500;
1833
- static description = `Failed to write metadata file: {message}`;
1869
+ static description = `Failed to remove domain mapping: {message}`;
1834
1870
  }
1835
- class NodeModulesInstallFailedError extends Error {
1871
+ class FailedPermissionsCheckError extends Error {
1836
1872
  constructor(body) {
1837
1873
  super(
1838
- `NODE_MODULES_INSTALL_FAILED: ${body.message}`
1874
+ `FAILED_PERMISSIONS_CHECK: ${body.message}`
1839
1875
  );
1840
1876
  this.body = body;
1841
- this.name = "NodeModulesInstallFailedError";
1877
+ this.name = "FailedPermissionsCheckError";
1842
1878
  }
1843
- static code = "NODE_MODULES_INSTALL_FAILED";
1844
- static statusCode = 500;
1845
- static description = `Failed to install node modules: {message}`;
1879
+ static code = "FAILED_PERMISSIONS_CHECK";
1880
+ static statusCode = 401;
1881
+ static description = `You do not have permission to delete the domain mapping for: {domain}`;
1846
1882
  }
1847
- class NodeModulesDownloadFailedError extends Error {
1883
+ class FailedToCheckDomainMappingPermissionsError extends Error {
1848
1884
  constructor(body) {
1849
1885
  super(
1850
- `NODE_MODULES_DOWNLOAD_FAILED: ${body.message}`
1886
+ `FAILED_TO_CHECK_DOMAIN_MAPPING_PERMISSIONS: ${body.message}`
1851
1887
  );
1852
1888
  this.body = body;
1853
- this.name = "NodeModulesDownloadFailedError";
1889
+ this.name = "FailedToCheckDomainMappingPermissionsError";
1854
1890
  }
1855
- static code = "NODE_MODULES_DOWNLOAD_FAILED";
1856
- static statusCode = 500;
1857
- static description = `Failed to download node modules: {message}`;
1891
+ static code = "FAILED_TO_CHECK_DOMAIN_MAPPING_PERMISSIONS";
1892
+ static statusCode = 502;
1893
+ static description = `Failed to check permissions: {message}`;
1858
1894
  }
1859
- class LockGenerationFailedError extends Error {
1895
+ class BranchNameEmptyError extends Error {
1860
1896
  constructor(body) {
1861
1897
  super(
1862
- `LOCK_GENERATION_FAILED: ${body.message}`
1898
+ `BRANCH_NAME_EMPTY: ${body.message}`
1863
1899
  );
1864
1900
  this.body = body;
1865
- this.name = "LockGenerationFailedError";
1901
+ this.name = "BranchNameEmptyError";
1866
1902
  }
1867
- static code = "LOCK_GENERATION_FAILED";
1868
- static statusCode = 500;
1869
- static description = `Failed to generate lock file: {message}`;
1903
+ static code = "BRANCH_NAME_EMPTY";
1904
+ static statusCode = 400;
1905
+ static description = `Branch name cannot be empty`;
1870
1906
  }
1871
- class WriteScriptFailedError extends Error {
1907
+ class AnyhowError extends Error {
1872
1908
  constructor(body) {
1873
1909
  super(
1874
- `WRITE_SCRIPT_FAILED: ${body.message}`
1910
+ `ANYHOW: ${body.message}`
1875
1911
  );
1876
1912
  this.body = body;
1877
- this.name = "WriteScriptFailedError";
1913
+ this.name = "AnyhowError";
1878
1914
  }
1879
- static code = "WRITE_SCRIPT_FAILED";
1915
+ static code = "ANYHOW";
1880
1916
  static statusCode = 500;
1881
- static description = `Failed to write script file: {message}`;
1917
+ static description = `Internal server error: {0}`;
1882
1918
  }
1883
- class DirectoryCreationFailedError extends Error {
1919
+ class PermissionAlreadyExistsError extends Error {
1884
1920
  constructor(body) {
1885
1921
  super(
1886
- `DIRECTORY_CREATION_FAILED: ${body.message}`
1922
+ `PERMISSION_ALREADY_EXISTS: ${body.message}`
1887
1923
  );
1888
1924
  this.body = body;
1889
- this.name = "DirectoryCreationFailedError";
1925
+ this.name = "PermissionAlreadyExistsError";
1890
1926
  }
1891
- static code = "DIRECTORY_CREATION_FAILED";
1892
- static statusCode = 500;
1893
- static description = `Failed to create script directory: {message}`;
1927
+ static code = "PERMISSION_ALREADY_EXISTS";
1928
+ static statusCode = 409;
1929
+ static description = `Permission already exists`;
1894
1930
  }
1895
- class NetworkPermissionsFailedError extends Error {
1931
+ class ListTokensFailedError extends Error {
1896
1932
  constructor(body) {
1897
1933
  super(
1898
- `NETWORK_PERMISSIONS_FAILED: ${body.message}`
1934
+ `LIST_TOKENS_FAILED: ${body.message}`
1899
1935
  );
1900
1936
  this.body = body;
1901
- this.name = "NetworkPermissionsFailedError";
1937
+ this.name = "ListTokensFailedError";
1902
1938
  }
1903
- static code = "NETWORK_PERMISSIONS_FAILED";
1939
+ static code = "LIST_TOKENS_FAILED";
1904
1940
  static statusCode = 500;
1905
- static description = `Failed to insert network permissions: {message}`;
1941
+ static description = `Failed to list tokens: {message}`;
1906
1942
  }
1907
- class LoggingFailedError extends Error {
1943
+ class RevokeTokenFailedError extends Error {
1908
1944
  constructor(body) {
1909
1945
  super(
1910
- `LOGGING_FAILED: ${body.message}`
1946
+ `REVOKE_TOKEN_FAILED: ${body.message}`
1911
1947
  );
1912
1948
  this.body = body;
1913
- this.name = "LoggingFailedError";
1949
+ this.name = "RevokeTokenFailedError";
1914
1950
  }
1915
- static code = "LOGGING_FAILED";
1951
+ static code = "REVOKE_TOKEN_FAILED";
1916
1952
  static statusCode = 500;
1917
- static description = `Failed to log execute run: {message}`;
1953
+ static description = `Failed to revoke token: {message}`;
1918
1954
  }
1919
- class RunNotFoundError extends Error {
1955
+ class CreateTokenFailedError extends Error {
1920
1956
  constructor(body) {
1921
1957
  super(
1922
- `RUN_NOT_FOUND: ${body.message}`
1958
+ `CREATE_TOKEN_FAILED: ${body.message}`
1923
1959
  );
1924
1960
  this.body = body;
1925
- this.name = "RunNotFoundError";
1961
+ this.name = "CreateTokenFailedError";
1926
1962
  }
1927
- static code = "RUN_NOT_FOUND";
1928
- static statusCode = 404;
1929
- static description = `Execute run not found: {run_id}`;
1963
+ static code = "CREATE_TOKEN_FAILED";
1964
+ static statusCode = 500;
1965
+ static description = `Failed to create token: {message}`;
1930
1966
  }
1931
- class CloudstateInternalErrorError extends Error {
1967
+ class ListPermissionsFailedError extends Error {
1932
1968
  constructor(body) {
1933
1969
  super(
1934
- `CLOUDSTATE_INTERNAL_ERROR: ${body.message}`
1970
+ `LIST_PERMISSIONS_FAILED: ${body.message}`
1935
1971
  );
1936
1972
  this.body = body;
1937
- this.name = "CloudstateInternalErrorError";
1973
+ this.name = "ListPermissionsFailedError";
1938
1974
  }
1939
- static code = "CLOUDSTATE_INTERNAL_ERROR";
1975
+ static code = "LIST_PERMISSIONS_FAILED";
1940
1976
  static statusCode = 500;
1941
- static description = `Internal error: {message}`;
1977
+ static description = `Failed to list permissions: {message}`;
1942
1978
  }
1943
- class CloudstateDatabaseErrorError extends Error {
1979
+ class GetPermissionFailedError extends Error {
1944
1980
  constructor(body) {
1945
1981
  super(
1946
- `CLOUDSTATE_DATABASE_ERROR: ${body.message}`
1982
+ `GET_PERMISSION_FAILED: ${body.message}`
1947
1983
  );
1948
1984
  this.body = body;
1949
- this.name = "CloudstateDatabaseErrorError";
1985
+ this.name = "GetPermissionFailedError";
1950
1986
  }
1951
- static code = "CLOUDSTATE_DATABASE_ERROR";
1987
+ static code = "GET_PERMISSION_FAILED";
1952
1988
  static statusCode = 500;
1953
- static description = `Database operation failed: {message}`;
1989
+ static description = `Failed to get permission: {message}`;
1954
1990
  }
1955
- class CloudstateAccessDeniedError extends Error {
1991
+ class UpdatePermissionFailedError extends Error {
1956
1992
  constructor(body) {
1957
1993
  super(
1958
- `CLOUDSTATE_ACCESS_DENIED: ${body.message}`
1994
+ `UPDATE_PERMISSION_FAILED: ${body.message}`
1959
1995
  );
1960
1996
  this.body = body;
1961
- this.name = "CloudstateAccessDeniedError";
1997
+ this.name = "UpdatePermissionFailedError";
1962
1998
  }
1963
- static code = "CLOUDSTATE_ACCESS_DENIED";
1964
- static statusCode = 403;
1965
- static description = `Access denied to project: {project_id}`;
1999
+ static code = "UPDATE_PERMISSION_FAILED";
2000
+ static statusCode = 500;
2001
+ static description = `Failed to update permission: {message}`;
1966
2002
  }
1967
- class RestoreFailedError extends Error {
2003
+ class RevokePermissionFailedError extends Error {
1968
2004
  constructor(body) {
1969
2005
  super(
1970
- `RESTORE_FAILED: ${body.message}`
2006
+ `REVOKE_PERMISSION_FAILED: ${body.message}`
1971
2007
  );
1972
2008
  this.body = body;
1973
- this.name = "RestoreFailedError";
2009
+ this.name = "RevokePermissionFailedError";
1974
2010
  }
1975
- static code = "RESTORE_FAILED";
2011
+ static code = "REVOKE_PERMISSION_FAILED";
1976
2012
  static statusCode = 500;
1977
- static description = `Failed to restore from backup: {message}`;
2013
+ static description = `Failed to revoke permission: {message}`;
1978
2014
  }
1979
- class CreateBackupFailedError extends Error {
2015
+ class GrantPermissionFailedError extends Error {
1980
2016
  constructor(body) {
1981
2017
  super(
1982
- `CREATE_BACKUP_FAILED: ${body.message}`
2018
+ `GRANT_PERMISSION_FAILED: ${body.message}`
1983
2019
  );
1984
2020
  this.body = body;
1985
- this.name = "CreateBackupFailedError";
2021
+ this.name = "GrantPermissionFailedError";
1986
2022
  }
1987
- static code = "CREATE_BACKUP_FAILED";
2023
+ static code = "GRANT_PERMISSION_FAILED";
1988
2024
  static statusCode = 500;
1989
- static description = `Failed to create backup: {message}`;
2025
+ static description = `Failed to grant permission: {message}`;
1990
2026
  }
1991
- class BackupFailedError extends Error {
2027
+ class ListIdentitiesFailedError extends Error {
1992
2028
  constructor(body) {
1993
2029
  super(
1994
- `BACKUP_FAILED: ${body.message}`
2030
+ `LIST_IDENTITIES_FAILED: ${body.message}`
1995
2031
  );
1996
2032
  this.body = body;
1997
- this.name = "BackupFailedError";
2033
+ this.name = "ListIdentitiesFailedError";
1998
2034
  }
1999
- static code = "BACKUP_FAILED";
2035
+ static code = "LIST_IDENTITIES_FAILED";
2000
2036
  static statusCode = 500;
2001
- static description = `Backup failed: {message}`;
2037
+ static description = `Failed to list identities: {message}`;
2002
2038
  }
2003
- class DeploymentFailedError extends Error {
2039
+ class DeleteIdentityFailedError extends Error {
2004
2040
  constructor(body) {
2005
2041
  super(
2006
- `DEPLOYMENT_FAILED: ${body.message}`
2042
+ `DELETE_IDENTITY_FAILED: ${body.message}`
2007
2043
  );
2008
2044
  this.body = body;
2009
- this.name = "DeploymentFailedError";
2045
+ this.name = "DeleteIdentityFailedError";
2010
2046
  }
2011
- static code = "DEPLOYMENT_FAILED";
2047
+ static code = "DELETE_IDENTITY_FAILED";
2012
2048
  static statusCode = 500;
2013
- static description = `Deployment failed: {message}`;
2049
+ static description = `Failed to delete identity: {message}`;
2014
2050
  }
2015
- class InvalidDeploymentRequestError extends Error {
2051
+ class CreateIdentityFailedError extends Error {
2016
2052
  constructor(body) {
2017
2053
  super(
2018
- `INVALID_DEPLOYMENT_REQUEST: ${body.message}`
2054
+ `CREATE_IDENTITY_FAILED: ${body.message}`
2019
2055
  );
2020
2056
  this.body = body;
2021
- this.name = "InvalidDeploymentRequestError";
2057
+ this.name = "CreateIdentityFailedError";
2022
2058
  }
2023
- static code = "INVALID_DEPLOYMENT_REQUEST";
2024
- static statusCode = 400;
2025
- static description = `Invalid deployment request: {message}`;
2059
+ static code = "CREATE_IDENTITY_FAILED";
2060
+ static statusCode = 500;
2061
+ static description = `Failed to create identity: {message}`;
2026
2062
  }
2027
- class ProjectNotFoundError extends Error {
2063
+ class VmPermissionNotFoundError extends Error {
2028
2064
  constructor(body) {
2029
2065
  super(
2030
- `PROJECT_NOT_FOUND: ${body.message}`
2066
+ `VM_PERMISSION_NOT_FOUND: ${body.message}`
2031
2067
  );
2032
2068
  this.body = body;
2033
- this.name = "ProjectNotFoundError";
2069
+ this.name = "VmPermissionNotFoundError";
2034
2070
  }
2035
- static code = "PROJECT_NOT_FOUND";
2071
+ static code = "VM_PERMISSION_NOT_FOUND";
2036
2072
  static statusCode = 404;
2037
- static description = `Project not found: {project_id}`;
2073
+ static description = `VM permission not found`;
2038
2074
  }
2039
- class UnauthorizedErrorError extends Error {
2075
+ class PermissionNotFoundError extends Error {
2040
2076
  constructor(body) {
2041
2077
  super(
2042
- `UNAUTHORIZED_ERROR: ${body.message}`
2078
+ `PERMISSION_NOT_FOUND: ${body.message}`
2043
2079
  );
2044
2080
  this.body = body;
2045
- this.name = "UnauthorizedErrorError";
2081
+ this.name = "PermissionNotFoundError";
2046
2082
  }
2047
- static code = "UNAUTHORIZED_ERROR";
2048
- static statusCode = 401;
2049
- static description = `Unauthorized request to {route}`;
2083
+ static code = "PERMISSION_NOT_FOUND";
2084
+ static statusCode = 404;
2085
+ static description = `Permission not found`;
2050
2086
  }
2051
- class BuildFailedError extends Error {
2087
+ class GitRepositoryAccessDeniedError extends Error {
2052
2088
  constructor(body) {
2053
2089
  super(
2054
- `BUILD_FAILED: ${body.message}`
2090
+ `GIT_REPOSITORY_ACCESS_DENIED: ${body.message}`
2055
2091
  );
2056
2092
  this.body = body;
2057
- this.name = "BuildFailedError";
2093
+ this.name = "GitRepositoryAccessDeniedError";
2058
2094
  }
2059
- static code = "BUILD_FAILED";
2060
- static statusCode = 500;
2061
- static description = `Build failed on VM {vm_id}`;
2095
+ static code = "GIT_REPOSITORY_ACCESS_DENIED";
2096
+ static statusCode = 403;
2097
+ static description = `You are not allowed to access this repository`;
2062
2098
  }
2063
- class ServerDeploymentFailedError extends Error {
2099
+ class GitRepositoryNotFoundError extends Error {
2064
2100
  constructor(body) {
2065
2101
  super(
2066
- `SERVER_DEPLOYMENT_FAILED: ${body.message}`
2102
+ `GIT_REPOSITORY_NOT_FOUND: ${body.message}`
2067
2103
  );
2068
2104
  this.body = body;
2069
- this.name = "ServerDeploymentFailedError";
2105
+ this.name = "GitRepositoryNotFoundError";
2070
2106
  }
2071
- static code = "SERVER_DEPLOYMENT_FAILED";
2072
- static statusCode = 502;
2073
- static description = `Failed to deploy to servers`;
2107
+ static code = "GIT_REPOSITORY_NOT_FOUND";
2108
+ static statusCode = 404;
2109
+ static description = `Repository not found`;
2074
2110
  }
2075
- class LockfileErrorError extends Error {
2111
+ class CannotDeleteManagedIdentityError extends Error {
2076
2112
  constructor(body) {
2077
2113
  super(
2078
- `LOCKFILE_ERROR: ${body.message}`
2114
+ `CANNOT_DELETE_MANAGED_IDENTITY: ${body.message}`
2079
2115
  );
2080
2116
  this.body = body;
2081
- this.name = "LockfileErrorError";
2117
+ this.name = "CannotDeleteManagedIdentityError";
2082
2118
  }
2083
- static code = "LOCKFILE_ERROR";
2084
- static statusCode = 500;
2085
- static description = `Failed to generate dependency lockfile: {message}`;
2119
+ static code = "CANNOT_DELETE_MANAGED_IDENTITY";
2120
+ static statusCode = 403;
2121
+ static description = `Cannot delete managed identities`;
2086
2122
  }
2087
- class UploadErrorError extends Error {
2123
+ class CannotModifyManagedIdentityError extends Error {
2088
2124
  constructor(body) {
2089
2125
  super(
2090
- `UPLOAD_ERROR: ${body.message}`
2126
+ `CANNOT_MODIFY_MANAGED_IDENTITY: ${body.message}`
2091
2127
  );
2092
2128
  this.body = body;
2093
- this.name = "UploadErrorError";
2129
+ this.name = "CannotModifyManagedIdentityError";
2094
2130
  }
2095
- static code = "UPLOAD_ERROR";
2096
- static statusCode = 500;
2097
- static description = `Failed to upload deployment to storage`;
2131
+ static code = "CANNOT_MODIFY_MANAGED_IDENTITY";
2132
+ static statusCode = 403;
2133
+ static description = `Cannot modify managed identities`;
2098
2134
  }
2099
- class DomainMappingErrorError extends Error {
2135
+ class IdentityAccessDeniedError extends Error {
2100
2136
  constructor(body) {
2101
2137
  super(
2102
- `DOMAIN_MAPPING_ERROR: ${body.message}`
2138
+ `IDENTITY_ACCESS_DENIED: ${body.message}`
2103
2139
  );
2104
2140
  this.body = body;
2105
- this.name = "DomainMappingErrorError";
2141
+ this.name = "IdentityAccessDeniedError";
2106
2142
  }
2107
- static code = "DOMAIN_MAPPING_ERROR";
2108
- static statusCode = 500;
2109
- static description = `Failed to configure domain mapping for: {domain}`;
2143
+ static code = "IDENTITY_ACCESS_DENIED";
2144
+ static statusCode = 403;
2145
+ static description = `You are not allowed to access this identity`;
2110
2146
  }
2111
- class CertificateProvisioningErrorError extends Error {
2147
+ class IdentityNotFoundError extends Error {
2112
2148
  constructor(body) {
2113
2149
  super(
2114
- `CERTIFICATE_PROVISIONING_ERROR: ${body.message}`
2150
+ `IDENTITY_NOT_FOUND: ${body.message}`
2115
2151
  );
2116
2152
  this.body = body;
2117
- this.name = "CertificateProvisioningErrorError";
2153
+ this.name = "IdentityNotFoundError";
2118
2154
  }
2119
- static code = "CERTIFICATE_PROVISIONING_ERROR";
2120
- static statusCode = 502;
2121
- static description = `Failed to provision certificate for domain: {domain}`;
2155
+ static code = "IDENTITY_NOT_FOUND";
2156
+ static statusCode = 404;
2157
+ static description = `Identity not found`;
2122
2158
  }
2123
- class NoEntrypointFoundError extends Error {
2159
+ class DomainOwnershipVerificationFailedError extends Error {
2124
2160
  constructor(body) {
2125
2161
  super(
2126
- `NO_ENTRYPOINT_FOUND: ${body.message}`
2162
+ `DOMAIN_OWNERSHIP_VERIFICATION_FAILED: ${body.message}`
2127
2163
  );
2128
2164
  this.body = body;
2129
- this.name = "NoEntrypointFoundError";
2165
+ this.name = "DomainOwnershipVerificationFailedError";
2130
2166
  }
2131
- static code = "NO_ENTRYPOINT_FOUND";
2132
- static statusCode = 400;
2133
- static description = `No entrypoint found in deployment`;
2167
+ static code = "DOMAIN_OWNERSHIP_VERIFICATION_FAILED";
2168
+ static statusCode = 403;
2169
+ static description = `Domain ownership verification failed`;
2134
2170
  }
2135
- class EntrypointNotFoundError extends Error {
2171
+ class ErrorDeletingRecordError extends Error {
2136
2172
  constructor(body) {
2137
2173
  super(
2138
- `ENTRYPOINT_NOT_FOUND: ${body.message}`
2174
+ `ERROR_DELETING_RECORD: ${body.message}`
2139
2175
  );
2140
2176
  this.body = body;
2141
- this.name = "EntrypointNotFoundError";
2177
+ this.name = "ErrorDeletingRecordError";
2142
2178
  }
2143
- static code = "ENTRYPOINT_NOT_FOUND";
2144
- static statusCode = 400;
2145
- static description = `Entrypoint not found: {entrypoint}`;
2179
+ static code = "ERROR_DELETING_RECORD";
2180
+ static statusCode = 500;
2181
+ static description = `Error deleting DNS record for {domain}/{name}: {message}`;
2146
2182
  }
2147
- class NoDomainOwnershipError extends Error {
2183
+ class RecordOwnershipErrorError extends Error {
2148
2184
  constructor(body) {
2149
2185
  super(
2150
- `NO_DOMAIN_OWNERSHIP: ${body.message}`
2186
+ `RECORD_OWNERSHIP_ERROR: ${body.message}`
2151
2187
  );
2152
2188
  this.body = body;
2153
- this.name = "NoDomainOwnershipError";
2189
+ this.name = "RecordOwnershipErrorError";
2154
2190
  }
2155
- static code = "NO_DOMAIN_OWNERSHIP";
2191
+ static code = "RECORD_OWNERSHIP_ERROR";
2156
2192
  static statusCode = 403;
2157
- static description = `No domain ownership for: {domain}`;
2193
+ static description = `Account {account_id} does not own record {record_id}`;
2158
2194
  }
2159
- class InvalidDomainsError extends Error {
2195
+ class ErrorCreatingRecordError extends Error {
2160
2196
  constructor(body) {
2161
2197
  super(
2162
- `INVALID_DOMAINS: ${body.message}`
2198
+ `ERROR_CREATING_RECORD: ${body.message}`
2163
2199
  );
2164
2200
  this.body = body;
2165
- this.name = "InvalidDomainsError";
2201
+ this.name = "ErrorCreatingRecordError";
2166
2202
  }
2167
- static code = "INVALID_DOMAINS";
2168
- static statusCode = 400;
2169
- static description = `Invalid domains provided`;
2203
+ static code = "ERROR_CREATING_RECORD";
2204
+ static statusCode = 500;
2205
+ static description = `Error creating DNS record: {message}`;
2170
2206
  }
2171
- class WebDeploymentBadRequestError extends Error {
2207
+ class DomainOwnershipErrorError extends Error {
2172
2208
  constructor(body) {
2173
2209
  super(
2174
- `WEB_DEPLOYMENT_BAD_REQUEST: ${body.message}`
2210
+ `DOMAIN_OWNERSHIP_ERROR: ${body.message}`
2175
2211
  );
2176
2212
  this.body = body;
2177
- this.name = "WebDeploymentBadRequestError";
2213
+ this.name = "DomainOwnershipErrorError";
2178
2214
  }
2179
- static code = "WEB_DEPLOYMENT_BAD_REQUEST";
2180
- static statusCode = 400;
2181
- static description = `Bad request: {message}`;
2215
+ static code = "DOMAIN_OWNERSHIP_ERROR";
2216
+ static statusCode = 403;
2217
+ static description = `Account {account_id} does not own domain {domain}`;
2182
2218
  }
2183
- class DeploymentNotFoundError extends Error {
2219
+ class BrowserOperationFailedError extends Error {
2184
2220
  constructor(body) {
2185
2221
  super(
2186
- `DEPLOYMENT_NOT_FOUND: ${body.message}`
2222
+ `BROWSER_OPERATION_FAILED: ${body.message}`
2187
2223
  );
2188
2224
  this.body = body;
2189
- this.name = "DeploymentNotFoundError";
2225
+ this.name = "BrowserOperationFailedError";
2190
2226
  }
2191
- static code = "DEPLOYMENT_NOT_FOUND";
2192
- static statusCode = 404;
2193
- static description = `Deployment not found`;
2227
+ static code = "BROWSER_OPERATION_FAILED";
2228
+ static statusCode = 500;
2229
+ static description = `Browser operation failed: {message}`;
2194
2230
  }
2195
- class ObservabilityDatabaseErrorError extends Error {
2231
+ class WatchFilesFailedError extends Error {
2196
2232
  constructor(body) {
2197
2233
  super(
2198
- `OBSERVABILITY_DATABASE_ERROR: ${body.message}`
2234
+ `WATCH_FILES_FAILED: ${body.message}`
2199
2235
  );
2200
2236
  this.body = body;
2201
- this.name = "ObservabilityDatabaseErrorError";
2237
+ this.name = "WatchFilesFailedError";
2202
2238
  }
2203
- static code = "OBSERVABILITY_DATABASE_ERROR";
2239
+ static code = "WATCH_FILES_FAILED";
2204
2240
  static statusCode = 500;
2205
- static description = `Database operation failed: {message}`;
2241
+ static description = `Failed to watch files: {message}`;
2206
2242
  }
2207
- class ObservabilityAccessDeniedError extends Error {
2243
+ class LogsFailedError extends Error {
2208
2244
  constructor(body) {
2209
2245
  super(
2210
- `OBSERVABILITY_ACCESS_DENIED: ${body.message}`
2246
+ `LOGS_FAILED: ${body.message}`
2211
2247
  );
2212
2248
  this.body = body;
2213
- this.name = "ObservabilityAccessDeniedError";
2249
+ this.name = "LogsFailedError";
2214
2250
  }
2215
- static code = "OBSERVABILITY_ACCESS_DENIED";
2216
- static statusCode = 403;
2217
- static description = `Access denied to logs for deployment: {deployment_id}`;
2251
+ static code = "LOGS_FAILED";
2252
+ static statusCode = 500;
2253
+ static description = `Failed to get logs: {message}`;
2218
2254
  }
2219
- class ParseLogsFailedError extends Error {
2255
+ class StatusFailedError extends Error {
2220
2256
  constructor(body) {
2221
2257
  super(
2222
- `PARSE_LOGS_FAILED: ${body.message}`
2258
+ `STATUS_FAILED: ${body.message}`
2223
2259
  );
2224
2260
  this.body = body;
2225
- this.name = "ParseLogsFailedError";
2261
+ this.name = "StatusFailedError";
2226
2262
  }
2227
- static code = "PARSE_LOGS_FAILED";
2263
+ static code = "STATUS_FAILED";
2228
2264
  static statusCode = 500;
2229
- static description = `Failed to parse logs: {message}`;
2265
+ static description = `Failed to get dev server status: {message}`;
2230
2266
  }
2231
- class RetrieveLogsFailedError extends Error {
2267
+ class RestartFailedError extends Error {
2232
2268
  constructor(body) {
2233
2269
  super(
2234
- `RETRIEVE_LOGS_FAILED: ${body.message}`
2270
+ `RESTART_FAILED: ${body.message}`
2235
2271
  );
2236
2272
  this.body = body;
2237
- this.name = "RetrieveLogsFailedError";
2273
+ this.name = "RestartFailedError";
2238
2274
  }
2239
- static code = "RETRIEVE_LOGS_FAILED";
2275
+ static code = "RESTART_FAILED";
2240
2276
  static statusCode = 500;
2241
- static description = `Failed to retrieve logs: {message}`;
2277
+ static description = `Failed to restart dev server: {message}`;
2242
2278
  }
2243
- class InvalidQueryError extends Error {
2279
+ class ShutdownFailedError extends Error {
2244
2280
  constructor(body) {
2245
2281
  super(
2246
- `INVALID_QUERY: ${body.message}`
2282
+ `SHUTDOWN_FAILED: ${body.message}`
2247
2283
  );
2248
2284
  this.body = body;
2249
- this.name = "InvalidQueryError";
2285
+ this.name = "ShutdownFailedError";
2250
2286
  }
2251
- static code = "INVALID_QUERY";
2252
- static statusCode = 400;
2253
- static description = `Invalid log query: {message}`;
2287
+ static code = "SHUTDOWN_FAILED";
2288
+ static statusCode = 500;
2289
+ static description = `Failed to shutdown dev server: {message}`;
2254
2290
  }
2255
- class LogsNotFoundError extends Error {
2291
+ class CommitFailedError extends Error {
2256
2292
  constructor(body) {
2257
2293
  super(
2258
- `LOGS_NOT_FOUND: ${body.message}`
2294
+ `COMMIT_FAILED: ${body.message}`
2259
2295
  );
2260
2296
  this.body = body;
2261
- this.name = "LogsNotFoundError";
2297
+ this.name = "CommitFailedError";
2262
2298
  }
2263
- static code = "LOGS_NOT_FOUND";
2264
- static statusCode = 404;
2265
- static description = `Logs not found for deployment: {deployment_id}`;
2299
+ static code = "COMMIT_FAILED";
2300
+ static statusCode = 500;
2301
+ static description = `Failed to commit changes: {message}`;
2266
2302
  }
2267
- class TriggerErrorError extends Error {
2303
+ class WriteFileFailedError extends Error {
2268
2304
  constructor(body) {
2269
2305
  super(
2270
- `TRIGGER_ERROR: ${body.message}`
2306
+ `WRITE_FILE_FAILED: ${body.message}`
2271
2307
  );
2272
2308
  this.body = body;
2273
- this.name = "TriggerErrorError";
2309
+ this.name = "WriteFileFailedError";
2274
2310
  }
2275
- static code = "TRIGGER_ERROR";
2311
+ static code = "WRITE_FILE_FAILED";
2276
2312
  static statusCode = 500;
2277
- static description = `Failed to manage triggers: {message}`;
2313
+ static description = `Failed to write file: {message}`;
2278
2314
  }
2279
- class TokenErrorError extends Error {
2315
+ class ReadFileFailedError extends Error {
2280
2316
  constructor(body) {
2281
2317
  super(
2282
- `TOKEN_ERROR: ${body.message}`
2318
+ `READ_FILE_FAILED: ${body.message}`
2283
2319
  );
2284
2320
  this.body = body;
2285
- this.name = "TokenErrorError";
2321
+ this.name = "ReadFileFailedError";
2286
2322
  }
2287
- static code = "TOKEN_ERROR";
2323
+ static code = "READ_FILE_FAILED";
2288
2324
  static statusCode = 500;
2289
- static description = `Failed to manage tokens: {message}`;
2325
+ static description = `Failed to read file: {message}`;
2290
2326
  }
2291
- class PermissionErrorError extends Error {
2327
+ class ExecutionFailedError extends Error {
2292
2328
  constructor(body) {
2293
2329
  super(
2294
- `PERMISSION_ERROR: ${body.message}`
2330
+ `EXECUTION_FAILED: ${body.message}`
2295
2331
  );
2296
2332
  this.body = body;
2297
- this.name = "PermissionErrorError";
2333
+ this.name = "ExecutionFailedError";
2298
2334
  }
2299
- static code = "PERMISSION_ERROR";
2335
+ static code = "EXECUTION_FAILED";
2300
2336
  static statusCode = 500;
2301
- static description = `Failed to manage permissions: {message}`;
2337
+ static description = `Failed to execute command: {message}`;
2302
2338
  }
2303
- class IdentityErrorError extends Error {
2339
+ class RequestFailedError extends Error {
2304
2340
  constructor(body) {
2305
2341
  super(
2306
- `IDENTITY_ERROR: ${body.message}`
2342
+ `REQUEST_FAILED: ${body.message}`
2307
2343
  );
2308
2344
  this.body = body;
2309
- this.name = "IdentityErrorError";
2345
+ this.name = "RequestFailedError";
2310
2346
  }
2311
- static code = "IDENTITY_ERROR";
2347
+ static code = "REQUEST_FAILED";
2312
2348
  static statusCode = 500;
2313
- static description = `Failed to manage identity: {message}`;
2349
+ static description = `Failed to request dev server: {message}`;
2314
2350
  }
2315
- class GetContentFailedError extends Error {
2351
+ class DevServerFileNotFoundError extends Error {
2316
2352
  constructor(body) {
2317
2353
  super(
2318
- `GET_CONTENT_FAILED: ${body.message}`
2354
+ `DEV_SERVER_FILE_NOT_FOUND: ${body.message}`
2319
2355
  );
2320
2356
  this.body = body;
2321
- this.name = "GetContentFailedError";
2357
+ this.name = "DevServerFileNotFoundError";
2322
2358
  }
2323
- static code = "GET_CONTENT_FAILED";
2324
- static statusCode = 500;
2325
- static description = `Failed to get content: {message}`;
2359
+ static code = "DEV_SERVER_FILE_NOT_FOUND";
2360
+ static statusCode = 404;
2361
+ static description = `Dev server file not found: {path}`;
2326
2362
  }
2327
- class ContentNotFoundError extends Error {
2363
+ class DevServerInvalidRequestError extends Error {
2328
2364
  constructor(body) {
2329
2365
  super(
2330
- `CONTENT_NOT_FOUND: ${body.message}`
2366
+ `DEV_SERVER_INVALID_REQUEST: ${body.message}`
2331
2367
  );
2332
2368
  this.body = body;
2333
- this.name = "ContentNotFoundError";
2369
+ this.name = "DevServerInvalidRequestError";
2334
2370
  }
2335
- static code = "CONTENT_NOT_FOUND";
2336
- static statusCode = 404;
2337
- static description = `Content not found: {path}`;
2371
+ static code = "DEV_SERVER_INVALID_REQUEST";
2372
+ static statusCode = 400;
2373
+ static description = `Invalid dev server request: {message}`;
2338
2374
  }
2339
- class DownloadFailedError extends Error {
2375
+ class UnauthorizedErrorError extends Error {
2340
2376
  constructor(body) {
2341
2377
  super(
2342
- `DOWNLOAD_FAILED: ${body.message}`
2378
+ `UNAUTHORIZED_ERROR: ${body.message}`
2343
2379
  );
2344
2380
  this.body = body;
2345
- this.name = "DownloadFailedError";
2381
+ this.name = "UnauthorizedErrorError";
2346
2382
  }
2347
- static code = "DOWNLOAD_FAILED";
2348
- static statusCode = 500;
2349
- static description = `Failed to download repository: {message}`;
2383
+ static code = "UNAUTHORIZED_ERROR";
2384
+ static statusCode = 401;
2385
+ static description = `Unauthorized request to {route}`;
2350
2386
  }
2351
- class GitServerErrorError extends Error {
2387
+ class ExecuteInternalErrorError extends Error {
2352
2388
  constructor(body) {
2353
2389
  super(
2354
- `GIT_SERVER_ERROR: ${body.message}`
2390
+ `EXECUTE_INTERNAL_ERROR: ${body.message}`
2355
2391
  );
2356
2392
  this.body = body;
2357
- this.name = "GitServerErrorError";
2393
+ this.name = "ExecuteInternalErrorError";
2358
2394
  }
2359
- static code = "GIT_SERVER_ERROR";
2395
+ static code = "EXECUTE_INTERNAL_ERROR";
2360
2396
  static statusCode = 500;
2361
- static description = `Git server error: {message}`;
2397
+ static description = `Internal error: {message}`;
2362
2398
  }
2363
- class ParseResponseErrorError extends Error {
2399
+ class ExecuteAccessDeniedError extends Error {
2364
2400
  constructor(body) {
2365
2401
  super(
2366
- `PARSE_RESPONSE_ERROR: ${body.message}`
2402
+ `EXECUTE_ACCESS_DENIED: ${body.message}`
2367
2403
  );
2368
2404
  this.body = body;
2369
- this.name = "ParseResponseErrorError";
2405
+ this.name = "ExecuteAccessDeniedError";
2370
2406
  }
2371
- static code = "PARSE_RESPONSE_ERROR";
2372
- static statusCode = 500;
2373
- static description = `Failed to parse response from Git server: {message}`;
2407
+ static code = "EXECUTE_ACCESS_DENIED";
2408
+ static statusCode = 403;
2409
+ static description = `Access denied to execute run`;
2374
2410
  }
2375
- class RepositoryAccessDeniedError extends Error {
2411
+ class ListRunsFailedError extends Error {
2376
2412
  constructor(body) {
2377
2413
  super(
2378
- `REPOSITORY_ACCESS_DENIED: ${body.message}`
2414
+ `LIST_RUNS_FAILED: ${body.message}`
2379
2415
  );
2380
2416
  this.body = body;
2381
- this.name = "RepositoryAccessDeniedError";
2417
+ this.name = "ListRunsFailedError";
2382
2418
  }
2383
- static code = "REPOSITORY_ACCESS_DENIED";
2384
- static statusCode = 403;
2385
- static description = `Repository does not belong to account`;
2419
+ static code = "LIST_RUNS_FAILED";
2420
+ static statusCode = 500;
2421
+ static description = `Failed to list execute runs: {message}`;
2386
2422
  }
2387
- class GitHubSyncFailedError extends Error {
2423
+ class ExecutionErrorError extends Error {
2388
2424
  constructor(body) {
2389
2425
  super(
2390
- `GIT_HUB_SYNC_FAILED: ${body.message}`
2426
+ `EXECUTION_ERROR: ${body.message}`
2391
2427
  );
2392
2428
  this.body = body;
2393
- this.name = "GitHubSyncFailedError";
2429
+ this.name = "ExecutionErrorError";
2394
2430
  }
2395
- static code = "GIT_HUB_SYNC_FAILED";
2431
+ static code = "EXECUTION_ERROR";
2396
2432
  static statusCode = 500;
2397
- static description = `Failed to configure GitHub sync: {message}`;
2433
+ static description = `Script execution error: {message}`;
2398
2434
  }
2399
- class UpdateDefaultBranchFailedError extends Error {
2435
+ class ConnectionFailedError extends Error {
2400
2436
  constructor(body) {
2401
2437
  super(
2402
- `UPDATE_DEFAULT_BRANCH_FAILED: ${body.message}`
2438
+ `CONNECTION_FAILED: ${body.message}`
2403
2439
  );
2404
2440
  this.body = body;
2405
- this.name = "UpdateDefaultBranchFailedError";
2441
+ this.name = "ConnectionFailedError";
2406
2442
  }
2407
- static code = "UPDATE_DEFAULT_BRANCH_FAILED";
2443
+ static code = "CONNECTION_FAILED";
2408
2444
  static statusCode = 500;
2409
- static description = `Failed to update default branch: {message}`;
2445
+ static description = `Failed to connect to execute server: {message}`;
2410
2446
  }
2411
- class GetRepositoryInfoFailedError extends Error {
2447
+ class MetadataWriteFailedError extends Error {
2412
2448
  constructor(body) {
2413
2449
  super(
2414
- `GET_REPOSITORY_INFO_FAILED: ${body.message}`
2450
+ `METADATA_WRITE_FAILED: ${body.message}`
2415
2451
  );
2416
2452
  this.body = body;
2417
- this.name = "GetRepositoryInfoFailedError";
2453
+ this.name = "MetadataWriteFailedError";
2418
2454
  }
2419
- static code = "GET_REPOSITORY_INFO_FAILED";
2455
+ static code = "METADATA_WRITE_FAILED";
2420
2456
  static statusCode = 500;
2421
- static description = `Failed to get repository info: {message}`;
2457
+ static description = `Failed to write metadata file: {message}`;
2422
2458
  }
2423
- class ListRepositoriesFailedError extends Error {
2459
+ class NodeModulesInstallFailedError extends Error {
2424
2460
  constructor(body) {
2425
2461
  super(
2426
- `LIST_REPOSITORIES_FAILED: ${body.message}`
2462
+ `NODE_MODULES_INSTALL_FAILED: ${body.message}`
2427
2463
  );
2428
2464
  this.body = body;
2429
- this.name = "ListRepositoriesFailedError";
2465
+ this.name = "NodeModulesInstallFailedError";
2430
2466
  }
2431
- static code = "LIST_REPOSITORIES_FAILED";
2467
+ static code = "NODE_MODULES_INSTALL_FAILED";
2432
2468
  static statusCode = 500;
2433
- static description = `Failed to list repositories: {message}`;
2469
+ static description = `Failed to install node modules: {message}`;
2434
2470
  }
2435
- class DeleteRepositoryFailedError extends Error {
2471
+ class NodeModulesDownloadFailedError extends Error {
2436
2472
  constructor(body) {
2437
2473
  super(
2438
- `DELETE_REPOSITORY_FAILED: ${body.message}`
2474
+ `NODE_MODULES_DOWNLOAD_FAILED: ${body.message}`
2439
2475
  );
2440
2476
  this.body = body;
2441
- this.name = "DeleteRepositoryFailedError";
2477
+ this.name = "NodeModulesDownloadFailedError";
2442
2478
  }
2443
- static code = "DELETE_REPOSITORY_FAILED";
2479
+ static code = "NODE_MODULES_DOWNLOAD_FAILED";
2444
2480
  static statusCode = 500;
2445
- static description = `Failed to delete repository: {message}`;
2481
+ static description = `Failed to download node modules: {message}`;
2446
2482
  }
2447
- class CreateRepositoryFailedError extends Error {
2483
+ class LockGenerationFailedError extends Error {
2448
2484
  constructor(body) {
2449
2485
  super(
2450
- `CREATE_REPOSITORY_FAILED: ${body.message}`
2486
+ `LOCK_GENERATION_FAILED: ${body.message}`
2451
2487
  );
2452
2488
  this.body = body;
2453
- this.name = "CreateRepositoryFailedError";
2489
+ this.name = "LockGenerationFailedError";
2454
2490
  }
2455
- static code = "CREATE_REPOSITORY_FAILED";
2491
+ static code = "LOCK_GENERATION_FAILED";
2456
2492
  static statusCode = 500;
2457
- static description = `Failed to create repository: {message}`;
2493
+ static description = `Failed to generate lock file: {message}`;
2458
2494
  }
2459
- class SerializationErrorError extends Error {
2495
+ class WriteScriptFailedError extends Error {
2460
2496
  constructor(body) {
2461
2497
  super(
2462
- `SERIALIZATION_ERROR: ${body.message}`
2498
+ `WRITE_SCRIPT_FAILED: ${body.message}`
2463
2499
  );
2464
2500
  this.body = body;
2465
- this.name = "SerializationErrorError";
2501
+ this.name = "WriteScriptFailedError";
2466
2502
  }
2467
- static code = "SERIALIZATION_ERROR";
2468
- static statusCode = 400;
2469
- static description = `Failed to serialize request: {message}`;
2503
+ static code = "WRITE_SCRIPT_FAILED";
2504
+ static statusCode = 500;
2505
+ static description = `Failed to write script file: {message}`;
2470
2506
  }
2471
- class GitInvalidRequestError extends Error {
2507
+ class DirectoryCreationFailedError extends Error {
2472
2508
  constructor(body) {
2473
2509
  super(
2474
- `GIT_INVALID_REQUEST: ${body.message}`
2510
+ `DIRECTORY_CREATION_FAILED: ${body.message}`
2475
2511
  );
2476
2512
  this.body = body;
2477
- this.name = "GitInvalidRequestError";
2513
+ this.name = "DirectoryCreationFailedError";
2478
2514
  }
2479
- static code = "GIT_INVALID_REQUEST";
2480
- static statusCode = 400;
2481
- static description = `Invalid request: {message}`;
2515
+ static code = "DIRECTORY_CREATION_FAILED";
2516
+ static statusCode = 500;
2517
+ static description = `Failed to create script directory: {message}`;
2482
2518
  }
2483
- class RepositoryNotFoundError extends Error {
2519
+ class NetworkPermissionsFailedError extends Error {
2484
2520
  constructor(body) {
2485
2521
  super(
2486
- `REPOSITORY_NOT_FOUND: ${body.message}`
2522
+ `NETWORK_PERMISSIONS_FAILED: ${body.message}`
2487
2523
  );
2488
2524
  this.body = body;
2489
- this.name = "RepositoryNotFoundError";
2525
+ this.name = "NetworkPermissionsFailedError";
2490
2526
  }
2491
- static code = "REPOSITORY_NOT_FOUND";
2492
- static statusCode = 404;
2493
- static description = `Repository not found: {repo_id}`;
2527
+ static code = "NETWORK_PERMISSIONS_FAILED";
2528
+ static statusCode = 500;
2529
+ static description = `Failed to insert network permissions: {message}`;
2494
2530
  }
2495
- class FailedToProvisionCertificateError extends Error {
2531
+ class LoggingFailedError extends Error {
2496
2532
  constructor(body) {
2497
2533
  super(
2498
- `FAILED_TO_PROVISION_CERTIFICATE: ${body.message}`
2534
+ `LOGGING_FAILED: ${body.message}`
2499
2535
  );
2500
2536
  this.body = body;
2501
- this.name = "FailedToProvisionCertificateError";
2537
+ this.name = "LoggingFailedError";
2502
2538
  }
2503
- static code = "FAILED_TO_PROVISION_CERTIFICATE";
2504
- static statusCode = 422;
2505
- static description = `Failed to provision certificate: {message}`;
2539
+ static code = "LOGGING_FAILED";
2540
+ static statusCode = 500;
2541
+ static description = `Failed to log execute run: {message}`;
2506
2542
  }
2507
- class FailedToInsertDomainMappingError extends Error {
2543
+ class RunNotFoundError extends Error {
2508
2544
  constructor(body) {
2509
2545
  super(
2510
- `FAILED_TO_INSERT_DOMAIN_MAPPING: ${body.message}`
2546
+ `RUN_NOT_FOUND: ${body.message}`
2511
2547
  );
2512
2548
  this.body = body;
2513
- this.name = "FailedToInsertDomainMappingError";
2549
+ this.name = "RunNotFoundError";
2514
2550
  }
2515
- static code = "FAILED_TO_INSERT_DOMAIN_MAPPING";
2516
- static statusCode = 500;
2517
- static description = `Failed to insert domain mapping: {message}`;
2551
+ static code = "RUN_NOT_FOUND";
2552
+ static statusCode = 404;
2553
+ static description = `Execute run not found: {run_id}`;
2518
2554
  }
2519
- class PermissionDeniedError extends Error {
2555
+ class ObservabilityDatabaseErrorError extends Error {
2520
2556
  constructor(body) {
2521
2557
  super(
2522
- `PERMISSION_DENIED: ${body.message}`
2558
+ `OBSERVABILITY_DATABASE_ERROR: ${body.message}`
2523
2559
  );
2524
2560
  this.body = body;
2525
- this.name = "PermissionDeniedError";
2561
+ this.name = "ObservabilityDatabaseErrorError";
2526
2562
  }
2527
- static code = "PERMISSION_DENIED";
2528
- static statusCode = 401;
2529
- static description = `Permission denied: {message}`;
2563
+ static code = "OBSERVABILITY_DATABASE_ERROR";
2564
+ static statusCode = 500;
2565
+ static description = `Database operation failed: {message}`;
2530
2566
  }
2531
- class FailedToCheckPermissionsError extends Error {
2567
+ class ObservabilityAccessDeniedError extends Error {
2532
2568
  constructor(body) {
2533
2569
  super(
2534
- `FAILED_TO_CHECK_PERMISSIONS: ${body.message}`
2570
+ `OBSERVABILITY_ACCESS_DENIED: ${body.message}`
2535
2571
  );
2536
2572
  this.body = body;
2537
- this.name = "FailedToCheckPermissionsError";
2573
+ this.name = "ObservabilityAccessDeniedError";
2538
2574
  }
2539
- static code = "FAILED_TO_CHECK_PERMISSIONS";
2540
- static statusCode = 502;
2541
- static description = `Failed to check permissions: {message}`;
2575
+ static code = "OBSERVABILITY_ACCESS_DENIED";
2576
+ static statusCode = 403;
2577
+ static description = `Access denied to logs for deployment: {deployment_id}`;
2542
2578
  }
2543
- class FailedToListDomainsError extends Error {
2579
+ class ParseLogsFailedError extends Error {
2544
2580
  constructor(body) {
2545
2581
  super(
2546
- `FAILED_TO_LIST_DOMAINS: ${body.message}`
2582
+ `PARSE_LOGS_FAILED: ${body.message}`
2547
2583
  );
2548
2584
  this.body = body;
2549
- this.name = "FailedToListDomainsError";
2585
+ this.name = "ParseLogsFailedError";
2550
2586
  }
2551
- static code = "FAILED_TO_LIST_DOMAINS";
2587
+ static code = "PARSE_LOGS_FAILED";
2552
2588
  static statusCode = 500;
2553
- static description = `Failed to list domains: {message}`;
2589
+ static description = `Failed to parse logs: {message}`;
2554
2590
  }
2555
- class FailedToListVerificationsError extends Error {
2591
+ class RetrieveLogsFailedError extends Error {
2556
2592
  constructor(body) {
2557
2593
  super(
2558
- `FAILED_TO_LIST_VERIFICATIONS: ${body.message}`
2594
+ `RETRIEVE_LOGS_FAILED: ${body.message}`
2559
2595
  );
2560
2596
  this.body = body;
2561
- this.name = "FailedToListVerificationsError";
2597
+ this.name = "RetrieveLogsFailedError";
2562
2598
  }
2563
- static code = "FAILED_TO_LIST_VERIFICATIONS";
2599
+ static code = "RETRIEVE_LOGS_FAILED";
2564
2600
  static statusCode = 500;
2565
- static description = `Failed to list verifications: {message}`;
2601
+ static description = `Failed to retrieve logs: {message}`;
2566
2602
  }
2567
- class FailedToVerifyDomainError extends Error {
2603
+ class InvalidQueryError extends Error {
2568
2604
  constructor(body) {
2569
2605
  super(
2570
- `FAILED_TO_VERIFY_DOMAIN: ${body.message}`
2606
+ `INVALID_QUERY: ${body.message}`
2571
2607
  );
2572
2608
  this.body = body;
2573
- this.name = "FailedToVerifyDomainError";
2609
+ this.name = "InvalidQueryError";
2574
2610
  }
2575
- static code = "FAILED_TO_VERIFY_DOMAIN";
2576
- static statusCode = 500;
2577
- static description = `Failed to verify domain: {message}`;
2611
+ static code = "INVALID_QUERY";
2612
+ static statusCode = 400;
2613
+ static description = `Invalid log query: {message}`;
2578
2614
  }
2579
- class VerificationFailedError extends Error {
2615
+ class LogsNotFoundError extends Error {
2580
2616
  constructor(body) {
2581
2617
  super(
2582
- `VERIFICATION_FAILED: ${body.message}`
2618
+ `LOGS_NOT_FOUND: ${body.message}`
2583
2619
  );
2584
2620
  this.body = body;
2585
- this.name = "VerificationFailedError";
2621
+ this.name = "LogsNotFoundError";
2586
2622
  }
2587
- static code = "VERIFICATION_FAILED";
2588
- static statusCode = 400;
2589
- static description = `Domain verification failed: {message}`;
2623
+ static code = "LOGS_NOT_FOUND";
2624
+ static statusCode = 404;
2625
+ static description = `Logs not found for deployment: {deployment_id}`;
2590
2626
  }
2591
- class FailedToDeleteVerificationError extends Error {
2627
+ class CloudstateInternalErrorError extends Error {
2592
2628
  constructor(body) {
2593
2629
  super(
2594
- `FAILED_TO_DELETE_VERIFICATION: ${body.message}`
2630
+ `CLOUDSTATE_INTERNAL_ERROR: ${body.message}`
2595
2631
  );
2596
2632
  this.body = body;
2597
- this.name = "FailedToDeleteVerificationError";
2633
+ this.name = "CloudstateInternalErrorError";
2598
2634
  }
2599
- static code = "FAILED_TO_DELETE_VERIFICATION";
2600
- static statusCode = 400;
2601
- static description = `Failed to delete verification: {message}`;
2635
+ static code = "CLOUDSTATE_INTERNAL_ERROR";
2636
+ static statusCode = 500;
2637
+ static description = `Internal error: {message}`;
2602
2638
  }
2603
- class VerificationNotFoundError extends Error {
2639
+ class CloudstateDatabaseErrorError extends Error {
2604
2640
  constructor(body) {
2605
2641
  super(
2606
- `VERIFICATION_NOT_FOUND: ${body.message}`
2642
+ `CLOUDSTATE_DATABASE_ERROR: ${body.message}`
2607
2643
  );
2608
2644
  this.body = body;
2609
- this.name = "VerificationNotFoundError";
2645
+ this.name = "CloudstateDatabaseErrorError";
2610
2646
  }
2611
- static code = "VERIFICATION_NOT_FOUND";
2612
- static statusCode = 404;
2613
- static description = `Verification request not found for domain: {domain}`;
2647
+ static code = "CLOUDSTATE_DATABASE_ERROR";
2648
+ static statusCode = 500;
2649
+ static description = `Database operation failed: {message}`;
2614
2650
  }
2615
- class FailedToCreateVerificationCodeError extends Error {
2651
+ class CloudstateAccessDeniedError extends Error {
2616
2652
  constructor(body) {
2617
2653
  super(
2618
- `FAILED_TO_CREATE_VERIFICATION_CODE: ${body.message}`
2654
+ `CLOUDSTATE_ACCESS_DENIED: ${body.message}`
2619
2655
  );
2620
2656
  this.body = body;
2621
- this.name = "FailedToCreateVerificationCodeError";
2657
+ this.name = "CloudstateAccessDeniedError";
2622
2658
  }
2623
- static code = "FAILED_TO_CREATE_VERIFICATION_CODE";
2624
- static statusCode = 400;
2625
- static description = `Failed to create verification code: {message}`;
2659
+ static code = "CLOUDSTATE_ACCESS_DENIED";
2660
+ static statusCode = 403;
2661
+ static description = `Access denied to project: {project_id}`;
2626
2662
  }
2627
- class InvalidDomainError extends Error {
2663
+ class RestoreFailedError extends Error {
2628
2664
  constructor(body) {
2629
2665
  super(
2630
- `INVALID_DOMAIN: ${body.message}`
2666
+ `RESTORE_FAILED: ${body.message}`
2631
2667
  );
2632
2668
  this.body = body;
2633
- this.name = "InvalidDomainError";
2669
+ this.name = "RestoreFailedError";
2634
2670
  }
2635
- static code = "INVALID_DOMAIN";
2636
- static statusCode = 400;
2637
- static description = `Invalid domain: {domain}`;
2671
+ static code = "RESTORE_FAILED";
2672
+ static statusCode = 500;
2673
+ static description = `Failed to restore from backup: {message}`;
2638
2674
  }
2639
- class DomainAlreadyExistsError extends Error {
2675
+ class CreateBackupFailedError extends Error {
2640
2676
  constructor(body) {
2641
2677
  super(
2642
- `DOMAIN_ALREADY_EXISTS: ${body.message}`
2678
+ `CREATE_BACKUP_FAILED: ${body.message}`
2643
2679
  );
2644
2680
  this.body = body;
2645
- this.name = "DomainAlreadyExistsError";
2681
+ this.name = "CreateBackupFailedError";
2646
2682
  }
2647
- static code = "DOMAIN_ALREADY_EXISTS";
2648
- static statusCode = 400;
2649
- static description = `Domain already exists: {domain}`;
2683
+ static code = "CREATE_BACKUP_FAILED";
2684
+ static statusCode = 500;
2685
+ static description = `Failed to create backup: {message}`;
2650
2686
  }
2651
- class FailedToInsertOwnershipError extends Error {
2687
+ class BackupFailedError extends Error {
2652
2688
  constructor(body) {
2653
2689
  super(
2654
- `FAILED_TO_INSERT_OWNERSHIP: ${body.message}`
2690
+ `BACKUP_FAILED: ${body.message}`
2655
2691
  );
2656
2692
  this.body = body;
2657
- this.name = "FailedToInsertOwnershipError";
2693
+ this.name = "BackupFailedError";
2658
2694
  }
2659
- static code = "FAILED_TO_INSERT_OWNERSHIP";
2695
+ static code = "BACKUP_FAILED";
2660
2696
  static statusCode = 500;
2661
- static description = `Failed to insert domain ownership: {message}`;
2697
+ static description = `Backup failed: {message}`;
2662
2698
  }
2663
- class FailedRemoveDomainMappingError extends Error {
2699
+ class DeploymentFailedError extends Error {
2664
2700
  constructor(body) {
2665
2701
  super(
2666
- `FAILED_REMOVE_DOMAIN_MAPPING: ${body.message}`
2702
+ `DEPLOYMENT_FAILED: ${body.message}`
2667
2703
  );
2668
2704
  this.body = body;
2669
- this.name = "FailedRemoveDomainMappingError";
2705
+ this.name = "DeploymentFailedError";
2670
2706
  }
2671
- static code = "FAILED_REMOVE_DOMAIN_MAPPING";
2707
+ static code = "DEPLOYMENT_FAILED";
2672
2708
  static statusCode = 500;
2673
- static description = `Failed to remove domain mapping: {message}`;
2709
+ static description = `Deployment failed: {message}`;
2674
2710
  }
2675
- class FailedPermissionsCheckError extends Error {
2711
+ class InvalidDeploymentRequestError extends Error {
2676
2712
  constructor(body) {
2677
2713
  super(
2678
- `FAILED_PERMISSIONS_CHECK: ${body.message}`
2714
+ `INVALID_DEPLOYMENT_REQUEST: ${body.message}`
2679
2715
  );
2680
2716
  this.body = body;
2681
- this.name = "FailedPermissionsCheckError";
2717
+ this.name = "InvalidDeploymentRequestError";
2682
2718
  }
2683
- static code = "FAILED_PERMISSIONS_CHECK";
2684
- static statusCode = 401;
2685
- static description = `You do not have permission to delete the domain mapping for: {domain}`;
2719
+ static code = "INVALID_DEPLOYMENT_REQUEST";
2720
+ static statusCode = 400;
2721
+ static description = `Invalid deployment request: {message}`;
2686
2722
  }
2687
- class FailedToCheckDomainMappingPermissionsError extends Error {
2723
+ class ProjectNotFoundError extends Error {
2688
2724
  constructor(body) {
2689
2725
  super(
2690
- `FAILED_TO_CHECK_DOMAIN_MAPPING_PERMISSIONS: ${body.message}`
2726
+ `PROJECT_NOT_FOUND: ${body.message}`
2691
2727
  );
2692
2728
  this.body = body;
2693
- this.name = "FailedToCheckDomainMappingPermissionsError";
2729
+ this.name = "ProjectNotFoundError";
2694
2730
  }
2695
- static code = "FAILED_TO_CHECK_DOMAIN_MAPPING_PERMISSIONS";
2696
- static statusCode = 502;
2697
- static description = `Failed to check permissions: {message}`;
2731
+ static code = "PROJECT_NOT_FOUND";
2732
+ static statusCode = 404;
2733
+ static description = `Project not found: {project_id}`;
2698
2734
  }
2699
2735
  const FREESTYLE_ERROR_CODE_MAP = {
2700
2736
  "GIT_ERROR": GitErrorError,
2701
- "INTERNAL_ERROR": InternalErrorError,
2702
- "DOCKER_IMPORT_BAD_REQUEST": DockerImportBadRequestError,
2703
2737
  "VM_OPERATION_DENIED_DURING_TRANSACTION": VmOperationDeniedDuringTransactionError,
2704
2738
  "VM_TRANSACTION_ID_MISMATCH": VmTransactionIdMismatchError,
2705
2739
  "VM_NOT_IN_TRANSACTION": VmNotInTransactionError,
2706
- "FORK_VM_NOT_FOUND": ForkVmNotFoundError,
2707
- "CREATE_SNAPSHOT_BAD_REQUEST": CreateSnapshotBadRequestError,
2708
2740
  "SNAPSHOT_VM_BAD_REQUEST": SnapshotVmBadRequestError,
2741
+ "KERNEL_PANIC": KernelPanicError,
2709
2742
  "VM_DELETED": VmDeletedError,
2710
2743
  "REQWEST": ReqwestError,
2711
2744
  "FIRECRACKER_PID_NOT_FOUND": FirecrackerPidNotFoundError,
2712
2745
  "FIRECRACKER_API_SOCKET_NOT_FOUND": FirecrackerApiSocketNotFoundError,
2746
+ "INVALID_SNAPSHOT_ID": InvalidSnapshotIdError,
2713
2747
  "VM_START_TIMEOUT": VmStartTimeoutError,
2714
2748
  "VM_EXIT_DURING_START": VmExitDuringStartError,
2749
+ "VM_ACCESS_DENIED": VmAccessDeniedError,
2715
2750
  "STD_IO": StdIoError,
2716
2751
  "VM_CREATE_TMUX_SESSION": VmCreateTmuxSessionError,
2717
2752
  "VM_SUBNET_NOT_FOUND": VmSubnetNotFoundError,
2753
+ "INTERNAL_ERROR": InternalErrorError,
2754
+ "FORK_VM_NOT_FOUND": ForkVmNotFoundError,
2755
+ "CREATE_SNAPSHOT_BAD_REQUEST": CreateSnapshotBadRequestError,
2718
2756
  "FILE_NOT_FOUND": FileNotFoundError,
2719
2757
  "FILES_BAD_REQUEST": FilesBadRequestError,
2758
+ "DOCKER_IMPORT_BAD_REQUEST": DockerImportBadRequestError,
2759
+ "VM_MUST_BE_STOPPED": VmMustBeStoppedError,
2760
+ "ALREADY_HAS_BASE": AlreadyHasBaseError,
2761
+ "NOT_FOUND": NotFoundError,
2720
2762
  "VM_NOT_FOUND_IN_FS": VmNotFoundInFsError,
2721
2763
  "VM_NOT_RUNNING": VmNotRunningError,
2722
2764
  "VM_NOT_FOUND": VmNotFoundError,
2723
2765
  "INTERNAL_FORK_VM_NOT_FOUND": InternalForkVmNotFoundError,
2724
2766
  "BAD_REQUEST": BadRequestError,
2725
2767
  "INTERNAL_VM_NOT_FOUND": InternalVmNotFoundError,
2726
- "VM_MUST_BE_STOPPED": VmMustBeStoppedError,
2727
- "ALREADY_HAS_BASE": AlreadyHasBaseError,
2728
- "NOT_FOUND": NotFoundError,
2729
2768
  "CREATE_VM_BAD_REQUEST": CreateVmBadRequestError,
2730
2769
  "USER_NOT_FOUND": UserNotFoundError,
2731
2770
  "USER_ALREADY_EXISTS": UserAlreadyExistsError,
@@ -2769,104 +2808,38 @@ const FREESTYLE_ERROR_CODE_MAP = {
2769
2808
  "INVALID_PARAMETERS": InvalidParametersError,
2770
2809
  "MAX_USES_EXCEEDED": MaxUsesExceededError,
2771
2810
  "EXPIRED": ExpiredError,
2811
+ "TAG_NOT_FOUND": TagNotFoundError,
2812
+ "TREE_NOT_FOUND": TreeNotFoundError,
2813
+ "BRANCH_NOT_FOUND": BranchNotFoundError,
2772
2814
  "FORBIDDEN": ForbiddenError,
2773
2815
  "UNAUTHORIZED": UnauthorizedError,
2774
- "INVALID_SERVICE": InvalidServiceError,
2775
- "EXPECTED_SERVICE": ExpectedServiceError,
2776
- "UNSUPPORTED_TRANSFER": UnsupportedTransferError,
2777
- "CONFLICT": ConflictError,
2778
- "BRANCH_NOT_FOUND": BranchNotFoundError,
2779
- "SOURCE_IMPORT_CONFLICT": SourceImportConflictError,
2780
- "SOURCE_UNAUTHORIZED": SourceUnauthorizedError,
2781
- "SOURCE_NOT_FOUND": SourceNotFoundError,
2782
- "IMPORT_SUBDIR_NOT_FOUND": ImportSubdirNotFoundError,
2783
2816
  "REPO_ALREADY_EXISTS": RepoAlreadyExistsError,
2784
- "PATH_NOT_FOUND": PathNotFoundError,
2785
- "REFERENCE_NOT_FOUND": ReferenceNotFoundError,
2786
- "TAG_NOT_FOUND": TagNotFoundError,
2787
- "SEND_ERROR": SendErrorError,
2788
2817
  "GIT_HUB_SYNC_CONFLICT": GitHubSyncConflictError,
2789
2818
  "INVALID_OBJECT_ID": InvalidObjectIdError,
2790
2819
  "COMMIT_NOT_FOUND": CommitNotFoundError,
2791
- "TREE_NOT_FOUND": TreeNotFoundError,
2792
- "INVALID_REVISION": InvalidRevisionError,
2820
+ "PACKFILE": PackfileError,
2821
+ "SEND_ERROR": SendErrorError,
2822
+ "UNSUPPORTED_TRANSFER": UnsupportedTransferError,
2793
2823
  "INVALID_RANGE": InvalidRangeError,
2794
2824
  "OFFSET_WITH_SELECTOR": OffsetWithSelectorError,
2795
2825
  "COMMIT_NOT_IN_BRANCH": CommitNotInBranchError,
2796
2826
  "BLOB_NOT_FOUND": BlobNotFoundError,
2827
+ "INVALID_SERVICE": InvalidServiceError,
2828
+ "EXPECTED_SERVICE": ExpectedServiceError,
2829
+ "PATH_NOT_FOUND": PathNotFoundError,
2830
+ "REFERENCE_NOT_FOUND": ReferenceNotFoundError,
2797
2831
  "AMBIGUOUS": AmbiguousError,
2798
2832
  "INVALID": InvalidError,
2799
- "PACKFILE": PackfileError,
2833
+ "INVALID_ACCOUNT_ID": InvalidAccountIdError,
2834
+ "SOURCE_IMPORT_CONFLICT": SourceImportConflictError,
2835
+ "SOURCE_UNAUTHORIZED": SourceUnauthorizedError,
2836
+ "SOURCE_NOT_FOUND": SourceNotFoundError,
2837
+ "IMPORT_SUBDIR_NOT_FOUND": ImportSubdirNotFoundError,
2838
+ "CONFLICT": ConflictError,
2839
+ "INVALID_REVISION": InvalidRevisionError,
2800
2840
  "DATABASE_ERROR": DatabaseErrorError,
2801
- "EMPTY_TAG": EmptyTagError,
2802
- "RESIZE_FAILED": ResizeFailedError,
2803
- "INTERNAL_RESIZE_VM_NOT_FOUND": InternalResizeVmNotFoundError,
2804
- "DOMAIN_OWNERSHIP_VERIFICATION_FAILED": DomainOwnershipVerificationFailedError,
2805
- "ERROR_DELETING_RECORD": ErrorDeletingRecordError,
2806
- "RECORD_OWNERSHIP_ERROR": RecordOwnershipErrorError,
2807
- "ERROR_CREATING_RECORD": ErrorCreatingRecordError,
2808
- "DOMAIN_OWNERSHIP_ERROR": DomainOwnershipErrorError,
2809
- "BROWSER_OPERATION_FAILED": BrowserOperationFailedError,
2810
- "WATCH_FILES_FAILED": WatchFilesFailedError,
2811
- "LOGS_FAILED": LogsFailedError,
2812
- "STATUS_FAILED": StatusFailedError,
2813
- "RESTART_FAILED": RestartFailedError,
2814
- "SHUTDOWN_FAILED": ShutdownFailedError,
2815
- "COMMIT_FAILED": CommitFailedError,
2816
- "WRITE_FILE_FAILED": WriteFileFailedError,
2817
- "READ_FILE_FAILED": ReadFileFailedError,
2818
- "EXECUTION_FAILED": ExecutionFailedError,
2819
- "REQUEST_FAILED": RequestFailedError,
2820
- "DEV_SERVER_FILE_NOT_FOUND": DevServerFileNotFoundError,
2821
- "DEV_SERVER_INVALID_REQUEST": DevServerInvalidRequestError,
2822
2841
  "DEV_SERVER_NOT_FOUND": DevServerNotFoundError,
2823
- "ANYHOW": AnyhowError,
2824
- "BRANCH_NAME_EMPTY": BranchNameEmptyError,
2825
- "PERMISSION_ALREADY_EXISTS": PermissionAlreadyExistsError,
2826
- "LIST_TOKENS_FAILED": ListTokensFailedError,
2827
- "REVOKE_TOKEN_FAILED": RevokeTokenFailedError,
2828
- "CREATE_TOKEN_FAILED": CreateTokenFailedError,
2829
- "LIST_PERMISSIONS_FAILED": ListPermissionsFailedError,
2830
- "GET_PERMISSION_FAILED": GetPermissionFailedError,
2831
- "UPDATE_PERMISSION_FAILED": UpdatePermissionFailedError,
2832
- "REVOKE_PERMISSION_FAILED": RevokePermissionFailedError,
2833
- "GRANT_PERMISSION_FAILED": GrantPermissionFailedError,
2834
- "LIST_IDENTITIES_FAILED": ListIdentitiesFailedError,
2835
- "DELETE_IDENTITY_FAILED": DeleteIdentityFailedError,
2836
- "CREATE_IDENTITY_FAILED": CreateIdentityFailedError,
2837
- "VM_PERMISSION_NOT_FOUND": VmPermissionNotFoundError,
2838
- "PERMISSION_NOT_FOUND": PermissionNotFoundError,
2839
- "VM_ACCESS_DENIED": VmAccessDeniedError,
2840
- "GIT_REPOSITORY_ACCESS_DENIED": GitRepositoryAccessDeniedError,
2841
- "GIT_REPOSITORY_NOT_FOUND": GitRepositoryNotFoundError,
2842
- "CANNOT_DELETE_MANAGED_IDENTITY": CannotDeleteManagedIdentityError,
2843
- "CANNOT_MODIFY_MANAGED_IDENTITY": CannotModifyManagedIdentityError,
2844
- "IDENTITY_ACCESS_DENIED": IdentityAccessDeniedError,
2845
- "IDENTITY_NOT_FOUND": IdentityNotFoundError,
2846
- "EXECUTE_INTERNAL_ERROR": ExecuteInternalErrorError,
2847
- "EXECUTE_ACCESS_DENIED": ExecuteAccessDeniedError,
2848
- "LIST_RUNS_FAILED": ListRunsFailedError,
2849
- "EXECUTION_ERROR": ExecutionErrorError,
2850
- "CONNECTION_FAILED": ConnectionFailedError,
2851
- "METADATA_WRITE_FAILED": MetadataWriteFailedError,
2852
- "NODE_MODULES_INSTALL_FAILED": NodeModulesInstallFailedError,
2853
- "NODE_MODULES_DOWNLOAD_FAILED": NodeModulesDownloadFailedError,
2854
- "LOCK_GENERATION_FAILED": LockGenerationFailedError,
2855
- "WRITE_SCRIPT_FAILED": WriteScriptFailedError,
2856
- "DIRECTORY_CREATION_FAILED": DirectoryCreationFailedError,
2857
- "NETWORK_PERMISSIONS_FAILED": NetworkPermissionsFailedError,
2858
- "LOGGING_FAILED": LoggingFailedError,
2859
- "RUN_NOT_FOUND": RunNotFoundError,
2860
- "CLOUDSTATE_INTERNAL_ERROR": CloudstateInternalErrorError,
2861
- "CLOUDSTATE_DATABASE_ERROR": CloudstateDatabaseErrorError,
2862
- "CLOUDSTATE_ACCESS_DENIED": CloudstateAccessDeniedError,
2863
- "RESTORE_FAILED": RestoreFailedError,
2864
- "CREATE_BACKUP_FAILED": CreateBackupFailedError,
2865
- "BACKUP_FAILED": BackupFailedError,
2866
- "DEPLOYMENT_FAILED": DeploymentFailedError,
2867
- "INVALID_DEPLOYMENT_REQUEST": InvalidDeploymentRequestError,
2868
- "PROJECT_NOT_FOUND": ProjectNotFoundError,
2869
- "UNAUTHORIZED_ERROR": UnauthorizedErrorError,
2842
+ "EMPTY_TAG": EmptyTagError,
2870
2843
  "BUILD_FAILED": BuildFailedError,
2871
2844
  "SERVER_DEPLOYMENT_FAILED": ServerDeploymentFailedError,
2872
2845
  "LOCKFILE_ERROR": LockfileErrorError,
@@ -2879,12 +2852,8 @@ const FREESTYLE_ERROR_CODE_MAP = {
2879
2852
  "INVALID_DOMAINS": InvalidDomainsError,
2880
2853
  "WEB_DEPLOYMENT_BAD_REQUEST": WebDeploymentBadRequestError,
2881
2854
  "DEPLOYMENT_NOT_FOUND": DeploymentNotFoundError,
2882
- "OBSERVABILITY_DATABASE_ERROR": ObservabilityDatabaseErrorError,
2883
- "OBSERVABILITY_ACCESS_DENIED": ObservabilityAccessDeniedError,
2884
- "PARSE_LOGS_FAILED": ParseLogsFailedError,
2885
- "RETRIEVE_LOGS_FAILED": RetrieveLogsFailedError,
2886
- "INVALID_QUERY": InvalidQueryError,
2887
- "LOGS_NOT_FOUND": LogsNotFoundError,
2855
+ "RESIZE_FAILED": ResizeFailedError,
2856
+ "INTERNAL_RESIZE_VM_NOT_FOUND": InternalResizeVmNotFoundError,
2888
2857
  "TRIGGER_ERROR": TriggerErrorError,
2889
2858
  "TOKEN_ERROR": TokenErrorError,
2890
2859
  "PERMISSION_ERROR": PermissionErrorError,
@@ -2920,7 +2889,77 @@ const FREESTYLE_ERROR_CODE_MAP = {
2920
2889
  "FAILED_TO_INSERT_OWNERSHIP": FailedToInsertOwnershipError,
2921
2890
  "FAILED_REMOVE_DOMAIN_MAPPING": FailedRemoveDomainMappingError,
2922
2891
  "FAILED_PERMISSIONS_CHECK": FailedPermissionsCheckError,
2923
- "FAILED_TO_CHECK_DOMAIN_MAPPING_PERMISSIONS": FailedToCheckDomainMappingPermissionsError
2892
+ "FAILED_TO_CHECK_DOMAIN_MAPPING_PERMISSIONS": FailedToCheckDomainMappingPermissionsError,
2893
+ "BRANCH_NAME_EMPTY": BranchNameEmptyError,
2894
+ "ANYHOW": AnyhowError,
2895
+ "PERMISSION_ALREADY_EXISTS": PermissionAlreadyExistsError,
2896
+ "LIST_TOKENS_FAILED": ListTokensFailedError,
2897
+ "REVOKE_TOKEN_FAILED": RevokeTokenFailedError,
2898
+ "CREATE_TOKEN_FAILED": CreateTokenFailedError,
2899
+ "LIST_PERMISSIONS_FAILED": ListPermissionsFailedError,
2900
+ "GET_PERMISSION_FAILED": GetPermissionFailedError,
2901
+ "UPDATE_PERMISSION_FAILED": UpdatePermissionFailedError,
2902
+ "REVOKE_PERMISSION_FAILED": RevokePermissionFailedError,
2903
+ "GRANT_PERMISSION_FAILED": GrantPermissionFailedError,
2904
+ "LIST_IDENTITIES_FAILED": ListIdentitiesFailedError,
2905
+ "DELETE_IDENTITY_FAILED": DeleteIdentityFailedError,
2906
+ "CREATE_IDENTITY_FAILED": CreateIdentityFailedError,
2907
+ "VM_PERMISSION_NOT_FOUND": VmPermissionNotFoundError,
2908
+ "PERMISSION_NOT_FOUND": PermissionNotFoundError,
2909
+ "GIT_REPOSITORY_ACCESS_DENIED": GitRepositoryAccessDeniedError,
2910
+ "GIT_REPOSITORY_NOT_FOUND": GitRepositoryNotFoundError,
2911
+ "CANNOT_DELETE_MANAGED_IDENTITY": CannotDeleteManagedIdentityError,
2912
+ "CANNOT_MODIFY_MANAGED_IDENTITY": CannotModifyManagedIdentityError,
2913
+ "IDENTITY_ACCESS_DENIED": IdentityAccessDeniedError,
2914
+ "IDENTITY_NOT_FOUND": IdentityNotFoundError,
2915
+ "DOMAIN_OWNERSHIP_VERIFICATION_FAILED": DomainOwnershipVerificationFailedError,
2916
+ "ERROR_DELETING_RECORD": ErrorDeletingRecordError,
2917
+ "RECORD_OWNERSHIP_ERROR": RecordOwnershipErrorError,
2918
+ "ERROR_CREATING_RECORD": ErrorCreatingRecordError,
2919
+ "DOMAIN_OWNERSHIP_ERROR": DomainOwnershipErrorError,
2920
+ "BROWSER_OPERATION_FAILED": BrowserOperationFailedError,
2921
+ "WATCH_FILES_FAILED": WatchFilesFailedError,
2922
+ "LOGS_FAILED": LogsFailedError,
2923
+ "STATUS_FAILED": StatusFailedError,
2924
+ "RESTART_FAILED": RestartFailedError,
2925
+ "SHUTDOWN_FAILED": ShutdownFailedError,
2926
+ "COMMIT_FAILED": CommitFailedError,
2927
+ "WRITE_FILE_FAILED": WriteFileFailedError,
2928
+ "READ_FILE_FAILED": ReadFileFailedError,
2929
+ "EXECUTION_FAILED": ExecutionFailedError,
2930
+ "REQUEST_FAILED": RequestFailedError,
2931
+ "DEV_SERVER_FILE_NOT_FOUND": DevServerFileNotFoundError,
2932
+ "DEV_SERVER_INVALID_REQUEST": DevServerInvalidRequestError,
2933
+ "UNAUTHORIZED_ERROR": UnauthorizedErrorError,
2934
+ "EXECUTE_INTERNAL_ERROR": ExecuteInternalErrorError,
2935
+ "EXECUTE_ACCESS_DENIED": ExecuteAccessDeniedError,
2936
+ "LIST_RUNS_FAILED": ListRunsFailedError,
2937
+ "EXECUTION_ERROR": ExecutionErrorError,
2938
+ "CONNECTION_FAILED": ConnectionFailedError,
2939
+ "METADATA_WRITE_FAILED": MetadataWriteFailedError,
2940
+ "NODE_MODULES_INSTALL_FAILED": NodeModulesInstallFailedError,
2941
+ "NODE_MODULES_DOWNLOAD_FAILED": NodeModulesDownloadFailedError,
2942
+ "LOCK_GENERATION_FAILED": LockGenerationFailedError,
2943
+ "WRITE_SCRIPT_FAILED": WriteScriptFailedError,
2944
+ "DIRECTORY_CREATION_FAILED": DirectoryCreationFailedError,
2945
+ "NETWORK_PERMISSIONS_FAILED": NetworkPermissionsFailedError,
2946
+ "LOGGING_FAILED": LoggingFailedError,
2947
+ "RUN_NOT_FOUND": RunNotFoundError,
2948
+ "OBSERVABILITY_DATABASE_ERROR": ObservabilityDatabaseErrorError,
2949
+ "OBSERVABILITY_ACCESS_DENIED": ObservabilityAccessDeniedError,
2950
+ "PARSE_LOGS_FAILED": ParseLogsFailedError,
2951
+ "RETRIEVE_LOGS_FAILED": RetrieveLogsFailedError,
2952
+ "INVALID_QUERY": InvalidQueryError,
2953
+ "LOGS_NOT_FOUND": LogsNotFoundError,
2954
+ "CLOUDSTATE_INTERNAL_ERROR": CloudstateInternalErrorError,
2955
+ "CLOUDSTATE_DATABASE_ERROR": CloudstateDatabaseErrorError,
2956
+ "CLOUDSTATE_ACCESS_DENIED": CloudstateAccessDeniedError,
2957
+ "RESTORE_FAILED": RestoreFailedError,
2958
+ "CREATE_BACKUP_FAILED": CreateBackupFailedError,
2959
+ "BACKUP_FAILED": BackupFailedError,
2960
+ "DEPLOYMENT_FAILED": DeploymentFailedError,
2961
+ "INVALID_DEPLOYMENT_REQUEST": InvalidDeploymentRequestError,
2962
+ "PROJECT_NOT_FOUND": ProjectNotFoundError
2924
2963
  };
2925
2964
 
2926
2965
  var errors = /*#__PURE__*/Object.freeze({
@@ -3030,6 +3069,7 @@ var errors = /*#__PURE__*/Object.freeze({
3030
3069
  InternalForkVmNotFoundError: InternalForkVmNotFoundError,
3031
3070
  InternalResizeVmNotFoundError: InternalResizeVmNotFoundError,
3032
3071
  InternalVmNotFoundError: InternalVmNotFoundError,
3072
+ InvalidAccountIdError: InvalidAccountIdError,
3033
3073
  InvalidDeploymentRequestError: InvalidDeploymentRequestError,
3034
3074
  InvalidDomainError: InvalidDomainError,
3035
3075
  InvalidDomainsError: InvalidDomainsError,
@@ -3042,6 +3082,8 @@ var errors = /*#__PURE__*/Object.freeze({
3042
3082
  InvalidRevisionError: InvalidRevisionError,
3043
3083
  InvalidServiceError: InvalidServiceError,
3044
3084
  InvalidSignatureError: InvalidSignatureError,
3085
+ InvalidSnapshotIdError: InvalidSnapshotIdError,
3086
+ KernelPanicError: KernelPanicError,
3045
3087
  ListIdentitiesFailedError: ListIdentitiesFailedError,
3046
3088
  ListPermissionsFailedError: ListPermissionsFailedError,
3047
3089
  ListRepositoriesFailedError: ListRepositoriesFailedError,
@@ -3200,8 +3242,11 @@ class ApiClient {
3200
3242
  }
3201
3243
  return headers;
3202
3244
  }
3203
- async requestRaw(method, url, body) {
3204
- const headers = this.getDefaultHeaders();
3245
+ async requestRaw(method, url, body, customHeaders) {
3246
+ const headers = {
3247
+ ...this.getDefaultHeaders(),
3248
+ ...customHeaders
3249
+ };
3205
3250
  if (body) {
3206
3251
  headers["Content-Type"] = "application/json";
3207
3252
  }
@@ -3225,8 +3270,8 @@ class ApiClient {
3225
3270
  }
3226
3271
  return response;
3227
3272
  }
3228
- async request(method, url, body) {
3229
- const response = await this.requestRaw(method, url, body);
3273
+ async request(method, url, body, customHeaders) {
3274
+ const response = await this.requestRaw(method, url, body, customHeaders);
3230
3275
  return response.json();
3231
3276
  }
3232
3277
  async fetch(url, options) {
@@ -3242,32 +3287,32 @@ class ApiClient {
3242
3287
  }
3243
3288
  getRaw(path, options) {
3244
3289
  const url = this.buildUrl(path, options?.params, options?.query);
3245
- return this.requestRaw("GET", url);
3290
+ return this.requestRaw("GET", url, void 0, options?.headers);
3246
3291
  }
3247
3292
  get(path, ...args) {
3248
3293
  const options = args[0];
3249
3294
  const url = this.buildUrl(path, options?.params, options?.query);
3250
- return this.request("GET", url, options?.body);
3295
+ return this.request("GET", url, options?.body, options?.headers);
3251
3296
  }
3252
3297
  post(path, ...args) {
3253
3298
  const options = args[0];
3254
3299
  const url = this.buildUrl(path, options?.params, options?.query);
3255
- return this.request("POST", url, options?.body);
3300
+ return this.request("POST", url, options?.body, options?.headers);
3256
3301
  }
3257
3302
  put(path, ...args) {
3258
3303
  const options = args[0];
3259
3304
  const url = this.buildUrl(path, options?.params, options?.query);
3260
- return this.request("PUT", url, options?.body);
3305
+ return this.request("PUT", url, options?.body, options?.headers);
3261
3306
  }
3262
3307
  delete(path, ...args) {
3263
3308
  const options = args[0];
3264
3309
  const url = this.buildUrl(path, options?.params, options?.query);
3265
- return this.request("DELETE", url, options?.body);
3310
+ return this.request("DELETE", url, options?.body, options?.headers);
3266
3311
  }
3267
3312
  patch(path, ...args) {
3268
3313
  const options = args[0];
3269
3314
  const url = this.buildUrl(path, options?.params, options?.query);
3270
- return this.request("PATCH", url, options?.body);
3315
+ return this.request("PATCH", url, options?.body, options?.headers);
3271
3316
  }
3272
3317
  }
3273
3318
 
@@ -4277,9 +4322,21 @@ class DeploymentsNamespace {
4277
4322
  }) {
4278
4323
  let source;
4279
4324
  if ("repo" in body) {
4325
+ const isUrl = (() => {
4326
+ try {
4327
+ new URL(body.repo);
4328
+ return true;
4329
+ } catch {
4330
+ return false;
4331
+ }
4332
+ })();
4333
+ const isUuid = /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(
4334
+ body.repo
4335
+ );
4336
+ const repoUrl = isUrl ? body.repo : isUuid ? `https://git.freestyle.sh/${body.repo}` : body.repo;
4280
4337
  source = {
4281
4338
  kind: "git",
4282
- url: body.repo,
4339
+ url: repoUrl,
4283
4340
  branch: body.branch,
4284
4341
  dir: body.rootPath
4285
4342
  };
@@ -4425,7 +4482,8 @@ class FileSystem {
4425
4482
  */
4426
4483
  async readFile(filepath) {
4427
4484
  const response = await this.client.get("/v1/vms/{vm_id}/files/{filepath}", {
4428
- params: { vm_id: this.vmId, filepath }
4485
+ params: { vm_id: this.vmId, filepath },
4486
+ headers: linuxUsernameHeader(this.vm?._linux_username)
4429
4487
  });
4430
4488
  if (response && typeof response === "object" && "content" in response) {
4431
4489
  const content = response.content;
@@ -4446,7 +4504,8 @@ class FileSystem {
4446
4504
  const base64Content = content.toString("base64");
4447
4505
  await this.client.put("/v1/vms/{vm_id}/files/{filepath}", {
4448
4506
  params: { vm_id: this.vmId, filepath },
4449
- body: { content: base64Content }
4507
+ body: { content: base64Content },
4508
+ headers: linuxUsernameHeader(this.vm?._linux_username)
4450
4509
  });
4451
4510
  }
4452
4511
  /**
@@ -4476,7 +4535,8 @@ class FileSystem {
4476
4535
  */
4477
4536
  async readDir(path) {
4478
4537
  const response = await this.client.get("/v1/vms/{vm_id}/files/{filepath}", {
4479
- params: { vm_id: this.vmId, filepath: path }
4538
+ params: { vm_id: this.vmId, filepath: path },
4539
+ headers: linuxUsernameHeader(this.vm?._linux_username)
4480
4540
  });
4481
4541
  if ("files" in response && response.files) {
4482
4542
  return response.files;
@@ -4575,7 +4635,8 @@ class FileSystem {
4575
4635
  const response = await this.client.fetch(
4576
4636
  `/v1/vms/${this.vmId}/watch-files`,
4577
4637
  {
4578
- method: "POST"
4638
+ method: "POST",
4639
+ headers: linuxUsernameHeader(this.vm?._linux_username)
4579
4640
  }
4580
4641
  );
4581
4642
  if (!response.ok) {
@@ -4978,15 +5039,24 @@ class VmTerminals {
4978
5039
  this.vmId = vmId;
4979
5040
  this.client = client;
4980
5041
  }
5042
+ vm = null;
4981
5043
  /**
4982
5044
  * List all terminals in the VM.
4983
5045
  * @returns Array of terminal information
4984
5046
  */
4985
5047
  async list() {
4986
5048
  return this.client.get("/v1/vms/{vm_id}/terminals", {
4987
- params: { vm_id: this.vmId }
5049
+ params: { vm_id: this.vmId },
5050
+ headers: linuxUsernameHeader(this.vm?._linux_username)
4988
5051
  });
4989
5052
  }
5053
+ /**
5054
+ * @internal
5055
+ * Set the parent VM instance for exec operations
5056
+ */
5057
+ _setVm(vm) {
5058
+ this.vm = vm;
5059
+ }
4990
5060
  /**
4991
5061
  * Get logs from a specific terminal.
4992
5062
  * @param terminalId The ID of the terminal
@@ -4994,7 +5064,8 @@ class VmTerminals {
4994
5064
  */
4995
5065
  async getLogs({ terminalId }) {
4996
5066
  return this.client.get("/v1/vms/{vm_id}/terminals/{terminal_id}/logs", {
4997
- params: { vm_id: this.vmId, terminal_id: terminalId }
5067
+ params: { vm_id: this.vmId, terminal_id: terminalId },
5068
+ headers: linuxUsernameHeader(this.vm?._linux_username)
4998
5069
  });
4999
5070
  }
5000
5071
  /**
@@ -5006,7 +5077,8 @@ class VmTerminals {
5006
5077
  return this.client.get(
5007
5078
  "/v1/vms/{vm_id}/terminals/{terminal_id}/xterm-256color",
5008
5079
  {
5009
- params: { vm_id: this.vmId, terminal_id: terminalId }
5080
+ params: { vm_id: this.vmId, terminal_id: terminalId },
5081
+ headers: linuxUsernameHeader(this.vm?._linux_username)
5010
5082
  }
5011
5083
  );
5012
5084
  }
@@ -5018,10 +5090,13 @@ class Vm {
5018
5090
  this.fs = new FileSystem(vmId, apiClient);
5019
5091
  this.fs._setVm(this);
5020
5092
  this.terminals = new VmTerminals(vmId, apiClient);
5093
+ this.terminals._setVm(this);
5021
5094
  }
5022
5095
  vmId;
5023
5096
  fs;
5024
5097
  terminals;
5098
+ /** @internal */
5099
+ _linux_username;
5025
5100
  /**
5026
5101
  * Get the current state and metadata of the VM.
5027
5102
  * @returns VM state information
@@ -5031,6 +5106,11 @@ class Vm {
5031
5106
  params: { vm_id: this.vmId }
5032
5107
  });
5033
5108
  }
5109
+ user({ username }) {
5110
+ let vm = new Vm(this.vmId, this.apiClient);
5111
+ vm._linux_username = username;
5112
+ return vm;
5113
+ }
5034
5114
  /**
5035
5115
  * Start the VM.
5036
5116
  * @param options Optional startup configuration
@@ -5108,7 +5188,8 @@ class Vm {
5108
5188
  command,
5109
5189
  terminal: terminal ?? null,
5110
5190
  timeoutMs: timeoutMs ?? null
5111
- }
5191
+ },
5192
+ headers: linuxUsernameHeader(this._linux_username)
5112
5193
  });
5113
5194
  }
5114
5195
  /**
@@ -5279,6 +5360,19 @@ class VmsNamespace {
5279
5360
  * @returns A VM instance representing the created VM
5280
5361
  */
5281
5362
  async create(options = {}) {
5363
+ if (options.snapshot instanceof VmSpec) {
5364
+ if (options.spec instanceof VmSpec) {
5365
+ if (!options.spec.raw.snapshot) {
5366
+ options.spec.raw.snapshot = options.snapshot;
5367
+ }
5368
+ } else {
5369
+ options.spec = new VmSpec({ snapshot: options.snapshot });
5370
+ }
5371
+ }
5372
+ if ("snapshot" in options) {
5373
+ const { snapshot: _snapshot, ...rest } = options;
5374
+ options = rest;
5375
+ }
5282
5376
  if (options.spec instanceof VmSpec) {
5283
5377
  let spec = options.spec;
5284
5378
  spec = await processOuterSpecBuilders(spec);
@@ -5338,7 +5432,10 @@ class VmsNamespace {
5338
5432
  ...response,
5339
5433
  vmId,
5340
5434
  vm,
5341
- domains: response.domains || []
5435
+ // start to phase out built in domain
5436
+ domains: response.domains.filter(
5437
+ (domain) => !domain.endsWith(".vm.freestyle.sh") && !domain.endsWith(".vm.freestyle.it.com")
5438
+ ) || []
5342
5439
  };
5343
5440
  }
5344
5441
  /**
@@ -5351,15 +5448,14 @@ class VmsNamespace {
5351
5448
  /**
5352
5449
  * Get VM by ID.
5353
5450
  * @param vmId The ID of the VM
5354
- * @param allowedSpecs Array of allowed specs (currently only 1 supported, always uses the first)
5451
+ * @param spec Optional spec to attach builders to the returned VM
5355
5452
  * @returns The VM instance configured with builders from the spec
5356
5453
  */
5357
5454
  async get({
5358
5455
  vmId,
5359
- allowedSpecs
5456
+ spec
5360
5457
  }) {
5361
5458
  const vm = new Vm(vmId, this.apiClient);
5362
- const spec = allowedSpecs?.[0];
5363
5459
  if (spec) {
5364
5460
  const allBuilders = collectSpecBuilders(spec);
5365
5461
  for (const [key, builder] of Object.entries(allBuilders)) {
@@ -5375,8 +5471,22 @@ class VmsNamespace {
5375
5471
  /**
5376
5472
  * Create a VM instance by ID without making an api call.
5377
5473
  */
5378
- ref({ vmId }) {
5379
- return new Vm(vmId, this.apiClient);
5474
+ ref({
5475
+ vmId,
5476
+ spec
5477
+ }) {
5478
+ const vm = new Vm(vmId, this.apiClient);
5479
+ if (spec) {
5480
+ const allBuilders = collectSpecBuilders(spec);
5481
+ for (const [key, builder] of Object.entries(allBuilders)) {
5482
+ if (builder) {
5483
+ const instance = builder.createInstance();
5484
+ instance._init(vm);
5485
+ vm[key] = instance;
5486
+ }
5487
+ }
5488
+ }
5489
+ return vm;
5380
5490
  }
5381
5491
  async delete({ vmId }) {
5382
5492
  return this.apiClient.delete("/v1/vms/{vm_id}", {
@@ -5447,6 +5557,9 @@ async function layerTemplates(templates, snapshots) {
5447
5557
  }
5448
5558
  return lastTemplate;
5449
5559
  }
5560
+ function linuxUsernameHeader(linux_username) {
5561
+ return linux_username ? { "X-Freestyle-Vm-Linux-User-Id": linux_username } : void 0;
5562
+ }
5450
5563
 
5451
5564
  class Freestyle {
5452
5565
  apiClient;