@trigger.dev/core 3.0.0-beta.47 → 3.0.0-beta.49

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 (155) hide show
  1. package/dist/api-Pl9fxB8v.d.mts +13879 -0
  2. package/dist/api-sNoooMbT.d.ts +13879 -0
  3. package/dist/{catalog-NxVZnWZh.d.ts → catalog-U7_q4XsM.d.mts} +12 -34
  4. package/dist/{catalog-N-X0Te3W.d.mts → catalog-bSnBE19I.d.ts} +12 -34
  5. package/dist/{common-fIyU5pmz.d.mts → common-CLW82lkt.d.mts} +1 -1
  6. package/dist/{common-fIyU5pmz.d.ts → common-CLW82lkt.d.ts} +1 -1
  7. package/dist/{eventFilterMatches-2kHImluE.d.mts → eventFilter-66NaBAMi.d.mts} +1 -3
  8. package/dist/{eventFilterMatches-2kHImluE.d.ts → eventFilter-66NaBAMi.d.ts} +1 -3
  9. package/dist/eventFilterMatches.d.mts +6 -0
  10. package/dist/eventFilterMatches.d.ts +6 -0
  11. package/dist/eventFilterMatches.js +165 -0
  12. package/dist/eventFilterMatches.js.map +1 -0
  13. package/dist/eventFilterMatches.mjs +163 -0
  14. package/dist/eventFilterMatches.mjs.map +1 -0
  15. package/dist/index.d.mts +14 -16716
  16. package/dist/index.d.ts +14 -16716
  17. package/dist/index.js +1 -1
  18. package/dist/index.js.map +1 -1
  19. package/dist/index.mjs +1 -1
  20. package/dist/index.mjs.map +1 -1
  21. package/dist/json-DBPEJQRe.d.mts +16 -0
  22. package/dist/json-DBPEJQRe.d.ts +16 -0
  23. package/dist/{manager-X_HrWQ7_.d.mts → manager-KvCabW1a.d.mts} +1 -1
  24. package/dist/{manager-2ZQ3_twq.d.ts → manager-OBA35PzR.d.ts} +1 -1
  25. package/dist/replacements.d.mts +22 -0
  26. package/dist/replacements.d.ts +22 -0
  27. package/dist/replacements.js +33 -0
  28. package/dist/replacements.js.map +1 -0
  29. package/dist/replacements.mjs +28 -0
  30. package/dist/replacements.mjs.map +1 -0
  31. package/dist/requestFilter-HNZQEpQb.d.ts +180 -0
  32. package/dist/requestFilter-b5W2_1oP.d.mts +180 -0
  33. package/dist/requestFilterMatches.d.mts +13 -0
  34. package/dist/requestFilterMatches.d.ts +13 -0
  35. package/dist/requestFilterMatches.js +238 -0
  36. package/dist/requestFilterMatches.js.map +1 -0
  37. package/dist/requestFilterMatches.mjs +235 -0
  38. package/dist/requestFilterMatches.mjs.map +1 -0
  39. package/dist/retry.d.mts +10 -0
  40. package/dist/retry.d.ts +10 -0
  41. package/dist/retry.js +100 -0
  42. package/dist/retry.js.map +1 -0
  43. package/dist/retry.mjs +97 -0
  44. package/dist/retry.mjs.map +1 -0
  45. package/dist/schemas/index.d.mts +2611 -0
  46. package/dist/schemas/index.d.ts +2611 -0
  47. package/dist/schemas/index.js +1630 -0
  48. package/dist/schemas/index.js.map +1 -0
  49. package/dist/schemas/index.mjs +1463 -0
  50. package/dist/schemas/index.mjs.map +1 -0
  51. package/dist/{schemas-Zy7mGFgD.d.mts → schemas-WHkFakb3.d.mts} +4 -1
  52. package/dist/{schemas-Zy7mGFgD.d.ts → schemas-WHkFakb3.d.ts} +4 -1
  53. package/dist/taskLogger-CzADe4je.d.ts +33 -0
  54. package/dist/taskLogger-r_AFTX45.d.mts +33 -0
  55. package/dist/types.d.mts +11 -0
  56. package/dist/types.d.ts +11 -0
  57. package/dist/types.js +4 -0
  58. package/dist/types.js.map +1 -0
  59. package/dist/types.mjs +3 -0
  60. package/dist/types.mjs.map +1 -0
  61. package/dist/utils.d.mts +7 -0
  62. package/dist/utils.d.ts +7 -0
  63. package/dist/utils.js +33 -0
  64. package/dist/utils.js.map +1 -0
  65. package/dist/utils.mjs +30 -0
  66. package/dist/utils.mjs.map +1 -0
  67. package/dist/v3/dev/index.d.mts +2 -2
  68. package/dist/v3/dev/index.d.ts +2 -2
  69. package/dist/v3/errors.d.mts +39 -0
  70. package/dist/v3/errors.d.ts +39 -0
  71. package/dist/v3/errors.js +204 -0
  72. package/dist/v3/errors.js.map +1 -0
  73. package/dist/v3/errors.mjs +195 -0
  74. package/dist/v3/errors.mjs.map +1 -0
  75. package/dist/v3/index.d.mts +46 -211
  76. package/dist/v3/index.d.ts +46 -211
  77. package/dist/v3/index.js +3 -2
  78. package/dist/v3/index.js.map +1 -1
  79. package/dist/v3/index.mjs +3 -2
  80. package/dist/v3/index.mjs.map +1 -1
  81. package/dist/v3/logger-api.d.mts +24 -0
  82. package/dist/v3/logger-api.d.ts +24 -0
  83. package/dist/v3/logger-api.js +118 -0
  84. package/dist/v3/logger-api.js.map +1 -0
  85. package/dist/v3/logger-api.mjs +116 -0
  86. package/dist/v3/logger-api.mjs.map +1 -0
  87. package/dist/v3/otel/index.js +1 -1
  88. package/dist/v3/otel/index.js.map +1 -1
  89. package/dist/v3/otel/index.mjs +1 -1
  90. package/dist/v3/otel/index.mjs.map +1 -1
  91. package/dist/v3/prod/index.d.mts +3 -3
  92. package/dist/v3/prod/index.d.ts +3 -3
  93. package/dist/v3/schemas/index.d.mts +110 -110
  94. package/dist/v3/schemas/index.d.ts +110 -110
  95. package/dist/v3/schemas/index.js +2 -1
  96. package/dist/v3/schemas/index.js.map +1 -1
  97. package/dist/v3/schemas/index.mjs +2 -1
  98. package/dist/v3/schemas/index.mjs.map +1 -1
  99. package/dist/v3/semanticInternalAttributes.d.mts +56 -0
  100. package/dist/v3/semanticInternalAttributes.d.ts +56 -0
  101. package/dist/v3/semanticInternalAttributes.js +61 -0
  102. package/dist/v3/semanticInternalAttributes.js.map +1 -0
  103. package/dist/v3/semanticInternalAttributes.mjs +59 -0
  104. package/dist/v3/semanticInternalAttributes.mjs.map +1 -0
  105. package/dist/v3/utils/flattenAttributes.d.mts +8 -0
  106. package/dist/v3/utils/flattenAttributes.d.ts +8 -0
  107. package/dist/v3/utils/flattenAttributes.js +131 -0
  108. package/dist/v3/utils/flattenAttributes.js.map +1 -0
  109. package/dist/v3/utils/flattenAttributes.mjs +126 -0
  110. package/dist/v3/utils/flattenAttributes.mjs.map +1 -0
  111. package/dist/v3/utils/ioSerialization.d.mts +21 -0
  112. package/dist/v3/utils/ioSerialization.d.ts +21 -0
  113. package/dist/v3/utils/ioSerialization.js +2348 -0
  114. package/dist/v3/utils/ioSerialization.js.map +1 -0
  115. package/dist/v3/utils/ioSerialization.mjs +2339 -0
  116. package/dist/v3/utils/ioSerialization.mjs.map +1 -0
  117. package/dist/v3/utils/omit.d.mts +3 -0
  118. package/dist/v3/utils/omit.d.ts +3 -0
  119. package/dist/v3/utils/omit.js +20 -0
  120. package/dist/v3/utils/omit.js.map +1 -0
  121. package/dist/v3/utils/omit.mjs +18 -0
  122. package/dist/v3/utils/omit.mjs.map +1 -0
  123. package/dist/v3/utils/retries.d.mts +46 -0
  124. package/dist/v3/utils/retries.d.ts +46 -0
  125. package/dist/v3/utils/retries.js +118 -0
  126. package/dist/v3/utils/retries.js.map +1 -0
  127. package/dist/v3/utils/retries.mjs +113 -0
  128. package/dist/v3/utils/retries.mjs.map +1 -0
  129. package/dist/v3/workers/index.d.mts +7 -6
  130. package/dist/v3/workers/index.d.ts +7 -6
  131. package/dist/v3/workers/index.js +3 -2
  132. package/dist/v3/workers/index.js.map +1 -1
  133. package/dist/v3/workers/index.mjs +3 -2
  134. package/dist/v3/workers/index.mjs.map +1 -1
  135. package/dist/v3/zodIpc.js.map +1 -1
  136. package/dist/v3/zodIpc.mjs.map +1 -1
  137. package/dist/v3/zodMessageHandler.d.mts +16 -3
  138. package/dist/v3/zodMessageHandler.d.ts +16 -3
  139. package/dist/v3/zodMessageHandler.js +59 -13
  140. package/dist/v3/zodMessageHandler.js.map +1 -1
  141. package/dist/v3/zodMessageHandler.mjs +59 -13
  142. package/dist/v3/zodMessageHandler.mjs.map +1 -1
  143. package/dist/v3/zodNamespace.js.map +1 -1
  144. package/dist/v3/zodNamespace.mjs.map +1 -1
  145. package/dist/v3/zodfetch.d.mts +1 -1
  146. package/dist/v3/zodfetch.d.ts +1 -1
  147. package/dist/versions.d.mts +11 -0
  148. package/dist/versions.d.ts +11 -0
  149. package/dist/versions.js +31 -0
  150. package/dist/versions.js.map +1 -0
  151. package/dist/versions.mjs +27 -0
  152. package/dist/versions.mjs.map +1 -0
  153. package/package.json +137 -17
  154. package/dist/{messages-Sggr4tid.d.mts → messages-I-h-zZN9.d.mts} +32 -32
  155. package/dist/{messages-Sggr4tid.d.ts → messages-I-h-zZN9.d.ts} +32 -32
@@ -0,0 +1,39 @@
1
+ import { z } from 'zod';
2
+ import { b as TaskRunError } from '../common-CLW82lkt.js';
3
+
4
+ declare class AbortTaskRunError extends Error {
5
+ constructor(message: string);
6
+ }
7
+ declare function parseError(error: unknown): TaskRunError;
8
+ declare function createErrorTaskError(error: TaskRunError): any;
9
+ declare const SerializedError: z.ZodObject<{
10
+ message: z.ZodString;
11
+ name: z.ZodOptional<z.ZodString>;
12
+ stackTrace: z.ZodOptional<z.ZodString>;
13
+ }, "strip", z.ZodTypeAny, {
14
+ message: string;
15
+ name?: string | undefined;
16
+ stackTrace?: string | undefined;
17
+ }, {
18
+ message: string;
19
+ name?: string | undefined;
20
+ stackTrace?: string | undefined;
21
+ }>;
22
+ type SerializedError = z.infer<typeof SerializedError>;
23
+ declare function createJsonErrorObject(error: TaskRunError): SerializedError;
24
+ declare function sanitizeError(error: TaskRunError): TaskRunError;
25
+ declare function correctErrorStackTrace(stackTrace: string, projectDir?: string, options?: {
26
+ removeFirstLine?: boolean;
27
+ isDev?: boolean;
28
+ }): string;
29
+ declare function groupTaskMetadataIssuesByTask(tasks: any, issues: z.ZodIssue[]): Record<number, {
30
+ id: any;
31
+ exportName: string;
32
+ filePath: string;
33
+ issues: Array<{
34
+ message: string;
35
+ path?: string;
36
+ }>;
37
+ }>;
38
+
39
+ export { AbortTaskRunError, SerializedError, correctErrorStackTrace, createErrorTaskError, createJsonErrorObject, groupTaskMetadataIssuesByTask, parseError, sanitizeError };
@@ -0,0 +1,204 @@
1
+ 'use strict';
2
+
3
+ var zod = require('zod');
4
+
5
+ var __defProp = Object.defineProperty;
6
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
7
+ var _AbortTaskRunError = class _AbortTaskRunError extends Error {
8
+ constructor(message) {
9
+ super(message);
10
+ this.name = "AbortTaskRunError";
11
+ }
12
+ };
13
+ __name(_AbortTaskRunError, "AbortTaskRunError");
14
+ var AbortTaskRunError = _AbortTaskRunError;
15
+ function parseError(error) {
16
+ if (error instanceof Error) {
17
+ return {
18
+ type: "BUILT_IN_ERROR",
19
+ name: error.name,
20
+ message: error.message,
21
+ stackTrace: error.stack ?? ""
22
+ };
23
+ }
24
+ if (typeof error === "string") {
25
+ return {
26
+ type: "STRING_ERROR",
27
+ raw: error
28
+ };
29
+ }
30
+ try {
31
+ return {
32
+ type: "CUSTOM_ERROR",
33
+ raw: JSON.stringify(error)
34
+ };
35
+ } catch (e) {
36
+ return {
37
+ type: "CUSTOM_ERROR",
38
+ raw: String(error)
39
+ };
40
+ }
41
+ }
42
+ __name(parseError, "parseError");
43
+ function createErrorTaskError(error) {
44
+ switch (error.type) {
45
+ case "BUILT_IN_ERROR": {
46
+ const e = new Error(error.message);
47
+ e.name = error.name;
48
+ e.stack = error.stackTrace;
49
+ return e;
50
+ }
51
+ case "STRING_ERROR": {
52
+ return error.raw;
53
+ }
54
+ case "CUSTOM_ERROR": {
55
+ return JSON.parse(error.raw);
56
+ }
57
+ case "INTERNAL_ERROR": {
58
+ return new Error(`trigger.dev internal error (${error.code})`);
59
+ }
60
+ }
61
+ }
62
+ __name(createErrorTaskError, "createErrorTaskError");
63
+ var SerializedError = zod.z.object({
64
+ message: zod.z.string(),
65
+ name: zod.z.string().optional(),
66
+ stackTrace: zod.z.string().optional()
67
+ });
68
+ function createJsonErrorObject(error) {
69
+ switch (error.type) {
70
+ case "BUILT_IN_ERROR": {
71
+ return {
72
+ name: error.name,
73
+ message: error.message,
74
+ stackTrace: error.stackTrace
75
+ };
76
+ }
77
+ case "STRING_ERROR": {
78
+ return {
79
+ message: error.raw
80
+ };
81
+ }
82
+ case "CUSTOM_ERROR": {
83
+ return {
84
+ message: error.raw
85
+ };
86
+ }
87
+ case "INTERNAL_ERROR": {
88
+ return {
89
+ message: `trigger.dev internal error (${error.code})`
90
+ };
91
+ }
92
+ }
93
+ }
94
+ __name(createJsonErrorObject, "createJsonErrorObject");
95
+ function sanitizeError(error) {
96
+ switch (error.type) {
97
+ case "BUILT_IN_ERROR": {
98
+ return {
99
+ type: "BUILT_IN_ERROR",
100
+ message: error.message?.replace(/\0/g, ""),
101
+ name: error.name?.replace(/\0/g, ""),
102
+ stackTrace: error.stackTrace?.replace(/\0/g, "")
103
+ };
104
+ }
105
+ case "STRING_ERROR": {
106
+ return {
107
+ type: "STRING_ERROR",
108
+ raw: error.raw.replace(/\0/g, "")
109
+ };
110
+ }
111
+ case "CUSTOM_ERROR": {
112
+ return {
113
+ type: "CUSTOM_ERROR",
114
+ raw: error.raw.replace(/\0/g, "")
115
+ };
116
+ }
117
+ case "INTERNAL_ERROR": {
118
+ return {
119
+ type: "INTERNAL_ERROR",
120
+ code: error.code,
121
+ message: error.message?.replace(/\0/g, ""),
122
+ stackTrace: error.stackTrace?.replace(/\0/g, "")
123
+ };
124
+ }
125
+ }
126
+ }
127
+ __name(sanitizeError, "sanitizeError");
128
+ function correctErrorStackTrace(stackTrace, projectDir, options) {
129
+ const [errorLine, ...traceLines] = stackTrace.split("\n");
130
+ return [
131
+ options?.removeFirstLine ? void 0 : errorLine,
132
+ ...traceLines.map((line) => correctStackTraceLine(line, projectDir, options?.isDev))
133
+ ].filter(Boolean).join("\n");
134
+ }
135
+ __name(correctErrorStackTrace, "correctErrorStackTrace");
136
+ var LINES_TO_IGNORE = [
137
+ /ConsoleInterceptor/,
138
+ /TriggerTracer/,
139
+ /TaskExecutor/,
140
+ /EXECUTE_TASK_RUN/,
141
+ /@trigger.dev\/core/,
142
+ /packages\/core\/src\/v3/,
143
+ /safeJsonProcess/,
144
+ /__entryPoint.ts/,
145
+ /ZodIpc/,
146
+ /startActiveSpan/,
147
+ /processTicksAndRejections/
148
+ ];
149
+ function correctStackTraceLine(line, projectDir, isDev) {
150
+ if (LINES_TO_IGNORE.some((regex) => regex.test(line))) {
151
+ return;
152
+ }
153
+ if (isDev && projectDir && !line.includes(projectDir)) {
154
+ return;
155
+ }
156
+ return line.trim();
157
+ }
158
+ __name(correctStackTraceLine, "correctStackTraceLine");
159
+ function groupTaskMetadataIssuesByTask(tasks, issues) {
160
+ return issues.reduce((acc, issue) => {
161
+ if (issue.path.length === 0) {
162
+ return acc;
163
+ }
164
+ const taskIndex = issue.path[1];
165
+ if (typeof taskIndex !== "number") {
166
+ return acc;
167
+ }
168
+ const task = tasks[taskIndex];
169
+ if (!task) {
170
+ return acc;
171
+ }
172
+ const restOfPath = issue.path.slice(2);
173
+ const taskId = task.id;
174
+ const taskName = task.exportName;
175
+ const filePath = task.filePath;
176
+ const key = taskIndex;
177
+ const existing = acc[key] ?? {
178
+ id: taskId,
179
+ exportName: taskName,
180
+ filePath,
181
+ issues: []
182
+ };
183
+ existing.issues.push({
184
+ message: issue.message,
185
+ path: restOfPath.length === 0 ? void 0 : restOfPath.join(".")
186
+ });
187
+ return {
188
+ ...acc,
189
+ [key]: existing
190
+ };
191
+ }, {});
192
+ }
193
+ __name(groupTaskMetadataIssuesByTask, "groupTaskMetadataIssuesByTask");
194
+
195
+ exports.AbortTaskRunError = AbortTaskRunError;
196
+ exports.SerializedError = SerializedError;
197
+ exports.correctErrorStackTrace = correctErrorStackTrace;
198
+ exports.createErrorTaskError = createErrorTaskError;
199
+ exports.createJsonErrorObject = createJsonErrorObject;
200
+ exports.groupTaskMetadataIssuesByTask = groupTaskMetadataIssuesByTask;
201
+ exports.parseError = parseError;
202
+ exports.sanitizeError = sanitizeError;
203
+ //# sourceMappingURL=out.js.map
204
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/v3/errors.ts"],"names":["z","AbortTaskRunError","Error","constructor","message","name","parseError","error","type","stackTrace","stack","raw","JSON","stringify","e","String","createErrorTaskError","parse","code","SerializedError","object","string","optional","createJsonErrorObject","sanitizeError","replace","correctErrorStackTrace","projectDir","options","errorLine","traceLines","split","removeFirstLine","undefined","map","line","correctStackTraceLine","isDev","filter","Boolean","join","LINES_TO_IGNORE","some","regex","test","includes","trim","groupTaskMetadataIssuesByTask","tasks","issues","reduce","acc","issue","path","length","taskIndex","task","restOfPath","slice","taskId","id","taskName","exportName","filePath","key","existing","push"],"mappings":";;;;AAAA,SAASA,SAAS;AAGX,IAAMC,qBAAN,MAAMA,2BAA0BC,MAAAA;EACrCC,YAAYC,SAAiB;AAC3B,UAAMA,OAAAA;AACN,SAAKC,OAAO;EACd;AACF;AALuCH;AAAhC,IAAMD,oBAAN;AAOA,SAASK,WAAWC,OAA8B;AACvD,MAAIA,iBAAiBL,OAAO;AAC1B,WAAO;MACLM,MAAM;MACNH,MAAME,MAAMF;MACZD,SAASG,MAAMH;MACfK,YAAYF,MAAMG,SAAS;IAC7B;EACF;AAEA,MAAI,OAAOH,UAAU,UAAU;AAC7B,WAAO;MACLC,MAAM;MACNG,KAAKJ;IACP;EACF;AAEA,MAAI;AACF,WAAO;MACLC,MAAM;MACNG,KAAKC,KAAKC,UAAUN,KAAAA;IACtB;EACF,SAASO,GAAG;AACV,WAAO;MACLN,MAAM;MACNG,KAAKI,OAAOR,KAAAA;IACd;EACF;AACF;AA5BgBD;AA8BT,SAASU,qBAAqBT,OAA0B;AAC7D,UAAQA,MAAMC,MAAI;IAChB,KAAK,kBAAkB;AACrB,YAAMM,IAAI,IAAIZ,MAAMK,MAAMH,OAAO;AAEjCU,QAAET,OAAOE,MAAMF;AACfS,QAAEJ,QAAQH,MAAME;AAEhB,aAAOK;IACT;IACA,KAAK,gBAAgB;AACnB,aAAOP,MAAMI;IACf;IACA,KAAK,gBAAgB;AACnB,aAAOC,KAAKK,MAAMV,MAAMI,GAAG;IAC7B;IACA,KAAK,kBAAkB;AACrB,aAAO,IAAIT,MAAM,+BAA+BK,MAAMW,IAAI,GAAG;IAC/D;EACF;AACF;AApBgBF;AAsBT,IAAMG,kBAAkBnB,EAAEoB,OAAO;EACtChB,SAASJ,EAAEqB,OAAM;EACjBhB,MAAML,EAAEqB,OAAM,EAAGC,SAAQ;EACzBb,YAAYT,EAAEqB,OAAM,EAAGC,SAAQ;AACjC,CAAA;AAIO,SAASC,sBAAsBhB,OAAsC;AAC1E,UAAQA,MAAMC,MAAI;IAChB,KAAK,kBAAkB;AACrB,aAAO;QACLH,MAAME,MAAMF;QACZD,SAASG,MAAMH;QACfK,YAAYF,MAAME;MACpB;IACF;IACA,KAAK,gBAAgB;AACnB,aAAO;QACLL,SAASG,MAAMI;MACjB;IACF;IACA,KAAK,gBAAgB;AACnB,aAAO;QACLP,SAASG,MAAMI;MACjB;IACF;IACA,KAAK,kBAAkB;AACrB,aAAO;QACLP,SAAS,+BAA+BG,MAAMW,IAAI;MACpD;IACF;EACF;AACF;AAzBgBK;AA4BT,SAASC,cAAcjB,OAAmC;AAC/D,UAAQA,MAAMC,MAAI;IAChB,KAAK,kBAAkB;AACrB,aAAO;QACLA,MAAM;QACNJ,SAASG,MAAMH,SAASqB,QAAQ,OAAO,EAAA;QACvCpB,MAAME,MAAMF,MAAMoB,QAAQ,OAAO,EAAA;QACjChB,YAAYF,MAAME,YAAYgB,QAAQ,OAAO,EAAA;MAC/C;IACF;IACA,KAAK,gBAAgB;AACnB,aAAO;QACLjB,MAAM;QACNG,KAAKJ,MAAMI,IAAIc,QAAQ,OAAO,EAAA;MAChC;IACF;IACA,KAAK,gBAAgB;AACnB,aAAO;QACLjB,MAAM;QACNG,KAAKJ,MAAMI,IAAIc,QAAQ,OAAO,EAAA;MAChC;IACF;IACA,KAAK,kBAAkB;AACrB,aAAO;QACLjB,MAAM;QACNU,MAAMX,MAAMW;QACZd,SAASG,MAAMH,SAASqB,QAAQ,OAAO,EAAA;QACvChB,YAAYF,MAAME,YAAYgB,QAAQ,OAAO,EAAA;MAC/C;IACF;EACF;AACF;AA/BgBD;AAiCT,SAASE,uBACdjB,YACAkB,YACAC,SACA;AACA,QAAM,CAACC,WAAW,GAAGC,UAAAA,IAAcrB,WAAWsB,MAAM,IAAA;AAEpD,SAAO;IACLH,SAASI,kBAAkBC,SAAYJ;OACpCC,WAAWI,IAAI,CAACC,SAASC,sBAAsBD,MAAMR,YAAYC,SAASS,KAAAA,CAAAA;IAE5EC,OAAOC,OAAAA,EACPC,KAAK,IAAA;AACV;AAbgBd;AAehB,IAAMe,kBAAkB;EACtB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF,SAASL,sBAAsBD,MAAcR,YAAqBU,OAAiB;AACjF,MAAII,gBAAgBC,KAAK,CAACC,UAAUA,MAAMC,KAAKT,IAAAA,CAAAA,GAAQ;AACrD;EACF;AAGA,MAAIE,SAASV,cAAc,CAACQ,KAAKU,SAASlB,UAAAA,GAAa;AACrD;EACF;AAEA,SAAOQ,KAAKW,KAAI;AAClB;AAXSV;AAaF,SAASW,8BAA8BC,OAAYC,QAAsB;AAC9E,SAAOA,OAAOC,OACZ,CAACC,KAAKC,UAAU;AACd,QAAIA,MAAMC,KAAKC,WAAW,GAAG;AAC3B,aAAOH;IACT;AAEA,UAAMI,YAAYH,MAAMC,KAAK,CAAA;AAE7B,QAAI,OAAOE,cAAc,UAAU;AACjC,aAAOJ;IACT;AAEA,UAAMK,OAAOR,MAAMO,SAAAA;AAEnB,QAAI,CAACC,MAAM;AACT,aAAOL;IACT;AAEA,UAAMM,aAAaL,MAAMC,KAAKK,MAAM,CAAA;AAEpC,UAAMC,SAASH,KAAKI;AACpB,UAAMC,WAAWL,KAAKM;AACtB,UAAMC,WAAWP,KAAKO;AAEtB,UAAMC,MAAMT;AAEZ,UAAMU,WAAWd,IAAIa,GAAAA,KAAQ;MAC3BJ,IAAID;MACJG,YAAYD;MACZE;MACAd,QAAQ,CAAA;IACV;AAEAgB,aAAShB,OAAOiB,KAAK;MACnB9D,SAASgD,MAAMhD;MACfiD,MAAMI,WAAWH,WAAW,IAAIrB,SAAYwB,WAAWjB,KAAK,GAAA;IAC9D,CAAA;AAEA,WAAO;MACL,GAAGW;MACH,CAACa,GAAAA,GAAMC;IACT;EACF,GACA,CAAC,CAAA;AAUL;AAtDgBlB","sourcesContent":["import { z } from \"zod\";\nimport { TaskRunError } from \"./schemas/common\";\n\nexport class AbortTaskRunError extends Error {\n constructor(message: string) {\n super(message);\n this.name = \"AbortTaskRunError\";\n }\n}\n\nexport function parseError(error: unknown): TaskRunError {\n if (error instanceof Error) {\n return {\n type: \"BUILT_IN_ERROR\",\n name: error.name,\n message: error.message,\n stackTrace: error.stack ?? \"\",\n };\n }\n\n if (typeof error === \"string\") {\n return {\n type: \"STRING_ERROR\",\n raw: error,\n };\n }\n\n try {\n return {\n type: \"CUSTOM_ERROR\",\n raw: JSON.stringify(error),\n };\n } catch (e) {\n return {\n type: \"CUSTOM_ERROR\",\n raw: String(error),\n };\n }\n}\n\nexport function createErrorTaskError(error: TaskRunError): any {\n switch (error.type) {\n case \"BUILT_IN_ERROR\": {\n const e = new Error(error.message);\n\n e.name = error.name;\n e.stack = error.stackTrace;\n\n return e;\n }\n case \"STRING_ERROR\": {\n return error.raw;\n }\n case \"CUSTOM_ERROR\": {\n return JSON.parse(error.raw);\n }\n case \"INTERNAL_ERROR\": {\n return new Error(`trigger.dev internal error (${error.code})`);\n }\n }\n}\n\nexport const SerializedError = z.object({\n message: z.string(),\n name: z.string().optional(),\n stackTrace: z.string().optional(),\n});\n\nexport type SerializedError = z.infer<typeof SerializedError>;\n\nexport function createJsonErrorObject(error: TaskRunError): SerializedError {\n switch (error.type) {\n case \"BUILT_IN_ERROR\": {\n return {\n name: error.name,\n message: error.message,\n stackTrace: error.stackTrace,\n };\n }\n case \"STRING_ERROR\": {\n return {\n message: error.raw,\n };\n }\n case \"CUSTOM_ERROR\": {\n return {\n message: error.raw,\n };\n }\n case \"INTERNAL_ERROR\": {\n return {\n message: `trigger.dev internal error (${error.code})`,\n };\n }\n }\n}\n\n// Removes any null characters from the error message\nexport function sanitizeError(error: TaskRunError): TaskRunError {\n switch (error.type) {\n case \"BUILT_IN_ERROR\": {\n return {\n type: \"BUILT_IN_ERROR\",\n message: error.message?.replace(/\\0/g, \"\"),\n name: error.name?.replace(/\\0/g, \"\"),\n stackTrace: error.stackTrace?.replace(/\\0/g, \"\"),\n };\n }\n case \"STRING_ERROR\": {\n return {\n type: \"STRING_ERROR\",\n raw: error.raw.replace(/\\0/g, \"\"),\n };\n }\n case \"CUSTOM_ERROR\": {\n return {\n type: \"CUSTOM_ERROR\",\n raw: error.raw.replace(/\\0/g, \"\"),\n };\n }\n case \"INTERNAL_ERROR\": {\n return {\n type: \"INTERNAL_ERROR\",\n code: error.code,\n message: error.message?.replace(/\\0/g, \"\"),\n stackTrace: error.stackTrace?.replace(/\\0/g, \"\"),\n };\n }\n }\n}\n\nexport function correctErrorStackTrace(\n stackTrace: string,\n projectDir?: string,\n options?: { removeFirstLine?: boolean; isDev?: boolean }\n) {\n const [errorLine, ...traceLines] = stackTrace.split(\"\\n\");\n\n return [\n options?.removeFirstLine ? undefined : errorLine,\n ...traceLines.map((line) => correctStackTraceLine(line, projectDir, options?.isDev)),\n ]\n .filter(Boolean)\n .join(\"\\n\");\n}\n\nconst LINES_TO_IGNORE = [\n /ConsoleInterceptor/,\n /TriggerTracer/,\n /TaskExecutor/,\n /EXECUTE_TASK_RUN/,\n /@trigger.dev\\/core/,\n /packages\\/core\\/src\\/v3/,\n /safeJsonProcess/,\n /__entryPoint.ts/,\n /ZodIpc/,\n /startActiveSpan/,\n /processTicksAndRejections/,\n];\n\nfunction correctStackTraceLine(line: string, projectDir?: string, isDev?: boolean) {\n if (LINES_TO_IGNORE.some((regex) => regex.test(line))) {\n return;\n }\n\n // Check to see if the path is inside the project directory\n if (isDev && projectDir && !line.includes(projectDir)) {\n return;\n }\n\n return line.trim();\n}\n\nexport function groupTaskMetadataIssuesByTask(tasks: any, issues: z.ZodIssue[]) {\n return issues.reduce(\n (acc, issue) => {\n if (issue.path.length === 0) {\n return acc;\n }\n\n const taskIndex = issue.path[1];\n\n if (typeof taskIndex !== \"number\") {\n return acc;\n }\n\n const task = tasks[taskIndex];\n\n if (!task) {\n return acc;\n }\n\n const restOfPath = issue.path.slice(2);\n\n const taskId = task.id;\n const taskName = task.exportName;\n const filePath = task.filePath;\n\n const key = taskIndex;\n\n const existing = acc[key] ?? {\n id: taskId,\n exportName: taskName,\n filePath,\n issues: [] as Array<{ message: string; path?: string }>,\n };\n\n existing.issues.push({\n message: issue.message,\n path: restOfPath.length === 0 ? undefined : restOfPath.join(\".\"),\n });\n\n return {\n ...acc,\n [key]: existing,\n };\n },\n {} as Record<\n number,\n {\n id: any;\n exportName: string;\n filePath: string;\n issues: Array<{ message: string; path?: string }>;\n }\n >\n );\n}\n"]}
@@ -0,0 +1,195 @@
1
+ import { z } from 'zod';
2
+
3
+ var __defProp = Object.defineProperty;
4
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
5
+ var _AbortTaskRunError = class _AbortTaskRunError extends Error {
6
+ constructor(message) {
7
+ super(message);
8
+ this.name = "AbortTaskRunError";
9
+ }
10
+ };
11
+ __name(_AbortTaskRunError, "AbortTaskRunError");
12
+ var AbortTaskRunError = _AbortTaskRunError;
13
+ function parseError(error) {
14
+ if (error instanceof Error) {
15
+ return {
16
+ type: "BUILT_IN_ERROR",
17
+ name: error.name,
18
+ message: error.message,
19
+ stackTrace: error.stack ?? ""
20
+ };
21
+ }
22
+ if (typeof error === "string") {
23
+ return {
24
+ type: "STRING_ERROR",
25
+ raw: error
26
+ };
27
+ }
28
+ try {
29
+ return {
30
+ type: "CUSTOM_ERROR",
31
+ raw: JSON.stringify(error)
32
+ };
33
+ } catch (e) {
34
+ return {
35
+ type: "CUSTOM_ERROR",
36
+ raw: String(error)
37
+ };
38
+ }
39
+ }
40
+ __name(parseError, "parseError");
41
+ function createErrorTaskError(error) {
42
+ switch (error.type) {
43
+ case "BUILT_IN_ERROR": {
44
+ const e = new Error(error.message);
45
+ e.name = error.name;
46
+ e.stack = error.stackTrace;
47
+ return e;
48
+ }
49
+ case "STRING_ERROR": {
50
+ return error.raw;
51
+ }
52
+ case "CUSTOM_ERROR": {
53
+ return JSON.parse(error.raw);
54
+ }
55
+ case "INTERNAL_ERROR": {
56
+ return new Error(`trigger.dev internal error (${error.code})`);
57
+ }
58
+ }
59
+ }
60
+ __name(createErrorTaskError, "createErrorTaskError");
61
+ var SerializedError = z.object({
62
+ message: z.string(),
63
+ name: z.string().optional(),
64
+ stackTrace: z.string().optional()
65
+ });
66
+ function createJsonErrorObject(error) {
67
+ switch (error.type) {
68
+ case "BUILT_IN_ERROR": {
69
+ return {
70
+ name: error.name,
71
+ message: error.message,
72
+ stackTrace: error.stackTrace
73
+ };
74
+ }
75
+ case "STRING_ERROR": {
76
+ return {
77
+ message: error.raw
78
+ };
79
+ }
80
+ case "CUSTOM_ERROR": {
81
+ return {
82
+ message: error.raw
83
+ };
84
+ }
85
+ case "INTERNAL_ERROR": {
86
+ return {
87
+ message: `trigger.dev internal error (${error.code})`
88
+ };
89
+ }
90
+ }
91
+ }
92
+ __name(createJsonErrorObject, "createJsonErrorObject");
93
+ function sanitizeError(error) {
94
+ switch (error.type) {
95
+ case "BUILT_IN_ERROR": {
96
+ return {
97
+ type: "BUILT_IN_ERROR",
98
+ message: error.message?.replace(/\0/g, ""),
99
+ name: error.name?.replace(/\0/g, ""),
100
+ stackTrace: error.stackTrace?.replace(/\0/g, "")
101
+ };
102
+ }
103
+ case "STRING_ERROR": {
104
+ return {
105
+ type: "STRING_ERROR",
106
+ raw: error.raw.replace(/\0/g, "")
107
+ };
108
+ }
109
+ case "CUSTOM_ERROR": {
110
+ return {
111
+ type: "CUSTOM_ERROR",
112
+ raw: error.raw.replace(/\0/g, "")
113
+ };
114
+ }
115
+ case "INTERNAL_ERROR": {
116
+ return {
117
+ type: "INTERNAL_ERROR",
118
+ code: error.code,
119
+ message: error.message?.replace(/\0/g, ""),
120
+ stackTrace: error.stackTrace?.replace(/\0/g, "")
121
+ };
122
+ }
123
+ }
124
+ }
125
+ __name(sanitizeError, "sanitizeError");
126
+ function correctErrorStackTrace(stackTrace, projectDir, options) {
127
+ const [errorLine, ...traceLines] = stackTrace.split("\n");
128
+ return [
129
+ options?.removeFirstLine ? void 0 : errorLine,
130
+ ...traceLines.map((line) => correctStackTraceLine(line, projectDir, options?.isDev))
131
+ ].filter(Boolean).join("\n");
132
+ }
133
+ __name(correctErrorStackTrace, "correctErrorStackTrace");
134
+ var LINES_TO_IGNORE = [
135
+ /ConsoleInterceptor/,
136
+ /TriggerTracer/,
137
+ /TaskExecutor/,
138
+ /EXECUTE_TASK_RUN/,
139
+ /@trigger.dev\/core/,
140
+ /packages\/core\/src\/v3/,
141
+ /safeJsonProcess/,
142
+ /__entryPoint.ts/,
143
+ /ZodIpc/,
144
+ /startActiveSpan/,
145
+ /processTicksAndRejections/
146
+ ];
147
+ function correctStackTraceLine(line, projectDir, isDev) {
148
+ if (LINES_TO_IGNORE.some((regex) => regex.test(line))) {
149
+ return;
150
+ }
151
+ if (isDev && projectDir && !line.includes(projectDir)) {
152
+ return;
153
+ }
154
+ return line.trim();
155
+ }
156
+ __name(correctStackTraceLine, "correctStackTraceLine");
157
+ function groupTaskMetadataIssuesByTask(tasks, issues) {
158
+ return issues.reduce((acc, issue) => {
159
+ if (issue.path.length === 0) {
160
+ return acc;
161
+ }
162
+ const taskIndex = issue.path[1];
163
+ if (typeof taskIndex !== "number") {
164
+ return acc;
165
+ }
166
+ const task = tasks[taskIndex];
167
+ if (!task) {
168
+ return acc;
169
+ }
170
+ const restOfPath = issue.path.slice(2);
171
+ const taskId = task.id;
172
+ const taskName = task.exportName;
173
+ const filePath = task.filePath;
174
+ const key = taskIndex;
175
+ const existing = acc[key] ?? {
176
+ id: taskId,
177
+ exportName: taskName,
178
+ filePath,
179
+ issues: []
180
+ };
181
+ existing.issues.push({
182
+ message: issue.message,
183
+ path: restOfPath.length === 0 ? void 0 : restOfPath.join(".")
184
+ });
185
+ return {
186
+ ...acc,
187
+ [key]: existing
188
+ };
189
+ }, {});
190
+ }
191
+ __name(groupTaskMetadataIssuesByTask, "groupTaskMetadataIssuesByTask");
192
+
193
+ export { AbortTaskRunError, SerializedError, correctErrorStackTrace, createErrorTaskError, createJsonErrorObject, groupTaskMetadataIssuesByTask, parseError, sanitizeError };
194
+ //# sourceMappingURL=out.js.map
195
+ //# sourceMappingURL=errors.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/v3/errors.ts"],"names":["z","AbortTaskRunError","Error","constructor","message","name","parseError","error","type","stackTrace","stack","raw","JSON","stringify","e","String","createErrorTaskError","parse","code","SerializedError","object","string","optional","createJsonErrorObject","sanitizeError","replace","correctErrorStackTrace","projectDir","options","errorLine","traceLines","split","removeFirstLine","undefined","map","line","correctStackTraceLine","isDev","filter","Boolean","join","LINES_TO_IGNORE","some","regex","test","includes","trim","groupTaskMetadataIssuesByTask","tasks","issues","reduce","acc","issue","path","length","taskIndex","task","restOfPath","slice","taskId","id","taskName","exportName","filePath","key","existing","push"],"mappings":"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","sourcesContent":["import { z } from \"zod\";\nimport { TaskRunError } from \"./schemas/common\";\n\nexport class AbortTaskRunError extends Error {\n constructor(message: string) {\n super(message);\n this.name = \"AbortTaskRunError\";\n }\n}\n\nexport function parseError(error: unknown): TaskRunError {\n if (error instanceof Error) {\n return {\n type: \"BUILT_IN_ERROR\",\n name: error.name,\n message: error.message,\n stackTrace: error.stack ?? \"\",\n };\n }\n\n if (typeof error === \"string\") {\n return {\n type: \"STRING_ERROR\",\n raw: error,\n };\n }\n\n try {\n return {\n type: \"CUSTOM_ERROR\",\n raw: JSON.stringify(error),\n };\n } catch (e) {\n return {\n type: \"CUSTOM_ERROR\",\n raw: String(error),\n };\n }\n}\n\nexport function createErrorTaskError(error: TaskRunError): any {\n switch (error.type) {\n case \"BUILT_IN_ERROR\": {\n const e = new Error(error.message);\n\n e.name = error.name;\n e.stack = error.stackTrace;\n\n return e;\n }\n case \"STRING_ERROR\": {\n return error.raw;\n }\n case \"CUSTOM_ERROR\": {\n return JSON.parse(error.raw);\n }\n case \"INTERNAL_ERROR\": {\n return new Error(`trigger.dev internal error (${error.code})`);\n }\n }\n}\n\nexport const SerializedError = z.object({\n message: z.string(),\n name: z.string().optional(),\n stackTrace: z.string().optional(),\n});\n\nexport type SerializedError = z.infer<typeof SerializedError>;\n\nexport function createJsonErrorObject(error: TaskRunError): SerializedError {\n switch (error.type) {\n case \"BUILT_IN_ERROR\": {\n return {\n name: error.name,\n message: error.message,\n stackTrace: error.stackTrace,\n };\n }\n case \"STRING_ERROR\": {\n return {\n message: error.raw,\n };\n }\n case \"CUSTOM_ERROR\": {\n return {\n message: error.raw,\n };\n }\n case \"INTERNAL_ERROR\": {\n return {\n message: `trigger.dev internal error (${error.code})`,\n };\n }\n }\n}\n\n// Removes any null characters from the error message\nexport function sanitizeError(error: TaskRunError): TaskRunError {\n switch (error.type) {\n case \"BUILT_IN_ERROR\": {\n return {\n type: \"BUILT_IN_ERROR\",\n message: error.message?.replace(/\\0/g, \"\"),\n name: error.name?.replace(/\\0/g, \"\"),\n stackTrace: error.stackTrace?.replace(/\\0/g, \"\"),\n };\n }\n case \"STRING_ERROR\": {\n return {\n type: \"STRING_ERROR\",\n raw: error.raw.replace(/\\0/g, \"\"),\n };\n }\n case \"CUSTOM_ERROR\": {\n return {\n type: \"CUSTOM_ERROR\",\n raw: error.raw.replace(/\\0/g, \"\"),\n };\n }\n case \"INTERNAL_ERROR\": {\n return {\n type: \"INTERNAL_ERROR\",\n code: error.code,\n message: error.message?.replace(/\\0/g, \"\"),\n stackTrace: error.stackTrace?.replace(/\\0/g, \"\"),\n };\n }\n }\n}\n\nexport function correctErrorStackTrace(\n stackTrace: string,\n projectDir?: string,\n options?: { removeFirstLine?: boolean; isDev?: boolean }\n) {\n const [errorLine, ...traceLines] = stackTrace.split(\"\\n\");\n\n return [\n options?.removeFirstLine ? undefined : errorLine,\n ...traceLines.map((line) => correctStackTraceLine(line, projectDir, options?.isDev)),\n ]\n .filter(Boolean)\n .join(\"\\n\");\n}\n\nconst LINES_TO_IGNORE = [\n /ConsoleInterceptor/,\n /TriggerTracer/,\n /TaskExecutor/,\n /EXECUTE_TASK_RUN/,\n /@trigger.dev\\/core/,\n /packages\\/core\\/src\\/v3/,\n /safeJsonProcess/,\n /__entryPoint.ts/,\n /ZodIpc/,\n /startActiveSpan/,\n /processTicksAndRejections/,\n];\n\nfunction correctStackTraceLine(line: string, projectDir?: string, isDev?: boolean) {\n if (LINES_TO_IGNORE.some((regex) => regex.test(line))) {\n return;\n }\n\n // Check to see if the path is inside the project directory\n if (isDev && projectDir && !line.includes(projectDir)) {\n return;\n }\n\n return line.trim();\n}\n\nexport function groupTaskMetadataIssuesByTask(tasks: any, issues: z.ZodIssue[]) {\n return issues.reduce(\n (acc, issue) => {\n if (issue.path.length === 0) {\n return acc;\n }\n\n const taskIndex = issue.path[1];\n\n if (typeof taskIndex !== \"number\") {\n return acc;\n }\n\n const task = tasks[taskIndex];\n\n if (!task) {\n return acc;\n }\n\n const restOfPath = issue.path.slice(2);\n\n const taskId = task.id;\n const taskName = task.exportName;\n const filePath = task.filePath;\n\n const key = taskIndex;\n\n const existing = acc[key] ?? {\n id: taskId,\n exportName: taskName,\n filePath,\n issues: [] as Array<{ message: string; path?: string }>,\n };\n\n existing.issues.push({\n message: issue.message,\n path: restOfPath.length === 0 ? undefined : restOfPath.join(\".\"),\n });\n\n return {\n ...acc,\n [key]: existing,\n };\n },\n {} as Record<\n number,\n {\n id: any;\n exportName: string;\n filePath: string;\n issues: Array<{ message: string; path?: string }>;\n }\n >\n );\n}\n"]}