@trigger.dev/core 3.0.0-beta.35 → 3.0.0-beta.36

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 (37) hide show
  1. package/dist/{catalog-BUwiuDbt.d.mts → catalog-XTlJQaMn.d.mts} +3 -3
  2. package/dist/{catalog-eKgqBHUA.d.ts → catalog-dRKTgwQ7.d.ts} +3 -3
  3. package/dist/{manager-uPyMRN8k.d.mts → manager-JkbddlcO.d.mts} +19 -19
  4. package/dist/{manager-uPyMRN8k.d.ts → manager-JkbddlcO.d.ts} +19 -19
  5. package/dist/{messages-l9PdIyKF.d.mts → messages-6_-q72KG.d.mts} +119 -119
  6. package/dist/{messages-l9PdIyKF.d.ts → messages-6_-q72KG.d.ts} +119 -119
  7. package/dist/{schemas-b8tRw8dX.d.mts → schemas-r4ZP9S-F.d.mts} +2 -2
  8. package/dist/{schemas-b8tRw8dX.d.ts → schemas-r4ZP9S-F.d.ts} +2 -2
  9. package/dist/v3/dev/index.d.mts +1 -1
  10. package/dist/v3/dev/index.d.ts +1 -1
  11. package/dist/v3/index.d.mts +579 -122
  12. package/dist/v3/index.d.ts +579 -122
  13. package/dist/v3/index.js +739 -319
  14. package/dist/v3/index.js.map +1 -1
  15. package/dist/v3/index.mjs +730 -318
  16. package/dist/v3/index.mjs.map +1 -1
  17. package/dist/v3/otel/index.js +1 -1
  18. package/dist/v3/otel/index.js.map +1 -1
  19. package/dist/v3/otel/index.mjs +1 -1
  20. package/dist/v3/otel/index.mjs.map +1 -1
  21. package/dist/v3/prod/index.d.mts +2 -2
  22. package/dist/v3/prod/index.d.ts +2 -2
  23. package/dist/v3/workers/index.d.mts +6 -6
  24. package/dist/v3/workers/index.d.ts +6 -6
  25. package/dist/v3/workers/index.js +463 -51
  26. package/dist/v3/workers/index.js.map +1 -1
  27. package/dist/v3/workers/index.mjs +463 -51
  28. package/dist/v3/workers/index.mjs.map +1 -1
  29. package/dist/v3/zodMessageHandler.d.mts +1 -1
  30. package/dist/v3/zodMessageHandler.d.ts +1 -1
  31. package/dist/v3/zodfetch.d.mts +194 -10
  32. package/dist/v3/zodfetch.d.ts +194 -10
  33. package/dist/v3/zodfetch.js +336 -38
  34. package/dist/v3/zodfetch.js.map +1 -1
  35. package/dist/v3/zodfetch.mjs +320 -37
  36. package/dist/v3/zodfetch.mjs.map +1 -1
  37. package/package.json +1 -1
@@ -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,7 +10,6 @@ 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
14
  var formDataEncoder = require('form-data-encoder');
15
15
  var stream = require('stream');
@@ -44,8 +44,6 @@ var __privateMethod = (obj, member, method) => {
44
44
  __accessCheck(obj, member, "access private method");
45
45
  return method;
46
46
  };
47
-
48
- // src/v3/errors.ts
49
47
  function parseError(error) {
50
48
  if (error instanceof Error) {
51
49
  return {
@@ -74,6 +72,11 @@ function parseError(error) {
74
72
  }
75
73
  }
76
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
+ });
77
80
 
78
81
  // src/v3/limits.ts
79
82
  var OTEL_SPAN_ATTRIBUTE_COUNT_LIMIT = 256;
@@ -358,7 +361,7 @@ function getEnvVar(name) {
358
361
  __name(getEnvVar, "getEnvVar");
359
362
 
360
363
  // package.json
361
- var version = "3.0.0-beta.35";
364
+ var version = "3.0.0-beta.36";
362
365
 
363
366
  // src/v3/otel/tracingSDK.ts
364
367
  var _a;
@@ -799,7 +802,7 @@ var QueueOptions = zod.z.object({
799
802
  /** @deprecated This feature is coming soon */
800
803
  rateLimit: RateLimitOptions.optional()
801
804
  });
802
- var TaskMetadata = zod.z.object({
805
+ zod.z.object({
803
806
  id: zod.z.string(),
804
807
  packageVersion: zod.z.string(),
805
808
  queue: QueueOptions.optional(),
@@ -807,11 +810,20 @@ var TaskMetadata = zod.z.object({
807
810
  machine: Machine.partial().optional(),
808
811
  triggerSource: zod.z.string().optional()
809
812
  });
810
- 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(),
811
824
  filePath: zod.z.string(),
812
825
  exportName: zod.z.string()
813
826
  });
814
- TaskMetadata.merge(TaskFileMetadata);
815
827
  zod.z.enum([
816
828
  "index",
817
829
  "create",
@@ -1022,7 +1034,7 @@ var ReplayRunResponse = zod.z.object({
1022
1034
  id: zod.z.string()
1023
1035
  });
1024
1036
  var CanceledRunResponse = zod.z.object({
1025
- message: zod.z.string()
1037
+ id: zod.z.string()
1026
1038
  });
1027
1039
  zod.z.object({
1028
1040
  /** The schedule id associated with this run (you can have many schedules for the same task).
@@ -1071,17 +1083,18 @@ zod.z.object({
1071
1083
  */
1072
1084
  externalId: zod.z.string().optional()
1073
1085
  });
1086
+ var ScheduleGenerator = zod.z.object({
1087
+ type: zod.z.literal("CRON"),
1088
+ expression: zod.z.string(),
1089
+ description: zod.z.string()
1090
+ });
1074
1091
  var ScheduleObject = zod.z.object({
1075
1092
  id: zod.z.string(),
1076
1093
  task: zod.z.string(),
1077
1094
  active: zod.z.boolean(),
1078
1095
  deduplicationKey: zod.z.string().nullish(),
1079
1096
  externalId: zod.z.string().nullish(),
1080
- generator: zod.z.object({
1081
- type: zod.z.literal("CRON"),
1082
- expression: zod.z.string(),
1083
- description: zod.z.string()
1084
- }),
1097
+ generator: ScheduleGenerator,
1085
1098
  nextRun: zod.z.coerce.date().nullish(),
1086
1099
  environments: zod.z.array(zod.z.object({
1087
1100
  id: zod.z.string(),
@@ -1092,7 +1105,7 @@ var ScheduleObject = zod.z.object({
1092
1105
  var DeletedScheduleObject = zod.z.object({
1093
1106
  id: zod.z.string()
1094
1107
  });
1095
- var ListSchedulesResult = zod.z.object({
1108
+ zod.z.object({
1096
1109
  data: zod.z.array(ScheduleObject),
1097
1110
  pagination: zod.z.object({
1098
1111
  currentPage: zod.z.number(),
@@ -1105,12 +1118,28 @@ zod.z.object({
1105
1118
  perPage: zod.z.number().optional()
1106
1119
  });
1107
1120
  var RunStatus = zod.z.enum([
1108
- "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
1109
1126
  "EXECUTING",
1110
- "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
1111
1132
  "COMPLETED",
1133
+ /// Task has been canceled by the user
1134
+ "CANCELED",
1135
+ /// Task has been completed with errors
1112
1136
  "FAILED",
1113
- "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"
1114
1143
  ]);
1115
1144
  var AttemptStatus = zod.z.enum([
1116
1145
  "PENDING",
@@ -1120,23 +1149,61 @@ var AttemptStatus = zod.z.enum([
1120
1149
  "FAILED",
1121
1150
  "CANCELED"
1122
1151
  ]);
1123
- 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 = {
1124
1164
  id: zod.z.string(),
1125
1165
  status: RunStatus,
1126
1166
  taskIdentifier: zod.z.string(),
1127
1167
  idempotencyKey: zod.z.string().optional(),
1128
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(),
1129
1176
  createdAt: zod.z.coerce.date(),
1130
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(),
1131
1186
  attempts: zod.z.array(zod.z.object({
1132
1187
  id: zod.z.string(),
1133
1188
  status: AttemptStatus,
1134
1189
  createdAt: zod.z.coerce.date(),
1135
1190
  updatedAt: zod.z.coerce.date(),
1136
1191
  startedAt: zod.z.coerce.date().optional(),
1137
- completedAt: zod.z.coerce.date().optional()
1192
+ completedAt: zod.z.coerce.date().optional(),
1193
+ error: SerializedError.optional()
1138
1194
  }).optional())
1139
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
+ });
1140
1207
  zod.z.object({
1141
1208
  name: zod.z.string(),
1142
1209
  value: zod.z.string()
@@ -1160,10 +1227,10 @@ var EnvironmentVariable = zod.z.object({
1160
1227
  });
1161
1228
  var EnvironmentVariables = zod.z.array(EnvironmentVariable);
1162
1229
 
1163
- // src/v3/apiErrors.ts
1164
- var _APIError = class _APIError extends Error {
1230
+ // src/v3/apiClient/errors.ts
1231
+ var _ApiError = class _ApiError extends Error {
1165
1232
  constructor(status, error, message, headers) {
1166
- super(`${_APIError.makeMessage(status, error, message)}`);
1233
+ super(`${_ApiError.makeMessage(status, error, message)}`);
1167
1234
  this.status = status;
1168
1235
  this.headers = headers;
1169
1236
  const data = error;
@@ -1187,7 +1254,7 @@ var _APIError = class _APIError extends Error {
1187
1254
  }
1188
1255
  static generate(status, errorResponse, message, headers) {
1189
1256
  if (!status) {
1190
- return new APIConnectionError({
1257
+ return new ApiConnectionError({
1191
1258
  cause: castToError(errorResponse)
1192
1259
  });
1193
1260
  }
@@ -1216,12 +1283,12 @@ var _APIError = class _APIError extends Error {
1216
1283
  if (status >= 500) {
1217
1284
  return new InternalServerError(status, error, message, headers);
1218
1285
  }
1219
- return new _APIError(status, error, message, headers);
1286
+ return new _ApiError(status, error, message, headers);
1220
1287
  }
1221
1288
  };
1222
- __name(_APIError, "APIError");
1223
- var APIError = _APIError;
1224
- var _APIConnectionError = class _APIConnectionError extends APIError {
1289
+ __name(_ApiError, "ApiError");
1290
+ var ApiError = _ApiError;
1291
+ var _ApiConnectionError = class _ApiConnectionError extends ApiError {
1225
1292
  constructor({ message, cause }) {
1226
1293
  super(void 0, void 0, message || "Connection error.", void 0);
1227
1294
  __publicField(this, "status");
@@ -1229,9 +1296,9 @@ var _APIConnectionError = class _APIConnectionError extends APIError {
1229
1296
  this.cause = cause;
1230
1297
  }
1231
1298
  };
1232
- __name(_APIConnectionError, "APIConnectionError");
1233
- var APIConnectionError = _APIConnectionError;
1234
- var _BadRequestError = class _BadRequestError extends APIError {
1299
+ __name(_ApiConnectionError, "ApiConnectionError");
1300
+ var ApiConnectionError = _ApiConnectionError;
1301
+ var _BadRequestError = class _BadRequestError extends ApiError {
1235
1302
  constructor() {
1236
1303
  super(...arguments);
1237
1304
  __publicField(this, "status", 400);
@@ -1239,7 +1306,7 @@ var _BadRequestError = class _BadRequestError extends APIError {
1239
1306
  };
1240
1307
  __name(_BadRequestError, "BadRequestError");
1241
1308
  var BadRequestError = _BadRequestError;
1242
- var _AuthenticationError = class _AuthenticationError extends APIError {
1309
+ var _AuthenticationError = class _AuthenticationError extends ApiError {
1243
1310
  constructor() {
1244
1311
  super(...arguments);
1245
1312
  __publicField(this, "status", 401);
@@ -1247,7 +1314,7 @@ var _AuthenticationError = class _AuthenticationError extends APIError {
1247
1314
  };
1248
1315
  __name(_AuthenticationError, "AuthenticationError");
1249
1316
  var AuthenticationError = _AuthenticationError;
1250
- var _PermissionDeniedError = class _PermissionDeniedError extends APIError {
1317
+ var _PermissionDeniedError = class _PermissionDeniedError extends ApiError {
1251
1318
  constructor() {
1252
1319
  super(...arguments);
1253
1320
  __publicField(this, "status", 403);
@@ -1255,7 +1322,7 @@ var _PermissionDeniedError = class _PermissionDeniedError extends APIError {
1255
1322
  };
1256
1323
  __name(_PermissionDeniedError, "PermissionDeniedError");
1257
1324
  var PermissionDeniedError = _PermissionDeniedError;
1258
- var _NotFoundError = class _NotFoundError extends APIError {
1325
+ var _NotFoundError = class _NotFoundError extends ApiError {
1259
1326
  constructor() {
1260
1327
  super(...arguments);
1261
1328
  __publicField(this, "status", 404);
@@ -1263,7 +1330,7 @@ var _NotFoundError = class _NotFoundError extends APIError {
1263
1330
  };
1264
1331
  __name(_NotFoundError, "NotFoundError");
1265
1332
  var NotFoundError = _NotFoundError;
1266
- var _ConflictError = class _ConflictError extends APIError {
1333
+ var _ConflictError = class _ConflictError extends ApiError {
1267
1334
  constructor() {
1268
1335
  super(...arguments);
1269
1336
  __publicField(this, "status", 409);
@@ -1271,7 +1338,7 @@ var _ConflictError = class _ConflictError extends APIError {
1271
1338
  };
1272
1339
  __name(_ConflictError, "ConflictError");
1273
1340
  var ConflictError = _ConflictError;
1274
- var _UnprocessableEntityError = class _UnprocessableEntityError extends APIError {
1341
+ var _UnprocessableEntityError = class _UnprocessableEntityError extends ApiError {
1275
1342
  constructor() {
1276
1343
  super(...arguments);
1277
1344
  __publicField(this, "status", 422);
@@ -1279,7 +1346,7 @@ var _UnprocessableEntityError = class _UnprocessableEntityError extends APIError
1279
1346
  };
1280
1347
  __name(_UnprocessableEntityError, "UnprocessableEntityError");
1281
1348
  var UnprocessableEntityError = _UnprocessableEntityError;
1282
- var _RateLimitError = class _RateLimitError extends APIError {
1349
+ var _RateLimitError = class _RateLimitError extends ApiError {
1283
1350
  constructor() {
1284
1351
  super(...arguments);
1285
1352
  __publicField(this, "status", 429);
@@ -1287,7 +1354,7 @@ var _RateLimitError = class _RateLimitError extends APIError {
1287
1354
  };
1288
1355
  __name(_RateLimitError, "RateLimitError");
1289
1356
  var RateLimitError = _RateLimitError;
1290
- var _InternalServerError = class _InternalServerError extends APIError {
1357
+ var _InternalServerError = class _InternalServerError extends ApiError {
1291
1358
  };
1292
1359
  __name(_InternalServerError, "InternalServerError");
1293
1360
  var InternalServerError = _InternalServerError;
@@ -1320,6 +1387,108 @@ function calculateNextRetryDelay(options, attempt) {
1320
1387
  return Math.round(timeout);
1321
1388
  }
1322
1389
  __name(calculateNextRetryDelay, "calculateNextRetryDelay");
1390
+
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
1323
1492
  var defaultRetryOptions2 = {
1324
1493
  maxAttempts: 3,
1325
1494
  factor: 2,
@@ -1327,11 +1496,62 @@ var defaultRetryOptions2 = {
1327
1496
  maxTimeoutInMs: 6e4,
1328
1497
  randomize: false
1329
1498
  };
1330
- async function zodfetch(schema, url, requestInit, options) {
1331
- return await _doZodFetch(schema, url, requestInit, options);
1499
+ function zodfetch(schema, url, requestInit, options) {
1500
+ return new ApiPromise(_doZodFetch(schema, url, requestInit, options));
1332
1501
  }
1333
1502
  __name(zodfetch, "zodfetch");
1334
- async function zodupload(schema, url, body, requestInit, options) {
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) {
1335
1555
  const form = await createForm(body);
1336
1556
  const encoder = new formDataEncoder.FormDataEncoder(form);
1337
1557
  const finalHeaders = {};
@@ -1349,9 +1569,9 @@ async function zodupload(schema, url, body, requestInit, options) {
1349
1569
  // @ts-expect-error
1350
1570
  duplex: "half"
1351
1571
  };
1352
- return await _doZodFetch(schema, url, finalRequestInit, options);
1572
+ return finalRequestInit;
1353
1573
  }
1354
- __name(zodupload, "zodupload");
1574
+ __name(createMultipartFormRequestInit, "createMultipartFormRequestInit");
1355
1575
  var createForm = /* @__PURE__ */ __name(async (body) => {
1356
1576
  const form = new FormData();
1357
1577
  await Promise.all(Object.entries(body || {}).map(([key, value]) => addFormValue(form, key, value)));
@@ -1359,7 +1579,8 @@ var createForm = /* @__PURE__ */ __name(async (body) => {
1359
1579
  }, "createForm");
1360
1580
  async function _doZodFetch(schema, url, requestInit, options, attempt = 1) {
1361
1581
  try {
1362
- const response = await fetch(url, requestInitWithCache(requestInit));
1582
+ const $requestInit = await requestInit;
1583
+ const response = await fetch(url, requestInitWithCache($requestInit));
1363
1584
  const responseHeaders = createResponseHeaders(response.headers);
1364
1585
  if (!response.ok) {
1365
1586
  const retryResult = shouldRetry(response, attempt, options?.retry);
@@ -1370,17 +1591,20 @@ async function _doZodFetch(schema, url, requestInit, options, attempt = 1) {
1370
1591
  const errText = await response.text().catch((e) => castToError2(e).message);
1371
1592
  const errJSON = safeJsonParse(errText);
1372
1593
  const errMessage = errJSON ? void 0 : errText;
1373
- throw APIError.generate(response.status, errJSON, errMessage, responseHeaders);
1594
+ throw ApiError.generate(response.status, errJSON, errMessage, responseHeaders);
1374
1595
  }
1375
1596
  }
1376
1597
  const jsonBody = await response.json();
1377
1598
  const parsedResult = schema.safeParse(jsonBody);
1378
1599
  if (parsedResult.success) {
1379
- return parsedResult.data;
1600
+ return {
1601
+ data: parsedResult.data,
1602
+ response
1603
+ };
1380
1604
  }
1381
1605
  throw zodValidationError.fromZodError(parsedResult.error);
1382
1606
  } catch (error) {
1383
- if (error instanceof APIError) {
1607
+ if (error instanceof ApiError) {
1384
1608
  throw error;
1385
1609
  }
1386
1610
  if (options?.retry) {
@@ -1394,7 +1618,7 @@ async function _doZodFetch(schema, url, requestInit, options, attempt = 1) {
1394
1618
  return await _doZodFetch(schema, url, requestInit, options, attempt + 1);
1395
1619
  }
1396
1620
  }
1397
- throw new APIConnectionError({
1621
+ throw new ApiConnectionError({
1398
1622
  cause: castToError2(error)
1399
1623
  });
1400
1624
  }
@@ -1567,6 +1791,128 @@ var isUploadable = /* @__PURE__ */ __name((value) => {
1567
1791
  return isFileLike(value) || isResponseLike(value) || isFsReadStream(value);
1568
1792
  }, "isUploadable");
1569
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;
1570
1916
 
1571
1917
  // src/v3/apiClient/index.ts
1572
1918
  var zodFetchOptions = {
@@ -1592,7 +1938,7 @@ var _ApiClient = class _ApiClient {
1592
1938
  headers: __privateMethod(this, _getHeaders, getHeaders_fn).call(this, false)
1593
1939
  }, zodFetchOptions);
1594
1940
  } catch (error) {
1595
- if (error instanceof APIError) {
1941
+ if (error instanceof ApiError) {
1596
1942
  if (error.status === 404) {
1597
1943
  return void 0;
1598
1944
  }
@@ -1607,14 +1953,16 @@ var _ApiClient = class _ApiClient {
1607
1953
  }, zodFetchOptions);
1608
1954
  }
1609
1955
  triggerTask(taskId, body, options) {
1610
- 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`, {
1611
1958
  method: "POST",
1612
1959
  headers: __privateMethod(this, _getHeaders, getHeaders_fn).call(this, options?.spanParentAsLink ?? false),
1613
1960
  body: JSON.stringify(body)
1614
1961
  }, zodFetchOptions);
1615
1962
  }
1616
1963
  batchTriggerTask(taskId, body, options) {
1617
- 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`, {
1618
1966
  method: "POST",
1619
1967
  headers: __privateMethod(this, _getHeaders, getHeaders_fn).call(this, options?.spanParentAsLink ?? false),
1620
1968
  body: JSON.stringify(body)
@@ -1638,6 +1986,33 @@ var _ApiClient = class _ApiClient {
1638
1986
  headers: __privateMethod(this, _getHeaders, getHeaders_fn).call(this, false)
1639
1987
  }, zodFetchOptions);
1640
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
+ }
1641
2016
  replayRun(runId) {
1642
2017
  return zodfetch(ReplayRunResponse, `${this.baseUrl}/api/v1/runs/${runId}/replay`, {
1643
2018
  method: "POST",
@@ -1665,7 +2040,10 @@ var _ApiClient = class _ApiClient {
1665
2040
  if (options?.perPage) {
1666
2041
  searchParams.append("perPage", options.perPage.toString());
1667
2042
  }
1668
- 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
+ }, {
1669
2047
  method: "GET",
1670
2048
  headers: __privateMethod(this, _getHeaders, getHeaders_fn).call(this, false)
1671
2049
  });
@@ -1766,6 +2144,40 @@ getHeaders_fn = /* @__PURE__ */ __name(function(spanParentAsLink) {
1766
2144
  }, "#getHeaders");
1767
2145
  __name(_ApiClient, "ApiClient");
1768
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");
1769
2181
 
1770
2182
  // src/v3/apiClientManager/index.ts
1771
2183
  var API_NAME2 = "api-client";