@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.js CHANGED
@@ -35,7 +35,7 @@ var __privateMethod = (obj, member, method) => {
35
35
  };
36
36
 
37
37
  // package.json
38
- var version = "0.0.0-v3-prerelease-20240523152756";
38
+ var version = "0.0.0-v3-prerelease-20240612084127";
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(),
@@ -678,7 +706,8 @@ var InitializeDeploymentRequestBody = zod.z.object({
678
706
  var DeploymentErrorData = zod.z.object({
679
707
  name: zod.z.string(),
680
708
  message: zod.z.string(),
681
- stack: zod.z.string().optional()
709
+ stack: zod.z.string().optional(),
710
+ stderr: zod.z.string().optional()
682
711
  });
683
712
  var GetDeploymentResponseBody = zod.z.object({
684
713
  id: zod.z.string(),
@@ -714,7 +743,7 @@ var ReplayRunResponse = zod.z.object({
714
743
  id: zod.z.string()
715
744
  });
716
745
  var CanceledRunResponse = zod.z.object({
717
- message: zod.z.string()
746
+ id: zod.z.string()
718
747
  });
719
748
  var ScheduledTaskPayload = zod.z.object({
720
749
  /** The schedule id associated with this run (you can have many schedules for the same task).
@@ -764,17 +793,18 @@ var CreateScheduleOptions = zod.z.object({
764
793
  externalId: zod.z.string().optional()
765
794
  });
766
795
  var UpdateScheduleOptions = CreateScheduleOptions;
796
+ var ScheduleGenerator = zod.z.object({
797
+ type: zod.z.literal("CRON"),
798
+ expression: zod.z.string(),
799
+ description: zod.z.string()
800
+ });
767
801
  var ScheduleObject = zod.z.object({
768
802
  id: zod.z.string(),
769
803
  task: zod.z.string(),
770
804
  active: zod.z.boolean(),
771
805
  deduplicationKey: zod.z.string().nullish(),
772
806
  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
- }),
807
+ generator: ScheduleGenerator,
778
808
  nextRun: zod.z.coerce.date().nullish(),
779
809
  environments: zod.z.array(zod.z.object({
780
810
  id: zod.z.string(),
@@ -798,12 +828,28 @@ var ListScheduleOptions = zod.z.object({
798
828
  perPage: zod.z.number().optional()
799
829
  });
800
830
  var RunStatus = zod.z.enum([
801
- "PENDING",
831
+ /// Task hasn't been deployed yet but is waiting to be executed
832
+ "WAITING_FOR_DEPLOY",
833
+ /// Task is waiting to be executed by a worker
834
+ "QUEUED",
835
+ /// Task is currently being executed by a worker
802
836
  "EXECUTING",
803
- "PAUSED",
837
+ /// Task has failed and is waiting to be retried
838
+ "REATTEMPTING",
839
+ /// Task has been paused by the system, and will be resumed by the system
840
+ "FROZEN",
841
+ /// Task has been completed successfully
804
842
  "COMPLETED",
843
+ /// Task has been canceled by the user
844
+ "CANCELED",
845
+ /// Task has been completed with errors
805
846
  "FAILED",
806
- "CANCELED"
847
+ /// Task has crashed and won't be retried, most likely the worker ran out of resources, e.g. memory or storage
848
+ "CRASHED",
849
+ /// Task was interrupted during execution, mostly this happens in development environments
850
+ "INTERRUPTED",
851
+ /// Task has failed to complete, due to an error in the system
852
+ "SYSTEM_FAILURE"
807
853
  ]);
808
854
  var AttemptStatus = zod.z.enum([
809
855
  "PENDING",
@@ -813,23 +859,61 @@ var AttemptStatus = zod.z.enum([
813
859
  "FAILED",
814
860
  "CANCELED"
815
861
  ]);
816
- var RetrieveRunResponse = zod.z.object({
862
+ var RunEnvironmentDetails = zod.z.object({
863
+ id: zod.z.string(),
864
+ name: zod.z.string(),
865
+ user: zod.z.string().optional()
866
+ });
867
+ var RunScheduleDetails = zod.z.object({
868
+ id: zod.z.string(),
869
+ externalId: zod.z.string().optional(),
870
+ deduplicationKey: zod.z.string().optional(),
871
+ generator: ScheduleGenerator
872
+ });
873
+ var CommonRunFields = {
817
874
  id: zod.z.string(),
818
875
  status: RunStatus,
819
876
  taskIdentifier: zod.z.string(),
820
877
  idempotencyKey: zod.z.string().optional(),
821
878
  version: zod.z.string().optional(),
879
+ isQueued: zod.z.boolean(),
880
+ isExecuting: zod.z.boolean(),
881
+ isCompleted: zod.z.boolean(),
882
+ isSuccess: zod.z.boolean(),
883
+ isFailed: zod.z.boolean(),
884
+ isCancelled: zod.z.boolean(),
885
+ isTest: zod.z.boolean(),
822
886
  createdAt: zod.z.coerce.date(),
823
887
  updatedAt: zod.z.coerce.date(),
888
+ startedAt: zod.z.coerce.date().optional(),
889
+ finishedAt: zod.z.coerce.date().optional()
890
+ };
891
+ var RetrieveRunResponse = zod.z.object({
892
+ ...CommonRunFields,
893
+ payload: zod.z.any().optional(),
894
+ output: zod.z.any().optional(),
895
+ schedule: RunScheduleDetails.optional(),
824
896
  attempts: zod.z.array(zod.z.object({
825
897
  id: zod.z.string(),
826
898
  status: AttemptStatus,
827
899
  createdAt: zod.z.coerce.date(),
828
900
  updatedAt: zod.z.coerce.date(),
829
901
  startedAt: zod.z.coerce.date().optional(),
830
- completedAt: zod.z.coerce.date().optional()
902
+ completedAt: zod.z.coerce.date().optional(),
903
+ error: SerializedError.optional()
831
904
  }).optional())
832
905
  });
906
+ var ListRunResponseItem = zod.z.object({
907
+ ...CommonRunFields,
908
+ env: RunEnvironmentDetails
909
+ });
910
+ var ListRunResponse = zod.z.object({
911
+ data: zod.z.array(ListRunResponseItem),
912
+ pagination: zod.z.object({
913
+ next: zod.z.string().optional(),
914
+ previous: zod.z.string().optional()
915
+ })
916
+ });
833
917
  var CreateEnvironmentVariableRequestBody = zod.z.object({
834
918
  name: zod.z.string(),
835
919
  value: zod.z.string()
@@ -868,12 +952,16 @@ var BackgroundWorkerServerMessages = zod.z.discriminatedUnion("type", [
868
952
  version: zod.z.string(),
869
953
  machine: Machine,
870
954
  // identifiers
871
- id: zod.z.string(),
955
+ id: zod.z.string().optional(),
872
956
  envId: zod.z.string(),
873
957
  envType: EnvironmentType,
874
958
  orgId: zod.z.string(),
875
959
  projectId: zod.z.string(),
876
960
  runId: zod.z.string()
961
+ }),
962
+ zod.z.object({
963
+ type: zod.z.literal("EXECUTE_RUN_LAZY_ATTEMPT"),
964
+ payload: TaskRunExecutionLazyAttemptPayload
877
965
  })
878
966
  ]);
879
967
  var serverWebsocketMessages = {
@@ -894,10 +982,20 @@ var BackgroundWorkerClientMessages = zod.z.discriminatedUnion("type", [
894
982
  completion: TaskRunExecutionResult,
895
983
  execution: TaskRunExecution
896
984
  }),
985
+ zod.z.object({
986
+ version: zod.z.literal("v1").default("v1"),
987
+ type: zod.z.literal("TASK_RUN_FAILED_TO_RUN"),
988
+ completion: TaskRunFailedExecutionResult
989
+ }),
897
990
  zod.z.object({
898
991
  version: zod.z.literal("v1").default("v1"),
899
992
  type: zod.z.literal("TASK_HEARTBEAT"),
900
993
  id: zod.z.string()
994
+ }),
995
+ zod.z.object({
996
+ version: zod.z.literal("v1").default("v1"),
997
+ type: zod.z.literal("TASK_RUN_HEARTBEAT"),
998
+ id: zod.z.string()
901
999
  })
902
1000
  ]);
903
1001
  var BackgroundWorkerProperties = zod.z.object({
@@ -908,7 +1006,8 @@ var BackgroundWorkerProperties = zod.z.object({
908
1006
  var clientWebsocketMessages = {
909
1007
  READY_FOR_TASKS: zod.z.object({
910
1008
  version: zod.z.literal("v1").default("v1"),
911
- backgroundWorkerId: zod.z.string()
1009
+ backgroundWorkerId: zod.z.string(),
1010
+ inProgressRuns: zod.z.string().array().optional()
912
1011
  }),
913
1012
  BACKGROUND_WORKER_DEPRECATED: zod.z.object({
914
1013
  version: zod.z.literal("v1").default("v1"),
@@ -927,11 +1026,17 @@ var workerToChildMessages = {
927
1026
  traceContext: zod.z.record(zod.z.unknown()),
928
1027
  metadata: BackgroundWorkerProperties
929
1028
  }),
930
- TASK_RUN_COMPLETED_NOTIFICATION: zod.z.object({
931
- version: zod.z.literal("v1").default("v1"),
932
- completion: TaskRunExecutionResult,
933
- execution: TaskRunExecution
934
- }),
1029
+ TASK_RUN_COMPLETED_NOTIFICATION: zod.z.discriminatedUnion("version", [
1030
+ zod.z.object({
1031
+ version: zod.z.literal("v1"),
1032
+ completion: TaskRunExecutionResult,
1033
+ execution: TaskRunExecution
1034
+ }),
1035
+ zod.z.object({
1036
+ version: zod.z.literal("v2"),
1037
+ completion: TaskRunExecutionResult
1038
+ })
1039
+ ]),
935
1040
  CLEANUP: zod.z.object({
936
1041
  version: zod.z.literal("v1").default("v1"),
937
1042
  flush: zod.z.boolean().default(false),
@@ -972,6 +1077,10 @@ var childToWorkerMessages = {
972
1077
  version: zod.z.literal("v1").default("v1"),
973
1078
  id: zod.z.string()
974
1079
  }),
1080
+ TASK_RUN_HEARTBEAT: zod.z.object({
1081
+ version: zod.z.literal("v1").default("v1"),
1082
+ id: zod.z.string()
1083
+ }),
975
1084
  READY_TO_DISPOSE: zod.z.undefined(),
976
1085
  WAIT_FOR_DURATION: zod.z.object({
977
1086
  version: zod.z.literal("v1").default("v1"),
@@ -1011,6 +1120,12 @@ var ProdChildToWorkerMessages = {
1011
1120
  id: zod.z.string()
1012
1121
  })
1013
1122
  },
1123
+ TASK_RUN_HEARTBEAT: {
1124
+ message: zod.z.object({
1125
+ version: zod.z.literal("v1").default("v1"),
1126
+ id: zod.z.string()
1127
+ })
1128
+ },
1014
1129
  READY_TO_DISPOSE: {
1015
1130
  message: zod.z.undefined()
1016
1131
  },
@@ -1075,11 +1190,17 @@ var ProdWorkerToChildMessages = {
1075
1190
  })
1076
1191
  },
1077
1192
  TASK_RUN_COMPLETED_NOTIFICATION: {
1078
- message: zod.z.object({
1079
- version: zod.z.literal("v1").default("v1"),
1080
- completion: TaskRunExecutionResult,
1081
- execution: TaskRunExecution
1082
- })
1193
+ message: zod.z.discriminatedUnion("version", [
1194
+ zod.z.object({
1195
+ version: zod.z.literal("v1"),
1196
+ completion: TaskRunExecutionResult,
1197
+ execution: TaskRunExecution
1198
+ }),
1199
+ zod.z.object({
1200
+ version: zod.z.literal("v2"),
1201
+ completion: TaskRunExecutionResult
1202
+ })
1203
+ ])
1083
1204
  },
1084
1205
  CLEANUP: {
1085
1206
  message: zod.z.object({
@@ -1127,21 +1248,14 @@ var ProviderToPlatformMessages = {
1127
1248
  deploymentId: zod.z.string(),
1128
1249
  error: zod.z.object({
1129
1250
  name: zod.z.string(),
1130
- message: zod.z.string(),
1131
- stack: zod.z.string().optional()
1132
- })
1133
- })
1134
- }
1135
- };
1136
- var PlatformToProviderMessages = {
1137
- HEALTH: {
1138
- message: zod.z.object({
1139
- version: zod.z.literal("v1").default("v1")
1140
- }),
1141
- callback: zod.z.object({
1142
- status: zod.z.literal("ok")
1251
+ message: zod.z.string(),
1252
+ stack: zod.z.string().optional(),
1253
+ stderr: zod.z.string().optional()
1254
+ })
1143
1255
  })
1144
- },
1256
+ }
1257
+ };
1258
+ var PlatformToProviderMessages = {
1145
1259
  INDEX: {
1146
1260
  message: zod.z.object({
1147
1261
  version: zod.z.literal("v1").default("v1"),
@@ -1162,7 +1276,8 @@ var PlatformToProviderMessages = {
1162
1276
  error: zod.z.object({
1163
1277
  name: zod.z.string(),
1164
1278
  message: zod.z.string(),
1165
- stack: zod.z.string().optional()
1279
+ stack: zod.z.string().optional(),
1280
+ stderr: zod.z.string().optional()
1166
1281
  })
1167
1282
  }),
1168
1283
  zod.z.object({
@@ -1170,7 +1285,6 @@ var PlatformToProviderMessages = {
1170
1285
  })
1171
1286
  ])
1172
1287
  },
1173
- // TODO: this should be a shared queue message instead
1174
1288
  RESTORE: {
1175
1289
  message: zod.z.object({
1176
1290
  version: zod.z.literal("v1").default("v1"),
@@ -1190,23 +1304,19 @@ var PlatformToProviderMessages = {
1190
1304
  projectId: zod.z.string(),
1191
1305
  runId: zod.z.string()
1192
1306
  })
1193
- },
1194
- DELETE: {
1195
- message: zod.z.object({
1196
- version: zod.z.literal("v1").default("v1"),
1197
- name: zod.z.string()
1198
- }),
1199
- callback: zod.z.object({
1200
- message: zod.z.string()
1201
- })
1202
- },
1203
- GET: {
1204
- message: zod.z.object({
1205
- version: zod.z.literal("v1").default("v1"),
1206
- name: zod.z.string()
1207
- })
1208
1307
  }
1209
1308
  };
1309
+ var CreateWorkerMessage = zod.z.object({
1310
+ projectRef: zod.z.string(),
1311
+ envId: zod.z.string(),
1312
+ deploymentId: zod.z.string(),
1313
+ metadata: zod.z.object({
1314
+ cliPackageVersion: zod.z.string().optional(),
1315
+ contentHash: zod.z.string(),
1316
+ packageVersion: zod.z.string(),
1317
+ tasks: TaskResource.array()
1318
+ })
1319
+ });
1210
1320
  var CoordinatorToPlatformMessages = {
1211
1321
  LOG: {
1212
1322
  message: zod.z.object({
@@ -1216,18 +1326,15 @@ var CoordinatorToPlatformMessages = {
1216
1326
  })
1217
1327
  },
1218
1328
  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()
1329
+ message: zod.z.discriminatedUnion("version", [
1330
+ CreateWorkerMessage.extend({
1331
+ version: zod.z.literal("v1")
1332
+ }),
1333
+ CreateWorkerMessage.extend({
1334
+ version: zod.z.literal("v2"),
1335
+ supportsLazyAttempts: zod.z.boolean()
1229
1336
  })
1230
- }),
1337
+ ]),
1231
1338
  callback: zod.z.discriminatedUnion("success", [
1232
1339
  zod.z.object({
1233
1340
  success: zod.z.literal(false)
@@ -1237,6 +1344,23 @@ var CoordinatorToPlatformMessages = {
1237
1344
  })
1238
1345
  ])
1239
1346
  },
1347
+ CREATE_TASK_RUN_ATTEMPT: {
1348
+ message: zod.z.object({
1349
+ version: zod.z.literal("v1").default("v1"),
1350
+ runId: zod.z.string(),
1351
+ envId: zod.z.string()
1352
+ }),
1353
+ callback: zod.z.discriminatedUnion("success", [
1354
+ zod.z.object({
1355
+ success: zod.z.literal(false),
1356
+ reason: zod.z.string().optional()
1357
+ }),
1358
+ zod.z.object({
1359
+ success: zod.z.literal(true),
1360
+ executionPayload: ProdTaskRunExecutionPayload
1361
+ })
1362
+ ])
1363
+ },
1240
1364
  READY_FOR_EXECUTION: {
1241
1365
  message: zod.z.object({
1242
1366
  version: zod.z.literal("v1").default("v1"),
@@ -1253,6 +1377,24 @@ var CoordinatorToPlatformMessages = {
1253
1377
  })
1254
1378
  ])
1255
1379
  },
1380
+ READY_FOR_LAZY_ATTEMPT: {
1381
+ message: zod.z.object({
1382
+ version: zod.z.literal("v1").default("v1"),
1383
+ runId: zod.z.string(),
1384
+ envId: zod.z.string(),
1385
+ totalCompletions: zod.z.number()
1386
+ }),
1387
+ callback: zod.z.discriminatedUnion("success", [
1388
+ zod.z.object({
1389
+ success: zod.z.literal(false),
1390
+ reason: zod.z.string().optional()
1391
+ }),
1392
+ zod.z.object({
1393
+ success: zod.z.literal(true),
1394
+ lazyPayload: TaskRunExecutionLazyAttemptPayload
1395
+ })
1396
+ ])
1397
+ },
1256
1398
  READY_FOR_RESUME: {
1257
1399
  message: zod.z.object({
1258
1400
  version: zod.z.literal("v1").default("v1"),
@@ -1271,12 +1413,24 @@ var CoordinatorToPlatformMessages = {
1271
1413
  }).optional()
1272
1414
  })
1273
1415
  },
1416
+ TASK_RUN_FAILED_TO_RUN: {
1417
+ message: zod.z.object({
1418
+ version: zod.z.literal("v1").default("v1"),
1419
+ completion: TaskRunFailedExecutionResult
1420
+ })
1421
+ },
1274
1422
  TASK_HEARTBEAT: {
1275
1423
  message: zod.z.object({
1276
1424
  version: zod.z.literal("v1").default("v1"),
1277
1425
  attemptFriendlyId: zod.z.string()
1278
1426
  })
1279
1427
  },
1428
+ TASK_RUN_HEARTBEAT: {
1429
+ message: zod.z.object({
1430
+ version: zod.z.literal("v1").default("v1"),
1431
+ runId: zod.z.string()
1432
+ })
1433
+ },
1280
1434
  CHECKPOINT_CREATED: {
1281
1435
  message: zod.z.object({
1282
1436
  version: zod.z.literal("v1").default("v1"),
@@ -1309,6 +1463,18 @@ var CoordinatorToPlatformMessages = {
1309
1463
  message: zod.z.object({
1310
1464
  version: zod.z.literal("v1").default("v1"),
1311
1465
  deploymentId: zod.z.string(),
1466
+ error: zod.z.object({
1467
+ name: zod.z.string(),
1468
+ message: zod.z.string(),
1469
+ stack: zod.z.string().optional(),
1470
+ stderr: zod.z.string().optional()
1471
+ })
1472
+ })
1473
+ },
1474
+ RUN_CRASHED: {
1475
+ message: zod.z.object({
1476
+ version: zod.z.literal("v1").default("v1"),
1477
+ runId: zod.z.string(),
1312
1478
  error: zod.z.object({
1313
1479
  name: zod.z.string(),
1314
1480
  message: zod.z.string(),
@@ -1342,6 +1508,13 @@ var PlatformToCoordinatorMessages = {
1342
1508
  attemptFriendlyId: zod.z.string()
1343
1509
  })
1344
1510
  },
1511
+ REQUEST_RUN_CANCELLATION: {
1512
+ message: zod.z.object({
1513
+ version: zod.z.literal("v1").default("v1"),
1514
+ runId: zod.z.string(),
1515
+ delayInMs: zod.z.number().optional()
1516
+ })
1517
+ },
1345
1518
  READY_FOR_RETRY: {
1346
1519
  message: zod.z.object({
1347
1520
  version: zod.z.literal("v1").default("v1"),
@@ -1385,6 +1558,12 @@ var SharedQueueToClientMessages = {
1385
1558
  })
1386
1559
  }
1387
1560
  };
1561
+ var IndexTasksMessage = zod.z.object({
1562
+ version: zod.z.literal("v1"),
1563
+ deploymentId: zod.z.string(),
1564
+ tasks: TaskResource.array(),
1565
+ packageVersion: zod.z.string()
1566
+ });
1388
1567
  var ProdWorkerToCoordinatorMessages = {
1389
1568
  LOG: {
1390
1569
  message: zod.z.object({
@@ -1394,12 +1573,15 @@ var ProdWorkerToCoordinatorMessages = {
1394
1573
  callback: zod.z.void()
1395
1574
  },
1396
1575
  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
- }),
1576
+ message: zod.z.discriminatedUnion("version", [
1577
+ IndexTasksMessage.extend({
1578
+ version: zod.z.literal("v1")
1579
+ }),
1580
+ IndexTasksMessage.extend({
1581
+ version: zod.z.literal("v2"),
1582
+ supportsLazyAttempts: zod.z.boolean()
1583
+ })
1584
+ ]),
1403
1585
  callback: zod.z.discriminatedUnion("success", [
1404
1586
  zod.z.object({
1405
1587
  success: zod.z.literal(false)
@@ -1416,6 +1598,13 @@ var ProdWorkerToCoordinatorMessages = {
1416
1598
  totalCompletions: zod.z.number()
1417
1599
  })
1418
1600
  },
1601
+ READY_FOR_LAZY_ATTEMPT: {
1602
+ message: zod.z.object({
1603
+ version: zod.z.literal("v1").default("v1"),
1604
+ runId: zod.z.string(),
1605
+ totalCompletions: zod.z.number()
1606
+ })
1607
+ },
1419
1608
  READY_FOR_RESUME: {
1420
1609
  message: zod.z.object({
1421
1610
  version: zod.z.literal("v1").default("v1"),
@@ -1452,6 +1641,12 @@ var ProdWorkerToCoordinatorMessages = {
1452
1641
  attemptFriendlyId: zod.z.string()
1453
1642
  })
1454
1643
  },
1644
+ TASK_RUN_HEARTBEAT: {
1645
+ message: zod.z.object({
1646
+ version: zod.z.literal("v1").default("v1"),
1647
+ runId: zod.z.string()
1648
+ })
1649
+ },
1455
1650
  TASK_RUN_COMPLETED: {
1456
1651
  message: zod.z.object({
1457
1652
  version: zod.z.literal("v1").default("v1"),
@@ -1463,6 +1658,12 @@ var ProdWorkerToCoordinatorMessages = {
1463
1658
  shouldExit: zod.z.boolean()
1464
1659
  })
1465
1660
  },
1661
+ TASK_RUN_FAILED_TO_RUN: {
1662
+ message: zod.z.object({
1663
+ version: zod.z.literal("v1").default("v1"),
1664
+ completion: TaskRunFailedExecutionResult
1665
+ })
1666
+ },
1466
1667
  WAIT_FOR_DURATION: {
1467
1668
  message: zod.z.object({
1468
1669
  version: zod.z.literal("v1").default("v1"),
@@ -1501,6 +1702,33 @@ var ProdWorkerToCoordinatorMessages = {
1501
1702
  message: zod.z.object({
1502
1703
  version: zod.z.literal("v1").default("v1"),
1503
1704
  deploymentId: zod.z.string(),
1705
+ error: zod.z.object({
1706
+ name: zod.z.string(),
1707
+ message: zod.z.string(),
1708
+ stack: zod.z.string().optional(),
1709
+ stderr: zod.z.string().optional()
1710
+ })
1711
+ })
1712
+ },
1713
+ CREATE_TASK_RUN_ATTEMPT: {
1714
+ message: zod.z.object({
1715
+ version: zod.z.literal("v1").default("v1"),
1716
+ runId: zod.z.string()
1717
+ }),
1718
+ callback: zod.z.discriminatedUnion("success", [
1719
+ zod.z.object({
1720
+ success: zod.z.literal(false),
1721
+ reason: zod.z.string().optional()
1722
+ }),
1723
+ zod.z.object({
1724
+ success: zod.z.literal(true),
1725
+ executionPayload: ProdTaskRunExecutionPayload
1726
+ })
1727
+ ])
1728
+ },
1729
+ UNRECOVERABLE_ERROR: {
1730
+ message: zod.z.object({
1731
+ version: zod.z.literal("v1").default("v1"),
1504
1732
  error: zod.z.object({
1505
1733
  name: zod.z.string(),
1506
1734
  message: zod.z.string(),
@@ -1530,6 +1758,12 @@ var CoordinatorToProdWorkerMessages = {
1530
1758
  executionPayload: ProdTaskRunExecutionPayload
1531
1759
  })
1532
1760
  },
1761
+ EXECUTE_TASK_RUN_LAZY_ATTEMPT: {
1762
+ message: zod.z.object({
1763
+ version: zod.z.literal("v1").default("v1"),
1764
+ lazyPayload: TaskRunExecutionLazyAttemptPayload
1765
+ })
1766
+ },
1533
1767
  REQUEST_ATTEMPT_CANCELLATION: {
1534
1768
  message: zod.z.object({
1535
1769
  version: zod.z.literal("v1").default("v1"),
@@ -1537,9 +1771,15 @@ var CoordinatorToProdWorkerMessages = {
1537
1771
  })
1538
1772
  },
1539
1773
  REQUEST_EXIT: {
1540
- message: zod.z.object({
1541
- version: zod.z.literal("v1").default("v1")
1542
- })
1774
+ message: zod.z.discriminatedUnion("version", [
1775
+ zod.z.object({
1776
+ version: zod.z.literal("v1")
1777
+ }),
1778
+ zod.z.object({
1779
+ version: zod.z.literal("v2"),
1780
+ delayInMs: zod.z.number().optional()
1781
+ })
1782
+ ])
1543
1783
  },
1544
1784
  READY_FOR_RETRY: {
1545
1785
  message: zod.z.object({
@@ -1904,15 +2144,153 @@ var _TaskContextAPI = class _TaskContextAPI {
1904
2144
  return registerGlobal(API_NAME, taskContext2);
1905
2145
  }
1906
2146
  };
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();
2147
+ _getTaskContext = new WeakSet();
2148
+ getTaskContext_fn = /* @__PURE__ */ __name(function() {
2149
+ return getGlobal(API_NAME);
2150
+ }, "#getTaskContext");
2151
+ __name(_TaskContextAPI, "TaskContextAPI");
2152
+ var TaskContextAPI = _TaskContextAPI;
2153
+
2154
+ // src/v3/task-context-api.ts
2155
+ var taskContext = TaskContextAPI.getInstance();
2156
+
2157
+ // src/v3/apiClient/errors.ts
2158
+ var _ApiError = class _ApiError extends Error {
2159
+ constructor(status, error, message, headers) {
2160
+ super(`${_ApiError.makeMessage(status, error, message)}`);
2161
+ this.status = status;
2162
+ this.headers = headers;
2163
+ const data = error;
2164
+ this.error = data;
2165
+ this.code = data?.["code"];
2166
+ this.param = data?.["param"];
2167
+ this.type = data?.["type"];
2168
+ }
2169
+ static makeMessage(status, error, message) {
2170
+ const msg = error?.message ? typeof error.message === "string" ? error.message : JSON.stringify(error.message) : error ? JSON.stringify(error) : message;
2171
+ if (status && msg) {
2172
+ return `${status} ${msg}`;
2173
+ }
2174
+ if (status) {
2175
+ return `${status} status code (no body)`;
2176
+ }
2177
+ if (msg) {
2178
+ return msg;
2179
+ }
2180
+ return "(no status code or body)";
2181
+ }
2182
+ static generate(status, errorResponse, message, headers) {
2183
+ if (!status) {
2184
+ return new ApiConnectionError({
2185
+ cause: castToError(errorResponse)
2186
+ });
2187
+ }
2188
+ const error = errorResponse?.["error"];
2189
+ if (status === 400) {
2190
+ return new BadRequestError(status, error, message, headers);
2191
+ }
2192
+ if (status === 401) {
2193
+ return new AuthenticationError(status, error, message, headers);
2194
+ }
2195
+ if (status === 403) {
2196
+ return new PermissionDeniedError(status, error, message, headers);
2197
+ }
2198
+ if (status === 404) {
2199
+ return new NotFoundError(status, error, message, headers);
2200
+ }
2201
+ if (status === 409) {
2202
+ return new ConflictError(status, error, message, headers);
2203
+ }
2204
+ if (status === 422) {
2205
+ return new UnprocessableEntityError(status, error, message, headers);
2206
+ }
2207
+ if (status === 429) {
2208
+ return new RateLimitError(status, error, message, headers);
2209
+ }
2210
+ if (status >= 500) {
2211
+ return new InternalServerError(status, error, message, headers);
2212
+ }
2213
+ return new _ApiError(status, error, message, headers);
2214
+ }
2215
+ };
2216
+ __name(_ApiError, "ApiError");
2217
+ var ApiError = _ApiError;
2218
+ var _ApiConnectionError = class _ApiConnectionError extends ApiError {
2219
+ constructor({ message, cause }) {
2220
+ super(void 0, void 0, message || "Connection error.", void 0);
2221
+ __publicField(this, "status");
2222
+ if (cause)
2223
+ this.cause = cause;
2224
+ }
2225
+ };
2226
+ __name(_ApiConnectionError, "ApiConnectionError");
2227
+ var ApiConnectionError = _ApiConnectionError;
2228
+ var _BadRequestError = class _BadRequestError extends ApiError {
2229
+ constructor() {
2230
+ super(...arguments);
2231
+ __publicField(this, "status", 400);
2232
+ }
2233
+ };
2234
+ __name(_BadRequestError, "BadRequestError");
2235
+ var BadRequestError = _BadRequestError;
2236
+ var _AuthenticationError = class _AuthenticationError extends ApiError {
2237
+ constructor() {
2238
+ super(...arguments);
2239
+ __publicField(this, "status", 401);
2240
+ }
2241
+ };
2242
+ __name(_AuthenticationError, "AuthenticationError");
2243
+ var AuthenticationError = _AuthenticationError;
2244
+ var _PermissionDeniedError = class _PermissionDeniedError extends ApiError {
2245
+ constructor() {
2246
+ super(...arguments);
2247
+ __publicField(this, "status", 403);
2248
+ }
2249
+ };
2250
+ __name(_PermissionDeniedError, "PermissionDeniedError");
2251
+ var PermissionDeniedError = _PermissionDeniedError;
2252
+ var _NotFoundError = class _NotFoundError extends ApiError {
2253
+ constructor() {
2254
+ super(...arguments);
2255
+ __publicField(this, "status", 404);
2256
+ }
2257
+ };
2258
+ __name(_NotFoundError, "NotFoundError");
2259
+ var NotFoundError = _NotFoundError;
2260
+ var _ConflictError = class _ConflictError extends ApiError {
2261
+ constructor() {
2262
+ super(...arguments);
2263
+ __publicField(this, "status", 409);
2264
+ }
2265
+ };
2266
+ __name(_ConflictError, "ConflictError");
2267
+ var ConflictError = _ConflictError;
2268
+ var _UnprocessableEntityError = class _UnprocessableEntityError extends ApiError {
2269
+ constructor() {
2270
+ super(...arguments);
2271
+ __publicField(this, "status", 422);
2272
+ }
2273
+ };
2274
+ __name(_UnprocessableEntityError, "UnprocessableEntityError");
2275
+ var UnprocessableEntityError = _UnprocessableEntityError;
2276
+ var _RateLimitError = class _RateLimitError extends ApiError {
2277
+ constructor() {
2278
+ super(...arguments);
2279
+ __publicField(this, "status", 429);
2280
+ }
2281
+ };
2282
+ __name(_RateLimitError, "RateLimitError");
2283
+ var RateLimitError = _RateLimitError;
2284
+ var _InternalServerError = class _InternalServerError extends ApiError {
2285
+ };
2286
+ __name(_InternalServerError, "InternalServerError");
2287
+ var InternalServerError = _InternalServerError;
2288
+ function castToError(err) {
2289
+ if (err instanceof Error)
2290
+ return err;
2291
+ return new Error(err);
2292
+ }
2293
+ __name(castToError, "castToError");
1916
2294
 
1917
2295
  // src/retry.ts
1918
2296
  function calculateResetAt(resets, format, now = /* @__PURE__ */ new Date()) {
@@ -2020,6 +2398,108 @@ function calculateResetAt2(resets, format, now = Date.now()) {
2020
2398
  return resetAt?.getTime();
2021
2399
  }
2022
2400
  __name(calculateResetAt2, "calculateResetAt");
2401
+
2402
+ // src/v3/apiClient/pagination.ts
2403
+ var _CursorPage = class _CursorPage {
2404
+ constructor(data, pagination, pageFetcher) {
2405
+ this.pageFetcher = pageFetcher;
2406
+ this.data = data;
2407
+ this.pagination = pagination;
2408
+ }
2409
+ getPaginatedItems() {
2410
+ return this.data ?? [];
2411
+ }
2412
+ hasNextPage() {
2413
+ return !!this.pagination.next;
2414
+ }
2415
+ hasPreviousPage() {
2416
+ return !!this.pagination.previous;
2417
+ }
2418
+ getNextPage() {
2419
+ if (!this.pagination.next) {
2420
+ throw new Error("No next page available");
2421
+ }
2422
+ return this.pageFetcher({
2423
+ after: this.pagination.next
2424
+ });
2425
+ }
2426
+ getPreviousPage() {
2427
+ if (!this.pagination.previous) {
2428
+ throw new Error("No previous page available");
2429
+ }
2430
+ return this.pageFetcher({
2431
+ before: this.pagination.previous
2432
+ });
2433
+ }
2434
+ async *iterPages() {
2435
+ let page = this;
2436
+ yield page;
2437
+ while (page.hasNextPage()) {
2438
+ page = await page.getNextPage();
2439
+ yield page;
2440
+ }
2441
+ }
2442
+ async *[Symbol.asyncIterator]() {
2443
+ for await (const page of this.iterPages()) {
2444
+ for (const item of page.getPaginatedItems()) {
2445
+ yield item;
2446
+ }
2447
+ }
2448
+ }
2449
+ };
2450
+ __name(_CursorPage, "CursorPage");
2451
+ var CursorPage = _CursorPage;
2452
+ var _OffsetLimitPage = class _OffsetLimitPage {
2453
+ constructor(data, pagination, pageFetcher) {
2454
+ this.pageFetcher = pageFetcher;
2455
+ this.data = data;
2456
+ this.pagination = pagination;
2457
+ }
2458
+ getPaginatedItems() {
2459
+ return this.data ?? [];
2460
+ }
2461
+ hasNextPage() {
2462
+ return this.pagination.currentPage < this.pagination.totalPages;
2463
+ }
2464
+ hasPreviousPage() {
2465
+ return this.pagination.currentPage > 1;
2466
+ }
2467
+ getNextPage() {
2468
+ if (!this.hasNextPage()) {
2469
+ throw new Error("No next page available");
2470
+ }
2471
+ return this.pageFetcher({
2472
+ page: this.pagination.currentPage + 1
2473
+ });
2474
+ }
2475
+ getPreviousPage() {
2476
+ if (!this.hasPreviousPage()) {
2477
+ throw new Error("No previous page available");
2478
+ }
2479
+ return this.pageFetcher({
2480
+ page: this.pagination.currentPage - 1
2481
+ });
2482
+ }
2483
+ async *iterPages() {
2484
+ let page = this;
2485
+ yield page;
2486
+ while (page.hasNextPage()) {
2487
+ page = await page.getNextPage();
2488
+ yield page;
2489
+ }
2490
+ }
2491
+ async *[Symbol.asyncIterator]() {
2492
+ for await (const page of this.iterPages()) {
2493
+ for (const item of page.getPaginatedItems()) {
2494
+ yield item;
2495
+ }
2496
+ }
2497
+ }
2498
+ };
2499
+ __name(_OffsetLimitPage, "OffsetLimitPage");
2500
+ var OffsetLimitPage = _OffsetLimitPage;
2501
+
2502
+ // src/v3/apiClient/core.ts
2023
2503
  var defaultRetryOptions2 = {
2024
2504
  maxAttempts: 3,
2025
2505
  factor: 2,
@@ -2027,11 +2507,62 @@ var defaultRetryOptions2 = {
2027
2507
  maxTimeoutInMs: 6e4,
2028
2508
  randomize: false
2029
2509
  };
2030
- async function zodfetch(schema, url, requestInit, options) {
2031
- return await _doZodFetch(schema, url, requestInit, options);
2510
+ function zodfetch(schema, url, requestInit, options) {
2511
+ return new ApiPromise(_doZodFetch(schema, url, requestInit, options));
2032
2512
  }
2033
2513
  __name(zodfetch, "zodfetch");
2034
- async function zodupload(schema, url, body, requestInit, options) {
2514
+ function zodfetchCursorPage(schema, url, params, requestInit, options) {
2515
+ const query = new URLSearchParams(params.query);
2516
+ if (params.limit) {
2517
+ query.set("page[size]", String(params.limit));
2518
+ }
2519
+ if (params.after) {
2520
+ query.set("page[after]", params.after);
2521
+ }
2522
+ if (params.before) {
2523
+ query.set("page[before]", params.before);
2524
+ }
2525
+ const cursorPageSchema = zod.z.object({
2526
+ data: zod.z.array(schema),
2527
+ pagination: zod.z.object({
2528
+ next: zod.z.string().optional(),
2529
+ previous: zod.z.string().optional()
2530
+ })
2531
+ });
2532
+ const $url = new URL(url);
2533
+ $url.search = query.toString();
2534
+ const fetchResult = _doZodFetch(cursorPageSchema, $url.href, requestInit, options);
2535
+ return new CursorPagePromise(fetchResult, schema, url, params, requestInit, options);
2536
+ }
2537
+ __name(zodfetchCursorPage, "zodfetchCursorPage");
2538
+ function zodfetchOffsetLimitPage(schema, url, params, requestInit, options) {
2539
+ const query = new URLSearchParams(params.query);
2540
+ if (params.limit) {
2541
+ query.set("perPage", String(params.limit));
2542
+ }
2543
+ if (params.page) {
2544
+ query.set("page", String(params.page));
2545
+ }
2546
+ const offsetLimitPageSchema = zod.z.object({
2547
+ data: zod.z.array(schema),
2548
+ pagination: zod.z.object({
2549
+ currentPage: zod.z.coerce.number(),
2550
+ totalPages: zod.z.coerce.number(),
2551
+ count: zod.z.coerce.number()
2552
+ })
2553
+ });
2554
+ const $url = new URL(url);
2555
+ $url.search = query.toString();
2556
+ const fetchResult = _doZodFetch(offsetLimitPageSchema, $url.href, requestInit, options);
2557
+ return new OffsetLimitPagePromise(fetchResult, schema, url, params, requestInit, options);
2558
+ }
2559
+ __name(zodfetchOffsetLimitPage, "zodfetchOffsetLimitPage");
2560
+ function zodupload(schema, url, body, requestInit, options) {
2561
+ const finalRequestInit = createMultipartFormRequestInit(body, requestInit);
2562
+ return new ApiPromise(_doZodFetch(schema, url, finalRequestInit, options));
2563
+ }
2564
+ __name(zodupload, "zodupload");
2565
+ async function createMultipartFormRequestInit(body, requestInit) {
2035
2566
  const form = await createForm(body);
2036
2567
  const encoder = new formDataEncoder.FormDataEncoder(form);
2037
2568
  const finalHeaders = {};
@@ -2049,9 +2580,9 @@ async function zodupload(schema, url, body, requestInit, options) {
2049
2580
  // @ts-expect-error
2050
2581
  duplex: "half"
2051
2582
  };
2052
- return await _doZodFetch(schema, url, finalRequestInit, options);
2583
+ return finalRequestInit;
2053
2584
  }
2054
- __name(zodupload, "zodupload");
2585
+ __name(createMultipartFormRequestInit, "createMultipartFormRequestInit");
2055
2586
  var createForm = /* @__PURE__ */ __name(async (body) => {
2056
2587
  const form = new FormData();
2057
2588
  await Promise.all(Object.entries(body || {}).map(([key, value]) => addFormValue(form, key, value)));
@@ -2059,7 +2590,8 @@ var createForm = /* @__PURE__ */ __name(async (body) => {
2059
2590
  }, "createForm");
2060
2591
  async function _doZodFetch(schema, url, requestInit, options, attempt = 1) {
2061
2592
  try {
2062
- const response = await fetch(url, requestInitWithCache(requestInit));
2593
+ const $requestInit = await requestInit;
2594
+ const response = await fetch(url, requestInitWithCache($requestInit));
2063
2595
  const responseHeaders = createResponseHeaders(response.headers);
2064
2596
  if (!response.ok) {
2065
2597
  const retryResult = shouldRetry(response, attempt, options?.retry);
@@ -2070,17 +2602,20 @@ async function _doZodFetch(schema, url, requestInit, options, attempt = 1) {
2070
2602
  const errText = await response.text().catch((e) => castToError2(e).message);
2071
2603
  const errJSON = safeJsonParse(errText);
2072
2604
  const errMessage = errJSON ? void 0 : errText;
2073
- throw APIError.generate(response.status, errJSON, errMessage, responseHeaders);
2605
+ throw ApiError.generate(response.status, errJSON, errMessage, responseHeaders);
2074
2606
  }
2075
2607
  }
2076
2608
  const jsonBody = await response.json();
2077
2609
  const parsedResult = schema.safeParse(jsonBody);
2078
2610
  if (parsedResult.success) {
2079
- return parsedResult.data;
2611
+ return {
2612
+ data: parsedResult.data,
2613
+ response
2614
+ };
2080
2615
  }
2081
2616
  throw zodValidationError.fromZodError(parsedResult.error);
2082
2617
  } catch (error) {
2083
- if (error instanceof APIError) {
2618
+ if (error instanceof ApiError) {
2084
2619
  throw error;
2085
2620
  }
2086
2621
  if (options?.retry) {
@@ -2094,7 +2629,7 @@ async function _doZodFetch(schema, url, requestInit, options, attempt = 1) {
2094
2629
  return await _doZodFetch(schema, url, requestInit, options, attempt + 1);
2095
2630
  }
2096
2631
  }
2097
- throw new APIConnectionError({
2632
+ throw new ApiConnectionError({
2098
2633
  cause: castToError2(error)
2099
2634
  });
2100
2635
  }
@@ -2267,6 +2802,128 @@ var isUploadable = /* @__PURE__ */ __name((value) => {
2267
2802
  return isFileLike(value) || isResponseLike(value) || isFsReadStream(value);
2268
2803
  }, "isUploadable");
2269
2804
  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");
2805
+ var _ApiPromise = class _ApiPromise extends Promise {
2806
+ constructor(responsePromise) {
2807
+ super((resolve) => {
2808
+ resolve(null);
2809
+ });
2810
+ this.responsePromise = responsePromise;
2811
+ }
2812
+ /**
2813
+ * Gets the raw `Response` instance instead of parsing the response
2814
+ * data.
2815
+ *
2816
+ * If you want to parse the response body but still get the `Response`
2817
+ * instance, you can use {@link withResponse()}.
2818
+ */
2819
+ asResponse() {
2820
+ return this.responsePromise.then((p) => p.response);
2821
+ }
2822
+ /**
2823
+ * Gets the parsed response data and the raw `Response` instance.
2824
+ *
2825
+ * If you just want to get the raw `Response` instance without parsing it,
2826
+ * you can use {@link asResponse()}.
2827
+ */
2828
+ async withResponse() {
2829
+ const [data, response] = await Promise.all([
2830
+ this.parse(),
2831
+ this.asResponse()
2832
+ ]);
2833
+ return {
2834
+ data,
2835
+ response
2836
+ };
2837
+ }
2838
+ parse() {
2839
+ return this.responsePromise.then((result) => result.data);
2840
+ }
2841
+ then(onfulfilled, onrejected) {
2842
+ return this.parse().then(onfulfilled, onrejected);
2843
+ }
2844
+ catch(onrejected) {
2845
+ return this.parse().catch(onrejected);
2846
+ }
2847
+ finally(onfinally) {
2848
+ return this.parse().finally(onfinally);
2849
+ }
2850
+ };
2851
+ __name(_ApiPromise, "ApiPromise");
2852
+ var ApiPromise = _ApiPromise;
2853
+ var _fetchPage, fetchPage_fn;
2854
+ var _CursorPagePromise = class _CursorPagePromise extends ApiPromise {
2855
+ constructor(result, schema, url, params, requestInit, options) {
2856
+ super(result.then((result2) => ({
2857
+ data: new CursorPage(result2.data.data, result2.data.pagination, __privateMethod(this, _fetchPage, fetchPage_fn).bind(this)),
2858
+ response: result2.response
2859
+ })));
2860
+ __privateAdd(this, _fetchPage);
2861
+ this.schema = schema;
2862
+ this.url = url;
2863
+ this.params = params;
2864
+ this.requestInit = requestInit;
2865
+ this.options = options;
2866
+ }
2867
+ /**
2868
+ * Allow auto-paginating iteration on an unawaited list call, eg:
2869
+ *
2870
+ * for await (const item of client.items.list()) {
2871
+ * console.log(item)
2872
+ * }
2873
+ */
2874
+ async *[Symbol.asyncIterator]() {
2875
+ const page = await this;
2876
+ for await (const item of page) {
2877
+ yield item;
2878
+ }
2879
+ }
2880
+ };
2881
+ _fetchPage = new WeakSet();
2882
+ fetchPage_fn = /* @__PURE__ */ __name(function(params) {
2883
+ return zodfetchCursorPage(this.schema, this.url, {
2884
+ ...this.params,
2885
+ ...params
2886
+ }, this.requestInit, this.options);
2887
+ }, "#fetchPage");
2888
+ __name(_CursorPagePromise, "CursorPagePromise");
2889
+ var CursorPagePromise = _CursorPagePromise;
2890
+ var _fetchPage2, fetchPage_fn2;
2891
+ var _OffsetLimitPagePromise = class _OffsetLimitPagePromise extends ApiPromise {
2892
+ constructor(result, schema, url, params, requestInit, options) {
2893
+ super(result.then((result2) => ({
2894
+ data: new OffsetLimitPage(result2.data.data, result2.data.pagination, __privateMethod(this, _fetchPage2, fetchPage_fn2).bind(this)),
2895
+ response: result2.response
2896
+ })));
2897
+ __privateAdd(this, _fetchPage2);
2898
+ this.schema = schema;
2899
+ this.url = url;
2900
+ this.params = params;
2901
+ this.requestInit = requestInit;
2902
+ this.options = options;
2903
+ }
2904
+ /**
2905
+ * Allow auto-paginating iteration on an unawaited list call, eg:
2906
+ *
2907
+ * for await (const item of client.items.list()) {
2908
+ * console.log(item)
2909
+ * }
2910
+ */
2911
+ async *[Symbol.asyncIterator]() {
2912
+ const page = await this;
2913
+ for await (const item of page) {
2914
+ yield item;
2915
+ }
2916
+ }
2917
+ };
2918
+ _fetchPage2 = new WeakSet();
2919
+ fetchPage_fn2 = /* @__PURE__ */ __name(function(params1) {
2920
+ return zodfetchOffsetLimitPage(this.schema, this.url, {
2921
+ ...this.params,
2922
+ ...params1
2923
+ }, this.requestInit, this.options);
2924
+ }, "#fetchPage");
2925
+ __name(_OffsetLimitPagePromise, "OffsetLimitPagePromise");
2926
+ var OffsetLimitPagePromise = _OffsetLimitPagePromise;
2270
2927
 
2271
2928
  // src/v3/apiClient/index.ts
2272
2929
  var zodFetchOptions = {
@@ -2292,7 +2949,7 @@ var _ApiClient = class _ApiClient {
2292
2949
  headers: __privateMethod(this, _getHeaders, getHeaders_fn).call(this, false)
2293
2950
  }, zodFetchOptions);
2294
2951
  } catch (error) {
2295
- if (error instanceof APIError) {
2952
+ if (error instanceof ApiError) {
2296
2953
  if (error.status === 404) {
2297
2954
  return void 0;
2298
2955
  }
@@ -2307,14 +2964,16 @@ var _ApiClient = class _ApiClient {
2307
2964
  }, zodFetchOptions);
2308
2965
  }
2309
2966
  triggerTask(taskId, body, options) {
2310
- return zodfetch(TriggerTaskResponse, `${this.baseUrl}/api/v1/tasks/${taskId}/trigger`, {
2967
+ const encodedTaskId = encodeURIComponent(taskId);
2968
+ return zodfetch(TriggerTaskResponse, `${this.baseUrl}/api/v1/tasks/${encodedTaskId}/trigger`, {
2311
2969
  method: "POST",
2312
2970
  headers: __privateMethod(this, _getHeaders, getHeaders_fn).call(this, options?.spanParentAsLink ?? false),
2313
2971
  body: JSON.stringify(body)
2314
2972
  }, zodFetchOptions);
2315
2973
  }
2316
2974
  batchTriggerTask(taskId, body, options) {
2317
- return zodfetch(BatchTriggerTaskResponse, `${this.baseUrl}/api/v1/tasks/${taskId}/batch`, {
2975
+ const encodedTaskId = encodeURIComponent(taskId);
2976
+ return zodfetch(BatchTriggerTaskResponse, `${this.baseUrl}/api/v1/tasks/${encodedTaskId}/batch`, {
2318
2977
  method: "POST",
2319
2978
  headers: __privateMethod(this, _getHeaders, getHeaders_fn).call(this, options?.spanParentAsLink ?? false),
2320
2979
  body: JSON.stringify(body)
@@ -2338,6 +2997,33 @@ var _ApiClient = class _ApiClient {
2338
2997
  headers: __privateMethod(this, _getHeaders, getHeaders_fn).call(this, false)
2339
2998
  }, zodFetchOptions);
2340
2999
  }
3000
+ listRuns(query) {
3001
+ const searchParams = createSearchQueryForListRuns(query);
3002
+ return zodfetchCursorPage(ListRunResponseItem, `${this.baseUrl}/api/v1/runs`, {
3003
+ query: searchParams,
3004
+ limit: query?.limit,
3005
+ after: query?.after,
3006
+ before: query?.before
3007
+ }, {
3008
+ method: "GET",
3009
+ headers: __privateMethod(this, _getHeaders, getHeaders_fn).call(this, false)
3010
+ }, zodFetchOptions);
3011
+ }
3012
+ listProjectRuns(projectRef, query) {
3013
+ const searchParams = createSearchQueryForListRuns(query);
3014
+ if (query?.env) {
3015
+ searchParams.append("filter[env]", Array.isArray(query.env) ? query.env.join(",") : query.env);
3016
+ }
3017
+ return zodfetchCursorPage(ListRunResponseItem, `${this.baseUrl}/api/v1/projects/${projectRef}/runs`, {
3018
+ query: searchParams,
3019
+ limit: query?.limit,
3020
+ after: query?.after,
3021
+ before: query?.before
3022
+ }, {
3023
+ method: "GET",
3024
+ headers: __privateMethod(this, _getHeaders, getHeaders_fn).call(this, false)
3025
+ }, zodFetchOptions);
3026
+ }
2341
3027
  replayRun(runId) {
2342
3028
  return zodfetch(ReplayRunResponse, `${this.baseUrl}/api/v1/runs/${runId}/replay`, {
2343
3029
  method: "POST",
@@ -2365,7 +3051,10 @@ var _ApiClient = class _ApiClient {
2365
3051
  if (options?.perPage) {
2366
3052
  searchParams.append("perPage", options.perPage.toString());
2367
3053
  }
2368
- return zodfetch(ListSchedulesResult, `${this.baseUrl}/api/v1/schedules${searchParams.size > 0 ? `?${searchParams}` : ""}`, {
3054
+ return zodfetchOffsetLimitPage(ScheduleObject, `${this.baseUrl}/api/v1/schedules`, {
3055
+ page: options?.page,
3056
+ limit: options?.perPage
3057
+ }, {
2369
3058
  method: "GET",
2370
3059
  headers: __privateMethod(this, _getHeaders, getHeaders_fn).call(this, false)
2371
3060
  });
@@ -2466,6 +3155,40 @@ getHeaders_fn = /* @__PURE__ */ __name(function(spanParentAsLink) {
2466
3155
  }, "#getHeaders");
2467
3156
  __name(_ApiClient, "ApiClient");
2468
3157
  var ApiClient = _ApiClient;
3158
+ function createSearchQueryForListRuns(query) {
3159
+ const searchParams = new URLSearchParams();
3160
+ if (query) {
3161
+ if (query.status) {
3162
+ searchParams.append("filter[status]", Array.isArray(query.status) ? query.status.join(",") : query.status);
3163
+ }
3164
+ if (query.taskIdentifier) {
3165
+ searchParams.append("filter[taskIdentifier]", Array.isArray(query.taskIdentifier) ? query.taskIdentifier.join(",") : query.taskIdentifier);
3166
+ }
3167
+ if (query.version) {
3168
+ searchParams.append("filter[version]", Array.isArray(query.version) ? query.version.join(",") : query.version);
3169
+ }
3170
+ if (query.bulkAction) {
3171
+ searchParams.append("filter[bulkAction]", query.bulkAction);
3172
+ }
3173
+ if (query.schedule) {
3174
+ searchParams.append("filter[schedule]", query.schedule);
3175
+ }
3176
+ if (typeof query.isTest === "boolean") {
3177
+ searchParams.append("filter[isTest]", String(query.isTest));
3178
+ }
3179
+ if (query.from) {
3180
+ searchParams.append("filter[createdAt][from]", query.from instanceof Date ? query.from.getTime().toString() : query.from.toString());
3181
+ }
3182
+ if (query.to) {
3183
+ searchParams.append("filter[createdAt][to]", query.to instanceof Date ? query.to.getTime().toString() : query.to.toString());
3184
+ }
3185
+ if (query.period) {
3186
+ searchParams.append("filter[createdAt][period]", query.period);
3187
+ }
3188
+ }
3189
+ return searchParams;
3190
+ }
3191
+ __name(createSearchQueryForListRuns, "createSearchQueryForListRuns");
2469
3192
  var _SimpleClock = class _SimpleClock {
2470
3193
  preciseNow() {
2471
3194
  const now = new preciseDate.PreciseDate();
@@ -2515,145 +3238,6 @@ var ClockAPI = _ClockAPI;
2515
3238
  // src/v3/clock-api.ts
2516
3239
  var clock = ClockAPI.getInstance();
2517
3240
 
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
3241
  // src/v3/limits.ts
2658
3242
  var OTEL_SPAN_ATTRIBUTE_COUNT_LIMIT = 256;
2659
3243
  var OTEL_LOG_ATTRIBUTE_COUNT_LIMIT = 256;
@@ -3685,9 +4269,9 @@ function safeJsonParse2(value) {
3685
4269
  }
3686
4270
  __name(safeJsonParse2, "safeJsonParse");
3687
4271
 
3688
- exports.APIConnectionError = APIConnectionError;
3689
- exports.APIError = APIError;
3690
4272
  exports.ApiClient = ApiClient;
4273
+ exports.ApiConnectionError = ApiConnectionError;
4274
+ exports.ApiError = ApiError;
3691
4275
  exports.AttemptStatus = AttemptStatus;
3692
4276
  exports.AuthenticationError = AuthenticationError;
3693
4277
  exports.BackgroundWorkerClientMessages = BackgroundWorkerClientMessages;
@@ -3711,6 +4295,7 @@ exports.CreateBackgroundWorkerResponse = CreateBackgroundWorkerResponse;
3711
4295
  exports.CreateEnvironmentVariableRequestBody = CreateEnvironmentVariableRequestBody;
3712
4296
  exports.CreateScheduleOptions = CreateScheduleOptions;
3713
4297
  exports.CreateUploadPayloadUrlResponseBody = CreateUploadPayloadUrlResponseBody;
4298
+ exports.CursorPage = CursorPage;
3714
4299
  exports.DeletedScheduleObject = DeletedScheduleObject;
3715
4300
  exports.DeploymentErrorData = DeploymentErrorData;
3716
4301
  exports.EnvironmentType = EnvironmentType;
@@ -3742,6 +4327,8 @@ exports.ImportEnvironmentVariablesRequestBody = ImportEnvironmentVariablesReques
3742
4327
  exports.InitializeDeploymentRequestBody = InitializeDeploymentRequestBody;
3743
4328
  exports.InitializeDeploymentResponseBody = InitializeDeploymentResponseBody;
3744
4329
  exports.InternalServerError = InternalServerError;
4330
+ exports.ListRunResponse = ListRunResponse;
4331
+ exports.ListRunResponseItem = ListRunResponseItem;
3745
4332
  exports.ListScheduleOptions = ListScheduleOptions;
3746
4333
  exports.ListSchedulesResult = ListSchedulesResult;
3747
4334
  exports.Machine = Machine;
@@ -3758,6 +4345,7 @@ exports.OTEL_LOG_ATTRIBUTE_VALUE_LENGTH_LIMIT = OTEL_LOG_ATTRIBUTE_VALUE_LENGTH_
3758
4345
  exports.OTEL_SPAN_ATTRIBUTE_COUNT_LIMIT = OTEL_SPAN_ATTRIBUTE_COUNT_LIMIT;
3759
4346
  exports.OTEL_SPAN_ATTRIBUTE_VALUE_LENGTH_LIMIT = OTEL_SPAN_ATTRIBUTE_VALUE_LENGTH_LIMIT;
3760
4347
  exports.OTEL_SPAN_EVENT_COUNT_LIMIT = OTEL_SPAN_EVENT_COUNT_LIMIT;
4348
+ exports.OffsetLimitPage = OffsetLimitPage;
3761
4349
  exports.OtherSpanEvent = OtherSpanEvent;
3762
4350
  exports.PRIMARY_VARIANT = PRIMARY_VARIANT;
3763
4351
  exports.PermissionDeniedError = PermissionDeniedError;
@@ -3778,10 +4366,14 @@ exports.RateLimitOptions = RateLimitOptions;
3778
4366
  exports.ReplayRunResponse = ReplayRunResponse;
3779
4367
  exports.RetrieveRunResponse = RetrieveRunResponse;
3780
4368
  exports.RetryOptions = RetryOptions;
4369
+ exports.RunEnvironmentDetails = RunEnvironmentDetails;
4370
+ exports.RunScheduleDetails = RunScheduleDetails;
3781
4371
  exports.RunStatus = RunStatus;
4372
+ exports.ScheduleGenerator = ScheduleGenerator;
3782
4373
  exports.ScheduleObject = ScheduleObject;
3783
4374
  exports.ScheduledTaskPayload = ScheduledTaskPayload;
3784
4375
  exports.SemanticInternalAttributes = SemanticInternalAttributes;
4376
+ exports.SerializedError = SerializedError;
3785
4377
  exports.SharedQueueToClientMessages = SharedQueueToClientMessages;
3786
4378
  exports.SlidingWindowRateLimit = SlidingWindowRateLimit;
3787
4379
  exports.SpanEvent = SpanEvent;
@@ -3805,6 +4397,7 @@ exports.TaskRunExecution = TaskRunExecution;
3805
4397
  exports.TaskRunExecutionAttempt = TaskRunExecutionAttempt;
3806
4398
  exports.TaskRunExecutionBatch = TaskRunExecutionBatch;
3807
4399
  exports.TaskRunExecutionEnvironment = TaskRunExecutionEnvironment;
4400
+ exports.TaskRunExecutionLazyAttemptPayload = TaskRunExecutionLazyAttemptPayload;
3808
4401
  exports.TaskRunExecutionOrganization = TaskRunExecutionOrganization;
3809
4402
  exports.TaskRunExecutionPayload = TaskRunExecutionPayload;
3810
4403
  exports.TaskRunExecutionProject = TaskRunExecutionProject;