trigger.dev 0.0.0-v3-prerelease-20250108142426 → 0.0.0-v4-prerelease-20250917185130

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 (292) hide show
  1. package/README.md +28 -1
  2. package/dist/esm/apiClient.d.ts +158 -74
  3. package/dist/esm/apiClient.js +341 -76
  4. package/dist/esm/apiClient.js.map +1 -1
  5. package/dist/esm/build/buildWorker.d.ts +10 -6
  6. package/dist/esm/build/buildWorker.js +22 -38
  7. package/dist/esm/build/buildWorker.js.map +1 -1
  8. package/dist/esm/build/bundle.d.ts +18 -1
  9. package/dist/esm/build/bundle.js +142 -52
  10. package/dist/esm/build/bundle.js.map +1 -1
  11. package/dist/esm/build/entryPoints.d.ts +12 -0
  12. package/dist/esm/build/entryPoints.js +127 -0
  13. package/dist/esm/build/entryPoints.js.map +1 -0
  14. package/dist/esm/build/extensions.js +17 -0
  15. package/dist/esm/build/extensions.js.map +1 -1
  16. package/dist/esm/build/externals.js +184 -2
  17. package/dist/esm/build/externals.js.map +1 -1
  18. package/dist/esm/build/packageModules.d.ts +15 -5
  19. package/dist/esm/build/packageModules.js +154 -36
  20. package/dist/esm/build/packageModules.js.map +1 -1
  21. package/dist/esm/cli/common.d.ts +1 -1
  22. package/dist/esm/cli/common.js +38 -45
  23. package/dist/esm/cli/common.js.map +1 -1
  24. package/dist/esm/cli/index.js +19 -3
  25. package/dist/esm/cli/index.js.map +1 -1
  26. package/dist/esm/commands/analyze.d.ts +23 -0
  27. package/dist/esm/commands/analyze.js +122 -0
  28. package/dist/esm/commands/analyze.js.map +1 -0
  29. package/dist/esm/commands/deploy.d.ts +5 -2
  30. package/dist/esm/commands/deploy.js +271 -160
  31. package/dist/esm/commands/deploy.js.map +1 -1
  32. package/dist/esm/commands/dev.d.ts +36 -6
  33. package/dist/esm/commands/dev.js +71 -2
  34. package/dist/esm/commands/dev.js.map +1 -1
  35. package/dist/esm/commands/env.d.ts +2 -0
  36. package/dist/esm/commands/env.js +298 -0
  37. package/dist/esm/commands/env.js.map +1 -0
  38. package/dist/esm/commands/init.d.ts +9 -1
  39. package/dist/esm/commands/init.js +132 -65
  40. package/dist/esm/commands/init.js.map +1 -1
  41. package/dist/esm/commands/install-mcp.d.ts +50 -0
  42. package/dist/esm/commands/install-mcp.js +497 -0
  43. package/dist/esm/commands/install-mcp.js.map +1 -0
  44. package/dist/esm/commands/install-rules.d.ts +11 -0
  45. package/dist/esm/commands/install-rules.js +381 -0
  46. package/dist/esm/commands/install-rules.js.map +1 -0
  47. package/dist/esm/commands/list-profiles.d.ts +3 -7
  48. package/dist/esm/commands/list-profiles.js +7 -4
  49. package/dist/esm/commands/list-profiles.js.map +1 -1
  50. package/dist/esm/commands/login.d.ts +9 -5
  51. package/dist/esm/commands/login.js +40 -7
  52. package/dist/esm/commands/login.js.map +1 -1
  53. package/dist/esm/commands/logout.d.ts +1 -1
  54. package/dist/esm/commands/mcp.d.ts +38 -0
  55. package/dist/esm/commands/mcp.js +82 -0
  56. package/dist/esm/commands/mcp.js.map +1 -0
  57. package/dist/esm/commands/preview.d.ts +5 -0
  58. package/dist/esm/commands/preview.js +93 -0
  59. package/dist/esm/commands/preview.js.map +1 -0
  60. package/dist/esm/commands/promote.d.ts +3 -0
  61. package/dist/esm/commands/promote.js +86 -0
  62. package/dist/esm/commands/promote.js.map +1 -0
  63. package/dist/esm/commands/switch.d.ts +19 -0
  64. package/dist/esm/commands/switch.js +93 -0
  65. package/dist/esm/commands/switch.js.map +1 -0
  66. package/dist/esm/commands/trigger.d.ts +33 -0
  67. package/dist/esm/commands/trigger.js +88 -0
  68. package/dist/esm/commands/trigger.js.map +1 -0
  69. package/dist/esm/commands/update.d.ts +3 -2
  70. package/dist/esm/commands/update.js +23 -9
  71. package/dist/esm/commands/update.js.map +1 -1
  72. package/dist/esm/commands/whoami.d.ts +12 -1
  73. package/dist/esm/commands/whoami.js +36 -6
  74. package/dist/esm/commands/whoami.js.map +1 -1
  75. package/dist/esm/commands/workers/build.d.ts +4 -0
  76. package/dist/esm/commands/workers/build.js +345 -0
  77. package/dist/esm/commands/workers/build.js.map +1 -0
  78. package/dist/esm/commands/workers/create.d.ts +2 -0
  79. package/dist/esm/commands/workers/create.js +91 -0
  80. package/dist/esm/commands/workers/create.js.map +1 -0
  81. package/dist/esm/commands/workers/index.d.ts +2 -0
  82. package/dist/esm/commands/workers/index.js +13 -0
  83. package/dist/esm/commands/workers/index.js.map +1 -0
  84. package/dist/esm/commands/workers/list.d.ts +2 -0
  85. package/dist/esm/commands/workers/list.js +80 -0
  86. package/dist/esm/commands/workers/list.js.map +1 -0
  87. package/dist/esm/commands/workers/run.d.ts +2 -0
  88. package/dist/esm/commands/workers/run.js +105 -0
  89. package/dist/esm/commands/workers/run.js.map +1 -0
  90. package/dist/esm/config.d.ts +2 -1
  91. package/dist/esm/config.js +35 -8
  92. package/dist/esm/config.js.map +1 -1
  93. package/dist/esm/deploy/buildImage.d.ts +12 -11
  94. package/dist/esm/deploy/buildImage.js +360 -115
  95. package/dist/esm/deploy/buildImage.js.map +1 -1
  96. package/dist/esm/dev/backgroundWorker.d.ts +6 -245
  97. package/dist/esm/dev/backgroundWorker.js +11 -320
  98. package/dist/esm/dev/backgroundWorker.js.map +1 -1
  99. package/dist/esm/dev/devOutput.js +48 -9
  100. package/dist/esm/dev/devOutput.js.map +1 -1
  101. package/dist/esm/dev/devSession.d.ts +2 -1
  102. package/dist/esm/dev/devSession.js +68 -65
  103. package/dist/esm/dev/devSession.js.map +1 -1
  104. package/dist/esm/dev/devSupervisor.d.ts +12 -0
  105. package/dist/esm/dev/devSupervisor.js +568 -0
  106. package/dist/esm/dev/devSupervisor.js.map +1 -0
  107. package/dist/esm/dev/lock.d.ts +1 -0
  108. package/dist/esm/dev/lock.js +80 -0
  109. package/dist/esm/dev/lock.js.map +1 -0
  110. package/dist/esm/dev/mcpServer.d.ts +10 -0
  111. package/dist/esm/dev/mcpServer.js +201 -0
  112. package/dist/esm/dev/mcpServer.js.map +1 -0
  113. package/dist/esm/dev/taskRunProcessPool.d.ts +39 -0
  114. package/dist/esm/dev/taskRunProcessPool.js +220 -0
  115. package/dist/esm/dev/taskRunProcessPool.js.map +1 -0
  116. package/dist/esm/dev/workerRuntime.d.ts +2 -2
  117. package/dist/esm/dev/workerRuntime.js +1 -265
  118. package/dist/esm/dev/workerRuntime.js.map +1 -1
  119. package/dist/esm/entryPoints/dev-index-worker.js +45 -8
  120. package/dist/esm/entryPoints/dev-index-worker.js.map +1 -1
  121. package/dist/esm/entryPoints/dev-run-controller.d.ts +58 -0
  122. package/dist/esm/entryPoints/dev-run-controller.js +652 -0
  123. package/dist/esm/entryPoints/dev-run-controller.js.map +1 -0
  124. package/dist/esm/entryPoints/dev-run-worker.js +394 -199
  125. package/dist/esm/entryPoints/dev-run-worker.js.map +1 -1
  126. package/dist/esm/entryPoints/managed/controller.d.ts +63 -0
  127. package/dist/esm/entryPoints/managed/controller.js +502 -0
  128. package/dist/esm/entryPoints/managed/controller.js.map +1 -0
  129. package/dist/esm/entryPoints/managed/env.d.ts +170 -0
  130. package/dist/esm/entryPoints/managed/env.js +199 -0
  131. package/dist/esm/entryPoints/managed/env.js.map +1 -0
  132. package/dist/esm/entryPoints/managed/execution.d.ts +143 -0
  133. package/dist/esm/entryPoints/managed/execution.js +901 -0
  134. package/dist/esm/entryPoints/managed/execution.js.map +1 -0
  135. package/dist/esm/entryPoints/managed/logger.d.ts +30 -0
  136. package/dist/esm/entryPoints/managed/logger.js +47 -0
  137. package/dist/esm/entryPoints/managed/logger.js.map +1 -0
  138. package/dist/esm/entryPoints/managed/notifier.d.ts +30 -0
  139. package/dist/esm/entryPoints/managed/notifier.js +63 -0
  140. package/dist/esm/entryPoints/managed/notifier.js.map +1 -0
  141. package/dist/esm/entryPoints/managed/overrides.d.ts +18 -0
  142. package/dist/esm/entryPoints/managed/overrides.js +19 -0
  143. package/dist/esm/entryPoints/managed/overrides.js.map +1 -0
  144. package/dist/esm/entryPoints/managed/poller.d.ts +31 -0
  145. package/dist/esm/entryPoints/managed/poller.js +89 -0
  146. package/dist/esm/entryPoints/managed/poller.js.map +1 -0
  147. package/dist/esm/entryPoints/managed/snapshot.d.ts +54 -0
  148. package/dist/esm/entryPoints/managed/snapshot.js +293 -0
  149. package/dist/esm/entryPoints/managed/snapshot.js.map +1 -0
  150. package/dist/esm/entryPoints/managed/taskRunProcessProvider.d.ts +62 -0
  151. package/dist/esm/entryPoints/managed/taskRunProcessProvider.js +252 -0
  152. package/dist/esm/entryPoints/managed/taskRunProcessProvider.js.map +1 -0
  153. package/dist/esm/entryPoints/{deploy-index-controller.js → managed-index-controller.js} +27 -3
  154. package/dist/esm/entryPoints/managed-index-controller.js.map +1 -0
  155. package/dist/esm/entryPoints/{deploy-index-worker.js → managed-index-worker.js} +50 -21
  156. package/dist/esm/entryPoints/managed-index-worker.js.map +1 -0
  157. package/dist/esm/entryPoints/managed-run-controller.js +13 -0
  158. package/dist/esm/entryPoints/managed-run-controller.js.map +1 -0
  159. package/dist/esm/entryPoints/managed-run-worker.js +512 -0
  160. package/dist/esm/entryPoints/managed-run-worker.js.map +1 -0
  161. package/dist/esm/executions/taskRunProcess.d.ts +28 -82
  162. package/dist/esm/executions/taskRunProcess.js +130 -74
  163. package/dist/esm/executions/taskRunProcess.js.map +1 -1
  164. package/dist/esm/indexing/indexWorkerManifest.d.ts +21 -5
  165. package/dist/esm/indexing/indexWorkerManifest.js +4 -4
  166. package/dist/esm/indexing/indexWorkerManifest.js.map +1 -1
  167. package/dist/esm/indexing/registerResources.d.ts +5 -0
  168. package/dist/esm/indexing/registerResources.js +44 -0
  169. package/dist/esm/indexing/registerResources.js.map +1 -0
  170. package/dist/esm/mcp/auth.d.ts +12 -0
  171. package/dist/esm/mcp/auth.js +152 -0
  172. package/dist/esm/mcp/auth.js.map +1 -0
  173. package/dist/esm/mcp/capabilities.d.ts +4 -0
  174. package/dist/esm/mcp/capabilities.js +22 -0
  175. package/dist/esm/mcp/capabilities.js.map +1 -0
  176. package/dist/esm/mcp/config.d.ts +82 -0
  177. package/dist/esm/mcp/config.js +87 -0
  178. package/dist/esm/mcp/config.js.map +1 -0
  179. package/dist/esm/mcp/context.d.ts +45 -0
  180. package/dist/esm/mcp/context.js +129 -0
  181. package/dist/esm/mcp/context.js.map +1 -0
  182. package/dist/esm/mcp/formatters.d.ts +7 -0
  183. package/dist/esm/mcp/formatters.js +330 -0
  184. package/dist/esm/mcp/formatters.js.map +1 -0
  185. package/dist/esm/mcp/logger.d.ts +11 -0
  186. package/dist/esm/mcp/logger.js +34 -0
  187. package/dist/esm/mcp/logger.js.map +1 -0
  188. package/dist/esm/mcp/mintlifyClient.d.ts +1 -0
  189. package/dist/esm/mcp/mintlifyClient.js +65 -0
  190. package/dist/esm/mcp/mintlifyClient.js.map +1 -0
  191. package/dist/esm/mcp/schemas.d.ts +324 -0
  192. package/dist/esm/mcp/schemas.js +144 -0
  193. package/dist/esm/mcp/schemas.js.map +1 -0
  194. package/dist/esm/mcp/tools/deploys.d.ts +174 -0
  195. package/dist/esm/mcp/tools/deploys.js +161 -0
  196. package/dist/esm/mcp/tools/deploys.js.map +1 -0
  197. package/dist/esm/mcp/tools/docs.d.ts +77 -0
  198. package/dist/esm/mcp/tools/docs.js +18 -0
  199. package/dist/esm/mcp/tools/docs.js.map +1 -0
  200. package/dist/esm/mcp/tools/orgs.d.ts +172 -0
  201. package/dist/esm/mcp/tools/orgs.js +172 -0
  202. package/dist/esm/mcp/tools/orgs.js.map +1 -0
  203. package/dist/esm/mcp/tools/previewBranches.d.ts +78 -0
  204. package/dist/esm/mcp/tools/previewBranches.js +28 -0
  205. package/dist/esm/mcp/tools/previewBranches.js.map +1 -0
  206. package/dist/esm/mcp/tools/runs.d.ts +335 -0
  207. package/dist/esm/mcp/tools/runs.js +160 -0
  208. package/dist/esm/mcp/tools/runs.js.map +1 -0
  209. package/dist/esm/mcp/tools/tasks.d.ts +200 -0
  210. package/dist/esm/mcp/tools/tasks.js +117 -0
  211. package/dist/esm/mcp/tools/tasks.js.map +1 -0
  212. package/dist/esm/mcp/tools.d.ts +2 -0
  213. package/dist/esm/mcp/tools.js +40 -0
  214. package/dist/esm/mcp/tools.js.map +1 -0
  215. package/dist/esm/mcp/types.d.ts +6 -0
  216. package/dist/esm/mcp/types.js +2 -0
  217. package/dist/esm/mcp/types.js.map +1 -0
  218. package/dist/esm/mcp/utils.d.ts +89 -0
  219. package/dist/esm/mcp/utils.js +95 -0
  220. package/dist/esm/mcp/utils.js.map +1 -0
  221. package/dist/esm/rules/install.d.ts +1 -0
  222. package/dist/esm/rules/install.js +2 -0
  223. package/dist/esm/rules/install.js.map +1 -0
  224. package/dist/esm/rules/manifest.d.ts +145 -0
  225. package/dist/esm/rules/manifest.js +110 -0
  226. package/dist/esm/rules/manifest.js.map +1 -0
  227. package/dist/esm/rules/types.d.ts +3 -0
  228. package/dist/esm/rules/types.js +3 -0
  229. package/dist/esm/rules/types.js.map +1 -0
  230. package/dist/esm/utilities/accessTokens.d.ts +12 -0
  231. package/dist/esm/utilities/accessTokens.js +30 -0
  232. package/dist/esm/utilities/accessTokens.js.map +1 -0
  233. package/dist/esm/utilities/analyze.d.ts +13 -0
  234. package/dist/esm/utilities/analyze.js +463 -0
  235. package/dist/esm/utilities/analyze.js.map +1 -0
  236. package/dist/esm/utilities/cliOutput.d.ts +6 -1
  237. package/dist/esm/utilities/cliOutput.js +11 -2
  238. package/dist/esm/utilities/cliOutput.js.map +1 -1
  239. package/dist/esm/utilities/configFiles.d.ts +65 -15
  240. package/dist/esm/utilities/configFiles.js +124 -26
  241. package/dist/esm/utilities/configFiles.js.map +1 -1
  242. package/dist/esm/utilities/eventBus.d.ts +7 -3
  243. package/dist/esm/utilities/eventBus.js.map +1 -1
  244. package/dist/esm/utilities/fileSystem.d.ts +7 -1
  245. package/dist/esm/utilities/fileSystem.js +42 -4
  246. package/dist/esm/utilities/fileSystem.js.map +1 -1
  247. package/dist/esm/utilities/gitMeta.d.ts +2 -0
  248. package/dist/esm/utilities/gitMeta.js +220 -0
  249. package/dist/esm/utilities/gitMeta.js.map +1 -0
  250. package/dist/esm/utilities/githubActions.d.ts +4 -0
  251. package/dist/esm/utilities/githubActions.js +18 -0
  252. package/dist/esm/utilities/githubActions.js.map +1 -0
  253. package/dist/esm/utilities/initialBanner.js +18 -6
  254. package/dist/esm/utilities/initialBanner.js.map +1 -1
  255. package/dist/esm/utilities/localEnvVars.d.ts +3 -0
  256. package/dist/esm/utilities/localEnvVars.js +19 -0
  257. package/dist/esm/utilities/localEnvVars.js.map +1 -0
  258. package/dist/esm/utilities/sanitizeEnvVars.d.ts +16 -3
  259. package/dist/esm/utilities/sanitizeEnvVars.js +15 -0
  260. package/dist/esm/utilities/sanitizeEnvVars.js.map +1 -1
  261. package/dist/esm/utilities/session.d.ts +14 -0
  262. package/dist/esm/utilities/session.js +44 -47
  263. package/dist/esm/utilities/session.js.map +1 -1
  264. package/dist/esm/utilities/supportsHyperlinks.d.ts +15 -0
  265. package/dist/esm/utilities/supportsHyperlinks.js +122 -0
  266. package/dist/esm/utilities/supportsHyperlinks.js.map +1 -0
  267. package/dist/esm/utilities/tempDirectories.d.ts +1 -0
  268. package/dist/esm/utilities/tempDirectories.js +19 -2
  269. package/dist/esm/utilities/tempDirectories.js.map +1 -1
  270. package/dist/esm/utilities/terminalLink.d.ts +56 -0
  271. package/dist/esm/utilities/terminalLink.js +76 -0
  272. package/dist/esm/utilities/terminalLink.js.map +1 -0
  273. package/dist/esm/utilities/windows.js +65 -1
  274. package/dist/esm/utilities/windows.js.map +1 -1
  275. package/dist/esm/version.js +1 -1
  276. package/package.json +44 -25
  277. package/dist/esm/entryPoints/deploy-index-controller.js.map +0 -1
  278. package/dist/esm/entryPoints/deploy-index-worker.js.map +0 -1
  279. package/dist/esm/entryPoints/deploy-run-controller.js +0 -1099
  280. package/dist/esm/entryPoints/deploy-run-controller.js.map +0 -1
  281. package/dist/esm/entryPoints/deploy-run-worker.js +0 -366
  282. package/dist/esm/entryPoints/deploy-run-worker.js.map +0 -1
  283. package/dist/esm/indexing/registerTasks.d.ts +0 -2
  284. package/dist/esm/indexing/registerTasks.js +0 -62
  285. package/dist/esm/indexing/registerTasks.js.map +0 -1
  286. package/dist/esm/telemetry/tracing.d.ts +0 -3
  287. package/dist/esm/telemetry/tracing.js +0 -58
  288. package/dist/esm/telemetry/tracing.js.map +0 -1
  289. /package/dist/esm/entryPoints/{deploy-index-controller.d.ts → managed-index-controller.d.ts} +0 -0
  290. /package/dist/esm/entryPoints/{deploy-index-worker.d.ts → managed-index-worker.d.ts} +0 -0
  291. /package/dist/esm/entryPoints/{deploy-run-controller.d.ts → managed-run-controller.d.ts} +0 -0
  292. /package/dist/esm/entryPoints/{deploy-run-worker.d.ts → managed-run-worker.d.ts} +0 -0
@@ -0,0 +1,512 @@
1
+ import { apiClientManager, clock, ExecutorToWorkerMessageCatalog, lifecycleHooks, localsAPI, logger, OTEL_LOG_ATTRIBUTE_COUNT_LIMIT, resourceCatalog, runMetadata, runtime, runTimelineMetrics, taskContext, TaskRunContext, TaskRunErrorCodes, timeout, waitUntil, WorkerManifest, WorkerToExecutorMessageCatalog, traceContext, heartbeats, } from "@trigger.dev/core/v3";
2
+ import { TriggerTracer } from "@trigger.dev/core/v3/tracer";
3
+ import { ConsoleInterceptor, DevUsageManager, DurableClock, getEnvVar, getNumberEnvVar, logLevels, SharedRuntimeManager, OtelTaskLogger, populateEnv, ProdUsageManager, StandardLifecycleHooksManager, StandardLocalsManager, StandardMetadataManager, StandardResourceCatalog, StandardRunTimelineMetricsManager, StandardWaitUntilManager, TaskExecutor, TracingSDK, usage, UsageTimeoutManager, StandardTraceContextManager, StandardHeartbeatsManager, } from "@trigger.dev/core/v3/workers";
4
+ import { ZodIpcConnection } from "@trigger.dev/core/v3/zodIpc";
5
+ import { readFile } from "node:fs/promises";
6
+ import { setTimeout } from "node:timers/promises";
7
+ import sourceMapSupport from "source-map-support";
8
+ import { env } from "std-env";
9
+ import { normalizeImportPath } from "../utilities/normalizeImportPath.js";
10
+ import { VERSION } from "../version.js";
11
+ import { promiseWithResolvers } from "@trigger.dev/core/utils";
12
+ sourceMapSupport.install({
13
+ handleUncaughtExceptions: false,
14
+ environment: "node",
15
+ hookRequire: false,
16
+ });
17
+ process.on("uncaughtException", function (error, origin) {
18
+ console.error("Uncaught exception", { error, origin });
19
+ if (error instanceof Error) {
20
+ process.send &&
21
+ process.send({
22
+ type: "EVENT",
23
+ message: {
24
+ type: "UNCAUGHT_EXCEPTION",
25
+ payload: {
26
+ error: { name: error.name, message: error.message, stack: error.stack },
27
+ origin,
28
+ },
29
+ version: "v1",
30
+ },
31
+ });
32
+ }
33
+ else {
34
+ process.send &&
35
+ process.send({
36
+ type: "EVENT",
37
+ message: {
38
+ type: "UNCAUGHT_EXCEPTION",
39
+ payload: {
40
+ error: {
41
+ name: "Error",
42
+ message: typeof error === "string" ? error : JSON.stringify(error),
43
+ },
44
+ origin,
45
+ },
46
+ version: "v1",
47
+ },
48
+ });
49
+ }
50
+ });
51
+ const heartbeatIntervalMs = getEnvVar("HEARTBEAT_INTERVAL_MS");
52
+ const standardLocalsManager = new StandardLocalsManager();
53
+ localsAPI.setGlobalLocalsManager(standardLocalsManager);
54
+ const standardLifecycleHooksManager = new StandardLifecycleHooksManager();
55
+ lifecycleHooks.setGlobalLifecycleHooksManager(standardLifecycleHooksManager);
56
+ const standardRunTimelineMetricsManager = new StandardRunTimelineMetricsManager();
57
+ runTimelineMetrics.setGlobalManager(standardRunTimelineMetricsManager);
58
+ const standardResourceCatalog = new StandardResourceCatalog();
59
+ resourceCatalog.setGlobalResourceCatalog(standardResourceCatalog);
60
+ const durableClock = new DurableClock();
61
+ clock.setGlobalClock(durableClock);
62
+ const standardTraceContextManager = new StandardTraceContextManager();
63
+ traceContext.setGlobalManager(standardTraceContextManager);
64
+ const runMetadataManager = new StandardMetadataManager(apiClientManager.clientOrThrow(), getEnvVar("TRIGGER_STREAM_URL", getEnvVar("TRIGGER_API_URL")) ?? "https://api.trigger.dev");
65
+ runMetadata.setGlobalManager(runMetadataManager);
66
+ const waitUntilManager = new StandardWaitUntilManager();
67
+ waitUntil.setGlobalManager(waitUntilManager);
68
+ const standardHeartbeatsManager = new StandardHeartbeatsManager(parseInt(heartbeatIntervalMs ?? "30000", 10));
69
+ heartbeats.setGlobalManager(standardHeartbeatsManager);
70
+ const triggerLogLevel = getEnvVar("TRIGGER_LOG_LEVEL");
71
+ async function importConfig(configPath) {
72
+ const configModule = await import(configPath);
73
+ const config = configModule?.default ?? configModule?.config;
74
+ return {
75
+ config,
76
+ handleError: configModule?.handleError,
77
+ };
78
+ }
79
+ async function loadWorkerManifest() {
80
+ const manifestContents = await readFile("./index.json", "utf-8");
81
+ const raw = JSON.parse(manifestContents);
82
+ return WorkerManifest.parse(raw);
83
+ }
84
+ async function doBootstrap() {
85
+ return await runTimelineMetrics.measureMetric("trigger.dev/start", "bootstrap", {}, async () => {
86
+ const workerManifest = await loadWorkerManifest();
87
+ resourceCatalog.registerWorkerManifest(workerManifest);
88
+ const { config, handleError } = await importConfig(normalizeImportPath(workerManifest.configPath));
89
+ const tracingSDK = new TracingSDK({
90
+ url: env.TRIGGER_OTEL_EXPORTER_OTLP_ENDPOINT ?? "http://0.0.0.0:4318",
91
+ instrumentations: config.instrumentations ?? [],
92
+ diagLogLevel: env.TRIGGER_OTEL_LOG_LEVEL ?? "none",
93
+ forceFlushTimeoutMillis: 30_000,
94
+ exporters: config.telemetry?.exporters ?? [],
95
+ logExporters: config.telemetry?.logExporters ?? [],
96
+ });
97
+ const otelTracer = tracingSDK.getTracer("trigger-dev-worker", VERSION);
98
+ const otelLogger = tracingSDK.getLogger("trigger-dev-worker", VERSION);
99
+ const tracer = new TriggerTracer({ tracer: otelTracer, logger: otelLogger });
100
+ const consoleInterceptor = new ConsoleInterceptor(otelLogger, typeof config.enableConsoleLogging === "boolean" ? config.enableConsoleLogging : true, typeof config.disableConsoleInterceptor === "boolean"
101
+ ? config.disableConsoleInterceptor
102
+ : false, OTEL_LOG_ATTRIBUTE_COUNT_LIMIT);
103
+ const configLogLevel = triggerLogLevel ?? config.logLevel ?? "info";
104
+ const otelTaskLogger = new OtelTaskLogger({
105
+ logger: otelLogger,
106
+ tracer: tracer,
107
+ level: logLevels.includes(configLogLevel) ? configLogLevel : "info",
108
+ maxAttributeCount: OTEL_LOG_ATTRIBUTE_COUNT_LIMIT,
109
+ });
110
+ logger.setGlobalTaskLogger(otelTaskLogger);
111
+ if (config.init) {
112
+ lifecycleHooks.registerGlobalInitHook({
113
+ id: "config",
114
+ fn: config.init,
115
+ });
116
+ }
117
+ if (config.onStart) {
118
+ lifecycleHooks.registerGlobalStartHook({
119
+ id: "config",
120
+ fn: config.onStart,
121
+ });
122
+ }
123
+ if (config.onSuccess) {
124
+ lifecycleHooks.registerGlobalSuccessHook({
125
+ id: "config",
126
+ fn: config.onSuccess,
127
+ });
128
+ }
129
+ if (config.onFailure) {
130
+ lifecycleHooks.registerGlobalFailureHook({
131
+ id: "config",
132
+ fn: config.onFailure,
133
+ });
134
+ }
135
+ if (handleError) {
136
+ lifecycleHooks.registerGlobalCatchErrorHook({
137
+ id: "config",
138
+ fn: handleError,
139
+ });
140
+ }
141
+ return {
142
+ tracer,
143
+ tracingSDK,
144
+ consoleInterceptor,
145
+ config,
146
+ workerManifest,
147
+ };
148
+ });
149
+ }
150
+ let bootstrapCache;
151
+ async function bootstrap() {
152
+ if (!bootstrapCache) {
153
+ bootstrapCache = await doBootstrap();
154
+ }
155
+ return bootstrapCache;
156
+ }
157
+ let _execution;
158
+ let _isRunning = false;
159
+ let _isCancelled = false;
160
+ let _tracingSDK;
161
+ let _executionMeasurement;
162
+ let _cancelController = new AbortController();
163
+ let _lastFlushPromise;
164
+ let _sharedWorkerRuntime;
165
+ function resetExecutionEnvironment() {
166
+ _execution = undefined;
167
+ _isRunning = false;
168
+ _isCancelled = false;
169
+ _executionMeasurement = undefined;
170
+ _cancelController = new AbortController();
171
+ standardLocalsManager.reset();
172
+ standardLifecycleHooksManager.reset();
173
+ standardRunTimelineMetricsManager.reset();
174
+ usage.reset();
175
+ timeout.reset();
176
+ runMetadataManager.reset();
177
+ waitUntilManager.reset();
178
+ _sharedWorkerRuntime?.reset();
179
+ durableClock.reset();
180
+ taskContext.disable();
181
+ standardTraceContextManager.reset();
182
+ standardHeartbeatsManager.reset();
183
+ // Wait for all streams to finish before completing the run
184
+ waitUntil.register({
185
+ requiresResolving: () => runMetadataManager.hasActiveStreams(),
186
+ promise: () => runMetadataManager.waitForAllStreams(),
187
+ });
188
+ console.log(`[${new Date().toISOString()}] Reset execution environment`);
189
+ }
190
+ let _lastEnv;
191
+ let _executionCount = 0;
192
+ const zodIpc = new ZodIpcConnection({
193
+ listenSchema: WorkerToExecutorMessageCatalog,
194
+ emitSchema: ExecutorToWorkerMessageCatalog,
195
+ process,
196
+ handlers: {
197
+ EXECUTE_TASK_RUN: async ({ execution, traceContext, metadata, metrics, env, isWarmStart }, sender) => {
198
+ if (env) {
199
+ populateEnv(env, {
200
+ override: true,
201
+ previousEnv: _lastEnv,
202
+ });
203
+ _lastEnv = env;
204
+ }
205
+ console.log(`[${new Date().toISOString()}] Received EXECUTE_TASK_RUN isWarmStart ${String(isWarmStart)}`);
206
+ if (_lastFlushPromise) {
207
+ const now = performance.now();
208
+ await _lastFlushPromise;
209
+ const duration = performance.now() - now;
210
+ console.log(`[${new Date().toISOString()}] Awaited last flush in ${duration}ms`);
211
+ }
212
+ resetExecutionEnvironment();
213
+ standardTraceContextManager.traceContext = traceContext;
214
+ const prodManager = initializeUsageManager({
215
+ usageIntervalMs: getEnvVar("USAGE_HEARTBEAT_INTERVAL_MS"),
216
+ usageEventUrl: getEnvVar("USAGE_EVENT_URL"),
217
+ triggerJWT: getEnvVar("TRIGGER_JWT"),
218
+ });
219
+ prodManager.setInitialState({
220
+ cpuTime: execution.run.durationMs ?? 0,
221
+ costInCents: execution.run.costInCents ?? 0,
222
+ });
223
+ standardRunTimelineMetricsManager.registerMetricsFromExecution(metrics, isWarmStart);
224
+ console.log(`[${new Date().toISOString()}] Received EXECUTE_TASK_RUN`, execution);
225
+ if (_isRunning) {
226
+ console.error("Worker is already running a task");
227
+ await sender.send("TASK_RUN_COMPLETED", {
228
+ execution,
229
+ result: {
230
+ ok: false,
231
+ id: execution.run.id,
232
+ error: {
233
+ type: "INTERNAL_ERROR",
234
+ code: TaskRunErrorCodes.TASK_ALREADY_RUNNING,
235
+ },
236
+ usage: {
237
+ durationMs: 0,
238
+ },
239
+ flushedMetadata: await runMetadataManager.stopAndReturnLastFlush(),
240
+ },
241
+ });
242
+ return;
243
+ }
244
+ const ctx = TaskRunContext.parse(execution);
245
+ taskContext.setGlobalTaskContext({
246
+ ctx,
247
+ worker: metadata,
248
+ isWarmStart: isWarmStart ?? false,
249
+ });
250
+ try {
251
+ const { tracer, tracingSDK, consoleInterceptor, config, workerManifest } = await bootstrap();
252
+ _tracingSDK = tracingSDK;
253
+ const taskManifest = workerManifest.tasks.find((t) => t.id === execution.task.id);
254
+ if (!taskManifest) {
255
+ console.error(`Could not find task ${execution.task.id}`);
256
+ await sender.send("TASK_RUN_COMPLETED", {
257
+ execution,
258
+ result: {
259
+ ok: false,
260
+ id: execution.run.id,
261
+ error: {
262
+ type: "INTERNAL_ERROR",
263
+ code: TaskRunErrorCodes.COULD_NOT_FIND_TASK,
264
+ message: `Could not find task ${execution.task.id}. Make sure the task is exported and the ID is correct.`,
265
+ },
266
+ usage: {
267
+ durationMs: 0,
268
+ },
269
+ flushedMetadata: await runMetadataManager.stopAndReturnLastFlush(),
270
+ },
271
+ });
272
+ return;
273
+ }
274
+ // Import the task module
275
+ let task = resourceCatalog.getTask(execution.task.id);
276
+ if (!task) {
277
+ try {
278
+ await runTimelineMetrics.measureMetric("trigger.dev/start", "import", {
279
+ entryPoint: taskManifest.entryPoint,
280
+ file: taskManifest.filePath,
281
+ }, async () => {
282
+ const beforeImport = performance.now();
283
+ resourceCatalog.setCurrentFileContext(taskManifest.entryPoint, taskManifest.filePath);
284
+ // Load init file if it exists
285
+ if (workerManifest.initEntryPoint) {
286
+ try {
287
+ await import(normalizeImportPath(workerManifest.initEntryPoint));
288
+ console.log(`Loaded init file from ${workerManifest.initEntryPoint}`);
289
+ }
290
+ catch (err) {
291
+ console.error(`Failed to load init file`, err);
292
+ throw err;
293
+ }
294
+ }
295
+ await import(normalizeImportPath(taskManifest.entryPoint));
296
+ resourceCatalog.clearCurrentFileContext();
297
+ const durationMs = performance.now() - beforeImport;
298
+ console.log(`Imported task ${execution.task.id} [${taskManifest.entryPoint}] in ${durationMs}ms`);
299
+ });
300
+ }
301
+ catch (err) {
302
+ console.error(`Failed to import task ${execution.task.id}`, err);
303
+ await sender.send("TASK_RUN_COMPLETED", {
304
+ execution,
305
+ result: {
306
+ ok: false,
307
+ id: execution.run.id,
308
+ error: {
309
+ type: "INTERNAL_ERROR",
310
+ code: TaskRunErrorCodes.COULD_NOT_IMPORT_TASK,
311
+ message: err instanceof Error ? err.message : String(err),
312
+ stackTrace: err instanceof Error ? err.stack : undefined,
313
+ },
314
+ usage: {
315
+ durationMs: 0,
316
+ },
317
+ flushedMetadata: await runMetadataManager.stopAndReturnLastFlush(),
318
+ },
319
+ });
320
+ return;
321
+ }
322
+ process.title = `trigger-dev-worker: ${execution.task.id} ${execution.run.id}`;
323
+ // Now try and get the task again
324
+ task = resourceCatalog.getTask(execution.task.id);
325
+ }
326
+ if (!task) {
327
+ console.error(`Could not find task ${execution.task.id}`);
328
+ await sender.send("TASK_RUN_COMPLETED", {
329
+ execution,
330
+ result: {
331
+ ok: false,
332
+ id: execution.run.id,
333
+ error: {
334
+ type: "INTERNAL_ERROR",
335
+ code: TaskRunErrorCodes.COULD_NOT_FIND_EXECUTOR,
336
+ },
337
+ usage: {
338
+ durationMs: 0,
339
+ },
340
+ flushedMetadata: await runMetadataManager.stopAndReturnLastFlush(),
341
+ },
342
+ });
343
+ return;
344
+ }
345
+ runMetadataManager.runId = execution.run.id;
346
+ runMetadataManager.runIdIsRoot = typeof execution.run.rootTaskRunId === "undefined";
347
+ _executionCount++;
348
+ const executor = new TaskExecutor(task, {
349
+ tracer,
350
+ tracingSDK,
351
+ consoleInterceptor,
352
+ retries: config.retries,
353
+ isWarmStart,
354
+ executionCount: _executionCount,
355
+ });
356
+ try {
357
+ _execution = execution;
358
+ _isRunning = true;
359
+ standardHeartbeatsManager.startHeartbeat(_execution.run.id);
360
+ runMetadataManager.startPeriodicFlush(getNumberEnvVar("TRIGGER_RUN_METADATA_FLUSH_INTERVAL", 1000));
361
+ _executionMeasurement = usage.start();
362
+ const timeoutController = timeout.abortAfterTimeout(execution.run.maxDuration);
363
+ const signal = AbortSignal.any([_cancelController.signal, timeoutController.signal]);
364
+ const { result } = await executor.execute(execution, ctx, signal);
365
+ if (_isRunning && !_isCancelled) {
366
+ const usageSample = usage.stop(_executionMeasurement);
367
+ return sender.send("TASK_RUN_COMPLETED", {
368
+ execution,
369
+ result: {
370
+ ...result,
371
+ usage: {
372
+ durationMs: usageSample.cpuTime,
373
+ },
374
+ flushedMetadata: await runMetadataManager.stopAndReturnLastFlush(),
375
+ },
376
+ });
377
+ }
378
+ }
379
+ finally {
380
+ standardHeartbeatsManager.stopHeartbeat();
381
+ _execution = undefined;
382
+ _isRunning = false;
383
+ console.log(`[${new Date().toISOString()}] Task run completed`);
384
+ }
385
+ }
386
+ catch (err) {
387
+ console.error("Failed to execute task", err);
388
+ await sender.send("TASK_RUN_COMPLETED", {
389
+ execution,
390
+ result: {
391
+ ok: false,
392
+ id: execution.run.id,
393
+ error: {
394
+ type: "INTERNAL_ERROR",
395
+ code: TaskRunErrorCodes.CONFIGURED_INCORRECTLY,
396
+ message: err instanceof Error ? err.message : String(err),
397
+ stackTrace: err instanceof Error ? err.stack : undefined,
398
+ },
399
+ usage: {
400
+ durationMs: 0,
401
+ },
402
+ flushedMetadata: await runMetadataManager.stopAndReturnLastFlush(),
403
+ },
404
+ });
405
+ }
406
+ },
407
+ CANCEL: async ({ timeoutInMs }) => {
408
+ _isCancelled = true;
409
+ _cancelController.abort("run cancelled");
410
+ await callCancelHooks(timeoutInMs);
411
+ if (_executionMeasurement) {
412
+ usage.stop(_executionMeasurement);
413
+ }
414
+ await flushAll(timeoutInMs);
415
+ },
416
+ FLUSH: async ({ timeoutInMs }) => {
417
+ await flushAll(timeoutInMs);
418
+ },
419
+ RESOLVE_WAITPOINT: async ({ waitpoint }) => {
420
+ _sharedWorkerRuntime?.resolveWaitpoints([waitpoint]);
421
+ },
422
+ },
423
+ });
424
+ async function callCancelHooks(timeoutInMs = 10_000) {
425
+ const now = performance.now();
426
+ try {
427
+ await Promise.race([lifecycleHooks.callOnCancelHookListeners(), setTimeout(timeoutInMs)]);
428
+ }
429
+ finally {
430
+ const duration = performance.now() - now;
431
+ console.log(`Called cancel hooks in ${duration}ms`);
432
+ }
433
+ }
434
+ async function flushAll(timeoutInMs = 10_000) {
435
+ const now = performance.now();
436
+ const { promise, resolve } = promiseWithResolvers();
437
+ _lastFlushPromise = promise;
438
+ const results = await Promise.allSettled([
439
+ flushUsage(timeoutInMs),
440
+ flushTracingSDK(timeoutInMs),
441
+ flushMetadata(timeoutInMs),
442
+ ]);
443
+ const successfulFlushes = results
444
+ .filter((result) => result.status === "fulfilled")
445
+ .map((result) => result.value.flushed);
446
+ const failedFlushes = ["usage", "tracingSDK", "runMetadata"].filter((flushed) => !successfulFlushes.includes(flushed));
447
+ if (failedFlushes.length > 0) {
448
+ console.error(`Failed to flush ${failedFlushes.join(", ")}`);
449
+ }
450
+ const errorMessages = results
451
+ .filter((result) => result.status === "rejected")
452
+ .map((result) => result.reason);
453
+ if (errorMessages.length > 0) {
454
+ console.error(errorMessages.join("\n"));
455
+ }
456
+ for (const flushed of successfulFlushes) {
457
+ console.log(`Flushed ${flushed} successfully`);
458
+ }
459
+ const duration = performance.now() - now;
460
+ console.log(`Flushed all in ${duration}ms`);
461
+ // Resolve the last flush promise
462
+ resolve();
463
+ }
464
+ async function flushUsage(timeoutInMs = 10_000) {
465
+ const now = performance.now();
466
+ await Promise.race([usage.flush(), setTimeout(timeoutInMs)]);
467
+ const duration = performance.now() - now;
468
+ console.log(`Flushed usage in ${duration}ms`);
469
+ return {
470
+ flushed: "usage",
471
+ durationMs: duration,
472
+ };
473
+ }
474
+ async function flushTracingSDK(timeoutInMs = 10_000) {
475
+ const now = performance.now();
476
+ await Promise.race([_tracingSDK?.flush(), setTimeout(timeoutInMs)]);
477
+ const duration = performance.now() - now;
478
+ console.log(`Flushed tracingSDK in ${duration}ms`);
479
+ return {
480
+ flushed: "tracingSDK",
481
+ durationMs: duration,
482
+ };
483
+ }
484
+ async function flushMetadata(timeoutInMs = 10_000) {
485
+ const now = performance.now();
486
+ await Promise.race([runMetadataManager.flush(), setTimeout(timeoutInMs)]);
487
+ const duration = performance.now() - now;
488
+ console.log(`Flushed runMetadata in ${duration}ms`);
489
+ return {
490
+ flushed: "runMetadata",
491
+ durationMs: duration,
492
+ };
493
+ }
494
+ function initializeUsageManager({ usageIntervalMs, usageEventUrl, triggerJWT, }) {
495
+ const devUsageManager = new DevUsageManager();
496
+ const prodUsageManager = new ProdUsageManager(devUsageManager, {
497
+ heartbeatIntervalMs: usageIntervalMs ? parseInt(usageIntervalMs, 10) : undefined,
498
+ url: usageEventUrl,
499
+ jwt: triggerJWT,
500
+ });
501
+ usage.setGlobalUsageManager(prodUsageManager);
502
+ timeout.setGlobalManager(new UsageTimeoutManager(devUsageManager));
503
+ return prodUsageManager;
504
+ }
505
+ _sharedWorkerRuntime = new SharedRuntimeManager(zodIpc, true);
506
+ runtime.setGlobalRuntimeManager(_sharedWorkerRuntime);
507
+ process.title = "trigger-managed-worker";
508
+ standardHeartbeatsManager.registerListener(async (id) => {
509
+ await zodIpc.send("TASK_HEARTBEAT", { id });
510
+ });
511
+ console.log(`[${new Date().toISOString()}] Executor started`);
512
+ //# sourceMappingURL=managed-run-worker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"managed-run-worker.js","sourceRoot":"","sources":["../../../src/entryPoints/managed-run-worker.ts"],"names":[],"mappings":"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"}