@trigger.dev/core 0.0.0-v3-prerelease-20240517090458 → 0.0.0-v3-prerelease-20240606120239

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 (57) hide show
  1. package/dist/catalog-XTlJQaMn.d.mts +202 -0
  2. package/dist/catalog-dRKTgwQ7.d.ts +202 -0
  3. package/dist/index.d.mts +60 -1
  4. package/dist/index.d.ts +60 -1
  5. package/dist/index.js +7 -0
  6. package/dist/index.js.map +1 -1
  7. package/dist/index.mjs +7 -1
  8. package/dist/index.mjs.map +1 -1
  9. package/dist/{manager-WNMVbgHf.d.mts → manager-JkbddlcO.d.mts} +43 -42
  10. package/dist/{manager-WNMVbgHf.d.ts → manager-JkbddlcO.d.ts} +43 -42
  11. package/dist/{messages-vq7Bk4Ap.d.mts → messages-6_-q72KG.d.mts} +5970 -2067
  12. package/dist/{messages-vq7Bk4Ap.d.ts → messages-6_-q72KG.d.ts} +5970 -2067
  13. package/dist/{catalog-KbyTBoap.d.ts → schemas-r4ZP9S-F.d.mts} +22 -187
  14. package/dist/{catalog-ck7x04PV.d.mts → schemas-r4ZP9S-F.d.ts} +22 -187
  15. package/dist/v3/dev/index.d.mts +2 -2
  16. package/dist/v3/dev/index.d.ts +2 -2
  17. package/dist/v3/dev/index.js +4 -4
  18. package/dist/v3/dev/index.js.map +1 -1
  19. package/dist/v3/dev/index.mjs +4 -4
  20. package/dist/v3/dev/index.mjs.map +1 -1
  21. package/dist/v3/index.d.mts +684 -113
  22. package/dist/v3/index.d.ts +684 -113
  23. package/dist/v3/index.js +1501 -698
  24. package/dist/v3/index.js.map +1 -1
  25. package/dist/v3/index.mjs +1484 -697
  26. package/dist/v3/index.mjs.map +1 -1
  27. package/dist/v3/otel/index.js +1 -1
  28. package/dist/v3/otel/index.js.map +1 -1
  29. package/dist/v3/otel/index.mjs +1 -1
  30. package/dist/v3/otel/index.mjs.map +1 -1
  31. package/dist/v3/prod/index.d.mts +3 -3
  32. package/dist/v3/prod/index.d.ts +3 -3
  33. package/dist/v3/prod/index.js +90 -15
  34. package/dist/v3/prod/index.js.map +1 -1
  35. package/dist/v3/prod/index.mjs +90 -15
  36. package/dist/v3/prod/index.mjs.map +1 -1
  37. package/dist/v3/workers/index.d.mts +6 -5
  38. package/dist/v3/workers/index.d.ts +6 -5
  39. package/dist/v3/workers/index.js +658 -52
  40. package/dist/v3/workers/index.js.map +1 -1
  41. package/dist/v3/workers/index.mjs +658 -52
  42. package/dist/v3/workers/index.mjs.map +1 -1
  43. package/dist/v3/zodNamespace.js +16 -6
  44. package/dist/v3/zodNamespace.js.map +1 -1
  45. package/dist/v3/zodNamespace.mjs +17 -7
  46. package/dist/v3/zodNamespace.mjs.map +1 -1
  47. package/dist/v3/zodSocket.js +16 -6
  48. package/dist/v3/zodSocket.js.map +1 -1
  49. package/dist/v3/zodSocket.mjs +17 -7
  50. package/dist/v3/zodSocket.mjs.map +1 -1
  51. package/dist/v3/zodfetch.d.mts +262 -0
  52. package/dist/v3/zodfetch.d.ts +262 -0
  53. package/dist/v3/zodfetch.js +744 -0
  54. package/dist/v3/zodfetch.js.map +1 -0
  55. package/dist/v3/zodfetch.mjs +716 -0
  56. package/dist/v3/zodfetch.mjs.map +1 -0
  57. package/package.json +15 -6
@@ -1,6 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var api = require('@opentelemetry/api');
4
+ var zod = require('zod');
4
5
  var apiLogs = require('@opentelemetry/api-logs');
5
6
  var exporterLogsOtlpHttp = require('@opentelemetry/exporter-logs-otlp-http');
6
7
  var exporterTraceOtlpHttp = require('@opentelemetry/exporter-trace-otlp-http');
@@ -9,8 +10,9 @@ var resources = require('@opentelemetry/resources');
9
10
  var sdkLogs = require('@opentelemetry/sdk-logs');
10
11
  var sdkTraceNode = require('@opentelemetry/sdk-trace-node');
11
12
  var semanticConventions = require('@opentelemetry/semantic-conventions');
12
- var zod = require('zod');
13
13
  var zodValidationError = require('zod-validation-error');
14
+ var formDataEncoder = require('form-data-encoder');
15
+ var stream = require('stream');
14
16
  var preciseDate = require('@google-cloud/precise-date');
15
17
  var util = require('util');
16
18
 
@@ -42,8 +44,6 @@ var __privateMethod = (obj, member, method) => {
42
44
  __accessCheck(obj, member, "access private method");
43
45
  return method;
44
46
  };
45
-
46
- // src/v3/errors.ts
47
47
  function parseError(error) {
48
48
  if (error instanceof Error) {
49
49
  return {
@@ -72,6 +72,11 @@ function parseError(error) {
72
72
  }
73
73
  }
74
74
  __name(parseError, "parseError");
75
+ var SerializedError = zod.z.object({
76
+ message: zod.z.string(),
77
+ name: zod.z.string().optional(),
78
+ stackTrace: zod.z.string().optional()
79
+ });
75
80
 
76
81
  // src/v3/limits.ts
77
82
  var OTEL_SPAN_ATTRIBUTE_COUNT_LIMIT = 256;
@@ -356,7 +361,7 @@ function getEnvVar(name) {
356
361
  __name(getEnvVar, "getEnvVar");
357
362
 
358
363
  // package.json
359
- var version = "0.0.0-v3-prerelease-20240517090458";
364
+ var version = "0.0.0-v3-prerelease-20240606120239";
360
365
 
361
366
  // src/v3/otel/tracingSDK.ts
362
367
  var _a;
@@ -526,6 +531,7 @@ var TaskRunErrorCodes = {
526
531
  TASK_EXECUTION_FAILED: "TASK_EXECUTION_FAILED",
527
532
  TASK_EXECUTION_ABORTED: "TASK_EXECUTION_ABORTED",
528
533
  TASK_PROCESS_EXITED_WITH_NON_ZERO_CODE: "TASK_PROCESS_EXITED_WITH_NON_ZERO_CODE",
534
+ TASK_PROCESS_SIGKILL_TIMEOUT: "TASK_PROCESS_SIGKILL_TIMEOUT",
529
535
  TASK_RUN_CANCELLED: "TASK_RUN_CANCELLED",
530
536
  TASK_OUTPUT_ERROR: "TASK_OUTPUT_ERROR",
531
537
  HANDLE_ERROR_ERROR: "HANDLE_ERROR_ERROR",
@@ -541,10 +547,12 @@ var TaskRunInternalError = zod.z.object({
541
547
  "TASK_EXECUTION_FAILED",
542
548
  "TASK_EXECUTION_ABORTED",
543
549
  "TASK_PROCESS_EXITED_WITH_NON_ZERO_CODE",
550
+ "TASK_PROCESS_SIGKILL_TIMEOUT",
544
551
  "TASK_RUN_CANCELLED",
545
552
  "TASK_OUTPUT_ERROR",
546
553
  "HANDLE_ERROR_ERROR",
547
- "GRACEFUL_EXIT_TIMEOUT"
554
+ "GRACEFUL_EXIT_TIMEOUT",
555
+ "TASK_RUN_HEARTBEAT_TIMEOUT"
548
556
  ]),
549
557
  message: zod.z.string().optional()
550
558
  });
@@ -794,7 +802,7 @@ var QueueOptions = zod.z.object({
794
802
  /** @deprecated This feature is coming soon */
795
803
  rateLimit: RateLimitOptions.optional()
796
804
  });
797
- var TaskMetadata = zod.z.object({
805
+ zod.z.object({
798
806
  id: zod.z.string(),
799
807
  packageVersion: zod.z.string(),
800
808
  queue: QueueOptions.optional(),
@@ -802,11 +810,20 @@ var TaskMetadata = zod.z.object({
802
810
  machine: Machine.partial().optional(),
803
811
  triggerSource: zod.z.string().optional()
804
812
  });
805
- var TaskFileMetadata = zod.z.object({
813
+ zod.z.object({
814
+ filePath: zod.z.string(),
815
+ exportName: zod.z.string()
816
+ });
817
+ zod.z.object({
818
+ id: zod.z.string(),
819
+ packageVersion: zod.z.string(),
820
+ queue: QueueOptions.optional(),
821
+ retry: RetryOptions.optional(),
822
+ machine: Machine.partial().optional(),
823
+ triggerSource: zod.z.string().optional(),
806
824
  filePath: zod.z.string(),
807
825
  exportName: zod.z.string()
808
826
  });
809
- TaskMetadata.merge(TaskFileMetadata);
810
827
  zod.z.enum([
811
828
  "index",
812
829
  "create",
@@ -847,6 +864,13 @@ zod.z.enum([
847
864
  "WAIT_FOR_TASK",
848
865
  "WAIT_FOR_BATCH"
849
866
  ]);
867
+ zod.z.object({
868
+ runId: zod.z.string(),
869
+ messageId: zod.z.string(),
870
+ isTest: zod.z.boolean(),
871
+ traceContext: zod.z.record(zod.z.unknown()),
872
+ environment: zod.z.record(zod.z.string()).optional()
873
+ });
850
874
 
851
875
  // src/v3/schemas/resources.ts
852
876
  var TaskResource = zod.z.object({
@@ -896,7 +920,8 @@ zod.z.object({
896
920
  });
897
921
  zod.z.object({
898
922
  localOnly: zod.z.boolean(),
899
- metadata: BackgroundWorkerMetadata
923
+ metadata: BackgroundWorkerMetadata,
924
+ supportsLazyAttempts: zod.z.boolean().optional()
900
925
  });
901
926
  zod.z.object({
902
927
  id: zod.z.string(),
@@ -1009,7 +1034,7 @@ var ReplayRunResponse = zod.z.object({
1009
1034
  id: zod.z.string()
1010
1035
  });
1011
1036
  var CanceledRunResponse = zod.z.object({
1012
- message: zod.z.string()
1037
+ id: zod.z.string()
1013
1038
  });
1014
1039
  zod.z.object({
1015
1040
  /** The schedule id associated with this run (you can have many schedules for the same task).
@@ -1058,17 +1083,18 @@ zod.z.object({
1058
1083
  */
1059
1084
  externalId: zod.z.string().optional()
1060
1085
  });
1086
+ var ScheduleGenerator = zod.z.object({
1087
+ type: zod.z.literal("CRON"),
1088
+ expression: zod.z.string(),
1089
+ description: zod.z.string()
1090
+ });
1061
1091
  var ScheduleObject = zod.z.object({
1062
1092
  id: zod.z.string(),
1063
1093
  task: zod.z.string(),
1064
1094
  active: zod.z.boolean(),
1065
1095
  deduplicationKey: zod.z.string().nullish(),
1066
1096
  externalId: zod.z.string().nullish(),
1067
- generator: zod.z.object({
1068
- type: zod.z.literal("CRON"),
1069
- expression: zod.z.string(),
1070
- description: zod.z.string()
1071
- }),
1097
+ generator: ScheduleGenerator,
1072
1098
  nextRun: zod.z.coerce.date().nullish(),
1073
1099
  environments: zod.z.array(zod.z.object({
1074
1100
  id: zod.z.string(),
@@ -1079,7 +1105,7 @@ var ScheduleObject = zod.z.object({
1079
1105
  var DeletedScheduleObject = zod.z.object({
1080
1106
  id: zod.z.string()
1081
1107
  });
1082
- var ListSchedulesResult = zod.z.object({
1108
+ zod.z.object({
1083
1109
  data: zod.z.array(ScheduleObject),
1084
1110
  pagination: zod.z.object({
1085
1111
  currentPage: zod.z.number(),
@@ -1092,12 +1118,28 @@ zod.z.object({
1092
1118
  perPage: zod.z.number().optional()
1093
1119
  });
1094
1120
  var RunStatus = zod.z.enum([
1095
- "PENDING",
1121
+ /// Task hasn't been deployed yet but is waiting to be executed
1122
+ "WAITING_FOR_DEPLOY",
1123
+ /// Task is waiting to be executed by a worker
1124
+ "QUEUED",
1125
+ /// Task is currently being executed by a worker
1096
1126
  "EXECUTING",
1097
- "PAUSED",
1127
+ /// Task has failed and is waiting to be retried
1128
+ "REATTEMPTING",
1129
+ /// Task has been paused by the system, and will be resumed by the system
1130
+ "FROZEN",
1131
+ /// Task has been completed successfully
1098
1132
  "COMPLETED",
1133
+ /// Task has been canceled by the user
1134
+ "CANCELED",
1135
+ /// Task has been completed with errors
1099
1136
  "FAILED",
1100
- "CANCELED"
1137
+ /// Task has crashed and won't be retried, most likely the worker ran out of resources, e.g. memory or storage
1138
+ "CRASHED",
1139
+ /// Task was interrupted during execution, mostly this happens in development environments
1140
+ "INTERRUPTED",
1141
+ /// Task has failed to complete, due to an error in the system
1142
+ "SYSTEM_FAILURE"
1101
1143
  ]);
1102
1144
  var AttemptStatus = zod.z.enum([
1103
1145
  "PENDING",
@@ -1107,28 +1149,88 @@ var AttemptStatus = zod.z.enum([
1107
1149
  "FAILED",
1108
1150
  "CANCELED"
1109
1151
  ]);
1110
- var RetrieveRunResponse = zod.z.object({
1152
+ var RunEnvironmentDetails = zod.z.object({
1153
+ id: zod.z.string(),
1154
+ name: zod.z.string(),
1155
+ user: zod.z.string().optional()
1156
+ });
1157
+ var RunScheduleDetails = zod.z.object({
1158
+ id: zod.z.string(),
1159
+ externalId: zod.z.string().optional(),
1160
+ deduplicationKey: zod.z.string().optional(),
1161
+ generator: ScheduleGenerator
1162
+ });
1163
+ var CommonRunFields = {
1111
1164
  id: zod.z.string(),
1112
1165
  status: RunStatus,
1113
1166
  taskIdentifier: zod.z.string(),
1114
1167
  idempotencyKey: zod.z.string().optional(),
1115
1168
  version: zod.z.string().optional(),
1169
+ isQueued: zod.z.boolean(),
1170
+ isExecuting: zod.z.boolean(),
1171
+ isCompleted: zod.z.boolean(),
1172
+ isSuccess: zod.z.boolean(),
1173
+ isFailed: zod.z.boolean(),
1174
+ isCancelled: zod.z.boolean(),
1175
+ isTest: zod.z.boolean(),
1116
1176
  createdAt: zod.z.coerce.date(),
1117
1177
  updatedAt: zod.z.coerce.date(),
1178
+ startedAt: zod.z.coerce.date().optional(),
1179
+ finishedAt: zod.z.coerce.date().optional()
1180
+ };
1181
+ var RetrieveRunResponse = zod.z.object({
1182
+ ...CommonRunFields,
1183
+ payload: zod.z.any().optional(),
1184
+ output: zod.z.any().optional(),
1185
+ schedule: RunScheduleDetails.optional(),
1118
1186
  attempts: zod.z.array(zod.z.object({
1119
1187
  id: zod.z.string(),
1120
1188
  status: AttemptStatus,
1121
1189
  createdAt: zod.z.coerce.date(),
1122
1190
  updatedAt: zod.z.coerce.date(),
1123
1191
  startedAt: zod.z.coerce.date().optional(),
1124
- completedAt: zod.z.coerce.date().optional()
1192
+ completedAt: zod.z.coerce.date().optional(),
1193
+ error: SerializedError.optional()
1125
1194
  }).optional())
1126
1195
  });
1196
+ var ListRunResponseItem = zod.z.object({
1197
+ ...CommonRunFields,
1198
+ env: RunEnvironmentDetails
1199
+ });
1200
+ zod.z.object({
1201
+ data: zod.z.array(ListRunResponseItem),
1202
+ pagination: zod.z.object({
1203
+ next: zod.z.string().optional(),
1204
+ previous: zod.z.string().optional()
1205
+ })
1206
+ });
1207
+ zod.z.object({
1208
+ name: zod.z.string(),
1209
+ value: zod.z.string()
1210
+ });
1211
+ zod.z.object({
1212
+ value: zod.z.string()
1213
+ });
1214
+ zod.z.object({
1215
+ variables: zod.z.record(zod.z.string()),
1216
+ override: zod.z.boolean().optional()
1217
+ });
1218
+ var EnvironmentVariableResponseBody = zod.z.object({
1219
+ success: zod.z.boolean()
1220
+ });
1221
+ var EnvironmentVariableValue = zod.z.object({
1222
+ value: zod.z.string()
1223
+ });
1224
+ var EnvironmentVariable = zod.z.object({
1225
+ name: zod.z.string(),
1226
+ value: zod.z.string()
1227
+ });
1228
+ var EnvironmentVariables = zod.z.array(EnvironmentVariable);
1127
1229
 
1128
- // src/v3/apiErrors.ts
1129
- var _APIError = class _APIError extends Error {
1230
+ // src/v3/apiClient/errors.ts
1231
+ var _ApiError = class _ApiError extends Error {
1130
1232
  constructor(status, error, message, headers) {
1131
- super(`${_APIError.makeMessage(status, error, message)}`);
1233
+ super(`${_ApiError.makeMessage(status, error, message)}`);
1132
1234
  this.status = status;
1133
1235
  this.headers = headers;
1134
1236
  const data = error;
@@ -1152,7 +1254,7 @@ var _APIError = class _APIError extends Error {
1152
1254
  }
1153
1255
  static generate(status, errorResponse, message, headers) {
1154
1256
  if (!status) {
1155
- return new APIConnectionError({
1257
+ return new ApiConnectionError({
1156
1258
  cause: castToError(errorResponse)
1157
1259
  });
1158
1260
  }
@@ -1181,12 +1283,12 @@ var _APIError = class _APIError extends Error {
1181
1283
  if (status >= 500) {
1182
1284
  return new InternalServerError(status, error, message, headers);
1183
1285
  }
1184
- return new _APIError(status, error, message, headers);
1286
+ return new _ApiError(status, error, message, headers);
1185
1287
  }
1186
1288
  };
1187
- __name(_APIError, "APIError");
1188
- var APIError = _APIError;
1189
- var _APIConnectionError = class _APIConnectionError extends APIError {
1289
+ __name(_ApiError, "ApiError");
1290
+ var ApiError = _ApiError;
1291
+ var _ApiConnectionError = class _ApiConnectionError extends ApiError {
1190
1292
  constructor({ message, cause }) {
1191
1293
  super(void 0, void 0, message || "Connection error.", void 0);
1192
1294
  __publicField(this, "status");
@@ -1194,9 +1296,9 @@ var _APIConnectionError = class _APIConnectionError extends APIError {
1194
1296
  this.cause = cause;
1195
1297
  }
1196
1298
  };
1197
- __name(_APIConnectionError, "APIConnectionError");
1198
- var APIConnectionError = _APIConnectionError;
1199
- var _BadRequestError = class _BadRequestError extends APIError {
1299
+ __name(_ApiConnectionError, "ApiConnectionError");
1300
+ var ApiConnectionError = _ApiConnectionError;
1301
+ var _BadRequestError = class _BadRequestError extends ApiError {
1200
1302
  constructor() {
1201
1303
  super(...arguments);
1202
1304
  __publicField(this, "status", 400);
@@ -1204,7 +1306,7 @@ var _BadRequestError = class _BadRequestError extends APIError {
1204
1306
  };
1205
1307
  __name(_BadRequestError, "BadRequestError");
1206
1308
  var BadRequestError = _BadRequestError;
1207
- var _AuthenticationError = class _AuthenticationError extends APIError {
1309
+ var _AuthenticationError = class _AuthenticationError extends ApiError {
1208
1310
  constructor() {
1209
1311
  super(...arguments);
1210
1312
  __publicField(this, "status", 401);
@@ -1212,7 +1314,7 @@ var _AuthenticationError = class _AuthenticationError extends APIError {
1212
1314
  };
1213
1315
  __name(_AuthenticationError, "AuthenticationError");
1214
1316
  var AuthenticationError = _AuthenticationError;
1215
- var _PermissionDeniedError = class _PermissionDeniedError extends APIError {
1317
+ var _PermissionDeniedError = class _PermissionDeniedError extends ApiError {
1216
1318
  constructor() {
1217
1319
  super(...arguments);
1218
1320
  __publicField(this, "status", 403);
@@ -1220,7 +1322,7 @@ var _PermissionDeniedError = class _PermissionDeniedError extends APIError {
1220
1322
  };
1221
1323
  __name(_PermissionDeniedError, "PermissionDeniedError");
1222
1324
  var PermissionDeniedError = _PermissionDeniedError;
1223
- var _NotFoundError = class _NotFoundError extends APIError {
1325
+ var _NotFoundError = class _NotFoundError extends ApiError {
1224
1326
  constructor() {
1225
1327
  super(...arguments);
1226
1328
  __publicField(this, "status", 404);
@@ -1228,7 +1330,7 @@ var _NotFoundError = class _NotFoundError extends APIError {
1228
1330
  };
1229
1331
  __name(_NotFoundError, "NotFoundError");
1230
1332
  var NotFoundError = _NotFoundError;
1231
- var _ConflictError = class _ConflictError extends APIError {
1333
+ var _ConflictError = class _ConflictError extends ApiError {
1232
1334
  constructor() {
1233
1335
  super(...arguments);
1234
1336
  __publicField(this, "status", 409);
@@ -1236,7 +1338,7 @@ var _ConflictError = class _ConflictError extends APIError {
1236
1338
  };
1237
1339
  __name(_ConflictError, "ConflictError");
1238
1340
  var ConflictError = _ConflictError;
1239
- var _UnprocessableEntityError = class _UnprocessableEntityError extends APIError {
1341
+ var _UnprocessableEntityError = class _UnprocessableEntityError extends ApiError {
1240
1342
  constructor() {
1241
1343
  super(...arguments);
1242
1344
  __publicField(this, "status", 422);
@@ -1244,7 +1346,7 @@ var _UnprocessableEntityError = class _UnprocessableEntityError extends APIError
1244
1346
  };
1245
1347
  __name(_UnprocessableEntityError, "UnprocessableEntityError");
1246
1348
  var UnprocessableEntityError = _UnprocessableEntityError;
1247
- var _RateLimitError = class _RateLimitError extends APIError {
1349
+ var _RateLimitError = class _RateLimitError extends ApiError {
1248
1350
  constructor() {
1249
1351
  super(...arguments);
1250
1352
  __publicField(this, "status", 429);
@@ -1252,7 +1354,7 @@ var _RateLimitError = class _RateLimitError extends APIError {
1252
1354
  };
1253
1355
  __name(_RateLimitError, "RateLimitError");
1254
1356
  var RateLimitError = _RateLimitError;
1255
- var _InternalServerError = class _InternalServerError extends APIError {
1357
+ var _InternalServerError = class _InternalServerError extends ApiError {
1256
1358
  };
1257
1359
  __name(_InternalServerError, "InternalServerError");
1258
1360
  var InternalServerError = _InternalServerError;
@@ -1286,7 +1388,107 @@ function calculateNextRetryDelay(options, attempt) {
1286
1388
  }
1287
1389
  __name(calculateNextRetryDelay, "calculateNextRetryDelay");
1288
1390
 
1289
- // src/v3/zodfetch.ts
1391
+ // src/v3/apiClient/pagination.ts
1392
+ var _CursorPage = class _CursorPage {
1393
+ constructor(data, pagination, pageFetcher) {
1394
+ this.pageFetcher = pageFetcher;
1395
+ this.data = data;
1396
+ this.pagination = pagination;
1397
+ }
1398
+ getPaginatedItems() {
1399
+ return this.data ?? [];
1400
+ }
1401
+ hasNextPage() {
1402
+ return !!this.pagination.next;
1403
+ }
1404
+ hasPreviousPage() {
1405
+ return !!this.pagination.previous;
1406
+ }
1407
+ getNextPage() {
1408
+ if (!this.pagination.next) {
1409
+ throw new Error("No next page available");
1410
+ }
1411
+ return this.pageFetcher({
1412
+ after: this.pagination.next
1413
+ });
1414
+ }
1415
+ getPreviousPage() {
1416
+ if (!this.pagination.previous) {
1417
+ throw new Error("No previous page available");
1418
+ }
1419
+ return this.pageFetcher({
1420
+ before: this.pagination.previous
1421
+ });
1422
+ }
1423
+ async *iterPages() {
1424
+ let page = this;
1425
+ yield page;
1426
+ while (page.hasNextPage()) {
1427
+ page = await page.getNextPage();
1428
+ yield page;
1429
+ }
1430
+ }
1431
+ async *[Symbol.asyncIterator]() {
1432
+ for await (const page of this.iterPages()) {
1433
+ for (const item of page.getPaginatedItems()) {
1434
+ yield item;
1435
+ }
1436
+ }
1437
+ }
1438
+ };
1439
+ __name(_CursorPage, "CursorPage");
1440
+ var CursorPage = _CursorPage;
1441
+ var _OffsetLimitPage = class _OffsetLimitPage {
1442
+ constructor(data, pagination, pageFetcher) {
1443
+ this.pageFetcher = pageFetcher;
1444
+ this.data = data;
1445
+ this.pagination = pagination;
1446
+ }
1447
+ getPaginatedItems() {
1448
+ return this.data ?? [];
1449
+ }
1450
+ hasNextPage() {
1451
+ return this.pagination.currentPage < this.pagination.totalPages;
1452
+ }
1453
+ hasPreviousPage() {
1454
+ return this.pagination.currentPage > 1;
1455
+ }
1456
+ getNextPage() {
1457
+ if (!this.hasNextPage()) {
1458
+ throw new Error("No next page available");
1459
+ }
1460
+ return this.pageFetcher({
1461
+ page: this.pagination.currentPage + 1
1462
+ });
1463
+ }
1464
+ getPreviousPage() {
1465
+ if (!this.hasPreviousPage()) {
1466
+ throw new Error("No previous page available");
1467
+ }
1468
+ return this.pageFetcher({
1469
+ page: this.pagination.currentPage - 1
1470
+ });
1471
+ }
1472
+ async *iterPages() {
1473
+ let page = this;
1474
+ yield page;
1475
+ while (page.hasNextPage()) {
1476
+ page = await page.getNextPage();
1477
+ yield page;
1478
+ }
1479
+ }
1480
+ async *[Symbol.asyncIterator]() {
1481
+ for await (const page of this.iterPages()) {
1482
+ for (const item of page.getPaginatedItems()) {
1483
+ yield item;
1484
+ }
1485
+ }
1486
+ }
1487
+ };
1488
+ __name(_OffsetLimitPage, "OffsetLimitPage");
1489
+ var OffsetLimitPage = _OffsetLimitPage;
1490
+
1491
+ // src/v3/apiClient/core.ts
1290
1492
  var defaultRetryOptions2 = {
1291
1493
  maxAttempts: 3,
1292
1494
  factor: 2,
@@ -1294,13 +1496,91 @@ var defaultRetryOptions2 = {
1294
1496
  maxTimeoutInMs: 6e4,
1295
1497
  randomize: false
1296
1498
  };
1297
- async function zodfetch(schema, url, requestInit, options) {
1298
- return await _doZodFetch(schema, url, requestInit, options);
1499
+ function zodfetch(schema, url, requestInit, options) {
1500
+ return new ApiPromise(_doZodFetch(schema, url, requestInit, options));
1299
1501
  }
1300
1502
  __name(zodfetch, "zodfetch");
1503
+ function zodfetchCursorPage(schema, url, params, requestInit, options) {
1504
+ const query = new URLSearchParams(params.query);
1505
+ if (params.limit) {
1506
+ query.set("page[size]", String(params.limit));
1507
+ }
1508
+ if (params.after) {
1509
+ query.set("page[after]", params.after);
1510
+ }
1511
+ if (params.before) {
1512
+ query.set("page[before]", params.before);
1513
+ }
1514
+ const cursorPageSchema = zod.z.object({
1515
+ data: zod.z.array(schema),
1516
+ pagination: zod.z.object({
1517
+ next: zod.z.string().optional(),
1518
+ previous: zod.z.string().optional()
1519
+ })
1520
+ });
1521
+ const $url = new URL(url);
1522
+ $url.search = query.toString();
1523
+ const fetchResult = _doZodFetch(cursorPageSchema, $url.href, requestInit, options);
1524
+ return new CursorPagePromise(fetchResult, schema, url, params, requestInit, options);
1525
+ }
1526
+ __name(zodfetchCursorPage, "zodfetchCursorPage");
1527
+ function zodfetchOffsetLimitPage(schema, url, params, requestInit, options) {
1528
+ const query = new URLSearchParams(params.query);
1529
+ if (params.limit) {
1530
+ query.set("perPage", String(params.limit));
1531
+ }
1532
+ if (params.page) {
1533
+ query.set("page", String(params.page));
1534
+ }
1535
+ const offsetLimitPageSchema = zod.z.object({
1536
+ data: zod.z.array(schema),
1537
+ pagination: zod.z.object({
1538
+ currentPage: zod.z.coerce.number(),
1539
+ totalPages: zod.z.coerce.number(),
1540
+ count: zod.z.coerce.number()
1541
+ })
1542
+ });
1543
+ const $url = new URL(url);
1544
+ $url.search = query.toString();
1545
+ const fetchResult = _doZodFetch(offsetLimitPageSchema, $url.href, requestInit, options);
1546
+ return new OffsetLimitPagePromise(fetchResult, schema, url, params, requestInit, options);
1547
+ }
1548
+ __name(zodfetchOffsetLimitPage, "zodfetchOffsetLimitPage");
1549
+ function zodupload(schema, url, body, requestInit, options) {
1550
+ const finalRequestInit = createMultipartFormRequestInit(body, requestInit);
1551
+ return new ApiPromise(_doZodFetch(schema, url, finalRequestInit, options));
1552
+ }
1553
+ __name(zodupload, "zodupload");
1554
+ async function createMultipartFormRequestInit(body, requestInit) {
1555
+ const form = await createForm(body);
1556
+ const encoder = new formDataEncoder.FormDataEncoder(form);
1557
+ const finalHeaders = {};
1558
+ for (const [key, value] of Object.entries(requestInit?.headers || {})) {
1559
+ finalHeaders[key] = value;
1560
+ }
1561
+ for (const [key, value] of Object.entries(encoder.headers)) {
1562
+ finalHeaders[key] = value;
1563
+ }
1564
+ finalHeaders["Content-Length"] = String(encoder.contentLength);
1565
+ const finalRequestInit = {
1566
+ ...requestInit,
1567
+ headers: finalHeaders,
1568
+ body: stream.Readable.from(encoder),
1569
+ // @ts-expect-error
1570
+ duplex: "half"
1571
+ };
1572
+ return finalRequestInit;
1573
+ }
1574
+ __name(createMultipartFormRequestInit, "createMultipartFormRequestInit");
1575
+ var createForm = /* @__PURE__ */ __name(async (body) => {
1576
+ const form = new FormData();
1577
+ await Promise.all(Object.entries(body || {}).map(([key, value]) => addFormValue(form, key, value)));
1578
+ return form;
1579
+ }, "createForm");
1301
1580
  async function _doZodFetch(schema, url, requestInit, options, attempt = 1) {
1302
1581
  try {
1303
- const response = await fetch(url, requestInitWithCache(requestInit));
1582
+ const $requestInit = await requestInit;
1583
+ const response = await fetch(url, requestInitWithCache($requestInit));
1304
1584
  const responseHeaders = createResponseHeaders(response.headers);
1305
1585
  if (!response.ok) {
1306
1586
  const retryResult = shouldRetry(response, attempt, options?.retry);
@@ -1311,17 +1591,20 @@ async function _doZodFetch(schema, url, requestInit, options, attempt = 1) {
1311
1591
  const errText = await response.text().catch((e) => castToError2(e).message);
1312
1592
  const errJSON = safeJsonParse(errText);
1313
1593
  const errMessage = errJSON ? void 0 : errText;
1314
- throw APIError.generate(response.status, errJSON, errMessage, responseHeaders);
1594
+ throw ApiError.generate(response.status, errJSON, errMessage, responseHeaders);
1315
1595
  }
1316
1596
  }
1317
1597
  const jsonBody = await response.json();
1318
1598
  const parsedResult = schema.safeParse(jsonBody);
1319
1599
  if (parsedResult.success) {
1320
- return parsedResult.data;
1600
+ return {
1601
+ data: parsedResult.data,
1602
+ response
1603
+ };
1321
1604
  }
1322
1605
  throw zodValidationError.fromZodError(parsedResult.error);
1323
1606
  } catch (error) {
1324
- if (error instanceof APIError) {
1607
+ if (error instanceof ApiError) {
1325
1608
  throw error;
1326
1609
  }
1327
1610
  if (options?.retry) {
@@ -1335,7 +1618,7 @@ async function _doZodFetch(schema, url, requestInit, options, attempt = 1) {
1335
1618
  return await _doZodFetch(schema, url, requestInit, options, attempt + 1);
1336
1619
  }
1337
1620
  }
1338
- throw new APIConnectionError({
1621
+ throw new ApiConnectionError({
1339
1622
  cause: castToError2(error)
1340
1623
  });
1341
1624
  }
@@ -1419,6 +1702,217 @@ function requestInitWithCache(requestInit) {
1419
1702
  }
1420
1703
  }
1421
1704
  __name(requestInitWithCache, "requestInitWithCache");
1705
+ var addFormValue = /* @__PURE__ */ __name(async (form, key, value) => {
1706
+ if (value === void 0)
1707
+ return;
1708
+ if (value == null) {
1709
+ throw new TypeError(`Received null for "${key}"; to pass null in FormData, you must use the string 'null'`);
1710
+ }
1711
+ if (typeof value === "string" || typeof value === "number" || typeof value === "boolean") {
1712
+ form.append(key, String(value));
1713
+ } else if (isUploadable(value) || isBlobLike(value) || value instanceof Buffer || value instanceof ArrayBuffer) {
1714
+ const file = await toFile(value);
1715
+ form.append(key, file);
1716
+ } else if (Array.isArray(value)) {
1717
+ await Promise.all(value.map((entry) => addFormValue(form, key + "[]", entry)));
1718
+ } else if (typeof value === "object") {
1719
+ await Promise.all(Object.entries(value).map(([name, prop]) => addFormValue(form, `${key}[${name}]`, prop)));
1720
+ } else {
1721
+ throw new TypeError(`Invalid value given to form, expected a string, number, boolean, object, Array, File or Blob but got ${value} instead`);
1722
+ }
1723
+ }, "addFormValue");
1724
+ async function toFile(value, name, options) {
1725
+ value = await value;
1726
+ options ??= isFileLike(value) ? {
1727
+ lastModified: value.lastModified,
1728
+ type: value.type
1729
+ } : {};
1730
+ if (isResponseLike(value)) {
1731
+ const blob = await value.blob();
1732
+ name ||= new URL(value.url).pathname.split(/[\\/]/).pop() ?? "unknown_file";
1733
+ return new File([
1734
+ blob
1735
+ ], name, options);
1736
+ }
1737
+ const bits = await getBytes(value);
1738
+ name ||= getName(value) ?? "unknown_file";
1739
+ if (!options.type) {
1740
+ const type = bits[0]?.type;
1741
+ if (typeof type === "string") {
1742
+ options = {
1743
+ ...options,
1744
+ type
1745
+ };
1746
+ }
1747
+ }
1748
+ return new File(bits, name, options);
1749
+ }
1750
+ __name(toFile, "toFile");
1751
+ function getName(value) {
1752
+ return getStringFromMaybeBuffer(value.name) || getStringFromMaybeBuffer(value.filename) || // For fs.ReadStream
1753
+ getStringFromMaybeBuffer(value.path)?.split(/[\\/]/).pop();
1754
+ }
1755
+ __name(getName, "getName");
1756
+ var getStringFromMaybeBuffer = /* @__PURE__ */ __name((x) => {
1757
+ if (typeof x === "string")
1758
+ return x;
1759
+ if (typeof Buffer !== "undefined" && x instanceof Buffer)
1760
+ return String(x);
1761
+ return void 0;
1762
+ }, "getStringFromMaybeBuffer");
1763
+ async function getBytes(value) {
1764
+ let parts = [];
1765
+ if (typeof value === "string" || ArrayBuffer.isView(value) || // includes Uint8Array, Buffer, etc.
1766
+ value instanceof ArrayBuffer) {
1767
+ parts.push(value);
1768
+ } else if (isBlobLike(value)) {
1769
+ parts.push(await value.arrayBuffer());
1770
+ } else if (isAsyncIterableIterator(value)) {
1771
+ for await (const chunk of value) {
1772
+ parts.push(chunk);
1773
+ }
1774
+ } else {
1775
+ throw new Error(`Unexpected data type: ${typeof value}; constructor: ${value?.constructor?.name}; props: ${propsForError(value)}`);
1776
+ }
1777
+ return parts;
1778
+ }
1779
+ __name(getBytes, "getBytes");
1780
+ function propsForError(value) {
1781
+ const props = Object.getOwnPropertyNames(value);
1782
+ return `[${props.map((p) => `"${p}"`).join(", ")}]`;
1783
+ }
1784
+ __name(propsForError, "propsForError");
1785
+ var isAsyncIterableIterator = /* @__PURE__ */ __name((value) => value != null && typeof value === "object" && typeof value[Symbol.asyncIterator] === "function", "isAsyncIterableIterator");
1786
+ var isResponseLike = /* @__PURE__ */ __name((value) => value != null && typeof value === "object" && typeof value.url === "string" && typeof value.blob === "function", "isResponseLike");
1787
+ var isFileLike = /* @__PURE__ */ __name((value) => value != null && typeof value === "object" && typeof value.name === "string" && typeof value.lastModified === "number" && isBlobLike(value), "isFileLike");
1788
+ var isBlobLike = /* @__PURE__ */ __name((value) => value != null && typeof value === "object" && typeof value.size === "number" && typeof value.type === "string" && typeof value.text === "function" && typeof value.slice === "function" && typeof value.arrayBuffer === "function", "isBlobLike");
1789
+ var isFsReadStream = /* @__PURE__ */ __name((value) => value instanceof stream.Readable, "isFsReadStream");
1790
+ var isUploadable = /* @__PURE__ */ __name((value) => {
1791
+ return isFileLike(value) || isResponseLike(value) || isFsReadStream(value);
1792
+ }, "isUploadable");
1793
+ var isRecordLike = /* @__PURE__ */ __name((value) => value != null && typeof value === "object" && !Array.isArray(value) && Object.keys(value).length > 0 && Object.keys(value).every((key) => typeof key === "string" && typeof value[key] === "string"), "isRecordLike");
1794
+ var _ApiPromise = class _ApiPromise extends Promise {
1795
+ constructor(responsePromise) {
1796
+ super((resolve) => {
1797
+ resolve(null);
1798
+ });
1799
+ this.responsePromise = responsePromise;
1800
+ }
1801
+ /**
1802
+ * Gets the raw `Response` instance instead of parsing the response
1803
+ * data.
1804
+ *
1805
+ * If you want to parse the response body but still get the `Response`
1806
+ * instance, you can use {@link withResponse()}.
1807
+ */
1808
+ asResponse() {
1809
+ return this.responsePromise.then((p) => p.response);
1810
+ }
1811
+ /**
1812
+ * Gets the parsed response data and the raw `Response` instance.
1813
+ *
1814
+ * If you just want to get the raw `Response` instance without parsing it,
1815
+ * you can use {@link asResponse()}.
1816
+ */
1817
+ async withResponse() {
1818
+ const [data, response] = await Promise.all([
1819
+ this.parse(),
1820
+ this.asResponse()
1821
+ ]);
1822
+ return {
1823
+ data,
1824
+ response
1825
+ };
1826
+ }
1827
+ parse() {
1828
+ return this.responsePromise.then((result) => result.data);
1829
+ }
1830
+ then(onfulfilled, onrejected) {
1831
+ return this.parse().then(onfulfilled, onrejected);
1832
+ }
1833
+ catch(onrejected) {
1834
+ return this.parse().catch(onrejected);
1835
+ }
1836
+ finally(onfinally) {
1837
+ return this.parse().finally(onfinally);
1838
+ }
1839
+ };
1840
+ __name(_ApiPromise, "ApiPromise");
1841
+ var ApiPromise = _ApiPromise;
1842
+ var _fetchPage, fetchPage_fn;
1843
+ var _CursorPagePromise = class _CursorPagePromise extends ApiPromise {
1844
+ constructor(result, schema, url, params, requestInit, options) {
1845
+ super(result.then((result2) => ({
1846
+ data: new CursorPage(result2.data.data, result2.data.pagination, __privateMethod(this, _fetchPage, fetchPage_fn).bind(this)),
1847
+ response: result2.response
1848
+ })));
1849
+ __privateAdd(this, _fetchPage);
1850
+ this.schema = schema;
1851
+ this.url = url;
1852
+ this.params = params;
1853
+ this.requestInit = requestInit;
1854
+ this.options = options;
1855
+ }
1856
+ /**
1857
+ * Allow auto-paginating iteration on an unawaited list call, eg:
1858
+ *
1859
+ * for await (const item of client.items.list()) {
1860
+ * console.log(item)
1861
+ * }
1862
+ */
1863
+ async *[Symbol.asyncIterator]() {
1864
+ const page = await this;
1865
+ for await (const item of page) {
1866
+ yield item;
1867
+ }
1868
+ }
1869
+ };
1870
+ _fetchPage = new WeakSet();
1871
+ fetchPage_fn = /* @__PURE__ */ __name(function(params) {
1872
+ return zodfetchCursorPage(this.schema, this.url, {
1873
+ ...this.params,
1874
+ ...params
1875
+ }, this.requestInit, this.options);
1876
+ }, "#fetchPage");
1877
+ __name(_CursorPagePromise, "CursorPagePromise");
1878
+ var CursorPagePromise = _CursorPagePromise;
1879
+ var _fetchPage2, fetchPage_fn2;
1880
+ var _OffsetLimitPagePromise = class _OffsetLimitPagePromise extends ApiPromise {
1881
+ constructor(result, schema, url, params, requestInit, options) {
1882
+ super(result.then((result2) => ({
1883
+ data: new OffsetLimitPage(result2.data.data, result2.data.pagination, __privateMethod(this, _fetchPage2, fetchPage_fn2).bind(this)),
1884
+ response: result2.response
1885
+ })));
1886
+ __privateAdd(this, _fetchPage2);
1887
+ this.schema = schema;
1888
+ this.url = url;
1889
+ this.params = params;
1890
+ this.requestInit = requestInit;
1891
+ this.options = options;
1892
+ }
1893
+ /**
1894
+ * Allow auto-paginating iteration on an unawaited list call, eg:
1895
+ *
1896
+ * for await (const item of client.items.list()) {
1897
+ * console.log(item)
1898
+ * }
1899
+ */
1900
+ async *[Symbol.asyncIterator]() {
1901
+ const page = await this;
1902
+ for await (const item of page) {
1903
+ yield item;
1904
+ }
1905
+ }
1906
+ };
1907
+ _fetchPage2 = new WeakSet();
1908
+ fetchPage_fn2 = /* @__PURE__ */ __name(function(params1) {
1909
+ return zodfetchOffsetLimitPage(this.schema, this.url, {
1910
+ ...this.params,
1911
+ ...params1
1912
+ }, this.requestInit, this.options);
1913
+ }, "#fetchPage");
1914
+ __name(_OffsetLimitPagePromise, "OffsetLimitPagePromise");
1915
+ var OffsetLimitPagePromise = _OffsetLimitPagePromise;
1422
1916
 
1423
1917
  // src/v3/apiClient/index.ts
1424
1918
  var zodFetchOptions = {
@@ -1444,7 +1938,7 @@ var _ApiClient = class _ApiClient {
1444
1938
  headers: __privateMethod(this, _getHeaders, getHeaders_fn).call(this, false)
1445
1939
  }, zodFetchOptions);
1446
1940
  } catch (error) {
1447
- if (error instanceof APIError) {
1941
+ if (error instanceof ApiError) {
1448
1942
  if (error.status === 404) {
1449
1943
  return void 0;
1450
1944
  }
@@ -1459,14 +1953,16 @@ var _ApiClient = class _ApiClient {
1459
1953
  }, zodFetchOptions);
1460
1954
  }
1461
1955
  triggerTask(taskId, body, options) {
1462
- return zodfetch(TriggerTaskResponse, `${this.baseUrl}/api/v1/tasks/${taskId}/trigger`, {
1956
+ const encodedTaskId = encodeURIComponent(taskId);
1957
+ return zodfetch(TriggerTaskResponse, `${this.baseUrl}/api/v1/tasks/${encodedTaskId}/trigger`, {
1463
1958
  method: "POST",
1464
1959
  headers: __privateMethod(this, _getHeaders, getHeaders_fn).call(this, options?.spanParentAsLink ?? false),
1465
1960
  body: JSON.stringify(body)
1466
1961
  }, zodFetchOptions);
1467
1962
  }
1468
1963
  batchTriggerTask(taskId, body, options) {
1469
- return zodfetch(BatchTriggerTaskResponse, `${this.baseUrl}/api/v1/tasks/${taskId}/batch`, {
1964
+ const encodedTaskId = encodeURIComponent(taskId);
1965
+ return zodfetch(BatchTriggerTaskResponse, `${this.baseUrl}/api/v1/tasks/${encodedTaskId}/batch`, {
1470
1966
  method: "POST",
1471
1967
  headers: __privateMethod(this, _getHeaders, getHeaders_fn).call(this, options?.spanParentAsLink ?? false),
1472
1968
  body: JSON.stringify(body)
@@ -1490,6 +1986,33 @@ var _ApiClient = class _ApiClient {
1490
1986
  headers: __privateMethod(this, _getHeaders, getHeaders_fn).call(this, false)
1491
1987
  }, zodFetchOptions);
1492
1988
  }
1989
+ listRuns(query) {
1990
+ const searchParams = createSearchQueryForListRuns(query);
1991
+ return zodfetchCursorPage(ListRunResponseItem, `${this.baseUrl}/api/v1/runs`, {
1992
+ query: searchParams,
1993
+ limit: query?.limit,
1994
+ after: query?.after,
1995
+ before: query?.before
1996
+ }, {
1997
+ method: "GET",
1998
+ headers: __privateMethod(this, _getHeaders, getHeaders_fn).call(this, false)
1999
+ }, zodFetchOptions);
2000
+ }
2001
+ listProjectRuns(projectRef, query) {
2002
+ const searchParams = createSearchQueryForListRuns(query);
2003
+ if (query?.env) {
2004
+ searchParams.append("filter[env]", Array.isArray(query.env) ? query.env.join(",") : query.env);
2005
+ }
2006
+ return zodfetchCursorPage(ListRunResponseItem, `${this.baseUrl}/api/v1/projects/${projectRef}/runs`, {
2007
+ query: searchParams,
2008
+ limit: query?.limit,
2009
+ after: query?.after,
2010
+ before: query?.before
2011
+ }, {
2012
+ method: "GET",
2013
+ headers: __privateMethod(this, _getHeaders, getHeaders_fn).call(this, false)
2014
+ }, zodFetchOptions);
2015
+ }
1493
2016
  replayRun(runId) {
1494
2017
  return zodfetch(ReplayRunResponse, `${this.baseUrl}/api/v1/runs/${runId}/replay`, {
1495
2018
  method: "POST",
@@ -1517,7 +2040,10 @@ var _ApiClient = class _ApiClient {
1517
2040
  if (options?.perPage) {
1518
2041
  searchParams.append("perPage", options.perPage.toString());
1519
2042
  }
1520
- return zodfetch(ListSchedulesResult, `${this.baseUrl}/api/v1/schedules${searchParams.size > 0 ? `?${searchParams}` : ""}`, {
2043
+ return zodfetchOffsetLimitPage(ScheduleObject, `${this.baseUrl}/api/v1/schedules`, {
2044
+ page: options?.page,
2045
+ limit: options?.perPage
2046
+ }, {
1521
2047
  method: "GET",
1522
2048
  headers: __privateMethod(this, _getHeaders, getHeaders_fn).call(this, false)
1523
2049
  });
@@ -1553,6 +2079,52 @@ var _ApiClient = class _ApiClient {
1553
2079
  headers: __privateMethod(this, _getHeaders, getHeaders_fn).call(this, false)
1554
2080
  });
1555
2081
  }
2082
+ listEnvVars(projectRef, slug) {
2083
+ return zodfetch(EnvironmentVariables, `${this.baseUrl}/api/v1/projects/${projectRef}/envvars/${slug}`, {
2084
+ method: "GET",
2085
+ headers: __privateMethod(this, _getHeaders, getHeaders_fn).call(this, false)
2086
+ });
2087
+ }
2088
+ importEnvVars(projectRef, slug, body) {
2089
+ if (isRecordLike(body.variables)) {
2090
+ return zodfetch(EnvironmentVariableResponseBody, `${this.baseUrl}/api/v1/projects/${projectRef}/envvars/${slug}/import`, {
2091
+ method: "POST",
2092
+ headers: __privateMethod(this, _getHeaders, getHeaders_fn).call(this, false),
2093
+ body: JSON.stringify(body)
2094
+ });
2095
+ } else {
2096
+ return zodupload(EnvironmentVariableResponseBody, `${this.baseUrl}/api/v1/projects/${projectRef}/envvars/${slug}/import`, body, {
2097
+ method: "POST",
2098
+ headers: __privateMethod(this, _getHeaders, getHeaders_fn).call(this, false)
2099
+ });
2100
+ }
2101
+ }
2102
+ retrieveEnvVar(projectRef, slug, key) {
2103
+ return zodfetch(EnvironmentVariableValue, `${this.baseUrl}/api/v1/projects/${projectRef}/envvars/${slug}/${key}`, {
2104
+ method: "GET",
2105
+ headers: __privateMethod(this, _getHeaders, getHeaders_fn).call(this, false)
2106
+ });
2107
+ }
2108
+ createEnvVar(projectRef, slug, body) {
2109
+ return zodfetch(EnvironmentVariableResponseBody, `${this.baseUrl}/api/v1/projects/${projectRef}/envvars/${slug}`, {
2110
+ method: "POST",
2111
+ headers: __privateMethod(this, _getHeaders, getHeaders_fn).call(this, false),
2112
+ body: JSON.stringify(body)
2113
+ });
2114
+ }
2115
+ updateEnvVar(projectRef, slug, key, body) {
2116
+ return zodfetch(EnvironmentVariableResponseBody, `${this.baseUrl}/api/v1/projects/${projectRef}/envvars/${slug}/${key}`, {
2117
+ method: "PUT",
2118
+ headers: __privateMethod(this, _getHeaders, getHeaders_fn).call(this, false),
2119
+ body: JSON.stringify(body)
2120
+ });
2121
+ }
2122
+ deleteEnvVar(projectRef, slug, key) {
2123
+ return zodfetch(EnvironmentVariableResponseBody, `${this.baseUrl}/api/v1/projects/${projectRef}/envvars/${slug}/${key}`, {
2124
+ method: "DELETE",
2125
+ headers: __privateMethod(this, _getHeaders, getHeaders_fn).call(this, false)
2126
+ });
2127
+ }
1556
2128
  };
1557
2129
  _getHeaders = new WeakSet();
1558
2130
  getHeaders_fn = /* @__PURE__ */ __name(function(spanParentAsLink) {
@@ -1572,6 +2144,40 @@ getHeaders_fn = /* @__PURE__ */ __name(function(spanParentAsLink) {
1572
2144
  }, "#getHeaders");
1573
2145
  __name(_ApiClient, "ApiClient");
1574
2146
  var ApiClient = _ApiClient;
2147
+ function createSearchQueryForListRuns(query) {
2148
+ const searchParams = new URLSearchParams();
2149
+ if (query) {
2150
+ if (query.status) {
2151
+ searchParams.append("filter[status]", Array.isArray(query.status) ? query.status.join(",") : query.status);
2152
+ }
2153
+ if (query.taskIdentifier) {
2154
+ searchParams.append("filter[taskIdentifier]", Array.isArray(query.taskIdentifier) ? query.taskIdentifier.join(",") : query.taskIdentifier);
2155
+ }
2156
+ if (query.version) {
2157
+ searchParams.append("filter[version]", Array.isArray(query.version) ? query.version.join(",") : query.version);
2158
+ }
2159
+ if (query.bulkAction) {
2160
+ searchParams.append("filter[bulkAction]", query.bulkAction);
2161
+ }
2162
+ if (query.schedule) {
2163
+ searchParams.append("filter[schedule]", query.schedule);
2164
+ }
2165
+ if (typeof query.isTest === "boolean") {
2166
+ searchParams.append("filter[isTest]", String(query.isTest));
2167
+ }
2168
+ if (query.from) {
2169
+ searchParams.append("filter[createdAt][from]", query.from instanceof Date ? query.from.getTime().toString() : query.from.toString());
2170
+ }
2171
+ if (query.to) {
2172
+ searchParams.append("filter[createdAt][to]", query.to instanceof Date ? query.to.getTime().toString() : query.to.toString());
2173
+ }
2174
+ if (query.period) {
2175
+ searchParams.append("filter[createdAt][period]", query.period);
2176
+ }
2177
+ }
2178
+ return searchParams;
2179
+ }
2180
+ __name(createSearchQueryForListRuns, "createSearchQueryForListRuns");
1575
2181
 
1576
2182
  // src/v3/apiClientManager/index.ts
1577
2183
  var API_NAME2 = "api-client";
@@ -1598,7 +2204,7 @@ var _APIClientManagerAPI = class _APIClientManagerAPI {
1598
2204
  }
1599
2205
  get accessToken() {
1600
2206
  const store = __privateMethod(this, _getConfig, getConfig_fn).call(this);
1601
- return store?.secretKey ?? getEnvVar("TRIGGER_SECRET_KEY");
2207
+ return store?.secretKey ?? getEnvVar("TRIGGER_SECRET_KEY") ?? getEnvVar("TRIGGER_ACCESS_TOKEN");
1602
2208
  }
1603
2209
  get client() {
1604
2210
  if (!this.baseURL || !this.accessToken) {