@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,4 +1,5 @@
1
1
  import { SpanStatusCode, DiagLogLevel, diag, DiagConsoleLogger, propagation, context, SpanKind } from '@opentelemetry/api';
2
+ import { z } from 'zod';
2
3
  import { logs, SeverityNumber } from '@opentelemetry/api-logs';
3
4
  import { OTLPLogExporter } from '@opentelemetry/exporter-logs-otlp-http';
4
5
  import { OTLPTraceExporter } from '@opentelemetry/exporter-trace-otlp-http';
@@ -7,8 +8,9 @@ import { Resource, detectResourcesSync, processDetectorSync } from '@opentelemet
7
8
  import { LoggerProvider, BatchLogRecordProcessor, SimpleLogRecordProcessor } from '@opentelemetry/sdk-logs';
8
9
  import { NodeTracerProvider, BatchSpanProcessor, SimpleSpanProcessor } from '@opentelemetry/sdk-trace-node';
9
10
  import { SemanticResourceAttributes } from '@opentelemetry/semantic-conventions';
10
- import { z } from 'zod';
11
11
  import { fromZodError } from 'zod-validation-error';
12
+ import { FormDataEncoder } from 'form-data-encoder';
13
+ import { Readable } from 'node:stream';
12
14
  import { PreciseDate } from '@google-cloud/precise-date';
13
15
  import util from 'node:util';
14
16
 
@@ -36,8 +38,6 @@ var __privateMethod = (obj, member, method) => {
36
38
  __accessCheck(obj, member, "access private method");
37
39
  return method;
38
40
  };
39
-
40
- // src/v3/errors.ts
41
41
  function parseError(error) {
42
42
  if (error instanceof Error) {
43
43
  return {
@@ -66,6 +66,11 @@ function parseError(error) {
66
66
  }
67
67
  }
68
68
  __name(parseError, "parseError");
69
+ var SerializedError = z.object({
70
+ message: z.string(),
71
+ name: z.string().optional(),
72
+ stackTrace: z.string().optional()
73
+ });
69
74
 
70
75
  // src/v3/limits.ts
71
76
  var OTEL_SPAN_ATTRIBUTE_COUNT_LIMIT = 256;
@@ -350,7 +355,7 @@ function getEnvVar(name) {
350
355
  __name(getEnvVar, "getEnvVar");
351
356
 
352
357
  // package.json
353
- var version = "0.0.0-v3-prerelease-20240517090458";
358
+ var version = "0.0.0-v3-prerelease-20240606120239";
354
359
 
355
360
  // src/v3/otel/tracingSDK.ts
356
361
  var _a;
@@ -520,6 +525,7 @@ var TaskRunErrorCodes = {
520
525
  TASK_EXECUTION_FAILED: "TASK_EXECUTION_FAILED",
521
526
  TASK_EXECUTION_ABORTED: "TASK_EXECUTION_ABORTED",
522
527
  TASK_PROCESS_EXITED_WITH_NON_ZERO_CODE: "TASK_PROCESS_EXITED_WITH_NON_ZERO_CODE",
528
+ TASK_PROCESS_SIGKILL_TIMEOUT: "TASK_PROCESS_SIGKILL_TIMEOUT",
523
529
  TASK_RUN_CANCELLED: "TASK_RUN_CANCELLED",
524
530
  TASK_OUTPUT_ERROR: "TASK_OUTPUT_ERROR",
525
531
  HANDLE_ERROR_ERROR: "HANDLE_ERROR_ERROR",
@@ -535,10 +541,12 @@ var TaskRunInternalError = z.object({
535
541
  "TASK_EXECUTION_FAILED",
536
542
  "TASK_EXECUTION_ABORTED",
537
543
  "TASK_PROCESS_EXITED_WITH_NON_ZERO_CODE",
544
+ "TASK_PROCESS_SIGKILL_TIMEOUT",
538
545
  "TASK_RUN_CANCELLED",
539
546
  "TASK_OUTPUT_ERROR",
540
547
  "HANDLE_ERROR_ERROR",
541
- "GRACEFUL_EXIT_TIMEOUT"
548
+ "GRACEFUL_EXIT_TIMEOUT",
549
+ "TASK_RUN_HEARTBEAT_TIMEOUT"
542
550
  ]),
543
551
  message: z.string().optional()
544
552
  });
@@ -788,7 +796,7 @@ var QueueOptions = z.object({
788
796
  /** @deprecated This feature is coming soon */
789
797
  rateLimit: RateLimitOptions.optional()
790
798
  });
791
- var TaskMetadata = z.object({
799
+ z.object({
792
800
  id: z.string(),
793
801
  packageVersion: z.string(),
794
802
  queue: QueueOptions.optional(),
@@ -796,11 +804,20 @@ var TaskMetadata = z.object({
796
804
  machine: Machine.partial().optional(),
797
805
  triggerSource: z.string().optional()
798
806
  });
799
- var TaskFileMetadata = z.object({
807
+ z.object({
808
+ filePath: z.string(),
809
+ exportName: z.string()
810
+ });
811
+ z.object({
812
+ id: z.string(),
813
+ packageVersion: z.string(),
814
+ queue: QueueOptions.optional(),
815
+ retry: RetryOptions.optional(),
816
+ machine: Machine.partial().optional(),
817
+ triggerSource: z.string().optional(),
800
818
  filePath: z.string(),
801
819
  exportName: z.string()
802
820
  });
803
- TaskMetadata.merge(TaskFileMetadata);
804
821
  z.enum([
805
822
  "index",
806
823
  "create",
@@ -841,6 +858,13 @@ z.enum([
841
858
  "WAIT_FOR_TASK",
842
859
  "WAIT_FOR_BATCH"
843
860
  ]);
861
+ z.object({
862
+ runId: z.string(),
863
+ messageId: z.string(),
864
+ isTest: z.boolean(),
865
+ traceContext: z.record(z.unknown()),
866
+ environment: z.record(z.string()).optional()
867
+ });
844
868
 
845
869
  // src/v3/schemas/resources.ts
846
870
  var TaskResource = z.object({
@@ -890,7 +914,8 @@ z.object({
890
914
  });
891
915
  z.object({
892
916
  localOnly: z.boolean(),
893
- metadata: BackgroundWorkerMetadata
917
+ metadata: BackgroundWorkerMetadata,
918
+ supportsLazyAttempts: z.boolean().optional()
894
919
  });
895
920
  z.object({
896
921
  id: z.string(),
@@ -1003,7 +1028,7 @@ var ReplayRunResponse = z.object({
1003
1028
  id: z.string()
1004
1029
  });
1005
1030
  var CanceledRunResponse = z.object({
1006
- message: z.string()
1031
+ id: z.string()
1007
1032
  });
1008
1033
  z.object({
1009
1034
  /** The schedule id associated with this run (you can have many schedules for the same task).
@@ -1052,17 +1077,18 @@ z.object({
1052
1077
  */
1053
1078
  externalId: z.string().optional()
1054
1079
  });
1080
+ var ScheduleGenerator = z.object({
1081
+ type: z.literal("CRON"),
1082
+ expression: z.string(),
1083
+ description: z.string()
1084
+ });
1055
1085
  var ScheduleObject = z.object({
1056
1086
  id: z.string(),
1057
1087
  task: z.string(),
1058
1088
  active: z.boolean(),
1059
1089
  deduplicationKey: z.string().nullish(),
1060
1090
  externalId: z.string().nullish(),
1061
- generator: z.object({
1062
- type: z.literal("CRON"),
1063
- expression: z.string(),
1064
- description: z.string()
1065
- }),
1091
+ generator: ScheduleGenerator,
1066
1092
  nextRun: z.coerce.date().nullish(),
1067
1093
  environments: z.array(z.object({
1068
1094
  id: z.string(),
@@ -1073,7 +1099,7 @@ var ScheduleObject = z.object({
1073
1099
  var DeletedScheduleObject = z.object({
1074
1100
  id: z.string()
1075
1101
  });
1076
- var ListSchedulesResult = z.object({
1102
+ z.object({
1077
1103
  data: z.array(ScheduleObject),
1078
1104
  pagination: z.object({
1079
1105
  currentPage: z.number(),
@@ -1086,12 +1112,28 @@ z.object({
1086
1112
  perPage: z.number().optional()
1087
1113
  });
1088
1114
  var RunStatus = z.enum([
1089
- "PENDING",
1115
+ /// Task hasn't been deployed yet but is waiting to be executed
1116
+ "WAITING_FOR_DEPLOY",
1117
+ /// Task is waiting to be executed by a worker
1118
+ "QUEUED",
1119
+ /// Task is currently being executed by a worker
1090
1120
  "EXECUTING",
1091
- "PAUSED",
1121
+ /// Task has failed and is waiting to be retried
1122
+ "REATTEMPTING",
1123
+ /// Task has been paused by the system, and will be resumed by the system
1124
+ "FROZEN",
1125
+ /// Task has been completed successfully
1092
1126
  "COMPLETED",
1127
+ /// Task has been canceled by the user
1128
+ "CANCELED",
1129
+ /// Task has been completed with errors
1093
1130
  "FAILED",
1094
- "CANCELED"
1131
+ /// Task has crashed and won't be retried, most likely the worker ran out of resources, e.g. memory or storage
1132
+ "CRASHED",
1133
+ /// Task was interrupted during execution, mostly this happens in development environments
1134
+ "INTERRUPTED",
1135
+ /// Task has failed to complete, due to an error in the system
1136
+ "SYSTEM_FAILURE"
1095
1137
  ]);
1096
1138
  var AttemptStatus = z.enum([
1097
1139
  "PENDING",
@@ -1101,28 +1143,88 @@ var AttemptStatus = z.enum([
1101
1143
  "FAILED",
1102
1144
  "CANCELED"
1103
1145
  ]);
1104
- var RetrieveRunResponse = z.object({
1146
+ var RunEnvironmentDetails = z.object({
1147
+ id: z.string(),
1148
+ name: z.string(),
1149
+ user: z.string().optional()
1150
+ });
1151
+ var RunScheduleDetails = z.object({
1152
+ id: z.string(),
1153
+ externalId: z.string().optional(),
1154
+ deduplicationKey: z.string().optional(),
1155
+ generator: ScheduleGenerator
1156
+ });
1157
+ var CommonRunFields = {
1105
1158
  id: z.string(),
1106
1159
  status: RunStatus,
1107
1160
  taskIdentifier: z.string(),
1108
1161
  idempotencyKey: z.string().optional(),
1109
1162
  version: z.string().optional(),
1163
+ isQueued: z.boolean(),
1164
+ isExecuting: z.boolean(),
1165
+ isCompleted: z.boolean(),
1166
+ isSuccess: z.boolean(),
1167
+ isFailed: z.boolean(),
1168
+ isCancelled: z.boolean(),
1169
+ isTest: z.boolean(),
1110
1170
  createdAt: z.coerce.date(),
1111
1171
  updatedAt: z.coerce.date(),
1172
+ startedAt: z.coerce.date().optional(),
1173
+ finishedAt: z.coerce.date().optional()
1174
+ };
1175
+ var RetrieveRunResponse = z.object({
1176
+ ...CommonRunFields,
1177
+ payload: z.any().optional(),
1178
+ output: z.any().optional(),
1179
+ schedule: RunScheduleDetails.optional(),
1112
1180
  attempts: z.array(z.object({
1113
1181
  id: z.string(),
1114
1182
  status: AttemptStatus,
1115
1183
  createdAt: z.coerce.date(),
1116
1184
  updatedAt: z.coerce.date(),
1117
1185
  startedAt: z.coerce.date().optional(),
1118
- completedAt: z.coerce.date().optional()
1186
+ completedAt: z.coerce.date().optional(),
1187
+ error: SerializedError.optional()
1119
1188
  }).optional())
1120
1189
  });
1190
+ var ListRunResponseItem = z.object({
1191
+ ...CommonRunFields,
1192
+ env: RunEnvironmentDetails
1193
+ });
1194
+ z.object({
1195
+ data: z.array(ListRunResponseItem),
1196
+ pagination: z.object({
1197
+ next: z.string().optional(),
1198
+ previous: z.string().optional()
1199
+ })
1200
+ });
1201
+ z.object({
1202
+ name: z.string(),
1203
+ value: z.string()
1204
+ });
1205
+ z.object({
1206
+ value: z.string()
1207
+ });
1208
+ z.object({
1209
+ variables: z.record(z.string()),
1210
+ override: z.boolean().optional()
1211
+ });
1212
+ var EnvironmentVariableResponseBody = z.object({
1213
+ success: z.boolean()
1214
+ });
1215
+ var EnvironmentVariableValue = z.object({
1216
+ value: z.string()
1217
+ });
1218
+ var EnvironmentVariable = z.object({
1219
+ name: z.string(),
1220
+ value: z.string()
1221
+ });
1222
+ var EnvironmentVariables = z.array(EnvironmentVariable);
1121
1223
 
1122
- // src/v3/apiErrors.ts
1123
- var _APIError = class _APIError extends Error {
1224
+ // src/v3/apiClient/errors.ts
1225
+ var _ApiError = class _ApiError extends Error {
1124
1226
  constructor(status, error, message, headers) {
1125
- super(`${_APIError.makeMessage(status, error, message)}`);
1227
+ super(`${_ApiError.makeMessage(status, error, message)}`);
1126
1228
  this.status = status;
1127
1229
  this.headers = headers;
1128
1230
  const data = error;
@@ -1146,7 +1248,7 @@ var _APIError = class _APIError extends Error {
1146
1248
  }
1147
1249
  static generate(status, errorResponse, message, headers) {
1148
1250
  if (!status) {
1149
- return new APIConnectionError({
1251
+ return new ApiConnectionError({
1150
1252
  cause: castToError(errorResponse)
1151
1253
  });
1152
1254
  }
@@ -1175,12 +1277,12 @@ var _APIError = class _APIError extends Error {
1175
1277
  if (status >= 500) {
1176
1278
  return new InternalServerError(status, error, message, headers);
1177
1279
  }
1178
- return new _APIError(status, error, message, headers);
1280
+ return new _ApiError(status, error, message, headers);
1179
1281
  }
1180
1282
  };
1181
- __name(_APIError, "APIError");
1182
- var APIError = _APIError;
1183
- var _APIConnectionError = class _APIConnectionError extends APIError {
1283
+ __name(_ApiError, "ApiError");
1284
+ var ApiError = _ApiError;
1285
+ var _ApiConnectionError = class _ApiConnectionError extends ApiError {
1184
1286
  constructor({ message, cause }) {
1185
1287
  super(void 0, void 0, message || "Connection error.", void 0);
1186
1288
  __publicField(this, "status");
@@ -1188,9 +1290,9 @@ var _APIConnectionError = class _APIConnectionError extends APIError {
1188
1290
  this.cause = cause;
1189
1291
  }
1190
1292
  };
1191
- __name(_APIConnectionError, "APIConnectionError");
1192
- var APIConnectionError = _APIConnectionError;
1193
- var _BadRequestError = class _BadRequestError extends APIError {
1293
+ __name(_ApiConnectionError, "ApiConnectionError");
1294
+ var ApiConnectionError = _ApiConnectionError;
1295
+ var _BadRequestError = class _BadRequestError extends ApiError {
1194
1296
  constructor() {
1195
1297
  super(...arguments);
1196
1298
  __publicField(this, "status", 400);
@@ -1198,7 +1300,7 @@ var _BadRequestError = class _BadRequestError extends APIError {
1198
1300
  };
1199
1301
  __name(_BadRequestError, "BadRequestError");
1200
1302
  var BadRequestError = _BadRequestError;
1201
- var _AuthenticationError = class _AuthenticationError extends APIError {
1303
+ var _AuthenticationError = class _AuthenticationError extends ApiError {
1202
1304
  constructor() {
1203
1305
  super(...arguments);
1204
1306
  __publicField(this, "status", 401);
@@ -1206,7 +1308,7 @@ var _AuthenticationError = class _AuthenticationError extends APIError {
1206
1308
  };
1207
1309
  __name(_AuthenticationError, "AuthenticationError");
1208
1310
  var AuthenticationError = _AuthenticationError;
1209
- var _PermissionDeniedError = class _PermissionDeniedError extends APIError {
1311
+ var _PermissionDeniedError = class _PermissionDeniedError extends ApiError {
1210
1312
  constructor() {
1211
1313
  super(...arguments);
1212
1314
  __publicField(this, "status", 403);
@@ -1214,7 +1316,7 @@ var _PermissionDeniedError = class _PermissionDeniedError extends APIError {
1214
1316
  };
1215
1317
  __name(_PermissionDeniedError, "PermissionDeniedError");
1216
1318
  var PermissionDeniedError = _PermissionDeniedError;
1217
- var _NotFoundError = class _NotFoundError extends APIError {
1319
+ var _NotFoundError = class _NotFoundError extends ApiError {
1218
1320
  constructor() {
1219
1321
  super(...arguments);
1220
1322
  __publicField(this, "status", 404);
@@ -1222,7 +1324,7 @@ var _NotFoundError = class _NotFoundError extends APIError {
1222
1324
  };
1223
1325
  __name(_NotFoundError, "NotFoundError");
1224
1326
  var NotFoundError = _NotFoundError;
1225
- var _ConflictError = class _ConflictError extends APIError {
1327
+ var _ConflictError = class _ConflictError extends ApiError {
1226
1328
  constructor() {
1227
1329
  super(...arguments);
1228
1330
  __publicField(this, "status", 409);
@@ -1230,7 +1332,7 @@ var _ConflictError = class _ConflictError extends APIError {
1230
1332
  };
1231
1333
  __name(_ConflictError, "ConflictError");
1232
1334
  var ConflictError = _ConflictError;
1233
- var _UnprocessableEntityError = class _UnprocessableEntityError extends APIError {
1335
+ var _UnprocessableEntityError = class _UnprocessableEntityError extends ApiError {
1234
1336
  constructor() {
1235
1337
  super(...arguments);
1236
1338
  __publicField(this, "status", 422);
@@ -1238,7 +1340,7 @@ var _UnprocessableEntityError = class _UnprocessableEntityError extends APIError
1238
1340
  };
1239
1341
  __name(_UnprocessableEntityError, "UnprocessableEntityError");
1240
1342
  var UnprocessableEntityError = _UnprocessableEntityError;
1241
- var _RateLimitError = class _RateLimitError extends APIError {
1343
+ var _RateLimitError = class _RateLimitError extends ApiError {
1242
1344
  constructor() {
1243
1345
  super(...arguments);
1244
1346
  __publicField(this, "status", 429);
@@ -1246,7 +1348,7 @@ var _RateLimitError = class _RateLimitError extends APIError {
1246
1348
  };
1247
1349
  __name(_RateLimitError, "RateLimitError");
1248
1350
  var RateLimitError = _RateLimitError;
1249
- var _InternalServerError = class _InternalServerError extends APIError {
1351
+ var _InternalServerError = class _InternalServerError extends ApiError {
1250
1352
  };
1251
1353
  __name(_InternalServerError, "InternalServerError");
1252
1354
  var InternalServerError = _InternalServerError;
@@ -1280,7 +1382,107 @@ function calculateNextRetryDelay(options, attempt) {
1280
1382
  }
1281
1383
  __name(calculateNextRetryDelay, "calculateNextRetryDelay");
1282
1384
 
1283
- // src/v3/zodfetch.ts
1385
+ // src/v3/apiClient/pagination.ts
1386
+ var _CursorPage = class _CursorPage {
1387
+ constructor(data, pagination, pageFetcher) {
1388
+ this.pageFetcher = pageFetcher;
1389
+ this.data = data;
1390
+ this.pagination = pagination;
1391
+ }
1392
+ getPaginatedItems() {
1393
+ return this.data ?? [];
1394
+ }
1395
+ hasNextPage() {
1396
+ return !!this.pagination.next;
1397
+ }
1398
+ hasPreviousPage() {
1399
+ return !!this.pagination.previous;
1400
+ }
1401
+ getNextPage() {
1402
+ if (!this.pagination.next) {
1403
+ throw new Error("No next page available");
1404
+ }
1405
+ return this.pageFetcher({
1406
+ after: this.pagination.next
1407
+ });
1408
+ }
1409
+ getPreviousPage() {
1410
+ if (!this.pagination.previous) {
1411
+ throw new Error("No previous page available");
1412
+ }
1413
+ return this.pageFetcher({
1414
+ before: this.pagination.previous
1415
+ });
1416
+ }
1417
+ async *iterPages() {
1418
+ let page = this;
1419
+ yield page;
1420
+ while (page.hasNextPage()) {
1421
+ page = await page.getNextPage();
1422
+ yield page;
1423
+ }
1424
+ }
1425
+ async *[Symbol.asyncIterator]() {
1426
+ for await (const page of this.iterPages()) {
1427
+ for (const item of page.getPaginatedItems()) {
1428
+ yield item;
1429
+ }
1430
+ }
1431
+ }
1432
+ };
1433
+ __name(_CursorPage, "CursorPage");
1434
+ var CursorPage = _CursorPage;
1435
+ var _OffsetLimitPage = class _OffsetLimitPage {
1436
+ constructor(data, pagination, pageFetcher) {
1437
+ this.pageFetcher = pageFetcher;
1438
+ this.data = data;
1439
+ this.pagination = pagination;
1440
+ }
1441
+ getPaginatedItems() {
1442
+ return this.data ?? [];
1443
+ }
1444
+ hasNextPage() {
1445
+ return this.pagination.currentPage < this.pagination.totalPages;
1446
+ }
1447
+ hasPreviousPage() {
1448
+ return this.pagination.currentPage > 1;
1449
+ }
1450
+ getNextPage() {
1451
+ if (!this.hasNextPage()) {
1452
+ throw new Error("No next page available");
1453
+ }
1454
+ return this.pageFetcher({
1455
+ page: this.pagination.currentPage + 1
1456
+ });
1457
+ }
1458
+ getPreviousPage() {
1459
+ if (!this.hasPreviousPage()) {
1460
+ throw new Error("No previous page available");
1461
+ }
1462
+ return this.pageFetcher({
1463
+ page: this.pagination.currentPage - 1
1464
+ });
1465
+ }
1466
+ async *iterPages() {
1467
+ let page = this;
1468
+ yield page;
1469
+ while (page.hasNextPage()) {
1470
+ page = await page.getNextPage();
1471
+ yield page;
1472
+ }
1473
+ }
1474
+ async *[Symbol.asyncIterator]() {
1475
+ for await (const page of this.iterPages()) {
1476
+ for (const item of page.getPaginatedItems()) {
1477
+ yield item;
1478
+ }
1479
+ }
1480
+ }
1481
+ };
1482
+ __name(_OffsetLimitPage, "OffsetLimitPage");
1483
+ var OffsetLimitPage = _OffsetLimitPage;
1484
+
1485
+ // src/v3/apiClient/core.ts
1284
1486
  var defaultRetryOptions2 = {
1285
1487
  maxAttempts: 3,
1286
1488
  factor: 2,
@@ -1288,13 +1490,91 @@ var defaultRetryOptions2 = {
1288
1490
  maxTimeoutInMs: 6e4,
1289
1491
  randomize: false
1290
1492
  };
1291
- async function zodfetch(schema, url, requestInit, options) {
1292
- return await _doZodFetch(schema, url, requestInit, options);
1493
+ function zodfetch(schema, url, requestInit, options) {
1494
+ return new ApiPromise(_doZodFetch(schema, url, requestInit, options));
1293
1495
  }
1294
1496
  __name(zodfetch, "zodfetch");
1497
+ function zodfetchCursorPage(schema, url, params, requestInit, options) {
1498
+ const query = new URLSearchParams(params.query);
1499
+ if (params.limit) {
1500
+ query.set("page[size]", String(params.limit));
1501
+ }
1502
+ if (params.after) {
1503
+ query.set("page[after]", params.after);
1504
+ }
1505
+ if (params.before) {
1506
+ query.set("page[before]", params.before);
1507
+ }
1508
+ const cursorPageSchema = z.object({
1509
+ data: z.array(schema),
1510
+ pagination: z.object({
1511
+ next: z.string().optional(),
1512
+ previous: z.string().optional()
1513
+ })
1514
+ });
1515
+ const $url = new URL(url);
1516
+ $url.search = query.toString();
1517
+ const fetchResult = _doZodFetch(cursorPageSchema, $url.href, requestInit, options);
1518
+ return new CursorPagePromise(fetchResult, schema, url, params, requestInit, options);
1519
+ }
1520
+ __name(zodfetchCursorPage, "zodfetchCursorPage");
1521
+ function zodfetchOffsetLimitPage(schema, url, params, requestInit, options) {
1522
+ const query = new URLSearchParams(params.query);
1523
+ if (params.limit) {
1524
+ query.set("perPage", String(params.limit));
1525
+ }
1526
+ if (params.page) {
1527
+ query.set("page", String(params.page));
1528
+ }
1529
+ const offsetLimitPageSchema = z.object({
1530
+ data: z.array(schema),
1531
+ pagination: z.object({
1532
+ currentPage: z.coerce.number(),
1533
+ totalPages: z.coerce.number(),
1534
+ count: z.coerce.number()
1535
+ })
1536
+ });
1537
+ const $url = new URL(url);
1538
+ $url.search = query.toString();
1539
+ const fetchResult = _doZodFetch(offsetLimitPageSchema, $url.href, requestInit, options);
1540
+ return new OffsetLimitPagePromise(fetchResult, schema, url, params, requestInit, options);
1541
+ }
1542
+ __name(zodfetchOffsetLimitPage, "zodfetchOffsetLimitPage");
1543
+ function zodupload(schema, url, body, requestInit, options) {
1544
+ const finalRequestInit = createMultipartFormRequestInit(body, requestInit);
1545
+ return new ApiPromise(_doZodFetch(schema, url, finalRequestInit, options));
1546
+ }
1547
+ __name(zodupload, "zodupload");
1548
+ async function createMultipartFormRequestInit(body, requestInit) {
1549
+ const form = await createForm(body);
1550
+ const encoder = new FormDataEncoder(form);
1551
+ const finalHeaders = {};
1552
+ for (const [key, value] of Object.entries(requestInit?.headers || {})) {
1553
+ finalHeaders[key] = value;
1554
+ }
1555
+ for (const [key, value] of Object.entries(encoder.headers)) {
1556
+ finalHeaders[key] = value;
1557
+ }
1558
+ finalHeaders["Content-Length"] = String(encoder.contentLength);
1559
+ const finalRequestInit = {
1560
+ ...requestInit,
1561
+ headers: finalHeaders,
1562
+ body: Readable.from(encoder),
1563
+ // @ts-expect-error
1564
+ duplex: "half"
1565
+ };
1566
+ return finalRequestInit;
1567
+ }
1568
+ __name(createMultipartFormRequestInit, "createMultipartFormRequestInit");
1569
+ var createForm = /* @__PURE__ */ __name(async (body) => {
1570
+ const form = new FormData();
1571
+ await Promise.all(Object.entries(body || {}).map(([key, value]) => addFormValue(form, key, value)));
1572
+ return form;
1573
+ }, "createForm");
1295
1574
  async function _doZodFetch(schema, url, requestInit, options, attempt = 1) {
1296
1575
  try {
1297
- const response = await fetch(url, requestInitWithCache(requestInit));
1576
+ const $requestInit = await requestInit;
1577
+ const response = await fetch(url, requestInitWithCache($requestInit));
1298
1578
  const responseHeaders = createResponseHeaders(response.headers);
1299
1579
  if (!response.ok) {
1300
1580
  const retryResult = shouldRetry(response, attempt, options?.retry);
@@ -1305,17 +1585,20 @@ async function _doZodFetch(schema, url, requestInit, options, attempt = 1) {
1305
1585
  const errText = await response.text().catch((e) => castToError2(e).message);
1306
1586
  const errJSON = safeJsonParse(errText);
1307
1587
  const errMessage = errJSON ? void 0 : errText;
1308
- throw APIError.generate(response.status, errJSON, errMessage, responseHeaders);
1588
+ throw ApiError.generate(response.status, errJSON, errMessage, responseHeaders);
1309
1589
  }
1310
1590
  }
1311
1591
  const jsonBody = await response.json();
1312
1592
  const parsedResult = schema.safeParse(jsonBody);
1313
1593
  if (parsedResult.success) {
1314
- return parsedResult.data;
1594
+ return {
1595
+ data: parsedResult.data,
1596
+ response
1597
+ };
1315
1598
  }
1316
1599
  throw fromZodError(parsedResult.error);
1317
1600
  } catch (error) {
1318
- if (error instanceof APIError) {
1601
+ if (error instanceof ApiError) {
1319
1602
  throw error;
1320
1603
  }
1321
1604
  if (options?.retry) {
@@ -1329,7 +1612,7 @@ async function _doZodFetch(schema, url, requestInit, options, attempt = 1) {
1329
1612
  return await _doZodFetch(schema, url, requestInit, options, attempt + 1);
1330
1613
  }
1331
1614
  }
1332
- throw new APIConnectionError({
1615
+ throw new ApiConnectionError({
1333
1616
  cause: castToError2(error)
1334
1617
  });
1335
1618
  }
@@ -1413,6 +1696,217 @@ function requestInitWithCache(requestInit) {
1413
1696
  }
1414
1697
  }
1415
1698
  __name(requestInitWithCache, "requestInitWithCache");
1699
+ var addFormValue = /* @__PURE__ */ __name(async (form, key, value) => {
1700
+ if (value === void 0)
1701
+ return;
1702
+ if (value == null) {
1703
+ throw new TypeError(`Received null for "${key}"; to pass null in FormData, you must use the string 'null'`);
1704
+ }
1705
+ if (typeof value === "string" || typeof value === "number" || typeof value === "boolean") {
1706
+ form.append(key, String(value));
1707
+ } else if (isUploadable(value) || isBlobLike(value) || value instanceof Buffer || value instanceof ArrayBuffer) {
1708
+ const file = await toFile(value);
1709
+ form.append(key, file);
1710
+ } else if (Array.isArray(value)) {
1711
+ await Promise.all(value.map((entry) => addFormValue(form, key + "[]", entry)));
1712
+ } else if (typeof value === "object") {
1713
+ await Promise.all(Object.entries(value).map(([name, prop]) => addFormValue(form, `${key}[${name}]`, prop)));
1714
+ } else {
1715
+ throw new TypeError(`Invalid value given to form, expected a string, number, boolean, object, Array, File or Blob but got ${value} instead`);
1716
+ }
1717
+ }, "addFormValue");
1718
+ async function toFile(value, name, options) {
1719
+ value = await value;
1720
+ options ??= isFileLike(value) ? {
1721
+ lastModified: value.lastModified,
1722
+ type: value.type
1723
+ } : {};
1724
+ if (isResponseLike(value)) {
1725
+ const blob = await value.blob();
1726
+ name ||= new URL(value.url).pathname.split(/[\\/]/).pop() ?? "unknown_file";
1727
+ return new File([
1728
+ blob
1729
+ ], name, options);
1730
+ }
1731
+ const bits = await getBytes(value);
1732
+ name ||= getName(value) ?? "unknown_file";
1733
+ if (!options.type) {
1734
+ const type = bits[0]?.type;
1735
+ if (typeof type === "string") {
1736
+ options = {
1737
+ ...options,
1738
+ type
1739
+ };
1740
+ }
1741
+ }
1742
+ return new File(bits, name, options);
1743
+ }
1744
+ __name(toFile, "toFile");
1745
+ function getName(value) {
1746
+ return getStringFromMaybeBuffer(value.name) || getStringFromMaybeBuffer(value.filename) || // For fs.ReadStream
1747
+ getStringFromMaybeBuffer(value.path)?.split(/[\\/]/).pop();
1748
+ }
1749
+ __name(getName, "getName");
1750
+ var getStringFromMaybeBuffer = /* @__PURE__ */ __name((x) => {
1751
+ if (typeof x === "string")
1752
+ return x;
1753
+ if (typeof Buffer !== "undefined" && x instanceof Buffer)
1754
+ return String(x);
1755
+ return void 0;
1756
+ }, "getStringFromMaybeBuffer");
1757
+ async function getBytes(value) {
1758
+ let parts = [];
1759
+ if (typeof value === "string" || ArrayBuffer.isView(value) || // includes Uint8Array, Buffer, etc.
1760
+ value instanceof ArrayBuffer) {
1761
+ parts.push(value);
1762
+ } else if (isBlobLike(value)) {
1763
+ parts.push(await value.arrayBuffer());
1764
+ } else if (isAsyncIterableIterator(value)) {
1765
+ for await (const chunk of value) {
1766
+ parts.push(chunk);
1767
+ }
1768
+ } else {
1769
+ throw new Error(`Unexpected data type: ${typeof value}; constructor: ${value?.constructor?.name}; props: ${propsForError(value)}`);
1770
+ }
1771
+ return parts;
1772
+ }
1773
+ __name(getBytes, "getBytes");
1774
+ function propsForError(value) {
1775
+ const props = Object.getOwnPropertyNames(value);
1776
+ return `[${props.map((p) => `"${p}"`).join(", ")}]`;
1777
+ }
1778
+ __name(propsForError, "propsForError");
1779
+ var isAsyncIterableIterator = /* @__PURE__ */ __name((value) => value != null && typeof value === "object" && typeof value[Symbol.asyncIterator] === "function", "isAsyncIterableIterator");
1780
+ var isResponseLike = /* @__PURE__ */ __name((value) => value != null && typeof value === "object" && typeof value.url === "string" && typeof value.blob === "function", "isResponseLike");
1781
+ var isFileLike = /* @__PURE__ */ __name((value) => value != null && typeof value === "object" && typeof value.name === "string" && typeof value.lastModified === "number" && isBlobLike(value), "isFileLike");
1782
+ 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");
1783
+ var isFsReadStream = /* @__PURE__ */ __name((value) => value instanceof Readable, "isFsReadStream");
1784
+ var isUploadable = /* @__PURE__ */ __name((value) => {
1785
+ return isFileLike(value) || isResponseLike(value) || isFsReadStream(value);
1786
+ }, "isUploadable");
1787
+ 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");
1788
+ var _ApiPromise = class _ApiPromise extends Promise {
1789
+ constructor(responsePromise) {
1790
+ super((resolve) => {
1791
+ resolve(null);
1792
+ });
1793
+ this.responsePromise = responsePromise;
1794
+ }
1795
+ /**
1796
+ * Gets the raw `Response` instance instead of parsing the response
1797
+ * data.
1798
+ *
1799
+ * If you want to parse the response body but still get the `Response`
1800
+ * instance, you can use {@link withResponse()}.
1801
+ */
1802
+ asResponse() {
1803
+ return this.responsePromise.then((p) => p.response);
1804
+ }
1805
+ /**
1806
+ * Gets the parsed response data and the raw `Response` instance.
1807
+ *
1808
+ * If you just want to get the raw `Response` instance without parsing it,
1809
+ * you can use {@link asResponse()}.
1810
+ */
1811
+ async withResponse() {
1812
+ const [data, response] = await Promise.all([
1813
+ this.parse(),
1814
+ this.asResponse()
1815
+ ]);
1816
+ return {
1817
+ data,
1818
+ response
1819
+ };
1820
+ }
1821
+ parse() {
1822
+ return this.responsePromise.then((result) => result.data);
1823
+ }
1824
+ then(onfulfilled, onrejected) {
1825
+ return this.parse().then(onfulfilled, onrejected);
1826
+ }
1827
+ catch(onrejected) {
1828
+ return this.parse().catch(onrejected);
1829
+ }
1830
+ finally(onfinally) {
1831
+ return this.parse().finally(onfinally);
1832
+ }
1833
+ };
1834
+ __name(_ApiPromise, "ApiPromise");
1835
+ var ApiPromise = _ApiPromise;
1836
+ var _fetchPage, fetchPage_fn;
1837
+ var _CursorPagePromise = class _CursorPagePromise extends ApiPromise {
1838
+ constructor(result, schema, url, params, requestInit, options) {
1839
+ super(result.then((result2) => ({
1840
+ data: new CursorPage(result2.data.data, result2.data.pagination, __privateMethod(this, _fetchPage, fetchPage_fn).bind(this)),
1841
+ response: result2.response
1842
+ })));
1843
+ __privateAdd(this, _fetchPage);
1844
+ this.schema = schema;
1845
+ this.url = url;
1846
+ this.params = params;
1847
+ this.requestInit = requestInit;
1848
+ this.options = options;
1849
+ }
1850
+ /**
1851
+ * Allow auto-paginating iteration on an unawaited list call, eg:
1852
+ *
1853
+ * for await (const item of client.items.list()) {
1854
+ * console.log(item)
1855
+ * }
1856
+ */
1857
+ async *[Symbol.asyncIterator]() {
1858
+ const page = await this;
1859
+ for await (const item of page) {
1860
+ yield item;
1861
+ }
1862
+ }
1863
+ };
1864
+ _fetchPage = new WeakSet();
1865
+ fetchPage_fn = /* @__PURE__ */ __name(function(params) {
1866
+ return zodfetchCursorPage(this.schema, this.url, {
1867
+ ...this.params,
1868
+ ...params
1869
+ }, this.requestInit, this.options);
1870
+ }, "#fetchPage");
1871
+ __name(_CursorPagePromise, "CursorPagePromise");
1872
+ var CursorPagePromise = _CursorPagePromise;
1873
+ var _fetchPage2, fetchPage_fn2;
1874
+ var _OffsetLimitPagePromise = class _OffsetLimitPagePromise extends ApiPromise {
1875
+ constructor(result, schema, url, params, requestInit, options) {
1876
+ super(result.then((result2) => ({
1877
+ data: new OffsetLimitPage(result2.data.data, result2.data.pagination, __privateMethod(this, _fetchPage2, fetchPage_fn2).bind(this)),
1878
+ response: result2.response
1879
+ })));
1880
+ __privateAdd(this, _fetchPage2);
1881
+ this.schema = schema;
1882
+ this.url = url;
1883
+ this.params = params;
1884
+ this.requestInit = requestInit;
1885
+ this.options = options;
1886
+ }
1887
+ /**
1888
+ * Allow auto-paginating iteration on an unawaited list call, eg:
1889
+ *
1890
+ * for await (const item of client.items.list()) {
1891
+ * console.log(item)
1892
+ * }
1893
+ */
1894
+ async *[Symbol.asyncIterator]() {
1895
+ const page = await this;
1896
+ for await (const item of page) {
1897
+ yield item;
1898
+ }
1899
+ }
1900
+ };
1901
+ _fetchPage2 = new WeakSet();
1902
+ fetchPage_fn2 = /* @__PURE__ */ __name(function(params1) {
1903
+ return zodfetchOffsetLimitPage(this.schema, this.url, {
1904
+ ...this.params,
1905
+ ...params1
1906
+ }, this.requestInit, this.options);
1907
+ }, "#fetchPage");
1908
+ __name(_OffsetLimitPagePromise, "OffsetLimitPagePromise");
1909
+ var OffsetLimitPagePromise = _OffsetLimitPagePromise;
1416
1910
 
1417
1911
  // src/v3/apiClient/index.ts
1418
1912
  var zodFetchOptions = {
@@ -1438,7 +1932,7 @@ var _ApiClient = class _ApiClient {
1438
1932
  headers: __privateMethod(this, _getHeaders, getHeaders_fn).call(this, false)
1439
1933
  }, zodFetchOptions);
1440
1934
  } catch (error) {
1441
- if (error instanceof APIError) {
1935
+ if (error instanceof ApiError) {
1442
1936
  if (error.status === 404) {
1443
1937
  return void 0;
1444
1938
  }
@@ -1453,14 +1947,16 @@ var _ApiClient = class _ApiClient {
1453
1947
  }, zodFetchOptions);
1454
1948
  }
1455
1949
  triggerTask(taskId, body, options) {
1456
- return zodfetch(TriggerTaskResponse, `${this.baseUrl}/api/v1/tasks/${taskId}/trigger`, {
1950
+ const encodedTaskId = encodeURIComponent(taskId);
1951
+ return zodfetch(TriggerTaskResponse, `${this.baseUrl}/api/v1/tasks/${encodedTaskId}/trigger`, {
1457
1952
  method: "POST",
1458
1953
  headers: __privateMethod(this, _getHeaders, getHeaders_fn).call(this, options?.spanParentAsLink ?? false),
1459
1954
  body: JSON.stringify(body)
1460
1955
  }, zodFetchOptions);
1461
1956
  }
1462
1957
  batchTriggerTask(taskId, body, options) {
1463
- return zodfetch(BatchTriggerTaskResponse, `${this.baseUrl}/api/v1/tasks/${taskId}/batch`, {
1958
+ const encodedTaskId = encodeURIComponent(taskId);
1959
+ return zodfetch(BatchTriggerTaskResponse, `${this.baseUrl}/api/v1/tasks/${encodedTaskId}/batch`, {
1464
1960
  method: "POST",
1465
1961
  headers: __privateMethod(this, _getHeaders, getHeaders_fn).call(this, options?.spanParentAsLink ?? false),
1466
1962
  body: JSON.stringify(body)
@@ -1484,6 +1980,33 @@ var _ApiClient = class _ApiClient {
1484
1980
  headers: __privateMethod(this, _getHeaders, getHeaders_fn).call(this, false)
1485
1981
  }, zodFetchOptions);
1486
1982
  }
1983
+ listRuns(query) {
1984
+ const searchParams = createSearchQueryForListRuns(query);
1985
+ return zodfetchCursorPage(ListRunResponseItem, `${this.baseUrl}/api/v1/runs`, {
1986
+ query: searchParams,
1987
+ limit: query?.limit,
1988
+ after: query?.after,
1989
+ before: query?.before
1990
+ }, {
1991
+ method: "GET",
1992
+ headers: __privateMethod(this, _getHeaders, getHeaders_fn).call(this, false)
1993
+ }, zodFetchOptions);
1994
+ }
1995
+ listProjectRuns(projectRef, query) {
1996
+ const searchParams = createSearchQueryForListRuns(query);
1997
+ if (query?.env) {
1998
+ searchParams.append("filter[env]", Array.isArray(query.env) ? query.env.join(",") : query.env);
1999
+ }
2000
+ return zodfetchCursorPage(ListRunResponseItem, `${this.baseUrl}/api/v1/projects/${projectRef}/runs`, {
2001
+ query: searchParams,
2002
+ limit: query?.limit,
2003
+ after: query?.after,
2004
+ before: query?.before
2005
+ }, {
2006
+ method: "GET",
2007
+ headers: __privateMethod(this, _getHeaders, getHeaders_fn).call(this, false)
2008
+ }, zodFetchOptions);
2009
+ }
1487
2010
  replayRun(runId) {
1488
2011
  return zodfetch(ReplayRunResponse, `${this.baseUrl}/api/v1/runs/${runId}/replay`, {
1489
2012
  method: "POST",
@@ -1511,7 +2034,10 @@ var _ApiClient = class _ApiClient {
1511
2034
  if (options?.perPage) {
1512
2035
  searchParams.append("perPage", options.perPage.toString());
1513
2036
  }
1514
- return zodfetch(ListSchedulesResult, `${this.baseUrl}/api/v1/schedules${searchParams.size > 0 ? `?${searchParams}` : ""}`, {
2037
+ return zodfetchOffsetLimitPage(ScheduleObject, `${this.baseUrl}/api/v1/schedules`, {
2038
+ page: options?.page,
2039
+ limit: options?.perPage
2040
+ }, {
1515
2041
  method: "GET",
1516
2042
  headers: __privateMethod(this, _getHeaders, getHeaders_fn).call(this, false)
1517
2043
  });
@@ -1547,6 +2073,52 @@ var _ApiClient = class _ApiClient {
1547
2073
  headers: __privateMethod(this, _getHeaders, getHeaders_fn).call(this, false)
1548
2074
  });
1549
2075
  }
2076
+ listEnvVars(projectRef, slug) {
2077
+ return zodfetch(EnvironmentVariables, `${this.baseUrl}/api/v1/projects/${projectRef}/envvars/${slug}`, {
2078
+ method: "GET",
2079
+ headers: __privateMethod(this, _getHeaders, getHeaders_fn).call(this, false)
2080
+ });
2081
+ }
2082
+ importEnvVars(projectRef, slug, body) {
2083
+ if (isRecordLike(body.variables)) {
2084
+ return zodfetch(EnvironmentVariableResponseBody, `${this.baseUrl}/api/v1/projects/${projectRef}/envvars/${slug}/import`, {
2085
+ method: "POST",
2086
+ headers: __privateMethod(this, _getHeaders, getHeaders_fn).call(this, false),
2087
+ body: JSON.stringify(body)
2088
+ });
2089
+ } else {
2090
+ return zodupload(EnvironmentVariableResponseBody, `${this.baseUrl}/api/v1/projects/${projectRef}/envvars/${slug}/import`, body, {
2091
+ method: "POST",
2092
+ headers: __privateMethod(this, _getHeaders, getHeaders_fn).call(this, false)
2093
+ });
2094
+ }
2095
+ }
2096
+ retrieveEnvVar(projectRef, slug, key) {
2097
+ return zodfetch(EnvironmentVariableValue, `${this.baseUrl}/api/v1/projects/${projectRef}/envvars/${slug}/${key}`, {
2098
+ method: "GET",
2099
+ headers: __privateMethod(this, _getHeaders, getHeaders_fn).call(this, false)
2100
+ });
2101
+ }
2102
+ createEnvVar(projectRef, slug, body) {
2103
+ return zodfetch(EnvironmentVariableResponseBody, `${this.baseUrl}/api/v1/projects/${projectRef}/envvars/${slug}`, {
2104
+ method: "POST",
2105
+ headers: __privateMethod(this, _getHeaders, getHeaders_fn).call(this, false),
2106
+ body: JSON.stringify(body)
2107
+ });
2108
+ }
2109
+ updateEnvVar(projectRef, slug, key, body) {
2110
+ return zodfetch(EnvironmentVariableResponseBody, `${this.baseUrl}/api/v1/projects/${projectRef}/envvars/${slug}/${key}`, {
2111
+ method: "PUT",
2112
+ headers: __privateMethod(this, _getHeaders, getHeaders_fn).call(this, false),
2113
+ body: JSON.stringify(body)
2114
+ });
2115
+ }
2116
+ deleteEnvVar(projectRef, slug, key) {
2117
+ return zodfetch(EnvironmentVariableResponseBody, `${this.baseUrl}/api/v1/projects/${projectRef}/envvars/${slug}/${key}`, {
2118
+ method: "DELETE",
2119
+ headers: __privateMethod(this, _getHeaders, getHeaders_fn).call(this, false)
2120
+ });
2121
+ }
1550
2122
  };
1551
2123
  _getHeaders = new WeakSet();
1552
2124
  getHeaders_fn = /* @__PURE__ */ __name(function(spanParentAsLink) {
@@ -1566,6 +2138,40 @@ getHeaders_fn = /* @__PURE__ */ __name(function(spanParentAsLink) {
1566
2138
  }, "#getHeaders");
1567
2139
  __name(_ApiClient, "ApiClient");
1568
2140
  var ApiClient = _ApiClient;
2141
+ function createSearchQueryForListRuns(query) {
2142
+ const searchParams = new URLSearchParams();
2143
+ if (query) {
2144
+ if (query.status) {
2145
+ searchParams.append("filter[status]", Array.isArray(query.status) ? query.status.join(",") : query.status);
2146
+ }
2147
+ if (query.taskIdentifier) {
2148
+ searchParams.append("filter[taskIdentifier]", Array.isArray(query.taskIdentifier) ? query.taskIdentifier.join(",") : query.taskIdentifier);
2149
+ }
2150
+ if (query.version) {
2151
+ searchParams.append("filter[version]", Array.isArray(query.version) ? query.version.join(",") : query.version);
2152
+ }
2153
+ if (query.bulkAction) {
2154
+ searchParams.append("filter[bulkAction]", query.bulkAction);
2155
+ }
2156
+ if (query.schedule) {
2157
+ searchParams.append("filter[schedule]", query.schedule);
2158
+ }
2159
+ if (typeof query.isTest === "boolean") {
2160
+ searchParams.append("filter[isTest]", String(query.isTest));
2161
+ }
2162
+ if (query.from) {
2163
+ searchParams.append("filter[createdAt][from]", query.from instanceof Date ? query.from.getTime().toString() : query.from.toString());
2164
+ }
2165
+ if (query.to) {
2166
+ searchParams.append("filter[createdAt][to]", query.to instanceof Date ? query.to.getTime().toString() : query.to.toString());
2167
+ }
2168
+ if (query.period) {
2169
+ searchParams.append("filter[createdAt][period]", query.period);
2170
+ }
2171
+ }
2172
+ return searchParams;
2173
+ }
2174
+ __name(createSearchQueryForListRuns, "createSearchQueryForListRuns");
1569
2175
 
1570
2176
  // src/v3/apiClientManager/index.ts
1571
2177
  var API_NAME2 = "api-client";
@@ -1592,7 +2198,7 @@ var _APIClientManagerAPI = class _APIClientManagerAPI {
1592
2198
  }
1593
2199
  get accessToken() {
1594
2200
  const store = __privateMethod(this, _getConfig, getConfig_fn).call(this);
1595
- return store?.secretKey ?? getEnvVar("TRIGGER_SECRET_KEY");
2201
+ return store?.secretKey ?? getEnvVar("TRIGGER_SECRET_KEY") ?? getEnvVar("TRIGGER_ACCESS_TOKEN");
1596
2202
  }
1597
2203
  get client() {
1598
2204
  if (!this.baseURL || !this.accessToken) {