@trigger.dev/core 0.0.0-v3-prerelease-20240523152756 → 0.0.0-v3-prerelease-20240612084127

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 (51) 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-9lty-Du5.d.mts} +5320 -1444
  6. package/dist/{messages-vq7Bk4Ap.d.ts → messages-9lty-Du5.d.ts} +5320 -1444
  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 +592 -152
  16. package/dist/v3/index.d.ts +592 -152
  17. package/dist/v3/index.js +974 -381
  18. package/dist/v3/index.js.map +1 -1
  19. package/dist/v3/index.mjs +965 -381
  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 +478 -54
  34. package/dist/v3/workers/index.js.map +1 -1
  35. package/dist/v3/workers/index.mjs +479 -55
  36. package/dist/v3/workers/index.mjs.map +1 -1
  37. package/dist/v3/zodNamespace.js +16 -6
  38. package/dist/v3/zodNamespace.js.map +1 -1
  39. package/dist/v3/zodNamespace.mjs +17 -7
  40. package/dist/v3/zodNamespace.mjs.map +1 -1
  41. package/dist/v3/zodSocket.js +16 -6
  42. package/dist/v3/zodSocket.js.map +1 -1
  43. package/dist/v3/zodSocket.mjs +17 -7
  44. package/dist/v3/zodSocket.mjs.map +1 -1
  45. package/dist/v3/zodfetch.d.mts +262 -0
  46. package/dist/v3/zodfetch.d.ts +262 -0
  47. package/dist/v3/zodfetch.js +744 -0
  48. package/dist/v3/zodfetch.js.map +1 -0
  49. package/dist/v3/zodfetch.mjs +716 -0
  50. package/dist/v3/zodfetch.mjs.map +1 -0
  51. package/package.json +9 -1
package/dist/v3/index.mjs CHANGED
@@ -2,7 +2,7 @@ import { propagation, context, trace, SpanStatusCode } from '@opentelemetry/api'
2
2
  import { z } from 'zod';
3
3
  import { fromZodError } from 'zod-validation-error';
4
4
  import { FormDataEncoder } from 'form-data-encoder';
5
- import { Readable } from 'stream';
5
+ import { Readable } from 'node:stream';
6
6
  import { PreciseDate } from '@google-cloud/precise-date';
7
7
  import { logs } from '@opentelemetry/api-logs';
8
8
  import humanizeDuration from 'humanize-duration';
@@ -29,7 +29,7 @@ var __privateMethod = (obj, member, method) => {
29
29
  };
30
30
 
31
31
  // package.json
32
- var version = "0.0.0-v3-prerelease-20240523152756";
32
+ var version = "0.0.0-v3-prerelease-20240612084127";
33
33
  var dependencies = {
34
34
  "@google-cloud/precise-date": "^4.0.0",
35
35
  "@opentelemetry/api": "^1.8.0",
@@ -52,144 +52,6 @@ var dependencies = {
52
52
  "zod-error": "1.5.0",
53
53
  "zod-validation-error": "^1.5.0"
54
54
  };
55
-
56
- // src/v3/apiErrors.ts
57
- var _APIError = class _APIError extends Error {
58
- constructor(status, error, message, headers) {
59
- super(`${_APIError.makeMessage(status, error, message)}`);
60
- this.status = status;
61
- this.headers = headers;
62
- const data = error;
63
- this.error = data;
64
- this.code = data?.["code"];
65
- this.param = data?.["param"];
66
- this.type = data?.["type"];
67
- }
68
- static makeMessage(status, error, message) {
69
- const msg = error?.message ? typeof error.message === "string" ? error.message : JSON.stringify(error.message) : error ? JSON.stringify(error) : message;
70
- if (status && msg) {
71
- return `${status} ${msg}`;
72
- }
73
- if (status) {
74
- return `${status} status code (no body)`;
75
- }
76
- if (msg) {
77
- return msg;
78
- }
79
- return "(no status code or body)";
80
- }
81
- static generate(status, errorResponse, message, headers) {
82
- if (!status) {
83
- return new APIConnectionError({
84
- cause: castToError(errorResponse)
85
- });
86
- }
87
- const error = errorResponse?.["error"];
88
- if (status === 400) {
89
- return new BadRequestError(status, error, message, headers);
90
- }
91
- if (status === 401) {
92
- return new AuthenticationError(status, error, message, headers);
93
- }
94
- if (status === 403) {
95
- return new PermissionDeniedError(status, error, message, headers);
96
- }
97
- if (status === 404) {
98
- return new NotFoundError(status, error, message, headers);
99
- }
100
- if (status === 409) {
101
- return new ConflictError(status, error, message, headers);
102
- }
103
- if (status === 422) {
104
- return new UnprocessableEntityError(status, error, message, headers);
105
- }
106
- if (status === 429) {
107
- return new RateLimitError(status, error, message, headers);
108
- }
109
- if (status >= 500) {
110
- return new InternalServerError(status, error, message, headers);
111
- }
112
- return new _APIError(status, error, message, headers);
113
- }
114
- };
115
- __name(_APIError, "APIError");
116
- var APIError = _APIError;
117
- var _APIConnectionError = class _APIConnectionError extends APIError {
118
- constructor({ message, cause }) {
119
- super(void 0, void 0, message || "Connection error.", void 0);
120
- __publicField(this, "status");
121
- if (cause)
122
- this.cause = cause;
123
- }
124
- };
125
- __name(_APIConnectionError, "APIConnectionError");
126
- var APIConnectionError = _APIConnectionError;
127
- var _BadRequestError = class _BadRequestError extends APIError {
128
- constructor() {
129
- super(...arguments);
130
- __publicField(this, "status", 400);
131
- }
132
- };
133
- __name(_BadRequestError, "BadRequestError");
134
- var BadRequestError = _BadRequestError;
135
- var _AuthenticationError = class _AuthenticationError extends APIError {
136
- constructor() {
137
- super(...arguments);
138
- __publicField(this, "status", 401);
139
- }
140
- };
141
- __name(_AuthenticationError, "AuthenticationError");
142
- var AuthenticationError = _AuthenticationError;
143
- var _PermissionDeniedError = class _PermissionDeniedError extends APIError {
144
- constructor() {
145
- super(...arguments);
146
- __publicField(this, "status", 403);
147
- }
148
- };
149
- __name(_PermissionDeniedError, "PermissionDeniedError");
150
- var PermissionDeniedError = _PermissionDeniedError;
151
- var _NotFoundError = class _NotFoundError extends APIError {
152
- constructor() {
153
- super(...arguments);
154
- __publicField(this, "status", 404);
155
- }
156
- };
157
- __name(_NotFoundError, "NotFoundError");
158
- var NotFoundError = _NotFoundError;
159
- var _ConflictError = class _ConflictError extends APIError {
160
- constructor() {
161
- super(...arguments);
162
- __publicField(this, "status", 409);
163
- }
164
- };
165
- __name(_ConflictError, "ConflictError");
166
- var ConflictError = _ConflictError;
167
- var _UnprocessableEntityError = class _UnprocessableEntityError extends APIError {
168
- constructor() {
169
- super(...arguments);
170
- __publicField(this, "status", 422);
171
- }
172
- };
173
- __name(_UnprocessableEntityError, "UnprocessableEntityError");
174
- var UnprocessableEntityError = _UnprocessableEntityError;
175
- var _RateLimitError = class _RateLimitError extends APIError {
176
- constructor() {
177
- super(...arguments);
178
- __publicField(this, "status", 429);
179
- }
180
- };
181
- __name(_RateLimitError, "RateLimitError");
182
- var RateLimitError = _RateLimitError;
183
- var _InternalServerError = class _InternalServerError extends APIError {
184
- };
185
- __name(_InternalServerError, "InternalServerError");
186
- var InternalServerError = _InternalServerError;
187
- function castToError(err) {
188
- if (err instanceof Error)
189
- return err;
190
- return new Error(err);
191
- }
192
- __name(castToError, "castToError");
193
55
  var CreateAuthorizationCodeResponseSchema = z.object({
194
56
  url: z.string().url(),
195
57
  authorizationCode: z.string()
@@ -225,6 +87,7 @@ var TaskRunErrorCodes = {
225
87
  TASK_EXECUTION_FAILED: "TASK_EXECUTION_FAILED",
226
88
  TASK_EXECUTION_ABORTED: "TASK_EXECUTION_ABORTED",
227
89
  TASK_PROCESS_EXITED_WITH_NON_ZERO_CODE: "TASK_PROCESS_EXITED_WITH_NON_ZERO_CODE",
90
+ TASK_PROCESS_SIGKILL_TIMEOUT: "TASK_PROCESS_SIGKILL_TIMEOUT",
228
91
  TASK_RUN_CANCELLED: "TASK_RUN_CANCELLED",
229
92
  TASK_OUTPUT_ERROR: "TASK_OUTPUT_ERROR",
230
93
  HANDLE_ERROR_ERROR: "HANDLE_ERROR_ERROR",
@@ -240,10 +103,12 @@ var TaskRunInternalError = z.object({
240
103
  "TASK_EXECUTION_FAILED",
241
104
  "TASK_EXECUTION_ABORTED",
242
105
  "TASK_PROCESS_EXITED_WITH_NON_ZERO_CODE",
106
+ "TASK_PROCESS_SIGKILL_TIMEOUT",
243
107
  "TASK_RUN_CANCELLED",
244
108
  "TASK_OUTPUT_ERROR",
245
109
  "HANDLE_ERROR_ERROR",
246
- "GRACEFUL_EXIT_TIMEOUT"
110
+ "GRACEFUL_EXIT_TIMEOUT",
111
+ "TASK_RUN_HEARTBEAT_TIMEOUT"
247
112
  ]),
248
113
  message: z.string().optional()
249
114
  });
@@ -505,7 +370,16 @@ var TaskFileMetadata = z.object({
505
370
  filePath: z.string(),
506
371
  exportName: z.string()
507
372
  });
508
- var TaskMetadataWithFilePath = TaskMetadata.merge(TaskFileMetadata);
373
+ var TaskMetadataWithFilePath = z.object({
374
+ id: z.string(),
375
+ packageVersion: z.string(),
376
+ queue: QueueOptions.optional(),
377
+ retry: RetryOptions.optional(),
378
+ machine: Machine.partial().optional(),
379
+ triggerSource: z.string().optional(),
380
+ filePath: z.string(),
381
+ exportName: z.string()
382
+ });
509
383
  var PostStartCauses = z.enum([
510
384
  "index",
511
385
  "create",
@@ -546,6 +420,13 @@ var WaitReason = z.enum([
546
420
  "WAIT_FOR_TASK",
547
421
  "WAIT_FOR_BATCH"
548
422
  ]);
423
+ var TaskRunExecutionLazyAttemptPayload = z.object({
424
+ runId: z.string(),
425
+ messageId: z.string(),
426
+ isTest: z.boolean(),
427
+ traceContext: z.record(z.unknown()),
428
+ environment: z.record(z.string()).optional()
429
+ });
549
430
 
550
431
  // src/v3/schemas/resources.ts
551
432
  var TaskResource = z.object({
@@ -567,6 +448,152 @@ var ImageDetailsMetadata = z.object({
567
448
  contentHash: z.string(),
568
449
  imageTag: z.string()
569
450
  });
451
+ function parseError(error) {
452
+ if (error instanceof Error) {
453
+ return {
454
+ type: "BUILT_IN_ERROR",
455
+ name: error.name,
456
+ message: error.message,
457
+ stackTrace: error.stack ?? ""
458
+ };
459
+ }
460
+ if (typeof error === "string") {
461
+ return {
462
+ type: "STRING_ERROR",
463
+ raw: error
464
+ };
465
+ }
466
+ try {
467
+ return {
468
+ type: "CUSTOM_ERROR",
469
+ raw: JSON.stringify(error)
470
+ };
471
+ } catch (e) {
472
+ return {
473
+ type: "CUSTOM_ERROR",
474
+ raw: String(error)
475
+ };
476
+ }
477
+ }
478
+ __name(parseError, "parseError");
479
+ function createErrorTaskError(error) {
480
+ switch (error.type) {
481
+ case "BUILT_IN_ERROR": {
482
+ const e = new Error(error.message);
483
+ e.name = error.name;
484
+ e.stack = error.stackTrace;
485
+ return e;
486
+ }
487
+ case "STRING_ERROR": {
488
+ return error.raw;
489
+ }
490
+ case "CUSTOM_ERROR": {
491
+ return JSON.parse(error.raw);
492
+ }
493
+ case "INTERNAL_ERROR": {
494
+ return new Error(`trigger.dev internal error (${error.code})`);
495
+ }
496
+ }
497
+ }
498
+ __name(createErrorTaskError, "createErrorTaskError");
499
+ var SerializedError = z.object({
500
+ message: z.string(),
501
+ name: z.string().optional(),
502
+ stackTrace: z.string().optional()
503
+ });
504
+ function createJsonErrorObject(error) {
505
+ switch (error.type) {
506
+ case "BUILT_IN_ERROR": {
507
+ return {
508
+ name: error.name,
509
+ message: error.message,
510
+ stackTrace: error.stackTrace
511
+ };
512
+ }
513
+ case "STRING_ERROR": {
514
+ return {
515
+ message: error.raw
516
+ };
517
+ }
518
+ case "CUSTOM_ERROR": {
519
+ return {
520
+ message: error.raw
521
+ };
522
+ }
523
+ case "INTERNAL_ERROR": {
524
+ return {
525
+ message: `trigger.dev internal error (${error.code})`
526
+ };
527
+ }
528
+ }
529
+ }
530
+ __name(createJsonErrorObject, "createJsonErrorObject");
531
+ function correctErrorStackTrace(stackTrace, projectDir, options) {
532
+ const [errorLine, ...traceLines] = stackTrace.split("\n");
533
+ return [
534
+ options?.removeFirstLine ? void 0 : errorLine,
535
+ ...traceLines.map((line) => correctStackTraceLine(line, projectDir, options?.isDev))
536
+ ].filter(Boolean).join("\n");
537
+ }
538
+ __name(correctErrorStackTrace, "correctErrorStackTrace");
539
+ var LINES_TO_IGNORE = [
540
+ /ConsoleInterceptor/,
541
+ /TriggerTracer/,
542
+ /TaskExecutor/,
543
+ /EXECUTE_TASK_RUN/,
544
+ /@trigger.dev\/core/,
545
+ /packages\/core\/src\/v3/,
546
+ /safeJsonProcess/,
547
+ /__entryPoint.ts/,
548
+ /ZodIpc/,
549
+ /startActiveSpan/,
550
+ /processTicksAndRejections/
551
+ ];
552
+ function correctStackTraceLine(line, projectDir, isDev) {
553
+ if (LINES_TO_IGNORE.some((regex) => regex.test(line))) {
554
+ return;
555
+ }
556
+ if (isDev && projectDir && !line.includes(projectDir)) {
557
+ return;
558
+ }
559
+ return line.trim();
560
+ }
561
+ __name(correctStackTraceLine, "correctStackTraceLine");
562
+ function groupTaskMetadataIssuesByTask(tasks, issues) {
563
+ return issues.reduce((acc, issue) => {
564
+ if (issue.path.length === 0) {
565
+ return acc;
566
+ }
567
+ const taskIndex = issue.path[1];
568
+ if (typeof taskIndex !== "number") {
569
+ return acc;
570
+ }
571
+ const task = tasks[taskIndex];
572
+ if (!task) {
573
+ return acc;
574
+ }
575
+ const restOfPath = issue.path.slice(2);
576
+ const taskId = task.id;
577
+ const taskName = task.exportName;
578
+ const filePath = task.filePath;
579
+ const key = taskIndex;
580
+ const existing = acc[key] ?? {
581
+ id: taskId,
582
+ exportName: taskName,
583
+ filePath,
584
+ issues: []
585
+ };
586
+ existing.issues.push({
587
+ message: issue.message,
588
+ path: restOfPath.length === 0 ? void 0 : restOfPath.join(".")
589
+ });
590
+ return {
591
+ ...acc,
592
+ [key]: existing
593
+ };
594
+ }, {});
595
+ }
596
+ __name(groupTaskMetadataIssuesByTask, "groupTaskMetadataIssuesByTask");
570
597
 
571
598
  // src/v3/schemas/api.ts
572
599
  var WhoAmIResponseSchema = z.object({
@@ -595,7 +622,8 @@ var GetProjectEnvResponse = z.object({
595
622
  });
596
623
  var CreateBackgroundWorkerRequestBody = z.object({
597
624
  localOnly: z.boolean(),
598
- metadata: BackgroundWorkerMetadata
625
+ metadata: BackgroundWorkerMetadata,
626
+ supportsLazyAttempts: z.boolean().optional()
599
627
  });
600
628
  var CreateBackgroundWorkerResponse = z.object({
601
629
  id: z.string(),
@@ -672,7 +700,8 @@ var InitializeDeploymentRequestBody = z.object({
672
700
  var DeploymentErrorData = z.object({
673
701
  name: z.string(),
674
702
  message: z.string(),
675
- stack: z.string().optional()
703
+ stack: z.string().optional(),
704
+ stderr: z.string().optional()
676
705
  });
677
706
  var GetDeploymentResponseBody = z.object({
678
707
  id: z.string(),
@@ -708,7 +737,7 @@ var ReplayRunResponse = z.object({
708
737
  id: z.string()
709
738
  });
710
739
  var CanceledRunResponse = z.object({
711
- message: z.string()
740
+ id: z.string()
712
741
  });
713
742
  var ScheduledTaskPayload = z.object({
714
743
  /** The schedule id associated with this run (you can have many schedules for the same task).
@@ -758,17 +787,18 @@ var CreateScheduleOptions = z.object({
758
787
  externalId: z.string().optional()
759
788
  });
760
789
  var UpdateScheduleOptions = CreateScheduleOptions;
790
+ var ScheduleGenerator = z.object({
791
+ type: z.literal("CRON"),
792
+ expression: z.string(),
793
+ description: z.string()
794
+ });
761
795
  var ScheduleObject = z.object({
762
796
  id: z.string(),
763
797
  task: z.string(),
764
798
  active: z.boolean(),
765
799
  deduplicationKey: z.string().nullish(),
766
800
  externalId: z.string().nullish(),
767
- generator: z.object({
768
- type: z.literal("CRON"),
769
- expression: z.string(),
770
- description: z.string()
771
- }),
801
+ generator: ScheduleGenerator,
772
802
  nextRun: z.coerce.date().nullish(),
773
803
  environments: z.array(z.object({
774
804
  id: z.string(),
@@ -792,12 +822,28 @@ var ListScheduleOptions = z.object({
792
822
  perPage: z.number().optional()
793
823
  });
794
824
  var RunStatus = z.enum([
795
- "PENDING",
825
+ /// Task hasn't been deployed yet but is waiting to be executed
826
+ "WAITING_FOR_DEPLOY",
827
+ /// Task is waiting to be executed by a worker
828
+ "QUEUED",
829
+ /// Task is currently being executed by a worker
796
830
  "EXECUTING",
797
- "PAUSED",
831
+ /// Task has failed and is waiting to be retried
832
+ "REATTEMPTING",
833
+ /// Task has been paused by the system, and will be resumed by the system
834
+ "FROZEN",
835
+ /// Task has been completed successfully
798
836
  "COMPLETED",
837
+ /// Task has been canceled by the user
838
+ "CANCELED",
839
+ /// Task has been completed with errors
799
840
  "FAILED",
800
- "CANCELED"
841
+ /// Task has crashed and won't be retried, most likely the worker ran out of resources, e.g. memory or storage
842
+ "CRASHED",
843
+ /// Task was interrupted during execution, mostly this happens in development environments
844
+ "INTERRUPTED",
845
+ /// Task has failed to complete, due to an error in the system
846
+ "SYSTEM_FAILURE"
801
847
  ]);
802
848
  var AttemptStatus = z.enum([
803
849
  "PENDING",
@@ -807,23 +853,61 @@ var AttemptStatus = z.enum([
807
853
  "FAILED",
808
854
  "CANCELED"
809
855
  ]);
810
- var RetrieveRunResponse = z.object({
856
+ var RunEnvironmentDetails = z.object({
857
+ id: z.string(),
858
+ name: z.string(),
859
+ user: z.string().optional()
860
+ });
861
+ var RunScheduleDetails = z.object({
862
+ id: z.string(),
863
+ externalId: z.string().optional(),
864
+ deduplicationKey: z.string().optional(),
865
+ generator: ScheduleGenerator
866
+ });
867
+ var CommonRunFields = {
811
868
  id: z.string(),
812
869
  status: RunStatus,
813
870
  taskIdentifier: z.string(),
814
871
  idempotencyKey: z.string().optional(),
815
872
  version: z.string().optional(),
873
+ isQueued: z.boolean(),
874
+ isExecuting: z.boolean(),
875
+ isCompleted: z.boolean(),
876
+ isSuccess: z.boolean(),
877
+ isFailed: z.boolean(),
878
+ isCancelled: z.boolean(),
879
+ isTest: z.boolean(),
816
880
  createdAt: z.coerce.date(),
817
881
  updatedAt: z.coerce.date(),
882
+ startedAt: z.coerce.date().optional(),
883
+ finishedAt: z.coerce.date().optional()
884
+ };
885
+ var RetrieveRunResponse = z.object({
886
+ ...CommonRunFields,
887
+ payload: z.any().optional(),
888
+ output: z.any().optional(),
889
+ schedule: RunScheduleDetails.optional(),
818
890
  attempts: z.array(z.object({
819
891
  id: z.string(),
820
892
  status: AttemptStatus,
821
893
  createdAt: z.coerce.date(),
822
894
  updatedAt: z.coerce.date(),
823
895
  startedAt: z.coerce.date().optional(),
824
- completedAt: z.coerce.date().optional()
896
+ completedAt: z.coerce.date().optional(),
897
+ error: SerializedError.optional()
825
898
  }).optional())
826
899
  });
900
+ var ListRunResponseItem = z.object({
901
+ ...CommonRunFields,
902
+ env: RunEnvironmentDetails
903
+ });
904
+ var ListRunResponse = z.object({
905
+ data: z.array(ListRunResponseItem),
906
+ pagination: z.object({
907
+ next: z.string().optional(),
908
+ previous: z.string().optional()
909
+ })
910
+ });
827
911
  var CreateEnvironmentVariableRequestBody = z.object({
828
912
  name: z.string(),
829
913
  value: z.string()
@@ -862,12 +946,16 @@ var BackgroundWorkerServerMessages = z.discriminatedUnion("type", [
862
946
  version: z.string(),
863
947
  machine: Machine,
864
948
  // identifiers
865
- id: z.string(),
949
+ id: z.string().optional(),
866
950
  envId: z.string(),
867
951
  envType: EnvironmentType,
868
952
  orgId: z.string(),
869
953
  projectId: z.string(),
870
954
  runId: z.string()
955
+ }),
956
+ z.object({
957
+ type: z.literal("EXECUTE_RUN_LAZY_ATTEMPT"),
958
+ payload: TaskRunExecutionLazyAttemptPayload
871
959
  })
872
960
  ]);
873
961
  var serverWebsocketMessages = {
@@ -888,10 +976,20 @@ var BackgroundWorkerClientMessages = z.discriminatedUnion("type", [
888
976
  completion: TaskRunExecutionResult,
889
977
  execution: TaskRunExecution
890
978
  }),
979
+ z.object({
980
+ version: z.literal("v1").default("v1"),
981
+ type: z.literal("TASK_RUN_FAILED_TO_RUN"),
982
+ completion: TaskRunFailedExecutionResult
983
+ }),
891
984
  z.object({
892
985
  version: z.literal("v1").default("v1"),
893
986
  type: z.literal("TASK_HEARTBEAT"),
894
987
  id: z.string()
988
+ }),
989
+ z.object({
990
+ version: z.literal("v1").default("v1"),
991
+ type: z.literal("TASK_RUN_HEARTBEAT"),
992
+ id: z.string()
895
993
  })
896
994
  ]);
897
995
  var BackgroundWorkerProperties = z.object({
@@ -902,7 +1000,8 @@ var BackgroundWorkerProperties = z.object({
902
1000
  var clientWebsocketMessages = {
903
1001
  READY_FOR_TASKS: z.object({
904
1002
  version: z.literal("v1").default("v1"),
905
- backgroundWorkerId: z.string()
1003
+ backgroundWorkerId: z.string(),
1004
+ inProgressRuns: z.string().array().optional()
906
1005
  }),
907
1006
  BACKGROUND_WORKER_DEPRECATED: z.object({
908
1007
  version: z.literal("v1").default("v1"),
@@ -921,11 +1020,17 @@ var workerToChildMessages = {
921
1020
  traceContext: z.record(z.unknown()),
922
1021
  metadata: BackgroundWorkerProperties
923
1022
  }),
924
- TASK_RUN_COMPLETED_NOTIFICATION: z.object({
925
- version: z.literal("v1").default("v1"),
926
- completion: TaskRunExecutionResult,
927
- execution: TaskRunExecution
928
- }),
1023
+ TASK_RUN_COMPLETED_NOTIFICATION: z.discriminatedUnion("version", [
1024
+ z.object({
1025
+ version: z.literal("v1"),
1026
+ completion: TaskRunExecutionResult,
1027
+ execution: TaskRunExecution
1028
+ }),
1029
+ z.object({
1030
+ version: z.literal("v2"),
1031
+ completion: TaskRunExecutionResult
1032
+ })
1033
+ ]),
929
1034
  CLEANUP: z.object({
930
1035
  version: z.literal("v1").default("v1"),
931
1036
  flush: z.boolean().default(false),
@@ -966,6 +1071,10 @@ var childToWorkerMessages = {
966
1071
  version: z.literal("v1").default("v1"),
967
1072
  id: z.string()
968
1073
  }),
1074
+ TASK_RUN_HEARTBEAT: z.object({
1075
+ version: z.literal("v1").default("v1"),
1076
+ id: z.string()
1077
+ }),
969
1078
  READY_TO_DISPOSE: z.undefined(),
970
1079
  WAIT_FOR_DURATION: z.object({
971
1080
  version: z.literal("v1").default("v1"),
@@ -1005,6 +1114,12 @@ var ProdChildToWorkerMessages = {
1005
1114
  id: z.string()
1006
1115
  })
1007
1116
  },
1117
+ TASK_RUN_HEARTBEAT: {
1118
+ message: z.object({
1119
+ version: z.literal("v1").default("v1"),
1120
+ id: z.string()
1121
+ })
1122
+ },
1008
1123
  READY_TO_DISPOSE: {
1009
1124
  message: z.undefined()
1010
1125
  },
@@ -1069,11 +1184,17 @@ var ProdWorkerToChildMessages = {
1069
1184
  })
1070
1185
  },
1071
1186
  TASK_RUN_COMPLETED_NOTIFICATION: {
1072
- message: z.object({
1073
- version: z.literal("v1").default("v1"),
1074
- completion: TaskRunExecutionResult,
1075
- execution: TaskRunExecution
1076
- })
1187
+ message: z.discriminatedUnion("version", [
1188
+ z.object({
1189
+ version: z.literal("v1"),
1190
+ completion: TaskRunExecutionResult,
1191
+ execution: TaskRunExecution
1192
+ }),
1193
+ z.object({
1194
+ version: z.literal("v2"),
1195
+ completion: TaskRunExecutionResult
1196
+ })
1197
+ ])
1077
1198
  },
1078
1199
  CLEANUP: {
1079
1200
  message: z.object({
@@ -1121,21 +1242,14 @@ var ProviderToPlatformMessages = {
1121
1242
  deploymentId: z.string(),
1122
1243
  error: z.object({
1123
1244
  name: z.string(),
1124
- message: z.string(),
1125
- stack: z.string().optional()
1126
- })
1127
- })
1128
- }
1129
- };
1130
- var PlatformToProviderMessages = {
1131
- HEALTH: {
1132
- message: z.object({
1133
- version: z.literal("v1").default("v1")
1134
- }),
1135
- callback: z.object({
1136
- status: z.literal("ok")
1245
+ message: z.string(),
1246
+ stack: z.string().optional(),
1247
+ stderr: z.string().optional()
1248
+ })
1137
1249
  })
1138
- },
1250
+ }
1251
+ };
1252
+ var PlatformToProviderMessages = {
1139
1253
  INDEX: {
1140
1254
  message: z.object({
1141
1255
  version: z.literal("v1").default("v1"),
@@ -1156,7 +1270,8 @@ var PlatformToProviderMessages = {
1156
1270
  error: z.object({
1157
1271
  name: z.string(),
1158
1272
  message: z.string(),
1159
- stack: z.string().optional()
1273
+ stack: z.string().optional(),
1274
+ stderr: z.string().optional()
1160
1275
  })
1161
1276
  }),
1162
1277
  z.object({
@@ -1164,7 +1279,6 @@ var PlatformToProviderMessages = {
1164
1279
  })
1165
1280
  ])
1166
1281
  },
1167
- // TODO: this should be a shared queue message instead
1168
1282
  RESTORE: {
1169
1283
  message: z.object({
1170
1284
  version: z.literal("v1").default("v1"),
@@ -1184,23 +1298,19 @@ var PlatformToProviderMessages = {
1184
1298
  projectId: z.string(),
1185
1299
  runId: z.string()
1186
1300
  })
1187
- },
1188
- DELETE: {
1189
- message: z.object({
1190
- version: z.literal("v1").default("v1"),
1191
- name: z.string()
1192
- }),
1193
- callback: z.object({
1194
- message: z.string()
1195
- })
1196
- },
1197
- GET: {
1198
- message: z.object({
1199
- version: z.literal("v1").default("v1"),
1200
- name: z.string()
1201
- })
1202
1301
  }
1203
1302
  };
1303
+ var CreateWorkerMessage = z.object({
1304
+ projectRef: z.string(),
1305
+ envId: z.string(),
1306
+ deploymentId: z.string(),
1307
+ metadata: z.object({
1308
+ cliPackageVersion: z.string().optional(),
1309
+ contentHash: z.string(),
1310
+ packageVersion: z.string(),
1311
+ tasks: TaskResource.array()
1312
+ })
1313
+ });
1204
1314
  var CoordinatorToPlatformMessages = {
1205
1315
  LOG: {
1206
1316
  message: z.object({
@@ -1210,18 +1320,15 @@ var CoordinatorToPlatformMessages = {
1210
1320
  })
1211
1321
  },
1212
1322
  CREATE_WORKER: {
1213
- message: z.object({
1214
- version: z.literal("v1").default("v1"),
1215
- projectRef: z.string(),
1216
- envId: z.string(),
1217
- deploymentId: z.string(),
1218
- metadata: z.object({
1219
- cliPackageVersion: z.string().optional(),
1220
- contentHash: z.string(),
1221
- packageVersion: z.string(),
1222
- tasks: TaskResource.array()
1323
+ message: z.discriminatedUnion("version", [
1324
+ CreateWorkerMessage.extend({
1325
+ version: z.literal("v1")
1326
+ }),
1327
+ CreateWorkerMessage.extend({
1328
+ version: z.literal("v2"),
1329
+ supportsLazyAttempts: z.boolean()
1223
1330
  })
1224
- }),
1331
+ ]),
1225
1332
  callback: z.discriminatedUnion("success", [
1226
1333
  z.object({
1227
1334
  success: z.literal(false)
@@ -1231,6 +1338,23 @@ var CoordinatorToPlatformMessages = {
1231
1338
  })
1232
1339
  ])
1233
1340
  },
1341
+ CREATE_TASK_RUN_ATTEMPT: {
1342
+ message: z.object({
1343
+ version: z.literal("v1").default("v1"),
1344
+ runId: z.string(),
1345
+ envId: z.string()
1346
+ }),
1347
+ callback: z.discriminatedUnion("success", [
1348
+ z.object({
1349
+ success: z.literal(false),
1350
+ reason: z.string().optional()
1351
+ }),
1352
+ z.object({
1353
+ success: z.literal(true),
1354
+ executionPayload: ProdTaskRunExecutionPayload
1355
+ })
1356
+ ])
1357
+ },
1234
1358
  READY_FOR_EXECUTION: {
1235
1359
  message: z.object({
1236
1360
  version: z.literal("v1").default("v1"),
@@ -1247,6 +1371,24 @@ var CoordinatorToPlatformMessages = {
1247
1371
  })
1248
1372
  ])
1249
1373
  },
1374
+ READY_FOR_LAZY_ATTEMPT: {
1375
+ message: z.object({
1376
+ version: z.literal("v1").default("v1"),
1377
+ runId: z.string(),
1378
+ envId: z.string(),
1379
+ totalCompletions: z.number()
1380
+ }),
1381
+ callback: z.discriminatedUnion("success", [
1382
+ z.object({
1383
+ success: z.literal(false),
1384
+ reason: z.string().optional()
1385
+ }),
1386
+ z.object({
1387
+ success: z.literal(true),
1388
+ lazyPayload: TaskRunExecutionLazyAttemptPayload
1389
+ })
1390
+ ])
1391
+ },
1250
1392
  READY_FOR_RESUME: {
1251
1393
  message: z.object({
1252
1394
  version: z.literal("v1").default("v1"),
@@ -1265,12 +1407,24 @@ var CoordinatorToPlatformMessages = {
1265
1407
  }).optional()
1266
1408
  })
1267
1409
  },
1410
+ TASK_RUN_FAILED_TO_RUN: {
1411
+ message: z.object({
1412
+ version: z.literal("v1").default("v1"),
1413
+ completion: TaskRunFailedExecutionResult
1414
+ })
1415
+ },
1268
1416
  TASK_HEARTBEAT: {
1269
1417
  message: z.object({
1270
1418
  version: z.literal("v1").default("v1"),
1271
1419
  attemptFriendlyId: z.string()
1272
1420
  })
1273
1421
  },
1422
+ TASK_RUN_HEARTBEAT: {
1423
+ message: z.object({
1424
+ version: z.literal("v1").default("v1"),
1425
+ runId: z.string()
1426
+ })
1427
+ },
1274
1428
  CHECKPOINT_CREATED: {
1275
1429
  message: z.object({
1276
1430
  version: z.literal("v1").default("v1"),
@@ -1303,6 +1457,18 @@ var CoordinatorToPlatformMessages = {
1303
1457
  message: z.object({
1304
1458
  version: z.literal("v1").default("v1"),
1305
1459
  deploymentId: z.string(),
1460
+ error: z.object({
1461
+ name: z.string(),
1462
+ message: z.string(),
1463
+ stack: z.string().optional(),
1464
+ stderr: z.string().optional()
1465
+ })
1466
+ })
1467
+ },
1468
+ RUN_CRASHED: {
1469
+ message: z.object({
1470
+ version: z.literal("v1").default("v1"),
1471
+ runId: z.string(),
1306
1472
  error: z.object({
1307
1473
  name: z.string(),
1308
1474
  message: z.string(),
@@ -1336,6 +1502,13 @@ var PlatformToCoordinatorMessages = {
1336
1502
  attemptFriendlyId: z.string()
1337
1503
  })
1338
1504
  },
1505
+ REQUEST_RUN_CANCELLATION: {
1506
+ message: z.object({
1507
+ version: z.literal("v1").default("v1"),
1508
+ runId: z.string(),
1509
+ delayInMs: z.number().optional()
1510
+ })
1511
+ },
1339
1512
  READY_FOR_RETRY: {
1340
1513
  message: z.object({
1341
1514
  version: z.literal("v1").default("v1"),
@@ -1379,6 +1552,12 @@ var SharedQueueToClientMessages = {
1379
1552
  })
1380
1553
  }
1381
1554
  };
1555
+ var IndexTasksMessage = z.object({
1556
+ version: z.literal("v1"),
1557
+ deploymentId: z.string(),
1558
+ tasks: TaskResource.array(),
1559
+ packageVersion: z.string()
1560
+ });
1382
1561
  var ProdWorkerToCoordinatorMessages = {
1383
1562
  LOG: {
1384
1563
  message: z.object({
@@ -1388,12 +1567,15 @@ var ProdWorkerToCoordinatorMessages = {
1388
1567
  callback: z.void()
1389
1568
  },
1390
1569
  INDEX_TASKS: {
1391
- message: z.object({
1392
- version: z.literal("v1").default("v1"),
1393
- deploymentId: z.string(),
1394
- tasks: TaskResource.array(),
1395
- packageVersion: z.string()
1396
- }),
1570
+ message: z.discriminatedUnion("version", [
1571
+ IndexTasksMessage.extend({
1572
+ version: z.literal("v1")
1573
+ }),
1574
+ IndexTasksMessage.extend({
1575
+ version: z.literal("v2"),
1576
+ supportsLazyAttempts: z.boolean()
1577
+ })
1578
+ ]),
1397
1579
  callback: z.discriminatedUnion("success", [
1398
1580
  z.object({
1399
1581
  success: z.literal(false)
@@ -1410,6 +1592,13 @@ var ProdWorkerToCoordinatorMessages = {
1410
1592
  totalCompletions: z.number()
1411
1593
  })
1412
1594
  },
1595
+ READY_FOR_LAZY_ATTEMPT: {
1596
+ message: z.object({
1597
+ version: z.literal("v1").default("v1"),
1598
+ runId: z.string(),
1599
+ totalCompletions: z.number()
1600
+ })
1601
+ },
1413
1602
  READY_FOR_RESUME: {
1414
1603
  message: z.object({
1415
1604
  version: z.literal("v1").default("v1"),
@@ -1446,6 +1635,12 @@ var ProdWorkerToCoordinatorMessages = {
1446
1635
  attemptFriendlyId: z.string()
1447
1636
  })
1448
1637
  },
1638
+ TASK_RUN_HEARTBEAT: {
1639
+ message: z.object({
1640
+ version: z.literal("v1").default("v1"),
1641
+ runId: z.string()
1642
+ })
1643
+ },
1449
1644
  TASK_RUN_COMPLETED: {
1450
1645
  message: z.object({
1451
1646
  version: z.literal("v1").default("v1"),
@@ -1457,6 +1652,12 @@ var ProdWorkerToCoordinatorMessages = {
1457
1652
  shouldExit: z.boolean()
1458
1653
  })
1459
1654
  },
1655
+ TASK_RUN_FAILED_TO_RUN: {
1656
+ message: z.object({
1657
+ version: z.literal("v1").default("v1"),
1658
+ completion: TaskRunFailedExecutionResult
1659
+ })
1660
+ },
1460
1661
  WAIT_FOR_DURATION: {
1461
1662
  message: z.object({
1462
1663
  version: z.literal("v1").default("v1"),
@@ -1495,6 +1696,33 @@ var ProdWorkerToCoordinatorMessages = {
1495
1696
  message: z.object({
1496
1697
  version: z.literal("v1").default("v1"),
1497
1698
  deploymentId: z.string(),
1699
+ error: z.object({
1700
+ name: z.string(),
1701
+ message: z.string(),
1702
+ stack: z.string().optional(),
1703
+ stderr: z.string().optional()
1704
+ })
1705
+ })
1706
+ },
1707
+ CREATE_TASK_RUN_ATTEMPT: {
1708
+ message: z.object({
1709
+ version: z.literal("v1").default("v1"),
1710
+ runId: z.string()
1711
+ }),
1712
+ callback: z.discriminatedUnion("success", [
1713
+ z.object({
1714
+ success: z.literal(false),
1715
+ reason: z.string().optional()
1716
+ }),
1717
+ z.object({
1718
+ success: z.literal(true),
1719
+ executionPayload: ProdTaskRunExecutionPayload
1720
+ })
1721
+ ])
1722
+ },
1723
+ UNRECOVERABLE_ERROR: {
1724
+ message: z.object({
1725
+ version: z.literal("v1").default("v1"),
1498
1726
  error: z.object({
1499
1727
  name: z.string(),
1500
1728
  message: z.string(),
@@ -1524,6 +1752,12 @@ var CoordinatorToProdWorkerMessages = {
1524
1752
  executionPayload: ProdTaskRunExecutionPayload
1525
1753
  })
1526
1754
  },
1755
+ EXECUTE_TASK_RUN_LAZY_ATTEMPT: {
1756
+ message: z.object({
1757
+ version: z.literal("v1").default("v1"),
1758
+ lazyPayload: TaskRunExecutionLazyAttemptPayload
1759
+ })
1760
+ },
1527
1761
  REQUEST_ATTEMPT_CANCELLATION: {
1528
1762
  message: z.object({
1529
1763
  version: z.literal("v1").default("v1"),
@@ -1531,9 +1765,15 @@ var CoordinatorToProdWorkerMessages = {
1531
1765
  })
1532
1766
  },
1533
1767
  REQUEST_EXIT: {
1534
- message: z.object({
1535
- version: z.literal("v1").default("v1")
1536
- })
1768
+ message: z.discriminatedUnion("version", [
1769
+ z.object({
1770
+ version: z.literal("v1")
1771
+ }),
1772
+ z.object({
1773
+ version: z.literal("v2"),
1774
+ delayInMs: z.number().optional()
1775
+ })
1776
+ ])
1537
1777
  },
1538
1778
  READY_FOR_RETRY: {
1539
1779
  message: z.object({
@@ -1898,15 +2138,153 @@ var _TaskContextAPI = class _TaskContextAPI {
1898
2138
  return registerGlobal(API_NAME, taskContext2);
1899
2139
  }
1900
2140
  };
1901
- _getTaskContext = new WeakSet();
1902
- getTaskContext_fn = /* @__PURE__ */ __name(function() {
1903
- return getGlobal(API_NAME);
1904
- }, "#getTaskContext");
1905
- __name(_TaskContextAPI, "TaskContextAPI");
1906
- var TaskContextAPI = _TaskContextAPI;
1907
-
1908
- // src/v3/task-context-api.ts
1909
- var taskContext = TaskContextAPI.getInstance();
2141
+ _getTaskContext = new WeakSet();
2142
+ getTaskContext_fn = /* @__PURE__ */ __name(function() {
2143
+ return getGlobal(API_NAME);
2144
+ }, "#getTaskContext");
2145
+ __name(_TaskContextAPI, "TaskContextAPI");
2146
+ var TaskContextAPI = _TaskContextAPI;
2147
+
2148
+ // src/v3/task-context-api.ts
2149
+ var taskContext = TaskContextAPI.getInstance();
2150
+
2151
+ // src/v3/apiClient/errors.ts
2152
+ var _ApiError = class _ApiError extends Error {
2153
+ constructor(status, error, message, headers) {
2154
+ super(`${_ApiError.makeMessage(status, error, message)}`);
2155
+ this.status = status;
2156
+ this.headers = headers;
2157
+ const data = error;
2158
+ this.error = data;
2159
+ this.code = data?.["code"];
2160
+ this.param = data?.["param"];
2161
+ this.type = data?.["type"];
2162
+ }
2163
+ static makeMessage(status, error, message) {
2164
+ const msg = error?.message ? typeof error.message === "string" ? error.message : JSON.stringify(error.message) : error ? JSON.stringify(error) : message;
2165
+ if (status && msg) {
2166
+ return `${status} ${msg}`;
2167
+ }
2168
+ if (status) {
2169
+ return `${status} status code (no body)`;
2170
+ }
2171
+ if (msg) {
2172
+ return msg;
2173
+ }
2174
+ return "(no status code or body)";
2175
+ }
2176
+ static generate(status, errorResponse, message, headers) {
2177
+ if (!status) {
2178
+ return new ApiConnectionError({
2179
+ cause: castToError(errorResponse)
2180
+ });
2181
+ }
2182
+ const error = errorResponse?.["error"];
2183
+ if (status === 400) {
2184
+ return new BadRequestError(status, error, message, headers);
2185
+ }
2186
+ if (status === 401) {
2187
+ return new AuthenticationError(status, error, message, headers);
2188
+ }
2189
+ if (status === 403) {
2190
+ return new PermissionDeniedError(status, error, message, headers);
2191
+ }
2192
+ if (status === 404) {
2193
+ return new NotFoundError(status, error, message, headers);
2194
+ }
2195
+ if (status === 409) {
2196
+ return new ConflictError(status, error, message, headers);
2197
+ }
2198
+ if (status === 422) {
2199
+ return new UnprocessableEntityError(status, error, message, headers);
2200
+ }
2201
+ if (status === 429) {
2202
+ return new RateLimitError(status, error, message, headers);
2203
+ }
2204
+ if (status >= 500) {
2205
+ return new InternalServerError(status, error, message, headers);
2206
+ }
2207
+ return new _ApiError(status, error, message, headers);
2208
+ }
2209
+ };
2210
+ __name(_ApiError, "ApiError");
2211
+ var ApiError = _ApiError;
2212
+ var _ApiConnectionError = class _ApiConnectionError extends ApiError {
2213
+ constructor({ message, cause }) {
2214
+ super(void 0, void 0, message || "Connection error.", void 0);
2215
+ __publicField(this, "status");
2216
+ if (cause)
2217
+ this.cause = cause;
2218
+ }
2219
+ };
2220
+ __name(_ApiConnectionError, "ApiConnectionError");
2221
+ var ApiConnectionError = _ApiConnectionError;
2222
+ var _BadRequestError = class _BadRequestError extends ApiError {
2223
+ constructor() {
2224
+ super(...arguments);
2225
+ __publicField(this, "status", 400);
2226
+ }
2227
+ };
2228
+ __name(_BadRequestError, "BadRequestError");
2229
+ var BadRequestError = _BadRequestError;
2230
+ var _AuthenticationError = class _AuthenticationError extends ApiError {
2231
+ constructor() {
2232
+ super(...arguments);
2233
+ __publicField(this, "status", 401);
2234
+ }
2235
+ };
2236
+ __name(_AuthenticationError, "AuthenticationError");
2237
+ var AuthenticationError = _AuthenticationError;
2238
+ var _PermissionDeniedError = class _PermissionDeniedError extends ApiError {
2239
+ constructor() {
2240
+ super(...arguments);
2241
+ __publicField(this, "status", 403);
2242
+ }
2243
+ };
2244
+ __name(_PermissionDeniedError, "PermissionDeniedError");
2245
+ var PermissionDeniedError = _PermissionDeniedError;
2246
+ var _NotFoundError = class _NotFoundError extends ApiError {
2247
+ constructor() {
2248
+ super(...arguments);
2249
+ __publicField(this, "status", 404);
2250
+ }
2251
+ };
2252
+ __name(_NotFoundError, "NotFoundError");
2253
+ var NotFoundError = _NotFoundError;
2254
+ var _ConflictError = class _ConflictError extends ApiError {
2255
+ constructor() {
2256
+ super(...arguments);
2257
+ __publicField(this, "status", 409);
2258
+ }
2259
+ };
2260
+ __name(_ConflictError, "ConflictError");
2261
+ var ConflictError = _ConflictError;
2262
+ var _UnprocessableEntityError = class _UnprocessableEntityError extends ApiError {
2263
+ constructor() {
2264
+ super(...arguments);
2265
+ __publicField(this, "status", 422);
2266
+ }
2267
+ };
2268
+ __name(_UnprocessableEntityError, "UnprocessableEntityError");
2269
+ var UnprocessableEntityError = _UnprocessableEntityError;
2270
+ var _RateLimitError = class _RateLimitError extends ApiError {
2271
+ constructor() {
2272
+ super(...arguments);
2273
+ __publicField(this, "status", 429);
2274
+ }
2275
+ };
2276
+ __name(_RateLimitError, "RateLimitError");
2277
+ var RateLimitError = _RateLimitError;
2278
+ var _InternalServerError = class _InternalServerError extends ApiError {
2279
+ };
2280
+ __name(_InternalServerError, "InternalServerError");
2281
+ var InternalServerError = _InternalServerError;
2282
+ function castToError(err) {
2283
+ if (err instanceof Error)
2284
+ return err;
2285
+ return new Error(err);
2286
+ }
2287
+ __name(castToError, "castToError");
1910
2288
 
1911
2289
  // src/retry.ts
1912
2290
  function calculateResetAt(resets, format, now = /* @__PURE__ */ new Date()) {
@@ -2014,6 +2392,108 @@ function calculateResetAt2(resets, format, now = Date.now()) {
2014
2392
  return resetAt?.getTime();
2015
2393
  }
2016
2394
  __name(calculateResetAt2, "calculateResetAt");
2395
+
2396
+ // src/v3/apiClient/pagination.ts
2397
+ var _CursorPage = class _CursorPage {
2398
+ constructor(data, pagination, pageFetcher) {
2399
+ this.pageFetcher = pageFetcher;
2400
+ this.data = data;
2401
+ this.pagination = pagination;
2402
+ }
2403
+ getPaginatedItems() {
2404
+ return this.data ?? [];
2405
+ }
2406
+ hasNextPage() {
2407
+ return !!this.pagination.next;
2408
+ }
2409
+ hasPreviousPage() {
2410
+ return !!this.pagination.previous;
2411
+ }
2412
+ getNextPage() {
2413
+ if (!this.pagination.next) {
2414
+ throw new Error("No next page available");
2415
+ }
2416
+ return this.pageFetcher({
2417
+ after: this.pagination.next
2418
+ });
2419
+ }
2420
+ getPreviousPage() {
2421
+ if (!this.pagination.previous) {
2422
+ throw new Error("No previous page available");
2423
+ }
2424
+ return this.pageFetcher({
2425
+ before: this.pagination.previous
2426
+ });
2427
+ }
2428
+ async *iterPages() {
2429
+ let page = this;
2430
+ yield page;
2431
+ while (page.hasNextPage()) {
2432
+ page = await page.getNextPage();
2433
+ yield page;
2434
+ }
2435
+ }
2436
+ async *[Symbol.asyncIterator]() {
2437
+ for await (const page of this.iterPages()) {
2438
+ for (const item of page.getPaginatedItems()) {
2439
+ yield item;
2440
+ }
2441
+ }
2442
+ }
2443
+ };
2444
+ __name(_CursorPage, "CursorPage");
2445
+ var CursorPage = _CursorPage;
2446
+ var _OffsetLimitPage = class _OffsetLimitPage {
2447
+ constructor(data, pagination, pageFetcher) {
2448
+ this.pageFetcher = pageFetcher;
2449
+ this.data = data;
2450
+ this.pagination = pagination;
2451
+ }
2452
+ getPaginatedItems() {
2453
+ return this.data ?? [];
2454
+ }
2455
+ hasNextPage() {
2456
+ return this.pagination.currentPage < this.pagination.totalPages;
2457
+ }
2458
+ hasPreviousPage() {
2459
+ return this.pagination.currentPage > 1;
2460
+ }
2461
+ getNextPage() {
2462
+ if (!this.hasNextPage()) {
2463
+ throw new Error("No next page available");
2464
+ }
2465
+ return this.pageFetcher({
2466
+ page: this.pagination.currentPage + 1
2467
+ });
2468
+ }
2469
+ getPreviousPage() {
2470
+ if (!this.hasPreviousPage()) {
2471
+ throw new Error("No previous page available");
2472
+ }
2473
+ return this.pageFetcher({
2474
+ page: this.pagination.currentPage - 1
2475
+ });
2476
+ }
2477
+ async *iterPages() {
2478
+ let page = this;
2479
+ yield page;
2480
+ while (page.hasNextPage()) {
2481
+ page = await page.getNextPage();
2482
+ yield page;
2483
+ }
2484
+ }
2485
+ async *[Symbol.asyncIterator]() {
2486
+ for await (const page of this.iterPages()) {
2487
+ for (const item of page.getPaginatedItems()) {
2488
+ yield item;
2489
+ }
2490
+ }
2491
+ }
2492
+ };
2493
+ __name(_OffsetLimitPage, "OffsetLimitPage");
2494
+ var OffsetLimitPage = _OffsetLimitPage;
2495
+
2496
+ // src/v3/apiClient/core.ts
2017
2497
  var defaultRetryOptions2 = {
2018
2498
  maxAttempts: 3,
2019
2499
  factor: 2,
@@ -2021,11 +2501,62 @@ var defaultRetryOptions2 = {
2021
2501
  maxTimeoutInMs: 6e4,
2022
2502
  randomize: false
2023
2503
  };
2024
- async function zodfetch(schema, url, requestInit, options) {
2025
- return await _doZodFetch(schema, url, requestInit, options);
2504
+ function zodfetch(schema, url, requestInit, options) {
2505
+ return new ApiPromise(_doZodFetch(schema, url, requestInit, options));
2026
2506
  }
2027
2507
  __name(zodfetch, "zodfetch");
2028
- async function zodupload(schema, url, body, requestInit, options) {
2508
+ function zodfetchCursorPage(schema, url, params, requestInit, options) {
2509
+ const query = new URLSearchParams(params.query);
2510
+ if (params.limit) {
2511
+ query.set("page[size]", String(params.limit));
2512
+ }
2513
+ if (params.after) {
2514
+ query.set("page[after]", params.after);
2515
+ }
2516
+ if (params.before) {
2517
+ query.set("page[before]", params.before);
2518
+ }
2519
+ const cursorPageSchema = z.object({
2520
+ data: z.array(schema),
2521
+ pagination: z.object({
2522
+ next: z.string().optional(),
2523
+ previous: z.string().optional()
2524
+ })
2525
+ });
2526
+ const $url = new URL(url);
2527
+ $url.search = query.toString();
2528
+ const fetchResult = _doZodFetch(cursorPageSchema, $url.href, requestInit, options);
2529
+ return new CursorPagePromise(fetchResult, schema, url, params, requestInit, options);
2530
+ }
2531
+ __name(zodfetchCursorPage, "zodfetchCursorPage");
2532
+ function zodfetchOffsetLimitPage(schema, url, params, requestInit, options) {
2533
+ const query = new URLSearchParams(params.query);
2534
+ if (params.limit) {
2535
+ query.set("perPage", String(params.limit));
2536
+ }
2537
+ if (params.page) {
2538
+ query.set("page", String(params.page));
2539
+ }
2540
+ const offsetLimitPageSchema = z.object({
2541
+ data: z.array(schema),
2542
+ pagination: z.object({
2543
+ currentPage: z.coerce.number(),
2544
+ totalPages: z.coerce.number(),
2545
+ count: z.coerce.number()
2546
+ })
2547
+ });
2548
+ const $url = new URL(url);
2549
+ $url.search = query.toString();
2550
+ const fetchResult = _doZodFetch(offsetLimitPageSchema, $url.href, requestInit, options);
2551
+ return new OffsetLimitPagePromise(fetchResult, schema, url, params, requestInit, options);
2552
+ }
2553
+ __name(zodfetchOffsetLimitPage, "zodfetchOffsetLimitPage");
2554
+ function zodupload(schema, url, body, requestInit, options) {
2555
+ const finalRequestInit = createMultipartFormRequestInit(body, requestInit);
2556
+ return new ApiPromise(_doZodFetch(schema, url, finalRequestInit, options));
2557
+ }
2558
+ __name(zodupload, "zodupload");
2559
+ async function createMultipartFormRequestInit(body, requestInit) {
2029
2560
  const form = await createForm(body);
2030
2561
  const encoder = new FormDataEncoder(form);
2031
2562
  const finalHeaders = {};
@@ -2043,9 +2574,9 @@ async function zodupload(schema, url, body, requestInit, options) {
2043
2574
  // @ts-expect-error
2044
2575
  duplex: "half"
2045
2576
  };
2046
- return await _doZodFetch(schema, url, finalRequestInit, options);
2577
+ return finalRequestInit;
2047
2578
  }
2048
- __name(zodupload, "zodupload");
2579
+ __name(createMultipartFormRequestInit, "createMultipartFormRequestInit");
2049
2580
  var createForm = /* @__PURE__ */ __name(async (body) => {
2050
2581
  const form = new FormData();
2051
2582
  await Promise.all(Object.entries(body || {}).map(([key, value]) => addFormValue(form, key, value)));
@@ -2053,7 +2584,8 @@ var createForm = /* @__PURE__ */ __name(async (body) => {
2053
2584
  }, "createForm");
2054
2585
  async function _doZodFetch(schema, url, requestInit, options, attempt = 1) {
2055
2586
  try {
2056
- const response = await fetch(url, requestInitWithCache(requestInit));
2587
+ const $requestInit = await requestInit;
2588
+ const response = await fetch(url, requestInitWithCache($requestInit));
2057
2589
  const responseHeaders = createResponseHeaders(response.headers);
2058
2590
  if (!response.ok) {
2059
2591
  const retryResult = shouldRetry(response, attempt, options?.retry);
@@ -2064,17 +2596,20 @@ async function _doZodFetch(schema, url, requestInit, options, attempt = 1) {
2064
2596
  const errText = await response.text().catch((e) => castToError2(e).message);
2065
2597
  const errJSON = safeJsonParse(errText);
2066
2598
  const errMessage = errJSON ? void 0 : errText;
2067
- throw APIError.generate(response.status, errJSON, errMessage, responseHeaders);
2599
+ throw ApiError.generate(response.status, errJSON, errMessage, responseHeaders);
2068
2600
  }
2069
2601
  }
2070
2602
  const jsonBody = await response.json();
2071
2603
  const parsedResult = schema.safeParse(jsonBody);
2072
2604
  if (parsedResult.success) {
2073
- return parsedResult.data;
2605
+ return {
2606
+ data: parsedResult.data,
2607
+ response
2608
+ };
2074
2609
  }
2075
2610
  throw fromZodError(parsedResult.error);
2076
2611
  } catch (error) {
2077
- if (error instanceof APIError) {
2612
+ if (error instanceof ApiError) {
2078
2613
  throw error;
2079
2614
  }
2080
2615
  if (options?.retry) {
@@ -2088,7 +2623,7 @@ async function _doZodFetch(schema, url, requestInit, options, attempt = 1) {
2088
2623
  return await _doZodFetch(schema, url, requestInit, options, attempt + 1);
2089
2624
  }
2090
2625
  }
2091
- throw new APIConnectionError({
2626
+ throw new ApiConnectionError({
2092
2627
  cause: castToError2(error)
2093
2628
  });
2094
2629
  }
@@ -2261,6 +2796,128 @@ var isUploadable = /* @__PURE__ */ __name((value) => {
2261
2796
  return isFileLike(value) || isResponseLike(value) || isFsReadStream(value);
2262
2797
  }, "isUploadable");
2263
2798
  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");
2799
+ var _ApiPromise = class _ApiPromise extends Promise {
2800
+ constructor(responsePromise) {
2801
+ super((resolve) => {
2802
+ resolve(null);
2803
+ });
2804
+ this.responsePromise = responsePromise;
2805
+ }
2806
+ /**
2807
+ * Gets the raw `Response` instance instead of parsing the response
2808
+ * data.
2809
+ *
2810
+ * If you want to parse the response body but still get the `Response`
2811
+ * instance, you can use {@link withResponse()}.
2812
+ */
2813
+ asResponse() {
2814
+ return this.responsePromise.then((p) => p.response);
2815
+ }
2816
+ /**
2817
+ * Gets the parsed response data and the raw `Response` instance.
2818
+ *
2819
+ * If you just want to get the raw `Response` instance without parsing it,
2820
+ * you can use {@link asResponse()}.
2821
+ */
2822
+ async withResponse() {
2823
+ const [data, response] = await Promise.all([
2824
+ this.parse(),
2825
+ this.asResponse()
2826
+ ]);
2827
+ return {
2828
+ data,
2829
+ response
2830
+ };
2831
+ }
2832
+ parse() {
2833
+ return this.responsePromise.then((result) => result.data);
2834
+ }
2835
+ then(onfulfilled, onrejected) {
2836
+ return this.parse().then(onfulfilled, onrejected);
2837
+ }
2838
+ catch(onrejected) {
2839
+ return this.parse().catch(onrejected);
2840
+ }
2841
+ finally(onfinally) {
2842
+ return this.parse().finally(onfinally);
2843
+ }
2844
+ };
2845
+ __name(_ApiPromise, "ApiPromise");
2846
+ var ApiPromise = _ApiPromise;
2847
+ var _fetchPage, fetchPage_fn;
2848
+ var _CursorPagePromise = class _CursorPagePromise extends ApiPromise {
2849
+ constructor(result, schema, url, params, requestInit, options) {
2850
+ super(result.then((result2) => ({
2851
+ data: new CursorPage(result2.data.data, result2.data.pagination, __privateMethod(this, _fetchPage, fetchPage_fn).bind(this)),
2852
+ response: result2.response
2853
+ })));
2854
+ __privateAdd(this, _fetchPage);
2855
+ this.schema = schema;
2856
+ this.url = url;
2857
+ this.params = params;
2858
+ this.requestInit = requestInit;
2859
+ this.options = options;
2860
+ }
2861
+ /**
2862
+ * Allow auto-paginating iteration on an unawaited list call, eg:
2863
+ *
2864
+ * for await (const item of client.items.list()) {
2865
+ * console.log(item)
2866
+ * }
2867
+ */
2868
+ async *[Symbol.asyncIterator]() {
2869
+ const page = await this;
2870
+ for await (const item of page) {
2871
+ yield item;
2872
+ }
2873
+ }
2874
+ };
2875
+ _fetchPage = new WeakSet();
2876
+ fetchPage_fn = /* @__PURE__ */ __name(function(params) {
2877
+ return zodfetchCursorPage(this.schema, this.url, {
2878
+ ...this.params,
2879
+ ...params
2880
+ }, this.requestInit, this.options);
2881
+ }, "#fetchPage");
2882
+ __name(_CursorPagePromise, "CursorPagePromise");
2883
+ var CursorPagePromise = _CursorPagePromise;
2884
+ var _fetchPage2, fetchPage_fn2;
2885
+ var _OffsetLimitPagePromise = class _OffsetLimitPagePromise extends ApiPromise {
2886
+ constructor(result, schema, url, params, requestInit, options) {
2887
+ super(result.then((result2) => ({
2888
+ data: new OffsetLimitPage(result2.data.data, result2.data.pagination, __privateMethod(this, _fetchPage2, fetchPage_fn2).bind(this)),
2889
+ response: result2.response
2890
+ })));
2891
+ __privateAdd(this, _fetchPage2);
2892
+ this.schema = schema;
2893
+ this.url = url;
2894
+ this.params = params;
2895
+ this.requestInit = requestInit;
2896
+ this.options = options;
2897
+ }
2898
+ /**
2899
+ * Allow auto-paginating iteration on an unawaited list call, eg:
2900
+ *
2901
+ * for await (const item of client.items.list()) {
2902
+ * console.log(item)
2903
+ * }
2904
+ */
2905
+ async *[Symbol.asyncIterator]() {
2906
+ const page = await this;
2907
+ for await (const item of page) {
2908
+ yield item;
2909
+ }
2910
+ }
2911
+ };
2912
+ _fetchPage2 = new WeakSet();
2913
+ fetchPage_fn2 = /* @__PURE__ */ __name(function(params1) {
2914
+ return zodfetchOffsetLimitPage(this.schema, this.url, {
2915
+ ...this.params,
2916
+ ...params1
2917
+ }, this.requestInit, this.options);
2918
+ }, "#fetchPage");
2919
+ __name(_OffsetLimitPagePromise, "OffsetLimitPagePromise");
2920
+ var OffsetLimitPagePromise = _OffsetLimitPagePromise;
2264
2921
 
2265
2922
  // src/v3/apiClient/index.ts
2266
2923
  var zodFetchOptions = {
@@ -2286,7 +2943,7 @@ var _ApiClient = class _ApiClient {
2286
2943
  headers: __privateMethod(this, _getHeaders, getHeaders_fn).call(this, false)
2287
2944
  }, zodFetchOptions);
2288
2945
  } catch (error) {
2289
- if (error instanceof APIError) {
2946
+ if (error instanceof ApiError) {
2290
2947
  if (error.status === 404) {
2291
2948
  return void 0;
2292
2949
  }
@@ -2301,14 +2958,16 @@ var _ApiClient = class _ApiClient {
2301
2958
  }, zodFetchOptions);
2302
2959
  }
2303
2960
  triggerTask(taskId, body, options) {
2304
- return zodfetch(TriggerTaskResponse, `${this.baseUrl}/api/v1/tasks/${taskId}/trigger`, {
2961
+ const encodedTaskId = encodeURIComponent(taskId);
2962
+ return zodfetch(TriggerTaskResponse, `${this.baseUrl}/api/v1/tasks/${encodedTaskId}/trigger`, {
2305
2963
  method: "POST",
2306
2964
  headers: __privateMethod(this, _getHeaders, getHeaders_fn).call(this, options?.spanParentAsLink ?? false),
2307
2965
  body: JSON.stringify(body)
2308
2966
  }, zodFetchOptions);
2309
2967
  }
2310
2968
  batchTriggerTask(taskId, body, options) {
2311
- return zodfetch(BatchTriggerTaskResponse, `${this.baseUrl}/api/v1/tasks/${taskId}/batch`, {
2969
+ const encodedTaskId = encodeURIComponent(taskId);
2970
+ return zodfetch(BatchTriggerTaskResponse, `${this.baseUrl}/api/v1/tasks/${encodedTaskId}/batch`, {
2312
2971
  method: "POST",
2313
2972
  headers: __privateMethod(this, _getHeaders, getHeaders_fn).call(this, options?.spanParentAsLink ?? false),
2314
2973
  body: JSON.stringify(body)
@@ -2332,6 +2991,33 @@ var _ApiClient = class _ApiClient {
2332
2991
  headers: __privateMethod(this, _getHeaders, getHeaders_fn).call(this, false)
2333
2992
  }, zodFetchOptions);
2334
2993
  }
2994
+ listRuns(query) {
2995
+ const searchParams = createSearchQueryForListRuns(query);
2996
+ return zodfetchCursorPage(ListRunResponseItem, `${this.baseUrl}/api/v1/runs`, {
2997
+ query: searchParams,
2998
+ limit: query?.limit,
2999
+ after: query?.after,
3000
+ before: query?.before
3001
+ }, {
3002
+ method: "GET",
3003
+ headers: __privateMethod(this, _getHeaders, getHeaders_fn).call(this, false)
3004
+ }, zodFetchOptions);
3005
+ }
3006
+ listProjectRuns(projectRef, query) {
3007
+ const searchParams = createSearchQueryForListRuns(query);
3008
+ if (query?.env) {
3009
+ searchParams.append("filter[env]", Array.isArray(query.env) ? query.env.join(",") : query.env);
3010
+ }
3011
+ return zodfetchCursorPage(ListRunResponseItem, `${this.baseUrl}/api/v1/projects/${projectRef}/runs`, {
3012
+ query: searchParams,
3013
+ limit: query?.limit,
3014
+ after: query?.after,
3015
+ before: query?.before
3016
+ }, {
3017
+ method: "GET",
3018
+ headers: __privateMethod(this, _getHeaders, getHeaders_fn).call(this, false)
3019
+ }, zodFetchOptions);
3020
+ }
2335
3021
  replayRun(runId) {
2336
3022
  return zodfetch(ReplayRunResponse, `${this.baseUrl}/api/v1/runs/${runId}/replay`, {
2337
3023
  method: "POST",
@@ -2359,7 +3045,10 @@ var _ApiClient = class _ApiClient {
2359
3045
  if (options?.perPage) {
2360
3046
  searchParams.append("perPage", options.perPage.toString());
2361
3047
  }
2362
- return zodfetch(ListSchedulesResult, `${this.baseUrl}/api/v1/schedules${searchParams.size > 0 ? `?${searchParams}` : ""}`, {
3048
+ return zodfetchOffsetLimitPage(ScheduleObject, `${this.baseUrl}/api/v1/schedules`, {
3049
+ page: options?.page,
3050
+ limit: options?.perPage
3051
+ }, {
2363
3052
  method: "GET",
2364
3053
  headers: __privateMethod(this, _getHeaders, getHeaders_fn).call(this, false)
2365
3054
  });
@@ -2460,6 +3149,40 @@ getHeaders_fn = /* @__PURE__ */ __name(function(spanParentAsLink) {
2460
3149
  }, "#getHeaders");
2461
3150
  __name(_ApiClient, "ApiClient");
2462
3151
  var ApiClient = _ApiClient;
3152
+ function createSearchQueryForListRuns(query) {
3153
+ const searchParams = new URLSearchParams();
3154
+ if (query) {
3155
+ if (query.status) {
3156
+ searchParams.append("filter[status]", Array.isArray(query.status) ? query.status.join(",") : query.status);
3157
+ }
3158
+ if (query.taskIdentifier) {
3159
+ searchParams.append("filter[taskIdentifier]", Array.isArray(query.taskIdentifier) ? query.taskIdentifier.join(",") : query.taskIdentifier);
3160
+ }
3161
+ if (query.version) {
3162
+ searchParams.append("filter[version]", Array.isArray(query.version) ? query.version.join(",") : query.version);
3163
+ }
3164
+ if (query.bulkAction) {
3165
+ searchParams.append("filter[bulkAction]", query.bulkAction);
3166
+ }
3167
+ if (query.schedule) {
3168
+ searchParams.append("filter[schedule]", query.schedule);
3169
+ }
3170
+ if (typeof query.isTest === "boolean") {
3171
+ searchParams.append("filter[isTest]", String(query.isTest));
3172
+ }
3173
+ if (query.from) {
3174
+ searchParams.append("filter[createdAt][from]", query.from instanceof Date ? query.from.getTime().toString() : query.from.toString());
3175
+ }
3176
+ if (query.to) {
3177
+ searchParams.append("filter[createdAt][to]", query.to instanceof Date ? query.to.getTime().toString() : query.to.toString());
3178
+ }
3179
+ if (query.period) {
3180
+ searchParams.append("filter[createdAt][period]", query.period);
3181
+ }
3182
+ }
3183
+ return searchParams;
3184
+ }
3185
+ __name(createSearchQueryForListRuns, "createSearchQueryForListRuns");
2463
3186
  var _SimpleClock = class _SimpleClock {
2464
3187
  preciseNow() {
2465
3188
  const now = new PreciseDate();
@@ -2509,145 +3232,6 @@ var ClockAPI = _ClockAPI;
2509
3232
  // src/v3/clock-api.ts
2510
3233
  var clock = ClockAPI.getInstance();
2511
3234
 
2512
- // src/v3/errors.ts
2513
- function parseError(error) {
2514
- if (error instanceof Error) {
2515
- return {
2516
- type: "BUILT_IN_ERROR",
2517
- name: error.name,
2518
- message: error.message,
2519
- stackTrace: error.stack ?? ""
2520
- };
2521
- }
2522
- if (typeof error === "string") {
2523
- return {
2524
- type: "STRING_ERROR",
2525
- raw: error
2526
- };
2527
- }
2528
- try {
2529
- return {
2530
- type: "CUSTOM_ERROR",
2531
- raw: JSON.stringify(error)
2532
- };
2533
- } catch (e) {
2534
- return {
2535
- type: "CUSTOM_ERROR",
2536
- raw: String(error)
2537
- };
2538
- }
2539
- }
2540
- __name(parseError, "parseError");
2541
- function createErrorTaskError(error) {
2542
- switch (error.type) {
2543
- case "BUILT_IN_ERROR": {
2544
- const e = new Error(error.message);
2545
- e.name = error.name;
2546
- e.stack = error.stackTrace;
2547
- return e;
2548
- }
2549
- case "STRING_ERROR": {
2550
- return error.raw;
2551
- }
2552
- case "CUSTOM_ERROR": {
2553
- return JSON.parse(error.raw);
2554
- }
2555
- case "INTERNAL_ERROR": {
2556
- return new Error(`trigger.dev internal error (${error.code})`);
2557
- }
2558
- }
2559
- }
2560
- __name(createErrorTaskError, "createErrorTaskError");
2561
- function createJsonErrorObject(error) {
2562
- switch (error.type) {
2563
- case "BUILT_IN_ERROR": {
2564
- return {
2565
- name: error.name,
2566
- message: error.message,
2567
- stackTrace: error.stackTrace
2568
- };
2569
- }
2570
- case "STRING_ERROR": {
2571
- return {
2572
- message: error.raw
2573
- };
2574
- }
2575
- case "CUSTOM_ERROR": {
2576
- return {
2577
- message: error.raw
2578
- };
2579
- }
2580
- case "INTERNAL_ERROR": {
2581
- return {
2582
- message: `trigger.dev internal error (${error.code})`
2583
- };
2584
- }
2585
- }
2586
- }
2587
- __name(createJsonErrorObject, "createJsonErrorObject");
2588
- function correctErrorStackTrace(stackTrace, projectDir, options) {
2589
- const [errorLine, ...traceLines] = stackTrace.split("\n");
2590
- return [
2591
- options?.removeFirstLine ? void 0 : errorLine,
2592
- ...traceLines.map((line) => correctStackTraceLine(line, projectDir))
2593
- ].filter(Boolean).join("\n");
2594
- }
2595
- __name(correctErrorStackTrace, "correctErrorStackTrace");
2596
- var LINES_TO_IGNORE = [
2597
- /ConsoleInterceptor/,
2598
- /TriggerTracer/,
2599
- /TaskExecutor/,
2600
- /EXECUTE_TASK_RUN/,
2601
- /@trigger.dev\/core/,
2602
- /safeJsonProcess/,
2603
- /__entryPoint.ts/
2604
- ];
2605
- function correctStackTraceLine(line, projectDir) {
2606
- if (LINES_TO_IGNORE.some((regex) => regex.test(line))) {
2607
- return;
2608
- }
2609
- if (projectDir && !line.includes(projectDir)) {
2610
- return;
2611
- }
2612
- return line.trim();
2613
- }
2614
- __name(correctStackTraceLine, "correctStackTraceLine");
2615
- function groupTaskMetadataIssuesByTask(tasks, issues) {
2616
- return issues.reduce((acc, issue) => {
2617
- if (issue.path.length === 0) {
2618
- return acc;
2619
- }
2620
- const taskIndex = issue.path[1];
2621
- if (typeof taskIndex !== "number") {
2622
- return acc;
2623
- }
2624
- const task = tasks[taskIndex];
2625
- if (!task) {
2626
- return acc;
2627
- }
2628
- const restOfPath = issue.path.slice(2);
2629
- const taskId = task.id;
2630
- const taskName = task.exportName;
2631
- const filePath = task.filePath;
2632
- const key = taskIndex;
2633
- const existing = acc[key] ?? {
2634
- id: taskId,
2635
- exportName: taskName,
2636
- filePath,
2637
- issues: []
2638
- };
2639
- existing.issues.push({
2640
- message: issue.message,
2641
- path: restOfPath.length === 0 ? void 0 : restOfPath.join(".")
2642
- });
2643
- return {
2644
- ...acc,
2645
- [key]: existing
2646
- };
2647
- }, {});
2648
- }
2649
- __name(groupTaskMetadataIssuesByTask, "groupTaskMetadataIssuesByTask");
2650
-
2651
3235
  // src/v3/limits.ts
2652
3236
  var OTEL_SPAN_ATTRIBUTE_COUNT_LIMIT = 256;
2653
3237
  var OTEL_LOG_ATTRIBUTE_COUNT_LIMIT = 256;
@@ -3679,6 +4263,6 @@ function safeJsonParse2(value) {
3679
4263
  }
3680
4264
  __name(safeJsonParse2, "safeJsonParse");
3681
4265
 
3682
- export { APIConnectionError, APIError, ApiClient, AttemptStatus, AuthenticationError, BackgroundWorkerClientMessages, BackgroundWorkerMetadata, BackgroundWorkerProperties, BackgroundWorkerServerMessages, BadRequestError, BatchTaskRunExecutionResult, BatchTriggerTaskRequestBody, BatchTriggerTaskResponse, CanceledRunResponse, CancellationSpanEvent, ClientToSharedQueueMessages, Config, ConflictError, CoordinatorToPlatformMessages, CoordinatorToProdWorkerMessages, CreateAuthorizationCodeResponseSchema, CreateBackgroundWorkerRequestBody, CreateBackgroundWorkerResponse, CreateEnvironmentVariableRequestBody, CreateScheduleOptions, CreateUploadPayloadUrlResponseBody, DeletedScheduleObject, DeploymentErrorData, EnvironmentType, EnvironmentVariable, EnvironmentVariableResponseBody, EnvironmentVariableValue, EnvironmentVariables, EventFilter, ExceptionEventProperties, ExceptionSpanEvent, ExternalBuildData, FetchRetryBackoffStrategy, FetchRetryByStatusOptions, FetchRetryHeadersStrategy, FetchRetryOptions, FetchRetryStrategy, FetchTimeoutOptions, FixedWindowRateLimit, GetBatchResponseBody, GetDeploymentResponseBody, GetEnvironmentVariablesResponseBody, GetPersonalAccessTokenRequestSchema, GetPersonalAccessTokenResponseSchema, GetProjectEnvResponse, GetProjectResponseBody, GetProjectsResponseBody, ImageDetailsMetadata, ImportEnvironmentVariablesRequestBody, InitializeDeploymentRequestBody, InitializeDeploymentResponseBody, InternalServerError, ListScheduleOptions, ListSchedulesResult, Machine, MachineCpu, MachineMemory, NULL_SENTINEL, NotFoundError, OFFLOAD_IO_PACKET_LENGTH_LIMIT, OTEL_ATTRIBUTE_PER_EVENT_COUNT_LIMIT, OTEL_ATTRIBUTE_PER_LINK_COUNT_LIMIT, OTEL_LINK_COUNT_LIMIT, OTEL_LOG_ATTRIBUTE_COUNT_LIMIT, OTEL_LOG_ATTRIBUTE_VALUE_LENGTH_LIMIT, OTEL_SPAN_ATTRIBUTE_COUNT_LIMIT, OTEL_SPAN_ATTRIBUTE_VALUE_LENGTH_LIMIT, OTEL_SPAN_EVENT_COUNT_LIMIT, OtherSpanEvent, PRIMARY_VARIANT, PermissionDeniedError, PlatformToCoordinatorMessages, PlatformToProviderMessages, PostStartCauses, PreStopCauses, ProdChildToWorkerMessages, ProdTaskRunExecution, ProdTaskRunExecutionPayload, ProdWorkerSocketData, ProdWorkerToChildMessages, ProdWorkerToCoordinatorMessages, ProviderToPlatformMessages, QueueOptions, RateLimitError, RateLimitOptions, ReplayRunResponse, RetrieveRunResponse, RetryOptions, RunStatus, ScheduleObject, ScheduledTaskPayload, SemanticInternalAttributes, SharedQueueToClientMessages, SlidingWindowRateLimit, SpanEvent, SpanEvents, SpanMessagingEvent, StartDeploymentIndexingRequestBody, StartDeploymentIndexingResponseBody, TaskEventStyle, TaskFileMetadata, TaskMetadata, TaskMetadataFailedToParseData, TaskMetadataWithFilePath, TaskResource, TaskRun, TaskRunBuiltInError, TaskRunContext, TaskRunCustomErrorObject, TaskRunError, TaskRunErrorCodes, TaskRunExecution, TaskRunExecutionAttempt, TaskRunExecutionBatch, TaskRunExecutionEnvironment, TaskRunExecutionOrganization, TaskRunExecutionPayload, TaskRunExecutionProject, TaskRunExecutionQueue, TaskRunExecutionResult, TaskRunExecutionRetry, TaskRunExecutionTask, TaskRunFailedExecutionResult, TaskRunInternalError, TaskRunStringError, TaskRunSuccessfulExecutionResult, TriggerTaskRequestBody, TriggerTaskResponse, TriggerTracer, UncaughtExceptionMessage, UnprocessableEntityError, UpdateEnvironmentVariableRequestBody, UpdateScheduleOptions, WaitReason, WhoAmIResponseSchema, accessoryAttributes, apiClientManager, calculateNextRetryDelay, calculateResetAt2 as calculateResetAt, childToWorkerMessages, clientWebsocketMessages, clock, conditionallyExportPacket, conditionallyImportPacket, correctErrorStackTrace, createErrorTaskError, createJsonErrorObject, createPacketAttributes, createPacketAttributesAsJson, defaultFetchRetryOptions, defaultRetryOptions, detectDependencyVersion, eventFilterMatches, flattenAttributes, formatDuration, formatDurationInDays, formatDurationMilliseconds, formatDurationNanoseconds, groupTaskMetadataIssuesByTask, imposeAttributeLimits, isCancellationSpanEvent, isExceptionSpanEvent, logger, millisecondsToNanoseconds, nanosecondsToMilliseconds, omit, packetRequiresOffloading, parseError, parsePacket, prettyPrintPacket, primitiveValueOrflattenedAttributes, runtime, serverWebsocketMessages, stringPatternMatchers, stringifyIO, taskCatalog, taskContext, unflattenAttributes, workerToChildMessages };
4266
+ export { ApiClient, ApiConnectionError, ApiError, AttemptStatus, AuthenticationError, BackgroundWorkerClientMessages, BackgroundWorkerMetadata, BackgroundWorkerProperties, BackgroundWorkerServerMessages, BadRequestError, BatchTaskRunExecutionResult, BatchTriggerTaskRequestBody, BatchTriggerTaskResponse, CanceledRunResponse, CancellationSpanEvent, ClientToSharedQueueMessages, Config, ConflictError, CoordinatorToPlatformMessages, CoordinatorToProdWorkerMessages, CreateAuthorizationCodeResponseSchema, CreateBackgroundWorkerRequestBody, CreateBackgroundWorkerResponse, CreateEnvironmentVariableRequestBody, CreateScheduleOptions, CreateUploadPayloadUrlResponseBody, CursorPage, DeletedScheduleObject, DeploymentErrorData, EnvironmentType, EnvironmentVariable, EnvironmentVariableResponseBody, EnvironmentVariableValue, EnvironmentVariables, EventFilter, ExceptionEventProperties, ExceptionSpanEvent, ExternalBuildData, FetchRetryBackoffStrategy, FetchRetryByStatusOptions, FetchRetryHeadersStrategy, FetchRetryOptions, FetchRetryStrategy, FetchTimeoutOptions, FixedWindowRateLimit, GetBatchResponseBody, GetDeploymentResponseBody, GetEnvironmentVariablesResponseBody, GetPersonalAccessTokenRequestSchema, GetPersonalAccessTokenResponseSchema, GetProjectEnvResponse, GetProjectResponseBody, GetProjectsResponseBody, ImageDetailsMetadata, ImportEnvironmentVariablesRequestBody, InitializeDeploymentRequestBody, InitializeDeploymentResponseBody, InternalServerError, ListRunResponse, ListRunResponseItem, ListScheduleOptions, ListSchedulesResult, Machine, MachineCpu, MachineMemory, NULL_SENTINEL, NotFoundError, OFFLOAD_IO_PACKET_LENGTH_LIMIT, OTEL_ATTRIBUTE_PER_EVENT_COUNT_LIMIT, OTEL_ATTRIBUTE_PER_LINK_COUNT_LIMIT, OTEL_LINK_COUNT_LIMIT, OTEL_LOG_ATTRIBUTE_COUNT_LIMIT, OTEL_LOG_ATTRIBUTE_VALUE_LENGTH_LIMIT, OTEL_SPAN_ATTRIBUTE_COUNT_LIMIT, OTEL_SPAN_ATTRIBUTE_VALUE_LENGTH_LIMIT, OTEL_SPAN_EVENT_COUNT_LIMIT, OffsetLimitPage, OtherSpanEvent, PRIMARY_VARIANT, PermissionDeniedError, PlatformToCoordinatorMessages, PlatformToProviderMessages, PostStartCauses, PreStopCauses, ProdChildToWorkerMessages, ProdTaskRunExecution, ProdTaskRunExecutionPayload, ProdWorkerSocketData, ProdWorkerToChildMessages, ProdWorkerToCoordinatorMessages, ProviderToPlatformMessages, QueueOptions, RateLimitError, RateLimitOptions, ReplayRunResponse, RetrieveRunResponse, RetryOptions, RunEnvironmentDetails, RunScheduleDetails, RunStatus, ScheduleGenerator, ScheduleObject, ScheduledTaskPayload, SemanticInternalAttributes, SerializedError, SharedQueueToClientMessages, SlidingWindowRateLimit, SpanEvent, SpanEvents, SpanMessagingEvent, StartDeploymentIndexingRequestBody, StartDeploymentIndexingResponseBody, TaskEventStyle, TaskFileMetadata, TaskMetadata, TaskMetadataFailedToParseData, TaskMetadataWithFilePath, TaskResource, TaskRun, TaskRunBuiltInError, TaskRunContext, TaskRunCustomErrorObject, TaskRunError, TaskRunErrorCodes, TaskRunExecution, TaskRunExecutionAttempt, TaskRunExecutionBatch, TaskRunExecutionEnvironment, TaskRunExecutionLazyAttemptPayload, TaskRunExecutionOrganization, TaskRunExecutionPayload, TaskRunExecutionProject, TaskRunExecutionQueue, TaskRunExecutionResult, TaskRunExecutionRetry, TaskRunExecutionTask, TaskRunFailedExecutionResult, TaskRunInternalError, TaskRunStringError, TaskRunSuccessfulExecutionResult, TriggerTaskRequestBody, TriggerTaskResponse, TriggerTracer, UncaughtExceptionMessage, UnprocessableEntityError, UpdateEnvironmentVariableRequestBody, UpdateScheduleOptions, WaitReason, WhoAmIResponseSchema, accessoryAttributes, apiClientManager, calculateNextRetryDelay, calculateResetAt2 as calculateResetAt, childToWorkerMessages, clientWebsocketMessages, clock, conditionallyExportPacket, conditionallyImportPacket, correctErrorStackTrace, createErrorTaskError, createJsonErrorObject, createPacketAttributes, createPacketAttributesAsJson, defaultFetchRetryOptions, defaultRetryOptions, detectDependencyVersion, eventFilterMatches, flattenAttributes, formatDuration, formatDurationInDays, formatDurationMilliseconds, formatDurationNanoseconds, groupTaskMetadataIssuesByTask, imposeAttributeLimits, isCancellationSpanEvent, isExceptionSpanEvent, logger, millisecondsToNanoseconds, nanosecondsToMilliseconds, omit, packetRequiresOffloading, parseError, parsePacket, prettyPrintPacket, primitiveValueOrflattenedAttributes, runtime, serverWebsocketMessages, stringPatternMatchers, stringifyIO, taskCatalog, taskContext, unflattenAttributes, workerToChildMessages };
3683
4267
  //# sourceMappingURL=out.js.map
3684
4268
  //# sourceMappingURL=index.mjs.map