@trigger.dev/core 3.0.0-beta.34 → 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 (53) hide show
  1. package/dist/catalog-XTlJQaMn.d.mts +202 -0
  2. package/dist/catalog-dRKTgwQ7.d.ts +202 -0
  3. package/dist/{manager-WNMVbgHf.d.mts → manager-JkbddlcO.d.mts} +43 -42
  4. package/dist/{manager-WNMVbgHf.d.ts → manager-JkbddlcO.d.ts} +43 -42
  5. package/dist/{messages-vq7Bk4Ap.d.mts → messages-6_-q72KG.d.mts} +5970 -2067
  6. package/dist/{messages-vq7Bk4Ap.d.ts → messages-6_-q72KG.d.ts} +5970 -2067
  7. package/dist/{catalog-tX1P4jZQ.d.ts → schemas-r4ZP9S-F.d.mts} +22 -201
  8. package/dist/{catalog-Y8FyPWvh.d.mts → schemas-r4ZP9S-F.d.ts} +22 -201
  9. package/dist/v3/dev/index.d.mts +2 -2
  10. package/dist/v3/dev/index.d.ts +2 -2
  11. package/dist/v3/dev/index.js +4 -4
  12. package/dist/v3/dev/index.js.map +1 -1
  13. package/dist/v3/dev/index.mjs +4 -4
  14. package/dist/v3/dev/index.mjs.map +1 -1
  15. package/dist/v3/index.d.mts +584 -152
  16. package/dist/v3/index.d.ts +584 -152
  17. package/dist/v3/index.js +962 -350
  18. package/dist/v3/index.js.map +1 -1
  19. package/dist/v3/index.mjs +953 -350
  20. package/dist/v3/index.mjs.map +1 -1
  21. package/dist/v3/otel/index.js +1 -1
  22. package/dist/v3/otel/index.js.map +1 -1
  23. package/dist/v3/otel/index.mjs +1 -1
  24. package/dist/v3/otel/index.mjs.map +1 -1
  25. package/dist/v3/prod/index.d.mts +3 -3
  26. package/dist/v3/prod/index.d.ts +3 -3
  27. package/dist/v3/prod/index.js +90 -15
  28. package/dist/v3/prod/index.js.map +1 -1
  29. package/dist/v3/prod/index.mjs +90 -15
  30. package/dist/v3/prod/index.mjs.map +1 -1
  31. package/dist/v3/workers/index.d.mts +6 -5
  32. package/dist/v3/workers/index.d.ts +6 -5
  33. package/dist/v3/workers/index.js +476 -53
  34. package/dist/v3/workers/index.js.map +1 -1
  35. package/dist/v3/workers/index.mjs +477 -54
  36. package/dist/v3/workers/index.mjs.map +1 -1
  37. package/dist/v3/zodMessageHandler.d.mts +1 -1
  38. package/dist/v3/zodMessageHandler.d.ts +1 -1
  39. package/dist/v3/zodNamespace.js +16 -6
  40. package/dist/v3/zodNamespace.js.map +1 -1
  41. package/dist/v3/zodNamespace.mjs +17 -7
  42. package/dist/v3/zodNamespace.mjs.map +1 -1
  43. package/dist/v3/zodSocket.js +16 -6
  44. package/dist/v3/zodSocket.js.map +1 -1
  45. package/dist/v3/zodSocket.mjs +17 -7
  46. package/dist/v3/zodSocket.mjs.map +1 -1
  47. package/dist/v3/zodfetch.d.mts +262 -0
  48. package/dist/v3/zodfetch.d.ts +262 -0
  49. package/dist/v3/zodfetch.js +744 -0
  50. package/dist/v3/zodfetch.js.map +1 -0
  51. package/dist/v3/zodfetch.mjs +716 -0
  52. package/dist/v3/zodfetch.mjs.map +1 -0
  53. package/package.json +9 -1
package/dist/v3/index.js CHANGED
@@ -35,7 +35,7 @@ var __privateMethod = (obj, member, method) => {
35
35
  };
36
36
 
37
37
  // package.json
38
- var version = "3.0.0-beta.34";
38
+ var version = "3.0.0-beta.36";
39
39
  var dependencies = {
40
40
  "@google-cloud/precise-date": "^4.0.0",
41
41
  "@opentelemetry/api": "^1.8.0",
@@ -58,144 +58,6 @@ var dependencies = {
58
58
  "zod-error": "1.5.0",
59
59
  "zod-validation-error": "^1.5.0"
60
60
  };
61
-
62
- // src/v3/apiErrors.ts
63
- var _APIError = class _APIError extends Error {
64
- constructor(status, error, message, headers) {
65
- super(`${_APIError.makeMessage(status, error, message)}`);
66
- this.status = status;
67
- this.headers = headers;
68
- const data = error;
69
- this.error = data;
70
- this.code = data?.["code"];
71
- this.param = data?.["param"];
72
- this.type = data?.["type"];
73
- }
74
- static makeMessage(status, error, message) {
75
- const msg = error?.message ? typeof error.message === "string" ? error.message : JSON.stringify(error.message) : error ? JSON.stringify(error) : message;
76
- if (status && msg) {
77
- return `${status} ${msg}`;
78
- }
79
- if (status) {
80
- return `${status} status code (no body)`;
81
- }
82
- if (msg) {
83
- return msg;
84
- }
85
- return "(no status code or body)";
86
- }
87
- static generate(status, errorResponse, message, headers) {
88
- if (!status) {
89
- return new APIConnectionError({
90
- cause: castToError(errorResponse)
91
- });
92
- }
93
- const error = errorResponse?.["error"];
94
- if (status === 400) {
95
- return new BadRequestError(status, error, message, headers);
96
- }
97
- if (status === 401) {
98
- return new AuthenticationError(status, error, message, headers);
99
- }
100
- if (status === 403) {
101
- return new PermissionDeniedError(status, error, message, headers);
102
- }
103
- if (status === 404) {
104
- return new NotFoundError(status, error, message, headers);
105
- }
106
- if (status === 409) {
107
- return new ConflictError(status, error, message, headers);
108
- }
109
- if (status === 422) {
110
- return new UnprocessableEntityError(status, error, message, headers);
111
- }
112
- if (status === 429) {
113
- return new RateLimitError(status, error, message, headers);
114
- }
115
- if (status >= 500) {
116
- return new InternalServerError(status, error, message, headers);
117
- }
118
- return new _APIError(status, error, message, headers);
119
- }
120
- };
121
- __name(_APIError, "APIError");
122
- var APIError = _APIError;
123
- var _APIConnectionError = class _APIConnectionError extends APIError {
124
- constructor({ message, cause }) {
125
- super(void 0, void 0, message || "Connection error.", void 0);
126
- __publicField(this, "status");
127
- if (cause)
128
- this.cause = cause;
129
- }
130
- };
131
- __name(_APIConnectionError, "APIConnectionError");
132
- var APIConnectionError = _APIConnectionError;
133
- var _BadRequestError = class _BadRequestError extends APIError {
134
- constructor() {
135
- super(...arguments);
136
- __publicField(this, "status", 400);
137
- }
138
- };
139
- __name(_BadRequestError, "BadRequestError");
140
- var BadRequestError = _BadRequestError;
141
- var _AuthenticationError = class _AuthenticationError extends APIError {
142
- constructor() {
143
- super(...arguments);
144
- __publicField(this, "status", 401);
145
- }
146
- };
147
- __name(_AuthenticationError, "AuthenticationError");
148
- var AuthenticationError = _AuthenticationError;
149
- var _PermissionDeniedError = class _PermissionDeniedError extends APIError {
150
- constructor() {
151
- super(...arguments);
152
- __publicField(this, "status", 403);
153
- }
154
- };
155
- __name(_PermissionDeniedError, "PermissionDeniedError");
156
- var PermissionDeniedError = _PermissionDeniedError;
157
- var _NotFoundError = class _NotFoundError extends APIError {
158
- constructor() {
159
- super(...arguments);
160
- __publicField(this, "status", 404);
161
- }
162
- };
163
- __name(_NotFoundError, "NotFoundError");
164
- var NotFoundError = _NotFoundError;
165
- var _ConflictError = class _ConflictError extends APIError {
166
- constructor() {
167
- super(...arguments);
168
- __publicField(this, "status", 409);
169
- }
170
- };
171
- __name(_ConflictError, "ConflictError");
172
- var ConflictError = _ConflictError;
173
- var _UnprocessableEntityError = class _UnprocessableEntityError extends APIError {
174
- constructor() {
175
- super(...arguments);
176
- __publicField(this, "status", 422);
177
- }
178
- };
179
- __name(_UnprocessableEntityError, "UnprocessableEntityError");
180
- var UnprocessableEntityError = _UnprocessableEntityError;
181
- var _RateLimitError = class _RateLimitError extends APIError {
182
- constructor() {
183
- super(...arguments);
184
- __publicField(this, "status", 429);
185
- }
186
- };
187
- __name(_RateLimitError, "RateLimitError");
188
- var RateLimitError = _RateLimitError;
189
- var _InternalServerError = class _InternalServerError extends APIError {
190
- };
191
- __name(_InternalServerError, "InternalServerError");
192
- var InternalServerError = _InternalServerError;
193
- function castToError(err) {
194
- if (err instanceof Error)
195
- return err;
196
- return new Error(err);
197
- }
198
- __name(castToError, "castToError");
199
61
  var CreateAuthorizationCodeResponseSchema = zod.z.object({
200
62
  url: zod.z.string().url(),
201
63
  authorizationCode: zod.z.string()
@@ -231,6 +93,7 @@ var TaskRunErrorCodes = {
231
93
  TASK_EXECUTION_FAILED: "TASK_EXECUTION_FAILED",
232
94
  TASK_EXECUTION_ABORTED: "TASK_EXECUTION_ABORTED",
233
95
  TASK_PROCESS_EXITED_WITH_NON_ZERO_CODE: "TASK_PROCESS_EXITED_WITH_NON_ZERO_CODE",
96
+ TASK_PROCESS_SIGKILL_TIMEOUT: "TASK_PROCESS_SIGKILL_TIMEOUT",
234
97
  TASK_RUN_CANCELLED: "TASK_RUN_CANCELLED",
235
98
  TASK_OUTPUT_ERROR: "TASK_OUTPUT_ERROR",
236
99
  HANDLE_ERROR_ERROR: "HANDLE_ERROR_ERROR",
@@ -246,10 +109,12 @@ var TaskRunInternalError = zod.z.object({
246
109
  "TASK_EXECUTION_FAILED",
247
110
  "TASK_EXECUTION_ABORTED",
248
111
  "TASK_PROCESS_EXITED_WITH_NON_ZERO_CODE",
112
+ "TASK_PROCESS_SIGKILL_TIMEOUT",
249
113
  "TASK_RUN_CANCELLED",
250
114
  "TASK_OUTPUT_ERROR",
251
115
  "HANDLE_ERROR_ERROR",
252
- "GRACEFUL_EXIT_TIMEOUT"
116
+ "GRACEFUL_EXIT_TIMEOUT",
117
+ "TASK_RUN_HEARTBEAT_TIMEOUT"
253
118
  ]),
254
119
  message: zod.z.string().optional()
255
120
  });
@@ -511,7 +376,16 @@ var TaskFileMetadata = zod.z.object({
511
376
  filePath: zod.z.string(),
512
377
  exportName: zod.z.string()
513
378
  });
514
- var TaskMetadataWithFilePath = TaskMetadata.merge(TaskFileMetadata);
379
+ var TaskMetadataWithFilePath = zod.z.object({
380
+ id: zod.z.string(),
381
+ packageVersion: zod.z.string(),
382
+ queue: QueueOptions.optional(),
383
+ retry: RetryOptions.optional(),
384
+ machine: Machine.partial().optional(),
385
+ triggerSource: zod.z.string().optional(),
386
+ filePath: zod.z.string(),
387
+ exportName: zod.z.string()
388
+ });
515
389
  var PostStartCauses = zod.z.enum([
516
390
  "index",
517
391
  "create",
@@ -552,6 +426,13 @@ var WaitReason = zod.z.enum([
552
426
  "WAIT_FOR_TASK",
553
427
  "WAIT_FOR_BATCH"
554
428
  ]);
429
+ var TaskRunExecutionLazyAttemptPayload = zod.z.object({
430
+ runId: zod.z.string(),
431
+ messageId: zod.z.string(),
432
+ isTest: zod.z.boolean(),
433
+ traceContext: zod.z.record(zod.z.unknown()),
434
+ environment: zod.z.record(zod.z.string()).optional()
435
+ });
555
436
 
556
437
  // src/v3/schemas/resources.ts
557
438
  var TaskResource = zod.z.object({
@@ -573,6 +454,152 @@ var ImageDetailsMetadata = zod.z.object({
573
454
  contentHash: zod.z.string(),
574
455
  imageTag: zod.z.string()
575
456
  });
457
+ function parseError(error) {
458
+ if (error instanceof Error) {
459
+ return {
460
+ type: "BUILT_IN_ERROR",
461
+ name: error.name,
462
+ message: error.message,
463
+ stackTrace: error.stack ?? ""
464
+ };
465
+ }
466
+ if (typeof error === "string") {
467
+ return {
468
+ type: "STRING_ERROR",
469
+ raw: error
470
+ };
471
+ }
472
+ try {
473
+ return {
474
+ type: "CUSTOM_ERROR",
475
+ raw: JSON.stringify(error)
476
+ };
477
+ } catch (e) {
478
+ return {
479
+ type: "CUSTOM_ERROR",
480
+ raw: String(error)
481
+ };
482
+ }
483
+ }
484
+ __name(parseError, "parseError");
485
+ function createErrorTaskError(error) {
486
+ switch (error.type) {
487
+ case "BUILT_IN_ERROR": {
488
+ const e = new Error(error.message);
489
+ e.name = error.name;
490
+ e.stack = error.stackTrace;
491
+ return e;
492
+ }
493
+ case "STRING_ERROR": {
494
+ return error.raw;
495
+ }
496
+ case "CUSTOM_ERROR": {
497
+ return JSON.parse(error.raw);
498
+ }
499
+ case "INTERNAL_ERROR": {
500
+ return new Error(`trigger.dev internal error (${error.code})`);
501
+ }
502
+ }
503
+ }
504
+ __name(createErrorTaskError, "createErrorTaskError");
505
+ var SerializedError = zod.z.object({
506
+ message: zod.z.string(),
507
+ name: zod.z.string().optional(),
508
+ stackTrace: zod.z.string().optional()
509
+ });
510
+ function createJsonErrorObject(error) {
511
+ switch (error.type) {
512
+ case "BUILT_IN_ERROR": {
513
+ return {
514
+ name: error.name,
515
+ message: error.message,
516
+ stackTrace: error.stackTrace
517
+ };
518
+ }
519
+ case "STRING_ERROR": {
520
+ return {
521
+ message: error.raw
522
+ };
523
+ }
524
+ case "CUSTOM_ERROR": {
525
+ return {
526
+ message: error.raw
527
+ };
528
+ }
529
+ case "INTERNAL_ERROR": {
530
+ return {
531
+ message: `trigger.dev internal error (${error.code})`
532
+ };
533
+ }
534
+ }
535
+ }
536
+ __name(createJsonErrorObject, "createJsonErrorObject");
537
+ function correctErrorStackTrace(stackTrace, projectDir, options) {
538
+ const [errorLine, ...traceLines] = stackTrace.split("\n");
539
+ return [
540
+ options?.removeFirstLine ? void 0 : errorLine,
541
+ ...traceLines.map((line) => correctStackTraceLine(line, projectDir, options?.isDev))
542
+ ].filter(Boolean).join("\n");
543
+ }
544
+ __name(correctErrorStackTrace, "correctErrorStackTrace");
545
+ var LINES_TO_IGNORE = [
546
+ /ConsoleInterceptor/,
547
+ /TriggerTracer/,
548
+ /TaskExecutor/,
549
+ /EXECUTE_TASK_RUN/,
550
+ /@trigger.dev\/core/,
551
+ /packages\/core\/src\/v3/,
552
+ /safeJsonProcess/,
553
+ /__entryPoint.ts/,
554
+ /ZodIpc/,
555
+ /startActiveSpan/,
556
+ /processTicksAndRejections/
557
+ ];
558
+ function correctStackTraceLine(line, projectDir, isDev) {
559
+ if (LINES_TO_IGNORE.some((regex) => regex.test(line))) {
560
+ return;
561
+ }
562
+ if (isDev && projectDir && !line.includes(projectDir)) {
563
+ return;
564
+ }
565
+ return line.trim();
566
+ }
567
+ __name(correctStackTraceLine, "correctStackTraceLine");
568
+ function groupTaskMetadataIssuesByTask(tasks, issues) {
569
+ return issues.reduce((acc, issue) => {
570
+ if (issue.path.length === 0) {
571
+ return acc;
572
+ }
573
+ const taskIndex = issue.path[1];
574
+ if (typeof taskIndex !== "number") {
575
+ return acc;
576
+ }
577
+ const task = tasks[taskIndex];
578
+ if (!task) {
579
+ return acc;
580
+ }
581
+ const restOfPath = issue.path.slice(2);
582
+ const taskId = task.id;
583
+ const taskName = task.exportName;
584
+ const filePath = task.filePath;
585
+ const key = taskIndex;
586
+ const existing = acc[key] ?? {
587
+ id: taskId,
588
+ exportName: taskName,
589
+ filePath,
590
+ issues: []
591
+ };
592
+ existing.issues.push({
593
+ message: issue.message,
594
+ path: restOfPath.length === 0 ? void 0 : restOfPath.join(".")
595
+ });
596
+ return {
597
+ ...acc,
598
+ [key]: existing
599
+ };
600
+ }, {});
601
+ }
602
+ __name(groupTaskMetadataIssuesByTask, "groupTaskMetadataIssuesByTask");
576
603
 
577
604
  // src/v3/schemas/api.ts
578
605
  var WhoAmIResponseSchema = zod.z.object({
@@ -601,7 +628,8 @@ var GetProjectEnvResponse = zod.z.object({
601
628
  });
602
629
  var CreateBackgroundWorkerRequestBody = zod.z.object({
603
630
  localOnly: zod.z.boolean(),
604
- metadata: BackgroundWorkerMetadata
631
+ metadata: BackgroundWorkerMetadata,
632
+ supportsLazyAttempts: zod.z.boolean().optional()
605
633
  });
606
634
  var CreateBackgroundWorkerResponse = zod.z.object({
607
635
  id: zod.z.string(),
@@ -714,7 +742,7 @@ var ReplayRunResponse = zod.z.object({
714
742
  id: zod.z.string()
715
743
  });
716
744
  var CanceledRunResponse = zod.z.object({
717
- message: zod.z.string()
745
+ id: zod.z.string()
718
746
  });
719
747
  var ScheduledTaskPayload = zod.z.object({
720
748
  /** The schedule id associated with this run (you can have many schedules for the same task).
@@ -764,17 +792,18 @@ var CreateScheduleOptions = zod.z.object({
764
792
  externalId: zod.z.string().optional()
765
793
  });
766
794
  var UpdateScheduleOptions = CreateScheduleOptions;
795
+ var ScheduleGenerator = zod.z.object({
796
+ type: zod.z.literal("CRON"),
797
+ expression: zod.z.string(),
798
+ description: zod.z.string()
799
+ });
767
800
  var ScheduleObject = zod.z.object({
768
801
  id: zod.z.string(),
769
802
  task: zod.z.string(),
770
803
  active: zod.z.boolean(),
771
804
  deduplicationKey: zod.z.string().nullish(),
772
805
  externalId: zod.z.string().nullish(),
773
- generator: zod.z.object({
774
- type: zod.z.literal("CRON"),
775
- expression: zod.z.string(),
776
- description: zod.z.string()
777
- }),
806
+ generator: ScheduleGenerator,
778
807
  nextRun: zod.z.coerce.date().nullish(),
779
808
  environments: zod.z.array(zod.z.object({
780
809
  id: zod.z.string(),
@@ -798,12 +827,28 @@ var ListScheduleOptions = zod.z.object({
798
827
  perPage: zod.z.number().optional()
799
828
  });
800
829
  var RunStatus = zod.z.enum([
801
- "PENDING",
830
+ /// Task hasn't been deployed yet but is waiting to be executed
831
+ "WAITING_FOR_DEPLOY",
832
+ /// Task is waiting to be executed by a worker
833
+ "QUEUED",
834
+ /// Task is currently being executed by a worker
802
835
  "EXECUTING",
803
- "PAUSED",
836
+ /// Task has failed and is waiting to be retried
837
+ "REATTEMPTING",
838
+ /// Task has been paused by the system, and will be resumed by the system
839
+ "FROZEN",
840
+ /// Task has been completed successfully
804
841
  "COMPLETED",
842
+ /// Task has been canceled by the user
843
+ "CANCELED",
844
+ /// Task has been completed with errors
805
845
  "FAILED",
806
- "CANCELED"
846
+ /// Task has crashed and won't be retried, most likely the worker ran out of resources, e.g. memory or storage
847
+ "CRASHED",
848
+ /// Task was interrupted during execution, mostly this happens in development environments
849
+ "INTERRUPTED",
850
+ /// Task has failed to complete, due to an error in the system
851
+ "SYSTEM_FAILURE"
807
852
  ]);
808
853
  var AttemptStatus = zod.z.enum([
809
854
  "PENDING",
@@ -813,23 +858,61 @@ var AttemptStatus = zod.z.enum([
813
858
  "FAILED",
814
859
  "CANCELED"
815
860
  ]);
816
- var RetrieveRunResponse = zod.z.object({
861
+ var RunEnvironmentDetails = zod.z.object({
862
+ id: zod.z.string(),
863
+ name: zod.z.string(),
864
+ user: zod.z.string().optional()
865
+ });
866
+ var RunScheduleDetails = zod.z.object({
867
+ id: zod.z.string(),
868
+ externalId: zod.z.string().optional(),
869
+ deduplicationKey: zod.z.string().optional(),
870
+ generator: ScheduleGenerator
871
+ });
872
+ var CommonRunFields = {
817
873
  id: zod.z.string(),
818
874
  status: RunStatus,
819
875
  taskIdentifier: zod.z.string(),
820
876
  idempotencyKey: zod.z.string().optional(),
821
877
  version: zod.z.string().optional(),
878
+ isQueued: zod.z.boolean(),
879
+ isExecuting: zod.z.boolean(),
880
+ isCompleted: zod.z.boolean(),
881
+ isSuccess: zod.z.boolean(),
882
+ isFailed: zod.z.boolean(),
883
+ isCancelled: zod.z.boolean(),
884
+ isTest: zod.z.boolean(),
822
885
  createdAt: zod.z.coerce.date(),
823
886
  updatedAt: zod.z.coerce.date(),
887
+ startedAt: zod.z.coerce.date().optional(),
888
+ finishedAt: zod.z.coerce.date().optional()
889
+ };
890
+ var RetrieveRunResponse = zod.z.object({
891
+ ...CommonRunFields,
892
+ payload: zod.z.any().optional(),
893
+ output: zod.z.any().optional(),
894
+ schedule: RunScheduleDetails.optional(),
824
895
  attempts: zod.z.array(zod.z.object({
825
896
  id: zod.z.string(),
826
897
  status: AttemptStatus,
827
898
  createdAt: zod.z.coerce.date(),
828
899
  updatedAt: zod.z.coerce.date(),
829
900
  startedAt: zod.z.coerce.date().optional(),
830
- completedAt: zod.z.coerce.date().optional()
901
+ completedAt: zod.z.coerce.date().optional(),
902
+ error: SerializedError.optional()
831
903
  }).optional())
832
904
  });
905
+ var ListRunResponseItem = zod.z.object({
906
+ ...CommonRunFields,
907
+ env: RunEnvironmentDetails
908
+ });
909
+ var ListRunResponse = zod.z.object({
910
+ data: zod.z.array(ListRunResponseItem),
911
+ pagination: zod.z.object({
912
+ next: zod.z.string().optional(),
913
+ previous: zod.z.string().optional()
914
+ })
915
+ });
833
916
  var CreateEnvironmentVariableRequestBody = zod.z.object({
834
917
  name: zod.z.string(),
835
918
  value: zod.z.string()
@@ -868,12 +951,16 @@ var BackgroundWorkerServerMessages = zod.z.discriminatedUnion("type", [
868
951
  version: zod.z.string(),
869
952
  machine: Machine,
870
953
  // identifiers
871
- id: zod.z.string(),
954
+ id: zod.z.string().optional(),
872
955
  envId: zod.z.string(),
873
956
  envType: EnvironmentType,
874
957
  orgId: zod.z.string(),
875
958
  projectId: zod.z.string(),
876
959
  runId: zod.z.string()
960
+ }),
961
+ zod.z.object({
962
+ type: zod.z.literal("EXECUTE_RUN_LAZY_ATTEMPT"),
963
+ payload: TaskRunExecutionLazyAttemptPayload
877
964
  })
878
965
  ]);
879
966
  var serverWebsocketMessages = {
@@ -894,10 +981,20 @@ var BackgroundWorkerClientMessages = zod.z.discriminatedUnion("type", [
894
981
  completion: TaskRunExecutionResult,
895
982
  execution: TaskRunExecution
896
983
  }),
984
+ zod.z.object({
985
+ version: zod.z.literal("v1").default("v1"),
986
+ type: zod.z.literal("TASK_RUN_FAILED_TO_RUN"),
987
+ completion: TaskRunFailedExecutionResult
988
+ }),
897
989
  zod.z.object({
898
990
  version: zod.z.literal("v1").default("v1"),
899
991
  type: zod.z.literal("TASK_HEARTBEAT"),
900
992
  id: zod.z.string()
993
+ }),
994
+ zod.z.object({
995
+ version: zod.z.literal("v1").default("v1"),
996
+ type: zod.z.literal("TASK_RUN_HEARTBEAT"),
997
+ id: zod.z.string()
901
998
  })
902
999
  ]);
903
1000
  var BackgroundWorkerProperties = zod.z.object({
@@ -908,7 +1005,8 @@ var BackgroundWorkerProperties = zod.z.object({
908
1005
  var clientWebsocketMessages = {
909
1006
  READY_FOR_TASKS: zod.z.object({
910
1007
  version: zod.z.literal("v1").default("v1"),
911
- backgroundWorkerId: zod.z.string()
1008
+ backgroundWorkerId: zod.z.string(),
1009
+ inProgressRuns: zod.z.string().array().optional()
912
1010
  }),
913
1011
  BACKGROUND_WORKER_DEPRECATED: zod.z.object({
914
1012
  version: zod.z.literal("v1").default("v1"),
@@ -927,11 +1025,17 @@ var workerToChildMessages = {
927
1025
  traceContext: zod.z.record(zod.z.unknown()),
928
1026
  metadata: BackgroundWorkerProperties
929
1027
  }),
930
- TASK_RUN_COMPLETED_NOTIFICATION: zod.z.object({
931
- version: zod.z.literal("v1").default("v1"),
932
- completion: TaskRunExecutionResult,
933
- execution: TaskRunExecution
934
- }),
1028
+ TASK_RUN_COMPLETED_NOTIFICATION: zod.z.discriminatedUnion("version", [
1029
+ zod.z.object({
1030
+ version: zod.z.literal("v1"),
1031
+ completion: TaskRunExecutionResult,
1032
+ execution: TaskRunExecution
1033
+ }),
1034
+ zod.z.object({
1035
+ version: zod.z.literal("v2"),
1036
+ completion: TaskRunExecutionResult
1037
+ })
1038
+ ]),
935
1039
  CLEANUP: zod.z.object({
936
1040
  version: zod.z.literal("v1").default("v1"),
937
1041
  flush: zod.z.boolean().default(false),
@@ -972,6 +1076,10 @@ var childToWorkerMessages = {
972
1076
  version: zod.z.literal("v1").default("v1"),
973
1077
  id: zod.z.string()
974
1078
  }),
1079
+ TASK_RUN_HEARTBEAT: zod.z.object({
1080
+ version: zod.z.literal("v1").default("v1"),
1081
+ id: zod.z.string()
1082
+ }),
975
1083
  READY_TO_DISPOSE: zod.z.undefined(),
976
1084
  WAIT_FOR_DURATION: zod.z.object({
977
1085
  version: zod.z.literal("v1").default("v1"),
@@ -1005,7 +1113,13 @@ var ProdChildToWorkerMessages = {
1005
1113
  TASKS_FAILED_TO_PARSE: {
1006
1114
  message: TaskMetadataFailedToParseData
1007
1115
  },
1008
- TASK_HEARTBEAT: {
1116
+ TASK_HEARTBEAT: {
1117
+ message: zod.z.object({
1118
+ version: zod.z.literal("v1").default("v1"),
1119
+ id: zod.z.string()
1120
+ })
1121
+ },
1122
+ TASK_RUN_HEARTBEAT: {
1009
1123
  message: zod.z.object({
1010
1124
  version: zod.z.literal("v1").default("v1"),
1011
1125
  id: zod.z.string()
@@ -1075,11 +1189,17 @@ var ProdWorkerToChildMessages = {
1075
1189
  })
1076
1190
  },
1077
1191
  TASK_RUN_COMPLETED_NOTIFICATION: {
1078
- message: zod.z.object({
1079
- version: zod.z.literal("v1").default("v1"),
1080
- completion: TaskRunExecutionResult,
1081
- execution: TaskRunExecution
1082
- })
1192
+ message: zod.z.discriminatedUnion("version", [
1193
+ zod.z.object({
1194
+ version: zod.z.literal("v1"),
1195
+ completion: TaskRunExecutionResult,
1196
+ execution: TaskRunExecution
1197
+ }),
1198
+ zod.z.object({
1199
+ version: zod.z.literal("v2"),
1200
+ completion: TaskRunExecutionResult
1201
+ })
1202
+ ])
1083
1203
  },
1084
1204
  CLEANUP: {
1085
1205
  message: zod.z.object({
@@ -1207,6 +1327,17 @@ var PlatformToProviderMessages = {
1207
1327
  })
1208
1328
  }
1209
1329
  };
1330
+ var CreateWorkerMessage = zod.z.object({
1331
+ projectRef: zod.z.string(),
1332
+ envId: zod.z.string(),
1333
+ deploymentId: zod.z.string(),
1334
+ metadata: zod.z.object({
1335
+ cliPackageVersion: zod.z.string().optional(),
1336
+ contentHash: zod.z.string(),
1337
+ packageVersion: zod.z.string(),
1338
+ tasks: TaskResource.array()
1339
+ })
1340
+ });
1210
1341
  var CoordinatorToPlatformMessages = {
1211
1342
  LOG: {
1212
1343
  message: zod.z.object({
@@ -1216,18 +1347,15 @@ var CoordinatorToPlatformMessages = {
1216
1347
  })
1217
1348
  },
1218
1349
  CREATE_WORKER: {
1219
- message: zod.z.object({
1220
- version: zod.z.literal("v1").default("v1"),
1221
- projectRef: zod.z.string(),
1222
- envId: zod.z.string(),
1223
- deploymentId: zod.z.string(),
1224
- metadata: zod.z.object({
1225
- cliPackageVersion: zod.z.string().optional(),
1226
- contentHash: zod.z.string(),
1227
- packageVersion: zod.z.string(),
1228
- tasks: TaskResource.array()
1350
+ message: zod.z.discriminatedUnion("version", [
1351
+ CreateWorkerMessage.extend({
1352
+ version: zod.z.literal("v1")
1353
+ }),
1354
+ CreateWorkerMessage.extend({
1355
+ version: zod.z.literal("v2"),
1356
+ supportsLazyAttempts: zod.z.boolean()
1229
1357
  })
1230
- }),
1358
+ ]),
1231
1359
  callback: zod.z.discriminatedUnion("success", [
1232
1360
  zod.z.object({
1233
1361
  success: zod.z.literal(false)
@@ -1237,6 +1365,23 @@ var CoordinatorToPlatformMessages = {
1237
1365
  })
1238
1366
  ])
1239
1367
  },
1368
+ CREATE_TASK_RUN_ATTEMPT: {
1369
+ message: zod.z.object({
1370
+ version: zod.z.literal("v1").default("v1"),
1371
+ runId: zod.z.string(),
1372
+ envId: zod.z.string()
1373
+ }),
1374
+ callback: zod.z.discriminatedUnion("success", [
1375
+ zod.z.object({
1376
+ success: zod.z.literal(false),
1377
+ reason: zod.z.string().optional()
1378
+ }),
1379
+ zod.z.object({
1380
+ success: zod.z.literal(true),
1381
+ executionPayload: ProdTaskRunExecutionPayload
1382
+ })
1383
+ ])
1384
+ },
1240
1385
  READY_FOR_EXECUTION: {
1241
1386
  message: zod.z.object({
1242
1387
  version: zod.z.literal("v1").default("v1"),
@@ -1253,6 +1398,24 @@ var CoordinatorToPlatformMessages = {
1253
1398
  })
1254
1399
  ])
1255
1400
  },
1401
+ READY_FOR_LAZY_ATTEMPT: {
1402
+ message: zod.z.object({
1403
+ version: zod.z.literal("v1").default("v1"),
1404
+ runId: zod.z.string(),
1405
+ envId: zod.z.string(),
1406
+ totalCompletions: zod.z.number()
1407
+ }),
1408
+ callback: zod.z.discriminatedUnion("success", [
1409
+ zod.z.object({
1410
+ success: zod.z.literal(false),
1411
+ reason: zod.z.string().optional()
1412
+ }),
1413
+ zod.z.object({
1414
+ success: zod.z.literal(true),
1415
+ lazyPayload: TaskRunExecutionLazyAttemptPayload
1416
+ })
1417
+ ])
1418
+ },
1256
1419
  READY_FOR_RESUME: {
1257
1420
  message: zod.z.object({
1258
1421
  version: zod.z.literal("v1").default("v1"),
@@ -1271,12 +1434,24 @@ var CoordinatorToPlatformMessages = {
1271
1434
  }).optional()
1272
1435
  })
1273
1436
  },
1437
+ TASK_RUN_FAILED_TO_RUN: {
1438
+ message: zod.z.object({
1439
+ version: zod.z.literal("v1").default("v1"),
1440
+ completion: TaskRunFailedExecutionResult
1441
+ })
1442
+ },
1274
1443
  TASK_HEARTBEAT: {
1275
1444
  message: zod.z.object({
1276
1445
  version: zod.z.literal("v1").default("v1"),
1277
1446
  attemptFriendlyId: zod.z.string()
1278
1447
  })
1279
1448
  },
1449
+ TASK_RUN_HEARTBEAT: {
1450
+ message: zod.z.object({
1451
+ version: zod.z.literal("v1").default("v1"),
1452
+ runId: zod.z.string()
1453
+ })
1454
+ },
1280
1455
  CHECKPOINT_CREATED: {
1281
1456
  message: zod.z.object({
1282
1457
  version: zod.z.literal("v1").default("v1"),
@@ -1315,6 +1490,17 @@ var CoordinatorToPlatformMessages = {
1315
1490
  stack: zod.z.string().optional()
1316
1491
  })
1317
1492
  })
1493
+ },
1494
+ RUN_CRASHED: {
1495
+ message: zod.z.object({
1496
+ version: zod.z.literal("v1").default("v1"),
1497
+ runId: zod.z.string(),
1498
+ error: zod.z.object({
1499
+ name: zod.z.string(),
1500
+ message: zod.z.string(),
1501
+ stack: zod.z.string().optional()
1502
+ })
1503
+ })
1318
1504
  }
1319
1505
  };
1320
1506
  var PlatformToCoordinatorMessages = {
@@ -1342,6 +1528,13 @@ var PlatformToCoordinatorMessages = {
1342
1528
  attemptFriendlyId: zod.z.string()
1343
1529
  })
1344
1530
  },
1531
+ REQUEST_RUN_CANCELLATION: {
1532
+ message: zod.z.object({
1533
+ version: zod.z.literal("v1").default("v1"),
1534
+ runId: zod.z.string(),
1535
+ delayInMs: zod.z.number().optional()
1536
+ })
1537
+ },
1345
1538
  READY_FOR_RETRY: {
1346
1539
  message: zod.z.object({
1347
1540
  version: zod.z.literal("v1").default("v1"),
@@ -1385,6 +1578,12 @@ var SharedQueueToClientMessages = {
1385
1578
  })
1386
1579
  }
1387
1580
  };
1581
+ var IndexTasksMessage = zod.z.object({
1582
+ version: zod.z.literal("v1"),
1583
+ deploymentId: zod.z.string(),
1584
+ tasks: TaskResource.array(),
1585
+ packageVersion: zod.z.string()
1586
+ });
1388
1587
  var ProdWorkerToCoordinatorMessages = {
1389
1588
  LOG: {
1390
1589
  message: zod.z.object({
@@ -1394,12 +1593,15 @@ var ProdWorkerToCoordinatorMessages = {
1394
1593
  callback: zod.z.void()
1395
1594
  },
1396
1595
  INDEX_TASKS: {
1397
- message: zod.z.object({
1398
- version: zod.z.literal("v1").default("v1"),
1399
- deploymentId: zod.z.string(),
1400
- tasks: TaskResource.array(),
1401
- packageVersion: zod.z.string()
1402
- }),
1596
+ message: zod.z.discriminatedUnion("version", [
1597
+ IndexTasksMessage.extend({
1598
+ version: zod.z.literal("v1")
1599
+ }),
1600
+ IndexTasksMessage.extend({
1601
+ version: zod.z.literal("v2"),
1602
+ supportsLazyAttempts: zod.z.boolean()
1603
+ })
1604
+ ]),
1403
1605
  callback: zod.z.discriminatedUnion("success", [
1404
1606
  zod.z.object({
1405
1607
  success: zod.z.literal(false)
@@ -1416,6 +1618,13 @@ var ProdWorkerToCoordinatorMessages = {
1416
1618
  totalCompletions: zod.z.number()
1417
1619
  })
1418
1620
  },
1621
+ READY_FOR_LAZY_ATTEMPT: {
1622
+ message: zod.z.object({
1623
+ version: zod.z.literal("v1").default("v1"),
1624
+ runId: zod.z.string(),
1625
+ totalCompletions: zod.z.number()
1626
+ })
1627
+ },
1419
1628
  READY_FOR_RESUME: {
1420
1629
  message: zod.z.object({
1421
1630
  version: zod.z.literal("v1").default("v1"),
@@ -1452,6 +1661,12 @@ var ProdWorkerToCoordinatorMessages = {
1452
1661
  attemptFriendlyId: zod.z.string()
1453
1662
  })
1454
1663
  },
1664
+ TASK_RUN_HEARTBEAT: {
1665
+ message: zod.z.object({
1666
+ version: zod.z.literal("v1").default("v1"),
1667
+ runId: zod.z.string()
1668
+ })
1669
+ },
1455
1670
  TASK_RUN_COMPLETED: {
1456
1671
  message: zod.z.object({
1457
1672
  version: zod.z.literal("v1").default("v1"),
@@ -1463,6 +1678,12 @@ var ProdWorkerToCoordinatorMessages = {
1463
1678
  shouldExit: zod.z.boolean()
1464
1679
  })
1465
1680
  },
1681
+ TASK_RUN_FAILED_TO_RUN: {
1682
+ message: zod.z.object({
1683
+ version: zod.z.literal("v1").default("v1"),
1684
+ completion: TaskRunFailedExecutionResult
1685
+ })
1686
+ },
1466
1687
  WAIT_FOR_DURATION: {
1467
1688
  message: zod.z.object({
1468
1689
  version: zod.z.literal("v1").default("v1"),
@@ -1507,6 +1728,32 @@ var ProdWorkerToCoordinatorMessages = {
1507
1728
  stack: zod.z.string().optional()
1508
1729
  })
1509
1730
  })
1731
+ },
1732
+ CREATE_TASK_RUN_ATTEMPT: {
1733
+ message: zod.z.object({
1734
+ version: zod.z.literal("v1").default("v1"),
1735
+ runId: zod.z.string()
1736
+ }),
1737
+ callback: zod.z.discriminatedUnion("success", [
1738
+ zod.z.object({
1739
+ success: zod.z.literal(false),
1740
+ reason: zod.z.string().optional()
1741
+ }),
1742
+ zod.z.object({
1743
+ success: zod.z.literal(true),
1744
+ executionPayload: ProdTaskRunExecutionPayload
1745
+ })
1746
+ ])
1747
+ },
1748
+ UNRECOVERABLE_ERROR: {
1749
+ message: zod.z.object({
1750
+ version: zod.z.literal("v1").default("v1"),
1751
+ error: zod.z.object({
1752
+ name: zod.z.string(),
1753
+ message: zod.z.string(),
1754
+ stack: zod.z.string().optional()
1755
+ })
1756
+ })
1510
1757
  }
1511
1758
  };
1512
1759
  var CoordinatorToProdWorkerMessages = {
@@ -1530,6 +1777,12 @@ var CoordinatorToProdWorkerMessages = {
1530
1777
  executionPayload: ProdTaskRunExecutionPayload
1531
1778
  })
1532
1779
  },
1780
+ EXECUTE_TASK_RUN_LAZY_ATTEMPT: {
1781
+ message: zod.z.object({
1782
+ version: zod.z.literal("v1").default("v1"),
1783
+ lazyPayload: TaskRunExecutionLazyAttemptPayload
1784
+ })
1785
+ },
1533
1786
  REQUEST_ATTEMPT_CANCELLATION: {
1534
1787
  message: zod.z.object({
1535
1788
  version: zod.z.literal("v1").default("v1"),
@@ -1537,9 +1790,15 @@ var CoordinatorToProdWorkerMessages = {
1537
1790
  })
1538
1791
  },
1539
1792
  REQUEST_EXIT: {
1540
- message: zod.z.object({
1541
- version: zod.z.literal("v1").default("v1")
1542
- })
1793
+ message: zod.z.discriminatedUnion("version", [
1794
+ zod.z.object({
1795
+ version: zod.z.literal("v1")
1796
+ }),
1797
+ zod.z.object({
1798
+ version: zod.z.literal("v2"),
1799
+ delayInMs: zod.z.number().optional()
1800
+ })
1801
+ ])
1543
1802
  },
1544
1803
  READY_FOR_RETRY: {
1545
1804
  message: zod.z.object({
@@ -1904,15 +2163,153 @@ var _TaskContextAPI = class _TaskContextAPI {
1904
2163
  return registerGlobal(API_NAME, taskContext2);
1905
2164
  }
1906
2165
  };
1907
- _getTaskContext = new WeakSet();
1908
- getTaskContext_fn = /* @__PURE__ */ __name(function() {
1909
- return getGlobal(API_NAME);
1910
- }, "#getTaskContext");
1911
- __name(_TaskContextAPI, "TaskContextAPI");
1912
- var TaskContextAPI = _TaskContextAPI;
1913
-
1914
- // src/v3/task-context-api.ts
1915
- var taskContext = TaskContextAPI.getInstance();
2166
+ _getTaskContext = new WeakSet();
2167
+ getTaskContext_fn = /* @__PURE__ */ __name(function() {
2168
+ return getGlobal(API_NAME);
2169
+ }, "#getTaskContext");
2170
+ __name(_TaskContextAPI, "TaskContextAPI");
2171
+ var TaskContextAPI = _TaskContextAPI;
2172
+
2173
+ // src/v3/task-context-api.ts
2174
+ var taskContext = TaskContextAPI.getInstance();
2175
+
2176
+ // src/v3/apiClient/errors.ts
2177
+ var _ApiError = class _ApiError extends Error {
2178
+ constructor(status, error, message, headers) {
2179
+ super(`${_ApiError.makeMessage(status, error, message)}`);
2180
+ this.status = status;
2181
+ this.headers = headers;
2182
+ const data = error;
2183
+ this.error = data;
2184
+ this.code = data?.["code"];
2185
+ this.param = data?.["param"];
2186
+ this.type = data?.["type"];
2187
+ }
2188
+ static makeMessage(status, error, message) {
2189
+ const msg = error?.message ? typeof error.message === "string" ? error.message : JSON.stringify(error.message) : error ? JSON.stringify(error) : message;
2190
+ if (status && msg) {
2191
+ return `${status} ${msg}`;
2192
+ }
2193
+ if (status) {
2194
+ return `${status} status code (no body)`;
2195
+ }
2196
+ if (msg) {
2197
+ return msg;
2198
+ }
2199
+ return "(no status code or body)";
2200
+ }
2201
+ static generate(status, errorResponse, message, headers) {
2202
+ if (!status) {
2203
+ return new ApiConnectionError({
2204
+ cause: castToError(errorResponse)
2205
+ });
2206
+ }
2207
+ const error = errorResponse?.["error"];
2208
+ if (status === 400) {
2209
+ return new BadRequestError(status, error, message, headers);
2210
+ }
2211
+ if (status === 401) {
2212
+ return new AuthenticationError(status, error, message, headers);
2213
+ }
2214
+ if (status === 403) {
2215
+ return new PermissionDeniedError(status, error, message, headers);
2216
+ }
2217
+ if (status === 404) {
2218
+ return new NotFoundError(status, error, message, headers);
2219
+ }
2220
+ if (status === 409) {
2221
+ return new ConflictError(status, error, message, headers);
2222
+ }
2223
+ if (status === 422) {
2224
+ return new UnprocessableEntityError(status, error, message, headers);
2225
+ }
2226
+ if (status === 429) {
2227
+ return new RateLimitError(status, error, message, headers);
2228
+ }
2229
+ if (status >= 500) {
2230
+ return new InternalServerError(status, error, message, headers);
2231
+ }
2232
+ return new _ApiError(status, error, message, headers);
2233
+ }
2234
+ };
2235
+ __name(_ApiError, "ApiError");
2236
+ var ApiError = _ApiError;
2237
+ var _ApiConnectionError = class _ApiConnectionError extends ApiError {
2238
+ constructor({ message, cause }) {
2239
+ super(void 0, void 0, message || "Connection error.", void 0);
2240
+ __publicField(this, "status");
2241
+ if (cause)
2242
+ this.cause = cause;
2243
+ }
2244
+ };
2245
+ __name(_ApiConnectionError, "ApiConnectionError");
2246
+ var ApiConnectionError = _ApiConnectionError;
2247
+ var _BadRequestError = class _BadRequestError extends ApiError {
2248
+ constructor() {
2249
+ super(...arguments);
2250
+ __publicField(this, "status", 400);
2251
+ }
2252
+ };
2253
+ __name(_BadRequestError, "BadRequestError");
2254
+ var BadRequestError = _BadRequestError;
2255
+ var _AuthenticationError = class _AuthenticationError extends ApiError {
2256
+ constructor() {
2257
+ super(...arguments);
2258
+ __publicField(this, "status", 401);
2259
+ }
2260
+ };
2261
+ __name(_AuthenticationError, "AuthenticationError");
2262
+ var AuthenticationError = _AuthenticationError;
2263
+ var _PermissionDeniedError = class _PermissionDeniedError extends ApiError {
2264
+ constructor() {
2265
+ super(...arguments);
2266
+ __publicField(this, "status", 403);
2267
+ }
2268
+ };
2269
+ __name(_PermissionDeniedError, "PermissionDeniedError");
2270
+ var PermissionDeniedError = _PermissionDeniedError;
2271
+ var _NotFoundError = class _NotFoundError extends ApiError {
2272
+ constructor() {
2273
+ super(...arguments);
2274
+ __publicField(this, "status", 404);
2275
+ }
2276
+ };
2277
+ __name(_NotFoundError, "NotFoundError");
2278
+ var NotFoundError = _NotFoundError;
2279
+ var _ConflictError = class _ConflictError extends ApiError {
2280
+ constructor() {
2281
+ super(...arguments);
2282
+ __publicField(this, "status", 409);
2283
+ }
2284
+ };
2285
+ __name(_ConflictError, "ConflictError");
2286
+ var ConflictError = _ConflictError;
2287
+ var _UnprocessableEntityError = class _UnprocessableEntityError extends ApiError {
2288
+ constructor() {
2289
+ super(...arguments);
2290
+ __publicField(this, "status", 422);
2291
+ }
2292
+ };
2293
+ __name(_UnprocessableEntityError, "UnprocessableEntityError");
2294
+ var UnprocessableEntityError = _UnprocessableEntityError;
2295
+ var _RateLimitError = class _RateLimitError extends ApiError {
2296
+ constructor() {
2297
+ super(...arguments);
2298
+ __publicField(this, "status", 429);
2299
+ }
2300
+ };
2301
+ __name(_RateLimitError, "RateLimitError");
2302
+ var RateLimitError = _RateLimitError;
2303
+ var _InternalServerError = class _InternalServerError extends ApiError {
2304
+ };
2305
+ __name(_InternalServerError, "InternalServerError");
2306
+ var InternalServerError = _InternalServerError;
2307
+ function castToError(err) {
2308
+ if (err instanceof Error)
2309
+ return err;
2310
+ return new Error(err);
2311
+ }
2312
+ __name(castToError, "castToError");
1916
2313
 
1917
2314
  // src/retry.ts
1918
2315
  function calculateResetAt(resets, format, now = /* @__PURE__ */ new Date()) {
@@ -2020,6 +2417,108 @@ function calculateResetAt2(resets, format, now = Date.now()) {
2020
2417
  return resetAt?.getTime();
2021
2418
  }
2022
2419
  __name(calculateResetAt2, "calculateResetAt");
2420
+
2421
+ // src/v3/apiClient/pagination.ts
2422
+ var _CursorPage = class _CursorPage {
2423
+ constructor(data, pagination, pageFetcher) {
2424
+ this.pageFetcher = pageFetcher;
2425
+ this.data = data;
2426
+ this.pagination = pagination;
2427
+ }
2428
+ getPaginatedItems() {
2429
+ return this.data ?? [];
2430
+ }
2431
+ hasNextPage() {
2432
+ return !!this.pagination.next;
2433
+ }
2434
+ hasPreviousPage() {
2435
+ return !!this.pagination.previous;
2436
+ }
2437
+ getNextPage() {
2438
+ if (!this.pagination.next) {
2439
+ throw new Error("No next page available");
2440
+ }
2441
+ return this.pageFetcher({
2442
+ after: this.pagination.next
2443
+ });
2444
+ }
2445
+ getPreviousPage() {
2446
+ if (!this.pagination.previous) {
2447
+ throw new Error("No previous page available");
2448
+ }
2449
+ return this.pageFetcher({
2450
+ before: this.pagination.previous
2451
+ });
2452
+ }
2453
+ async *iterPages() {
2454
+ let page = this;
2455
+ yield page;
2456
+ while (page.hasNextPage()) {
2457
+ page = await page.getNextPage();
2458
+ yield page;
2459
+ }
2460
+ }
2461
+ async *[Symbol.asyncIterator]() {
2462
+ for await (const page of this.iterPages()) {
2463
+ for (const item of page.getPaginatedItems()) {
2464
+ yield item;
2465
+ }
2466
+ }
2467
+ }
2468
+ };
2469
+ __name(_CursorPage, "CursorPage");
2470
+ var CursorPage = _CursorPage;
2471
+ var _OffsetLimitPage = class _OffsetLimitPage {
2472
+ constructor(data, pagination, pageFetcher) {
2473
+ this.pageFetcher = pageFetcher;
2474
+ this.data = data;
2475
+ this.pagination = pagination;
2476
+ }
2477
+ getPaginatedItems() {
2478
+ return this.data ?? [];
2479
+ }
2480
+ hasNextPage() {
2481
+ return this.pagination.currentPage < this.pagination.totalPages;
2482
+ }
2483
+ hasPreviousPage() {
2484
+ return this.pagination.currentPage > 1;
2485
+ }
2486
+ getNextPage() {
2487
+ if (!this.hasNextPage()) {
2488
+ throw new Error("No next page available");
2489
+ }
2490
+ return this.pageFetcher({
2491
+ page: this.pagination.currentPage + 1
2492
+ });
2493
+ }
2494
+ getPreviousPage() {
2495
+ if (!this.hasPreviousPage()) {
2496
+ throw new Error("No previous page available");
2497
+ }
2498
+ return this.pageFetcher({
2499
+ page: this.pagination.currentPage - 1
2500
+ });
2501
+ }
2502
+ async *iterPages() {
2503
+ let page = this;
2504
+ yield page;
2505
+ while (page.hasNextPage()) {
2506
+ page = await page.getNextPage();
2507
+ yield page;
2508
+ }
2509
+ }
2510
+ async *[Symbol.asyncIterator]() {
2511
+ for await (const page of this.iterPages()) {
2512
+ for (const item of page.getPaginatedItems()) {
2513
+ yield item;
2514
+ }
2515
+ }
2516
+ }
2517
+ };
2518
+ __name(_OffsetLimitPage, "OffsetLimitPage");
2519
+ var OffsetLimitPage = _OffsetLimitPage;
2520
+
2521
+ // src/v3/apiClient/core.ts
2023
2522
  var defaultRetryOptions2 = {
2024
2523
  maxAttempts: 3,
2025
2524
  factor: 2,
@@ -2027,11 +2526,62 @@ var defaultRetryOptions2 = {
2027
2526
  maxTimeoutInMs: 6e4,
2028
2527
  randomize: false
2029
2528
  };
2030
- async function zodfetch(schema, url, requestInit, options) {
2031
- return await _doZodFetch(schema, url, requestInit, options);
2529
+ function zodfetch(schema, url, requestInit, options) {
2530
+ return new ApiPromise(_doZodFetch(schema, url, requestInit, options));
2032
2531
  }
2033
2532
  __name(zodfetch, "zodfetch");
2034
- async function zodupload(schema, url, body, requestInit, options) {
2533
+ function zodfetchCursorPage(schema, url, params, requestInit, options) {
2534
+ const query = new URLSearchParams(params.query);
2535
+ if (params.limit) {
2536
+ query.set("page[size]", String(params.limit));
2537
+ }
2538
+ if (params.after) {
2539
+ query.set("page[after]", params.after);
2540
+ }
2541
+ if (params.before) {
2542
+ query.set("page[before]", params.before);
2543
+ }
2544
+ const cursorPageSchema = zod.z.object({
2545
+ data: zod.z.array(schema),
2546
+ pagination: zod.z.object({
2547
+ next: zod.z.string().optional(),
2548
+ previous: zod.z.string().optional()
2549
+ })
2550
+ });
2551
+ const $url = new URL(url);
2552
+ $url.search = query.toString();
2553
+ const fetchResult = _doZodFetch(cursorPageSchema, $url.href, requestInit, options);
2554
+ return new CursorPagePromise(fetchResult, schema, url, params, requestInit, options);
2555
+ }
2556
+ __name(zodfetchCursorPage, "zodfetchCursorPage");
2557
+ function zodfetchOffsetLimitPage(schema, url, params, requestInit, options) {
2558
+ const query = new URLSearchParams(params.query);
2559
+ if (params.limit) {
2560
+ query.set("perPage", String(params.limit));
2561
+ }
2562
+ if (params.page) {
2563
+ query.set("page", String(params.page));
2564
+ }
2565
+ const offsetLimitPageSchema = zod.z.object({
2566
+ data: zod.z.array(schema),
2567
+ pagination: zod.z.object({
2568
+ currentPage: zod.z.coerce.number(),
2569
+ totalPages: zod.z.coerce.number(),
2570
+ count: zod.z.coerce.number()
2571
+ })
2572
+ });
2573
+ const $url = new URL(url);
2574
+ $url.search = query.toString();
2575
+ const fetchResult = _doZodFetch(offsetLimitPageSchema, $url.href, requestInit, options);
2576
+ return new OffsetLimitPagePromise(fetchResult, schema, url, params, requestInit, options);
2577
+ }
2578
+ __name(zodfetchOffsetLimitPage, "zodfetchOffsetLimitPage");
2579
+ function zodupload(schema, url, body, requestInit, options) {
2580
+ const finalRequestInit = createMultipartFormRequestInit(body, requestInit);
2581
+ return new ApiPromise(_doZodFetch(schema, url, finalRequestInit, options));
2582
+ }
2583
+ __name(zodupload, "zodupload");
2584
+ async function createMultipartFormRequestInit(body, requestInit) {
2035
2585
  const form = await createForm(body);
2036
2586
  const encoder = new formDataEncoder.FormDataEncoder(form);
2037
2587
  const finalHeaders = {};
@@ -2049,9 +2599,9 @@ async function zodupload(schema, url, body, requestInit, options) {
2049
2599
  // @ts-expect-error
2050
2600
  duplex: "half"
2051
2601
  };
2052
- return await _doZodFetch(schema, url, finalRequestInit, options);
2602
+ return finalRequestInit;
2053
2603
  }
2054
- __name(zodupload, "zodupload");
2604
+ __name(createMultipartFormRequestInit, "createMultipartFormRequestInit");
2055
2605
  var createForm = /* @__PURE__ */ __name(async (body) => {
2056
2606
  const form = new FormData();
2057
2607
  await Promise.all(Object.entries(body || {}).map(([key, value]) => addFormValue(form, key, value)));
@@ -2059,7 +2609,8 @@ var createForm = /* @__PURE__ */ __name(async (body) => {
2059
2609
  }, "createForm");
2060
2610
  async function _doZodFetch(schema, url, requestInit, options, attempt = 1) {
2061
2611
  try {
2062
- const response = await fetch(url, requestInitWithCache(requestInit));
2612
+ const $requestInit = await requestInit;
2613
+ const response = await fetch(url, requestInitWithCache($requestInit));
2063
2614
  const responseHeaders = createResponseHeaders(response.headers);
2064
2615
  if (!response.ok) {
2065
2616
  const retryResult = shouldRetry(response, attempt, options?.retry);
@@ -2070,17 +2621,20 @@ async function _doZodFetch(schema, url, requestInit, options, attempt = 1) {
2070
2621
  const errText = await response.text().catch((e) => castToError2(e).message);
2071
2622
  const errJSON = safeJsonParse(errText);
2072
2623
  const errMessage = errJSON ? void 0 : errText;
2073
- throw APIError.generate(response.status, errJSON, errMessage, responseHeaders);
2624
+ throw ApiError.generate(response.status, errJSON, errMessage, responseHeaders);
2074
2625
  }
2075
2626
  }
2076
2627
  const jsonBody = await response.json();
2077
2628
  const parsedResult = schema.safeParse(jsonBody);
2078
2629
  if (parsedResult.success) {
2079
- return parsedResult.data;
2630
+ return {
2631
+ data: parsedResult.data,
2632
+ response
2633
+ };
2080
2634
  }
2081
2635
  throw zodValidationError.fromZodError(parsedResult.error);
2082
2636
  } catch (error) {
2083
- if (error instanceof APIError) {
2637
+ if (error instanceof ApiError) {
2084
2638
  throw error;
2085
2639
  }
2086
2640
  if (options?.retry) {
@@ -2094,7 +2648,7 @@ async function _doZodFetch(schema, url, requestInit, options, attempt = 1) {
2094
2648
  return await _doZodFetch(schema, url, requestInit, options, attempt + 1);
2095
2649
  }
2096
2650
  }
2097
- throw new APIConnectionError({
2651
+ throw new ApiConnectionError({
2098
2652
  cause: castToError2(error)
2099
2653
  });
2100
2654
  }
@@ -2267,6 +2821,128 @@ var isUploadable = /* @__PURE__ */ __name((value) => {
2267
2821
  return isFileLike(value) || isResponseLike(value) || isFsReadStream(value);
2268
2822
  }, "isUploadable");
2269
2823
  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");
2824
+ var _ApiPromise = class _ApiPromise extends Promise {
2825
+ constructor(responsePromise) {
2826
+ super((resolve) => {
2827
+ resolve(null);
2828
+ });
2829
+ this.responsePromise = responsePromise;
2830
+ }
2831
+ /**
2832
+ * Gets the raw `Response` instance instead of parsing the response
2833
+ * data.
2834
+ *
2835
+ * If you want to parse the response body but still get the `Response`
2836
+ * instance, you can use {@link withResponse()}.
2837
+ */
2838
+ asResponse() {
2839
+ return this.responsePromise.then((p) => p.response);
2840
+ }
2841
+ /**
2842
+ * Gets the parsed response data and the raw `Response` instance.
2843
+ *
2844
+ * If you just want to get the raw `Response` instance without parsing it,
2845
+ * you can use {@link asResponse()}.
2846
+ */
2847
+ async withResponse() {
2848
+ const [data, response] = await Promise.all([
2849
+ this.parse(),
2850
+ this.asResponse()
2851
+ ]);
2852
+ return {
2853
+ data,
2854
+ response
2855
+ };
2856
+ }
2857
+ parse() {
2858
+ return this.responsePromise.then((result) => result.data);
2859
+ }
2860
+ then(onfulfilled, onrejected) {
2861
+ return this.parse().then(onfulfilled, onrejected);
2862
+ }
2863
+ catch(onrejected) {
2864
+ return this.parse().catch(onrejected);
2865
+ }
2866
+ finally(onfinally) {
2867
+ return this.parse().finally(onfinally);
2868
+ }
2869
+ };
2870
+ __name(_ApiPromise, "ApiPromise");
2871
+ var ApiPromise = _ApiPromise;
2872
+ var _fetchPage, fetchPage_fn;
2873
+ var _CursorPagePromise = class _CursorPagePromise extends ApiPromise {
2874
+ constructor(result, schema, url, params, requestInit, options) {
2875
+ super(result.then((result2) => ({
2876
+ data: new CursorPage(result2.data.data, result2.data.pagination, __privateMethod(this, _fetchPage, fetchPage_fn).bind(this)),
2877
+ response: result2.response
2878
+ })));
2879
+ __privateAdd(this, _fetchPage);
2880
+ this.schema = schema;
2881
+ this.url = url;
2882
+ this.params = params;
2883
+ this.requestInit = requestInit;
2884
+ this.options = options;
2885
+ }
2886
+ /**
2887
+ * Allow auto-paginating iteration on an unawaited list call, eg:
2888
+ *
2889
+ * for await (const item of client.items.list()) {
2890
+ * console.log(item)
2891
+ * }
2892
+ */
2893
+ async *[Symbol.asyncIterator]() {
2894
+ const page = await this;
2895
+ for await (const item of page) {
2896
+ yield item;
2897
+ }
2898
+ }
2899
+ };
2900
+ _fetchPage = new WeakSet();
2901
+ fetchPage_fn = /* @__PURE__ */ __name(function(params) {
2902
+ return zodfetchCursorPage(this.schema, this.url, {
2903
+ ...this.params,
2904
+ ...params
2905
+ }, this.requestInit, this.options);
2906
+ }, "#fetchPage");
2907
+ __name(_CursorPagePromise, "CursorPagePromise");
2908
+ var CursorPagePromise = _CursorPagePromise;
2909
+ var _fetchPage2, fetchPage_fn2;
2910
+ var _OffsetLimitPagePromise = class _OffsetLimitPagePromise extends ApiPromise {
2911
+ constructor(result, schema, url, params, requestInit, options) {
2912
+ super(result.then((result2) => ({
2913
+ data: new OffsetLimitPage(result2.data.data, result2.data.pagination, __privateMethod(this, _fetchPage2, fetchPage_fn2).bind(this)),
2914
+ response: result2.response
2915
+ })));
2916
+ __privateAdd(this, _fetchPage2);
2917
+ this.schema = schema;
2918
+ this.url = url;
2919
+ this.params = params;
2920
+ this.requestInit = requestInit;
2921
+ this.options = options;
2922
+ }
2923
+ /**
2924
+ * Allow auto-paginating iteration on an unawaited list call, eg:
2925
+ *
2926
+ * for await (const item of client.items.list()) {
2927
+ * console.log(item)
2928
+ * }
2929
+ */
2930
+ async *[Symbol.asyncIterator]() {
2931
+ const page = await this;
2932
+ for await (const item of page) {
2933
+ yield item;
2934
+ }
2935
+ }
2936
+ };
2937
+ _fetchPage2 = new WeakSet();
2938
+ fetchPage_fn2 = /* @__PURE__ */ __name(function(params1) {
2939
+ return zodfetchOffsetLimitPage(this.schema, this.url, {
2940
+ ...this.params,
2941
+ ...params1
2942
+ }, this.requestInit, this.options);
2943
+ }, "#fetchPage");
2944
+ __name(_OffsetLimitPagePromise, "OffsetLimitPagePromise");
2945
+ var OffsetLimitPagePromise = _OffsetLimitPagePromise;
2270
2946
 
2271
2947
  // src/v3/apiClient/index.ts
2272
2948
  var zodFetchOptions = {
@@ -2292,7 +2968,7 @@ var _ApiClient = class _ApiClient {
2292
2968
  headers: __privateMethod(this, _getHeaders, getHeaders_fn).call(this, false)
2293
2969
  }, zodFetchOptions);
2294
2970
  } catch (error) {
2295
- if (error instanceof APIError) {
2971
+ if (error instanceof ApiError) {
2296
2972
  if (error.status === 404) {
2297
2973
  return void 0;
2298
2974
  }
@@ -2307,14 +2983,16 @@ var _ApiClient = class _ApiClient {
2307
2983
  }, zodFetchOptions);
2308
2984
  }
2309
2985
  triggerTask(taskId, body, options) {
2310
- return zodfetch(TriggerTaskResponse, `${this.baseUrl}/api/v1/tasks/${taskId}/trigger`, {
2986
+ const encodedTaskId = encodeURIComponent(taskId);
2987
+ return zodfetch(TriggerTaskResponse, `${this.baseUrl}/api/v1/tasks/${encodedTaskId}/trigger`, {
2311
2988
  method: "POST",
2312
2989
  headers: __privateMethod(this, _getHeaders, getHeaders_fn).call(this, options?.spanParentAsLink ?? false),
2313
2990
  body: JSON.stringify(body)
2314
2991
  }, zodFetchOptions);
2315
2992
  }
2316
2993
  batchTriggerTask(taskId, body, options) {
2317
- return zodfetch(BatchTriggerTaskResponse, `${this.baseUrl}/api/v1/tasks/${taskId}/batch`, {
2994
+ const encodedTaskId = encodeURIComponent(taskId);
2995
+ return zodfetch(BatchTriggerTaskResponse, `${this.baseUrl}/api/v1/tasks/${encodedTaskId}/batch`, {
2318
2996
  method: "POST",
2319
2997
  headers: __privateMethod(this, _getHeaders, getHeaders_fn).call(this, options?.spanParentAsLink ?? false),
2320
2998
  body: JSON.stringify(body)
@@ -2338,6 +3016,33 @@ var _ApiClient = class _ApiClient {
2338
3016
  headers: __privateMethod(this, _getHeaders, getHeaders_fn).call(this, false)
2339
3017
  }, zodFetchOptions);
2340
3018
  }
3019
+ listRuns(query) {
3020
+ const searchParams = createSearchQueryForListRuns(query);
3021
+ return zodfetchCursorPage(ListRunResponseItem, `${this.baseUrl}/api/v1/runs`, {
3022
+ query: searchParams,
3023
+ limit: query?.limit,
3024
+ after: query?.after,
3025
+ before: query?.before
3026
+ }, {
3027
+ method: "GET",
3028
+ headers: __privateMethod(this, _getHeaders, getHeaders_fn).call(this, false)
3029
+ }, zodFetchOptions);
3030
+ }
3031
+ listProjectRuns(projectRef, query) {
3032
+ const searchParams = createSearchQueryForListRuns(query);
3033
+ if (query?.env) {
3034
+ searchParams.append("filter[env]", Array.isArray(query.env) ? query.env.join(",") : query.env);
3035
+ }
3036
+ return zodfetchCursorPage(ListRunResponseItem, `${this.baseUrl}/api/v1/projects/${projectRef}/runs`, {
3037
+ query: searchParams,
3038
+ limit: query?.limit,
3039
+ after: query?.after,
3040
+ before: query?.before
3041
+ }, {
3042
+ method: "GET",
3043
+ headers: __privateMethod(this, _getHeaders, getHeaders_fn).call(this, false)
3044
+ }, zodFetchOptions);
3045
+ }
2341
3046
  replayRun(runId) {
2342
3047
  return zodfetch(ReplayRunResponse, `${this.baseUrl}/api/v1/runs/${runId}/replay`, {
2343
3048
  method: "POST",
@@ -2365,7 +3070,10 @@ var _ApiClient = class _ApiClient {
2365
3070
  if (options?.perPage) {
2366
3071
  searchParams.append("perPage", options.perPage.toString());
2367
3072
  }
2368
- return zodfetch(ListSchedulesResult, `${this.baseUrl}/api/v1/schedules${searchParams.size > 0 ? `?${searchParams}` : ""}`, {
3073
+ return zodfetchOffsetLimitPage(ScheduleObject, `${this.baseUrl}/api/v1/schedules`, {
3074
+ page: options?.page,
3075
+ limit: options?.perPage
3076
+ }, {
2369
3077
  method: "GET",
2370
3078
  headers: __privateMethod(this, _getHeaders, getHeaders_fn).call(this, false)
2371
3079
  });
@@ -2466,6 +3174,40 @@ getHeaders_fn = /* @__PURE__ */ __name(function(spanParentAsLink) {
2466
3174
  }, "#getHeaders");
2467
3175
  __name(_ApiClient, "ApiClient");
2468
3176
  var ApiClient = _ApiClient;
3177
+ function createSearchQueryForListRuns(query) {
3178
+ const searchParams = new URLSearchParams();
3179
+ if (query) {
3180
+ if (query.status) {
3181
+ searchParams.append("filter[status]", Array.isArray(query.status) ? query.status.join(",") : query.status);
3182
+ }
3183
+ if (query.taskIdentifier) {
3184
+ searchParams.append("filter[taskIdentifier]", Array.isArray(query.taskIdentifier) ? query.taskIdentifier.join(",") : query.taskIdentifier);
3185
+ }
3186
+ if (query.version) {
3187
+ searchParams.append("filter[version]", Array.isArray(query.version) ? query.version.join(",") : query.version);
3188
+ }
3189
+ if (query.bulkAction) {
3190
+ searchParams.append("filter[bulkAction]", query.bulkAction);
3191
+ }
3192
+ if (query.schedule) {
3193
+ searchParams.append("filter[schedule]", query.schedule);
3194
+ }
3195
+ if (typeof query.isTest === "boolean") {
3196
+ searchParams.append("filter[isTest]", String(query.isTest));
3197
+ }
3198
+ if (query.from) {
3199
+ searchParams.append("filter[createdAt][from]", query.from instanceof Date ? query.from.getTime().toString() : query.from.toString());
3200
+ }
3201
+ if (query.to) {
3202
+ searchParams.append("filter[createdAt][to]", query.to instanceof Date ? query.to.getTime().toString() : query.to.toString());
3203
+ }
3204
+ if (query.period) {
3205
+ searchParams.append("filter[createdAt][period]", query.period);
3206
+ }
3207
+ }
3208
+ return searchParams;
3209
+ }
3210
+ __name(createSearchQueryForListRuns, "createSearchQueryForListRuns");
2469
3211
  var _SimpleClock = class _SimpleClock {
2470
3212
  preciseNow() {
2471
3213
  const now = new preciseDate.PreciseDate();
@@ -2515,145 +3257,6 @@ var ClockAPI = _ClockAPI;
2515
3257
  // src/v3/clock-api.ts
2516
3258
  var clock = ClockAPI.getInstance();
2517
3259
 
2518
- // src/v3/errors.ts
2519
- function parseError(error) {
2520
- if (error instanceof Error) {
2521
- return {
2522
- type: "BUILT_IN_ERROR",
2523
- name: error.name,
2524
- message: error.message,
2525
- stackTrace: error.stack ?? ""
2526
- };
2527
- }
2528
- if (typeof error === "string") {
2529
- return {
2530
- type: "STRING_ERROR",
2531
- raw: error
2532
- };
2533
- }
2534
- try {
2535
- return {
2536
- type: "CUSTOM_ERROR",
2537
- raw: JSON.stringify(error)
2538
- };
2539
- } catch (e) {
2540
- return {
2541
- type: "CUSTOM_ERROR",
2542
- raw: String(error)
2543
- };
2544
- }
2545
- }
2546
- __name(parseError, "parseError");
2547
- function createErrorTaskError(error) {
2548
- switch (error.type) {
2549
- case "BUILT_IN_ERROR": {
2550
- const e = new Error(error.message);
2551
- e.name = error.name;
2552
- e.stack = error.stackTrace;
2553
- return e;
2554
- }
2555
- case "STRING_ERROR": {
2556
- return error.raw;
2557
- }
2558
- case "CUSTOM_ERROR": {
2559
- return JSON.parse(error.raw);
2560
- }
2561
- case "INTERNAL_ERROR": {
2562
- return new Error(`trigger.dev internal error (${error.code})`);
2563
- }
2564
- }
2565
- }
2566
- __name(createErrorTaskError, "createErrorTaskError");
2567
- function createJsonErrorObject(error) {
2568
- switch (error.type) {
2569
- case "BUILT_IN_ERROR": {
2570
- return {
2571
- name: error.name,
2572
- message: error.message,
2573
- stackTrace: error.stackTrace
2574
- };
2575
- }
2576
- case "STRING_ERROR": {
2577
- return {
2578
- message: error.raw
2579
- };
2580
- }
2581
- case "CUSTOM_ERROR": {
2582
- return {
2583
- message: error.raw
2584
- };
2585
- }
2586
- case "INTERNAL_ERROR": {
2587
- return {
2588
- message: `trigger.dev internal error (${error.code})`
2589
- };
2590
- }
2591
- }
2592
- }
2593
- __name(createJsonErrorObject, "createJsonErrorObject");
2594
- function correctErrorStackTrace(stackTrace, projectDir, options) {
2595
- const [errorLine, ...traceLines] = stackTrace.split("\n");
2596
- return [
2597
- options?.removeFirstLine ? void 0 : errorLine,
2598
- ...traceLines.map((line) => correctStackTraceLine(line, projectDir))
2599
- ].filter(Boolean).join("\n");
2600
- }
2601
- __name(correctErrorStackTrace, "correctErrorStackTrace");
2602
- var LINES_TO_IGNORE = [
2603
- /ConsoleInterceptor/,
2604
- /TriggerTracer/,
2605
- /TaskExecutor/,
2606
- /EXECUTE_TASK_RUN/,
2607
- /@trigger.dev\/core/,
2608
- /safeJsonProcess/,
2609
- /__entryPoint.ts/
2610
- ];
2611
- function correctStackTraceLine(line, projectDir) {
2612
- if (LINES_TO_IGNORE.some((regex) => regex.test(line))) {
2613
- return;
2614
- }
2615
- if (projectDir && !line.includes(projectDir)) {
2616
- return;
2617
- }
2618
- return line.trim();
2619
- }
2620
- __name(correctStackTraceLine, "correctStackTraceLine");
2621
- function groupTaskMetadataIssuesByTask(tasks, issues) {
2622
- return issues.reduce((acc, issue) => {
2623
- if (issue.path.length === 0) {
2624
- return acc;
2625
- }
2626
- const taskIndex = issue.path[1];
2627
- if (typeof taskIndex !== "number") {
2628
- return acc;
2629
- }
2630
- const task = tasks[taskIndex];
2631
- if (!task) {
2632
- return acc;
2633
- }
2634
- const restOfPath = issue.path.slice(2);
2635
- const taskId = task.id;
2636
- const taskName = task.exportName;
2637
- const filePath = task.filePath;
2638
- const key = taskIndex;
2639
- const existing = acc[key] ?? {
2640
- id: taskId,
2641
- exportName: taskName,
2642
- filePath,
2643
- issues: []
2644
- };
2645
- existing.issues.push({
2646
- message: issue.message,
2647
- path: restOfPath.length === 0 ? void 0 : restOfPath.join(".")
2648
- });
2649
- return {
2650
- ...acc,
2651
- [key]: existing
2652
- };
2653
- }, {});
2654
- }
2655
- __name(groupTaskMetadataIssuesByTask, "groupTaskMetadataIssuesByTask");
2656
-
2657
3260
  // src/v3/limits.ts
2658
3261
  var OTEL_SPAN_ATTRIBUTE_COUNT_LIMIT = 256;
2659
3262
  var OTEL_LOG_ATTRIBUTE_COUNT_LIMIT = 256;
@@ -3685,9 +4288,9 @@ function safeJsonParse2(value) {
3685
4288
  }
3686
4289
  __name(safeJsonParse2, "safeJsonParse");
3687
4290
 
3688
- exports.APIConnectionError = APIConnectionError;
3689
- exports.APIError = APIError;
3690
4291
  exports.ApiClient = ApiClient;
4292
+ exports.ApiConnectionError = ApiConnectionError;
4293
+ exports.ApiError = ApiError;
3691
4294
  exports.AttemptStatus = AttemptStatus;
3692
4295
  exports.AuthenticationError = AuthenticationError;
3693
4296
  exports.BackgroundWorkerClientMessages = BackgroundWorkerClientMessages;
@@ -3711,6 +4314,7 @@ exports.CreateBackgroundWorkerResponse = CreateBackgroundWorkerResponse;
3711
4314
  exports.CreateEnvironmentVariableRequestBody = CreateEnvironmentVariableRequestBody;
3712
4315
  exports.CreateScheduleOptions = CreateScheduleOptions;
3713
4316
  exports.CreateUploadPayloadUrlResponseBody = CreateUploadPayloadUrlResponseBody;
4317
+ exports.CursorPage = CursorPage;
3714
4318
  exports.DeletedScheduleObject = DeletedScheduleObject;
3715
4319
  exports.DeploymentErrorData = DeploymentErrorData;
3716
4320
  exports.EnvironmentType = EnvironmentType;
@@ -3742,6 +4346,8 @@ exports.ImportEnvironmentVariablesRequestBody = ImportEnvironmentVariablesReques
3742
4346
  exports.InitializeDeploymentRequestBody = InitializeDeploymentRequestBody;
3743
4347
  exports.InitializeDeploymentResponseBody = InitializeDeploymentResponseBody;
3744
4348
  exports.InternalServerError = InternalServerError;
4349
+ exports.ListRunResponse = ListRunResponse;
4350
+ exports.ListRunResponseItem = ListRunResponseItem;
3745
4351
  exports.ListScheduleOptions = ListScheduleOptions;
3746
4352
  exports.ListSchedulesResult = ListSchedulesResult;
3747
4353
  exports.Machine = Machine;
@@ -3758,6 +4364,7 @@ exports.OTEL_LOG_ATTRIBUTE_VALUE_LENGTH_LIMIT = OTEL_LOG_ATTRIBUTE_VALUE_LENGTH_
3758
4364
  exports.OTEL_SPAN_ATTRIBUTE_COUNT_LIMIT = OTEL_SPAN_ATTRIBUTE_COUNT_LIMIT;
3759
4365
  exports.OTEL_SPAN_ATTRIBUTE_VALUE_LENGTH_LIMIT = OTEL_SPAN_ATTRIBUTE_VALUE_LENGTH_LIMIT;
3760
4366
  exports.OTEL_SPAN_EVENT_COUNT_LIMIT = OTEL_SPAN_EVENT_COUNT_LIMIT;
4367
+ exports.OffsetLimitPage = OffsetLimitPage;
3761
4368
  exports.OtherSpanEvent = OtherSpanEvent;
3762
4369
  exports.PRIMARY_VARIANT = PRIMARY_VARIANT;
3763
4370
  exports.PermissionDeniedError = PermissionDeniedError;
@@ -3778,10 +4385,14 @@ exports.RateLimitOptions = RateLimitOptions;
3778
4385
  exports.ReplayRunResponse = ReplayRunResponse;
3779
4386
  exports.RetrieveRunResponse = RetrieveRunResponse;
3780
4387
  exports.RetryOptions = RetryOptions;
4388
+ exports.RunEnvironmentDetails = RunEnvironmentDetails;
4389
+ exports.RunScheduleDetails = RunScheduleDetails;
3781
4390
  exports.RunStatus = RunStatus;
4391
+ exports.ScheduleGenerator = ScheduleGenerator;
3782
4392
  exports.ScheduleObject = ScheduleObject;
3783
4393
  exports.ScheduledTaskPayload = ScheduledTaskPayload;
3784
4394
  exports.SemanticInternalAttributes = SemanticInternalAttributes;
4395
+ exports.SerializedError = SerializedError;
3785
4396
  exports.SharedQueueToClientMessages = SharedQueueToClientMessages;
3786
4397
  exports.SlidingWindowRateLimit = SlidingWindowRateLimit;
3787
4398
  exports.SpanEvent = SpanEvent;
@@ -3805,6 +4416,7 @@ exports.TaskRunExecution = TaskRunExecution;
3805
4416
  exports.TaskRunExecutionAttempt = TaskRunExecutionAttempt;
3806
4417
  exports.TaskRunExecutionBatch = TaskRunExecutionBatch;
3807
4418
  exports.TaskRunExecutionEnvironment = TaskRunExecutionEnvironment;
4419
+ exports.TaskRunExecutionLazyAttemptPayload = TaskRunExecutionLazyAttemptPayload;
3808
4420
  exports.TaskRunExecutionOrganization = TaskRunExecutionOrganization;
3809
4421
  exports.TaskRunExecutionPayload = TaskRunExecutionPayload;
3810
4422
  exports.TaskRunExecutionProject = TaskRunExecutionProject;