@trigger.dev/core 3.0.0-beta.5 → 3.0.0-beta.51

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 (201) hide show
  1. package/dist/api-Pl9fxB8v.d.mts +13879 -0
  2. package/dist/api-sNoooMbT.d.ts +13879 -0
  3. package/dist/catalog-H7yFiZ60.d.mts +202 -0
  4. package/dist/catalog-h79CG5Wy.d.ts +202 -0
  5. package/dist/common-CLW82lkt.d.mts +1423 -0
  6. package/dist/common-CLW82lkt.d.ts +1423 -0
  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 -16657
  16. package/dist/index.d.ts +14 -16657
  17. package/dist/index.js +8 -1
  18. package/dist/index.js.map +1 -1
  19. package/dist/index.mjs +8 -2
  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-KvCabW1a.d.mts +18 -0
  24. package/dist/manager-OBA35PzR.d.ts +18 -0
  25. package/dist/messages-JvHJ83wv.d.mts +19428 -0
  26. package/dist/messages-JvHJ83wv.d.ts +19428 -0
  27. package/dist/replacements.d.mts +22 -0
  28. package/dist/replacements.d.ts +22 -0
  29. package/dist/replacements.js +33 -0
  30. package/dist/replacements.js.map +1 -0
  31. package/dist/replacements.mjs +28 -0
  32. package/dist/replacements.mjs.map +1 -0
  33. package/dist/requestFilter-HNZQEpQb.d.ts +180 -0
  34. package/dist/requestFilter-b5W2_1oP.d.mts +180 -0
  35. package/dist/requestFilterMatches.d.mts +13 -0
  36. package/dist/requestFilterMatches.d.ts +13 -0
  37. package/dist/requestFilterMatches.js +238 -0
  38. package/dist/requestFilterMatches.js.map +1 -0
  39. package/dist/requestFilterMatches.mjs +235 -0
  40. package/dist/requestFilterMatches.mjs.map +1 -0
  41. package/dist/retry.d.mts +10 -0
  42. package/dist/retry.d.ts +10 -0
  43. package/dist/retry.js +100 -0
  44. package/dist/retry.js.map +1 -0
  45. package/dist/retry.mjs +97 -0
  46. package/dist/retry.mjs.map +1 -0
  47. package/dist/schemas/index.d.mts +2611 -0
  48. package/dist/schemas/index.d.ts +2611 -0
  49. package/dist/schemas/index.js +1630 -0
  50. package/dist/schemas/index.js.map +1 -0
  51. package/dist/schemas/index.mjs +1463 -0
  52. package/dist/schemas/index.mjs.map +1 -0
  53. package/dist/schemas-C9ssfehv.d.mts +2568 -0
  54. package/dist/schemas-C9ssfehv.d.ts +2568 -0
  55. package/dist/taskLogger-CzADe4je.d.ts +33 -0
  56. package/dist/taskLogger-r_AFTX45.d.mts +33 -0
  57. package/dist/tracer-N0p2Fuuv.d.mts +23 -0
  58. package/dist/tracer-N0p2Fuuv.d.ts +23 -0
  59. package/dist/types.d.mts +11 -0
  60. package/dist/types.d.ts +11 -0
  61. package/dist/types.js +4 -0
  62. package/dist/types.js.map +1 -0
  63. package/dist/types.mjs +3 -0
  64. package/dist/types.mjs.map +1 -0
  65. package/dist/utils.d.mts +7 -0
  66. package/dist/utils.d.ts +7 -0
  67. package/dist/utils.js +33 -0
  68. package/dist/utils.js.map +1 -0
  69. package/dist/utils.mjs +30 -0
  70. package/dist/utils.mjs.map +1 -0
  71. package/dist/v3/dev/index.d.mts +29 -0
  72. package/dist/v3/dev/index.d.ts +29 -0
  73. package/dist/v3/dev/index.js +93 -0
  74. package/dist/v3/dev/index.js.map +1 -0
  75. package/dist/v3/dev/index.mjs +91 -0
  76. package/dist/v3/dev/index.mjs.map +1 -0
  77. package/dist/v3/errors.d.mts +39 -0
  78. package/dist/v3/errors.d.ts +39 -0
  79. package/dist/v3/errors.js +204 -0
  80. package/dist/v3/errors.js.map +1 -0
  81. package/dist/v3/errors.mjs +195 -0
  82. package/dist/v3/errors.mjs.map +1 -0
  83. package/dist/v3/index.d.mts +445 -20508
  84. package/dist/v3/index.d.ts +445 -20508
  85. package/dist/v3/index.js +2843 -2884
  86. package/dist/v3/index.js.map +1 -1
  87. package/dist/v3/index.mjs +2785 -2856
  88. package/dist/v3/index.mjs.map +1 -1
  89. package/dist/v3/logger-api.d.mts +24 -0
  90. package/dist/v3/logger-api.d.ts +24 -0
  91. package/dist/v3/logger-api.js +118 -0
  92. package/dist/v3/logger-api.js.map +1 -0
  93. package/dist/v3/logger-api.mjs +116 -0
  94. package/dist/v3/logger-api.mjs.map +1 -0
  95. package/dist/v3/otel/index.js +119 -53
  96. package/dist/v3/otel/index.js.map +1 -1
  97. package/dist/v3/otel/index.mjs +119 -53
  98. package/dist/v3/otel/index.mjs.map +1 -1
  99. package/dist/v3/prod/index.d.mts +46 -0
  100. package/dist/v3/prod/index.d.ts +46 -0
  101. package/dist/v3/prod/index.js +180 -0
  102. package/dist/v3/prod/index.js.map +1 -0
  103. package/dist/v3/prod/index.mjs +178 -0
  104. package/dist/v3/prod/index.mjs.map +1 -0
  105. package/dist/v3/schemas/index.d.mts +4807 -0
  106. package/dist/v3/schemas/index.d.ts +4807 -0
  107. package/dist/v3/schemas/index.js +2054 -0
  108. package/dist/v3/schemas/index.js.map +1 -0
  109. package/dist/v3/schemas/index.mjs +1913 -0
  110. package/dist/v3/schemas/index.mjs.map +1 -0
  111. package/dist/v3/semanticInternalAttributes.d.mts +56 -0
  112. package/dist/v3/semanticInternalAttributes.d.ts +56 -0
  113. package/dist/v3/semanticInternalAttributes.js +61 -0
  114. package/dist/v3/semanticInternalAttributes.js.map +1 -0
  115. package/dist/v3/semanticInternalAttributes.mjs +59 -0
  116. package/dist/v3/semanticInternalAttributes.mjs.map +1 -0
  117. package/dist/v3/utils/durations.d.mts +15 -0
  118. package/dist/v3/utils/durations.d.ts +15 -0
  119. package/dist/v3/utils/durations.js +93 -0
  120. package/dist/v3/utils/durations.js.map +1 -0
  121. package/dist/v3/utils/durations.mjs +82 -0
  122. package/dist/v3/utils/durations.mjs.map +1 -0
  123. package/dist/v3/utils/flattenAttributes.d.mts +8 -0
  124. package/dist/v3/utils/flattenAttributes.d.ts +8 -0
  125. package/dist/v3/utils/flattenAttributes.js +131 -0
  126. package/dist/v3/utils/flattenAttributes.js.map +1 -0
  127. package/dist/v3/utils/flattenAttributes.mjs +126 -0
  128. package/dist/v3/utils/flattenAttributes.mjs.map +1 -0
  129. package/dist/v3/utils/ioSerialization.d.mts +21 -0
  130. package/dist/v3/utils/ioSerialization.d.ts +21 -0
  131. package/dist/v3/utils/ioSerialization.js +2392 -0
  132. package/dist/v3/utils/ioSerialization.js.map +1 -0
  133. package/dist/v3/utils/ioSerialization.mjs +2383 -0
  134. package/dist/v3/utils/ioSerialization.mjs.map +1 -0
  135. package/dist/v3/utils/omit.d.mts +3 -0
  136. package/dist/v3/utils/omit.d.ts +3 -0
  137. package/dist/v3/utils/omit.js +20 -0
  138. package/dist/v3/utils/omit.js.map +1 -0
  139. package/dist/v3/utils/omit.mjs +18 -0
  140. package/dist/v3/utils/omit.mjs.map +1 -0
  141. package/dist/v3/utils/retries.d.mts +46 -0
  142. package/dist/v3/utils/retries.d.ts +46 -0
  143. package/dist/v3/utils/retries.js +118 -0
  144. package/dist/v3/utils/retries.js.map +1 -0
  145. package/dist/v3/utils/retries.mjs +113 -0
  146. package/dist/v3/utils/retries.mjs.map +1 -0
  147. package/dist/v3/utils/structuredLogger.d.mts +31 -0
  148. package/dist/v3/utils/structuredLogger.d.ts +31 -0
  149. package/dist/v3/utils/structuredLogger.js +88 -0
  150. package/dist/v3/utils/structuredLogger.js.map +1 -0
  151. package/dist/v3/utils/structuredLogger.mjs +86 -0
  152. package/dist/v3/utils/structuredLogger.mjs.map +1 -0
  153. package/dist/v3/utils/timers.d.mts +6 -0
  154. package/dist/v3/utils/timers.d.ts +6 -0
  155. package/dist/v3/utils/timers.js +31 -0
  156. package/dist/v3/utils/timers.js.map +1 -0
  157. package/dist/v3/utils/timers.mjs +28 -0
  158. package/dist/v3/utils/timers.mjs.map +1 -0
  159. package/dist/v3/workers/index.d.mts +144 -0
  160. package/dist/v3/workers/index.d.ts +144 -0
  161. package/dist/v3/workers/index.js +3708 -0
  162. package/dist/v3/workers/index.js.map +1 -0
  163. package/dist/v3/workers/index.mjs +3689 -0
  164. package/dist/v3/workers/index.mjs.map +1 -0
  165. package/dist/v3/zodIpc.d.mts +32 -0
  166. package/dist/v3/zodIpc.d.ts +32 -0
  167. package/dist/v3/zodIpc.js +268 -0
  168. package/dist/v3/zodIpc.js.map +1 -0
  169. package/dist/v3/zodIpc.mjs +266 -0
  170. package/dist/v3/zodIpc.mjs.map +1 -0
  171. package/dist/v3/zodMessageHandler.d.mts +82 -0
  172. package/dist/v3/zodMessageHandler.d.ts +82 -0
  173. package/dist/v3/zodMessageHandler.js +222 -0
  174. package/dist/v3/zodMessageHandler.js.map +1 -0
  175. package/dist/v3/zodMessageHandler.mjs +217 -0
  176. package/dist/v3/zodMessageHandler.mjs.map +1 -0
  177. package/dist/v3/zodNamespace.d.mts +3663 -0
  178. package/dist/v3/zodNamespace.d.ts +3663 -0
  179. package/dist/v3/zodNamespace.js +397 -0
  180. package/dist/v3/zodNamespace.js.map +1 -0
  181. package/dist/v3/zodNamespace.mjs +395 -0
  182. package/dist/v3/zodNamespace.mjs.map +1 -0
  183. package/dist/v3/zodSocket.d.mts +93 -0
  184. package/dist/v3/zodSocket.d.ts +93 -0
  185. package/dist/v3/zodSocket.js +350 -0
  186. package/dist/v3/zodSocket.js.map +1 -0
  187. package/dist/v3/zodSocket.mjs +346 -0
  188. package/dist/v3/zodSocket.mjs.map +1 -0
  189. package/dist/v3/zodfetch.d.mts +219 -0
  190. package/dist/v3/zodfetch.d.ts +219 -0
  191. package/dist/v3/zodfetch.js +834 -0
  192. package/dist/v3/zodfetch.js.map +1 -0
  193. package/dist/v3/zodfetch.mjs +811 -0
  194. package/dist/v3/zodfetch.mjs.map +1 -0
  195. package/dist/versions.d.mts +11 -0
  196. package/dist/versions.d.ts +11 -0
  197. package/dist/versions.js +31 -0
  198. package/dist/versions.js.map +1 -0
  199. package/dist/versions.mjs +27 -0
  200. package/dist/versions.mjs.map +1 -0
  201. package/package.json +223 -5
@@ -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":"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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"]}
@@ -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"]}