trigger.dev 3.3.16 → 4.0.0-v4-beta.0

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 (126) hide show
  1. package/README.md +31 -0
  2. package/dist/esm/apiClient.d.ts +75 -72
  3. package/dist/esm/apiClient.js +207 -31
  4. package/dist/esm/apiClient.js.map +1 -1
  5. package/dist/esm/build/buildWorker.d.ts +7 -6
  6. package/dist/esm/build/buildWorker.js +10 -36
  7. package/dist/esm/build/buildWorker.js.map +1 -1
  8. package/dist/esm/build/bundle.d.ts +12 -1
  9. package/dist/esm/build/bundle.js +61 -19
  10. package/dist/esm/build/bundle.js.map +1 -1
  11. package/dist/esm/build/entryPoints.js +17 -6
  12. package/dist/esm/build/entryPoints.js.map +1 -1
  13. package/dist/esm/build/packageModules.d.ts +14 -5
  14. package/dist/esm/build/packageModules.js +135 -35
  15. package/dist/esm/build/packageModules.js.map +1 -1
  16. package/dist/esm/cli/common.js +5 -3
  17. package/dist/esm/cli/common.js.map +1 -1
  18. package/dist/esm/cli/index.js +6 -0
  19. package/dist/esm/cli/index.js.map +1 -1
  20. package/dist/esm/commands/deploy.js +25 -3
  21. package/dist/esm/commands/deploy.js.map +1 -1
  22. package/dist/esm/commands/dev.d.ts +9 -0
  23. package/dist/esm/commands/dev.js +10 -1
  24. package/dist/esm/commands/dev.js.map +1 -1
  25. package/dist/esm/commands/list-profiles.d.ts +2 -6
  26. package/dist/esm/commands/list-profiles.js +7 -4
  27. package/dist/esm/commands/list-profiles.js.map +1 -1
  28. package/dist/esm/commands/login.js +3 -2
  29. package/dist/esm/commands/login.js.map +1 -1
  30. package/dist/esm/commands/promote.d.ts +3 -0
  31. package/dist/esm/commands/promote.js +75 -0
  32. package/dist/esm/commands/promote.js.map +1 -0
  33. package/dist/esm/commands/switch.d.ts +19 -0
  34. package/dist/esm/commands/switch.js +68 -0
  35. package/dist/esm/commands/switch.js.map +1 -0
  36. package/dist/esm/commands/trigger.d.ts +33 -0
  37. package/dist/esm/commands/trigger.js +88 -0
  38. package/dist/esm/commands/trigger.js.map +1 -0
  39. package/dist/esm/commands/workers/build.d.ts +4 -0
  40. package/dist/esm/commands/workers/build.js +340 -0
  41. package/dist/esm/commands/workers/build.js.map +1 -0
  42. package/dist/esm/commands/workers/create.d.ts +2 -0
  43. package/dist/esm/commands/workers/create.js +91 -0
  44. package/dist/esm/commands/workers/create.js.map +1 -0
  45. package/dist/esm/commands/workers/index.d.ts +2 -0
  46. package/dist/esm/commands/workers/index.js +13 -0
  47. package/dist/esm/commands/workers/index.js.map +1 -0
  48. package/dist/esm/commands/workers/list.d.ts +2 -0
  49. package/dist/esm/commands/workers/list.js +80 -0
  50. package/dist/esm/commands/workers/list.js.map +1 -0
  51. package/dist/esm/commands/workers/run.d.ts +2 -0
  52. package/dist/esm/commands/workers/run.js +105 -0
  53. package/dist/esm/commands/workers/run.js.map +1 -0
  54. package/dist/esm/config.js +11 -1
  55. package/dist/esm/config.js.map +1 -1
  56. package/dist/esm/deploy/buildImage.d.ts +1 -1
  57. package/dist/esm/deploy/buildImage.js +54 -34
  58. package/dist/esm/deploy/buildImage.js.map +1 -1
  59. package/dist/esm/dev/backgroundWorker.d.ts +2 -240
  60. package/dist/esm/dev/backgroundWorker.js +8 -305
  61. package/dist/esm/dev/backgroundWorker.js.map +1 -1
  62. package/dist/esm/dev/devOutput.js +13 -5
  63. package/dist/esm/dev/devOutput.js.map +1 -1
  64. package/dist/esm/dev/devSession.js +25 -48
  65. package/dist/esm/dev/devSession.js.map +1 -1
  66. package/dist/esm/dev/devSupervisor.d.ts +12 -0
  67. package/dist/esm/dev/devSupervisor.js +515 -0
  68. package/dist/esm/dev/devSupervisor.js.map +1 -0
  69. package/dist/esm/dev/lock.d.ts +1 -0
  70. package/dist/esm/dev/lock.js +80 -0
  71. package/dist/esm/dev/lock.js.map +1 -0
  72. package/dist/esm/dev/mcpServer.d.ts +10 -0
  73. package/dist/esm/dev/mcpServer.js +201 -0
  74. package/dist/esm/dev/mcpServer.js.map +1 -0
  75. package/dist/esm/dev/workerRuntime.d.ts +0 -1
  76. package/dist/esm/dev/workerRuntime.js +1 -322
  77. package/dist/esm/dev/workerRuntime.js.map +1 -1
  78. package/dist/esm/entryPoints/dev-index-worker.js +9 -7
  79. package/dist/esm/entryPoints/dev-index-worker.js.map +1 -1
  80. package/dist/esm/entryPoints/dev-run-controller.d.ts +53 -0
  81. package/dist/esm/entryPoints/dev-run-controller.js +615 -0
  82. package/dist/esm/entryPoints/dev-run-controller.js.map +1 -0
  83. package/dist/esm/entryPoints/dev-run-worker.js +252 -169
  84. package/dist/esm/entryPoints/dev-run-worker.js.map +1 -1
  85. package/dist/esm/entryPoints/{deploy-index-controller.js → managed-index-controller.js} +3 -1
  86. package/dist/esm/entryPoints/managed-index-controller.js.map +1 -0
  87. package/dist/esm/entryPoints/{deploy-index-worker.js → managed-index-worker.js} +12 -24
  88. package/dist/esm/entryPoints/managed-index-worker.js.map +1 -0
  89. package/dist/esm/entryPoints/managed-run-controller.js +1350 -0
  90. package/dist/esm/entryPoints/managed-run-controller.js.map +1 -0
  91. package/dist/esm/entryPoints/{deploy-run-worker.js → managed-run-worker.js} +113 -68
  92. package/dist/esm/entryPoints/managed-run-worker.js.map +1 -0
  93. package/dist/esm/executions/taskRunProcess.d.ts +18 -73
  94. package/dist/esm/executions/taskRunProcess.js +76 -28
  95. package/dist/esm/executions/taskRunProcess.js.map +1 -1
  96. package/dist/esm/indexing/indexWorkerManifest.d.ts +9 -2
  97. package/dist/esm/indexing/registerResources.d.ts +2 -0
  98. package/dist/esm/indexing/registerResources.js +40 -0
  99. package/dist/esm/indexing/registerResources.js.map +1 -0
  100. package/dist/esm/utilities/configFiles.d.ts +36 -15
  101. package/dist/esm/utilities/configFiles.js +73 -26
  102. package/dist/esm/utilities/configFiles.js.map +1 -1
  103. package/dist/esm/utilities/eventBus.d.ts +6 -3
  104. package/dist/esm/utilities/eventBus.js.map +1 -1
  105. package/dist/esm/utilities/githubActions.d.ts +4 -0
  106. package/dist/esm/utilities/githubActions.js +18 -0
  107. package/dist/esm/utilities/githubActions.js.map +1 -0
  108. package/dist/esm/utilities/initialBanner.js +18 -6
  109. package/dist/esm/utilities/initialBanner.js.map +1 -1
  110. package/dist/esm/utilities/sanitizeEnvVars.d.ts +16 -3
  111. package/dist/esm/utilities/sanitizeEnvVars.js +15 -0
  112. package/dist/esm/utilities/sanitizeEnvVars.js.map +1 -1
  113. package/dist/esm/version.js +1 -1
  114. package/package.json +12 -6
  115. package/dist/esm/entryPoints/deploy-index-controller.js.map +0 -1
  116. package/dist/esm/entryPoints/deploy-index-worker.js.map +0 -1
  117. package/dist/esm/entryPoints/deploy-run-controller.js +0 -1099
  118. package/dist/esm/entryPoints/deploy-run-controller.js.map +0 -1
  119. package/dist/esm/entryPoints/deploy-run-worker.js.map +0 -1
  120. package/dist/esm/indexing/registerTasks.d.ts +0 -2
  121. package/dist/esm/indexing/registerTasks.js +0 -62
  122. package/dist/esm/indexing/registerTasks.js.map +0 -1
  123. /package/dist/esm/entryPoints/{deploy-index-controller.d.ts → managed-index-controller.d.ts} +0 -0
  124. /package/dist/esm/entryPoints/{deploy-index-worker.d.ts → managed-index-worker.d.ts} +0 -0
  125. /package/dist/esm/entryPoints/{deploy-run-controller.d.ts → managed-run-controller.d.ts} +0 -0
  126. /package/dist/esm/entryPoints/{deploy-run-worker.d.ts → managed-run-worker.d.ts} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"managed-index-controller.js","sourceRoot":"","sources":["../../../src/entryPoints/managed-index-controller.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
- import { BuildManifest, indexerToWorkerMessages, taskCatalog, } from "@trigger.dev/core/v3";
2
- import { StandardTaskCatalog, TracingSDK, } from "@trigger.dev/core/v3/workers";
1
+ import { BuildManifest, indexerToWorkerMessages, resourceCatalog, } from "@trigger.dev/core/v3";
2
+ import { StandardResourceCatalog, TracingSDK, } from "@trigger.dev/core/v3/workers";
3
3
  import { sendMessageInCatalog, ZodSchemaParsedError } from "@trigger.dev/core/v3/zodMessageHandler";
4
4
  import { readFile } from "node:fs/promises";
5
5
  import sourceMapSupport from "source-map-support";
6
- import { registerTasks } from "../indexing/registerTasks.js";
6
+ import { registerResources } from "../indexing/registerResources.js";
7
7
  import { env } from "std-env";
8
8
  import { normalizeImportPath } from "../utilities/normalizeImportPath.js";
9
9
  sourceMapSupport.install({
@@ -38,9 +38,9 @@ process.on("uncaughtException", function (error, origin) {
38
38
  });
39
39
  }
40
40
  });
41
- taskCatalog.setGlobalTaskCatalog(new StandardTaskCatalog());
41
+ resourceCatalog.setGlobalResourceCatalog(new StandardResourceCatalog());
42
42
  async function importConfig(configPath) {
43
- const configModule = await import(configPath);
43
+ const configModule = await import(normalizeImportPath(configPath));
44
44
  const config = configModule?.default ?? configModule?.config;
45
45
  return {
46
46
  config,
@@ -54,7 +54,7 @@ async function loadBuildManifest() {
54
54
  }
55
55
  async function bootstrap() {
56
56
  const buildManifest = await loadBuildManifest();
57
- const { config } = await importConfig(normalizeImportPath(buildManifest.configPath));
57
+ const { config } = await importConfig(buildManifest.configPath);
58
58
  // This needs to run or the PrismaInstrumentation will throw an error
59
59
  const tracingSDK = new TracingSDK({
60
60
  url: env.OTEL_EXPORTER_OTLP_ENDPOINT ?? "http://0.0.0.0:4318",
@@ -62,7 +62,7 @@ async function bootstrap() {
62
62
  diagLogLevel: env.OTEL_LOG_LEVEL ?? "none",
63
63
  forceFlushTimeoutMillis: 30_000,
64
64
  });
65
- const importErrors = await registerTasks(buildManifest);
65
+ const importErrors = await registerResources(buildManifest);
66
66
  return {
67
67
  tracingSDK,
68
68
  config,
@@ -71,7 +71,7 @@ async function bootstrap() {
71
71
  };
72
72
  }
73
73
  const { buildManifest, importErrors, config } = await bootstrap();
74
- let tasks = taskCatalog.listTaskManifests();
74
+ let tasks = resourceCatalog.listTaskManifests();
75
75
  // If the config has retry defaults, we need to apply them to all tasks that don't have any retry settings
76
76
  if (config.retries?.default) {
77
77
  tasks = tasks.map((task) => {
@@ -84,20 +84,6 @@ if (config.retries?.default) {
84
84
  return task;
85
85
  });
86
86
  }
87
- // If the config has a machine preset, we need to apply it to all tasks that don't have a machine preset
88
- if (typeof config.machine === "string") {
89
- tasks = tasks.map((task) => {
90
- if (typeof task.machine?.preset !== "string") {
91
- return {
92
- ...task,
93
- machine: {
94
- preset: config.machine,
95
- },
96
- };
97
- }
98
- return task;
99
- });
100
- }
101
87
  // If the config has a maxDuration, we need to apply it to all tasks that don't have a maxDuration
102
88
  if (typeof config.maxDuration === "number") {
103
89
  tasks = tasks.map((task) => {
@@ -113,12 +99,14 @@ if (typeof config.maxDuration === "number") {
113
99
  await sendMessageInCatalog(indexerToWorkerMessages, "INDEX_COMPLETE", {
114
100
  manifest: {
115
101
  tasks,
102
+ queues: resourceCatalog.listQueueManifests(),
116
103
  configPath: buildManifest.configPath,
117
104
  runtime: buildManifest.runtime,
118
105
  workerEntryPoint: buildManifest.runWorkerEntryPoint,
119
106
  controllerEntryPoint: buildManifest.runControllerEntryPoint,
120
107
  loaderEntryPoint: buildManifest.loaderEntryPoint,
121
108
  customConditions: buildManifest.customConditions,
109
+ initEntryPoint: buildManifest.initEntryPoint,
122
110
  },
123
111
  importErrors,
124
112
  }, async (msg) => {
@@ -126,7 +114,7 @@ await sendMessageInCatalog(indexerToWorkerMessages, "INDEX_COMPLETE", {
126
114
  }).catch((err) => {
127
115
  if (err instanceof ZodSchemaParsedError) {
128
116
  return sendMessageInCatalog(indexerToWorkerMessages, "TASKS_FAILED_TO_PARSE", { zodIssues: err.error.issues, tasks }, async (msg) => {
129
- await process.send?.(msg);
117
+ process.send?.(msg);
130
118
  });
131
119
  }
132
120
  else {
@@ -139,4 +127,4 @@ await new Promise((resolve) => {
139
127
  resolve();
140
128
  }, 10);
141
129
  });
142
- //# sourceMappingURL=deploy-index-worker.js.map
130
+ //# sourceMappingURL=managed-index-worker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"managed-index-worker.js","sourceRoot":"","sources":["../../../src/entryPoints/managed-index-worker.ts"],"names":[],"mappings":"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"}