trigger.dev 3.0.0-beta.2 → 3.0.0-beta.4

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.
@@ -2,6 +2,7 @@ import type { TriggerConfig } from "@trigger.dev/sdk/v3";
2
2
 
3
3
  export const config: TriggerConfig = {
4
4
  project: "${projectRef}",
5
+ logLevel: "log",
5
6
  retries: {
6
7
  enabledInDev: false,
7
8
  default: {
@@ -2,7 +2,10 @@
2
2
  import {
3
3
  TaskExecutor,
4
4
  DurableClock,
5
- clock
5
+ clock,
6
+ logLevels,
7
+ getEnvVar,
8
+ ZodSchemaParsedError
6
9
  } from "@trigger.dev/core/v3";
7
10
  import {
8
11
  ConsoleInterceptor,
@@ -17,7 +20,7 @@ import {
17
20
  } from "@trigger.dev/core/v3";
18
21
 
19
22
  // package.json
20
- var version = "3.0.0-beta.2";
23
+ var version = "3.0.0-beta.4";
21
24
 
22
25
  // src/workers/dev/worker-facade.ts
23
26
  __WORKER_SETUP__;
@@ -30,10 +33,12 @@ var tracer = new TriggerTracer({ tracer: otelTracer, logger: otelLogger });
30
33
  var consoleInterceptor = new ConsoleInterceptor(otelLogger);
31
34
  var devRuntimeManager = new DevRuntimeManager();
32
35
  runtime.setGlobalRuntimeManager(devRuntimeManager);
36
+ var triggerLogLevel = getEnvVar("TRIGGER_LOG_LEVEL");
37
+ var configLogLevel = triggerLogLevel ? triggerLogLevel : importedConfig ? importedConfig.logLevel : __PROJECT_CONFIG__.logLevel;
33
38
  var otelTaskLogger = new OtelTaskLogger({
34
39
  logger: otelLogger,
35
40
  tracer,
36
- level: "info"
41
+ level: logLevels.includes(configLogLevel) ? configLogLevel : "log"
37
42
  });
38
43
  logger.setGlobalTaskLogger(otelTaskLogger);
39
44
  var TaskFileImports = {};
@@ -152,8 +157,13 @@ var handler = new ZodMessageHandler({
152
157
  process.on("message", async (msg) => {
153
158
  await handler.handleMessage(msg);
154
159
  });
155
- sender.send("TASKS_READY", { tasks: getTaskMetadata() }).catch((err) => {
156
- console.error("Failed to send TASKS_READY message", err);
160
+ var TASK_METADATA = getTaskMetadata();
161
+ sender.send("TASKS_READY", { tasks: TASK_METADATA }).catch((err) => {
162
+ if (err instanceof ZodSchemaParsedError) {
163
+ sender.send("TASKS_FAILED_TO_PARSE", { zodIssues: err.error.issues, tasks: TASK_METADATA });
164
+ } else {
165
+ console.error("Failed to send TASKS_READY message", err);
166
+ }
157
167
  });
158
168
  process.title = "trigger-dev-worker";
159
169
  async function asyncHeartbeat(initialDelayInSeconds = 30, intervalInSeconds = 5) {
@@ -108,6 +108,14 @@ var UncaughtExceptionError = class extends Error {
108
108
  this.name = "UncaughtExceptionError";
109
109
  }
110
110
  };
111
+ var TaskMetadataParseError = class extends Error {
112
+ constructor(zodIssues, tasks) {
113
+ super(`Failed to parse task metadata`);
114
+ this.zodIssues = zodIssues;
115
+ this.tasks = tasks;
116
+ this.name = "TaskMetadataParseError";
117
+ }
118
+ };
111
119
 
112
120
  // src/workers/prod/backgroundWorker.ts
113
121
  var UnexpectedExitError = class extends Error {
@@ -206,6 +214,14 @@ var ProdBackgroundWorker = class {
206
214
  reject(new UncaughtExceptionError(message.error, message.origin));
207
215
  child.kill();
208
216
  }
217
+ },
218
+ TASKS_FAILED_TO_PARSE: async (message) => {
219
+ if (!resolved) {
220
+ clearTimeout(timeout);
221
+ resolved = true;
222
+ reject(new TaskMetadataParseError(message.zodIssues, message.tasks));
223
+ child.kill();
224
+ }
209
225
  }
210
226
  }
211
227
  });
@@ -247,6 +263,7 @@ var ProdBackgroundWorker = class {
247
263
  );
248
264
  if (!this._taskRunProcess) {
249
265
  const taskRunProcess = new TaskRunProcess(
266
+ payload.execution,
250
267
  this.path,
251
268
  {
252
269
  ...this.params.env,
@@ -358,7 +375,8 @@ var ProdBackgroundWorker = class {
358
375
  }
359
376
  };
360
377
  var TaskRunProcess = class {
361
- constructor(path, env, metadata, worker) {
378
+ constructor(execution, path, env, metadata, worker) {
379
+ this.execution = execution;
362
380
  this.path = path;
363
381
  this.env = env;
364
382
  this.metadata = metadata;
@@ -391,6 +409,7 @@ var TaskRunProcess = class {
391
409
  "ipc"
392
410
  ],
393
411
  env: {
412
+ ...this.execution.run.isTest ? { TRIGGER_LOG_LEVEL: "debug" } : {},
394
413
  ...this.env,
395
414
  OTEL_RESOURCE_ATTRIBUTES: JSON.stringify({
396
415
  [SemanticInternalAttributes.PROJECT_DIR]: this.worker.projectConfig.projectDir
@@ -868,7 +887,18 @@ var ProdWorker = class {
868
887
  process.exit(1);
869
888
  }
870
889
  } catch (e) {
871
- if (e instanceof UncaughtExceptionError) {
890
+ if (e instanceof TaskMetadataParseError) {
891
+ logger3.error("tasks metadata parse error", { message: e.zodIssues, tasks: e.tasks });
892
+ socket.emit("INDEXING_FAILED", {
893
+ version: "v1",
894
+ deploymentId: this.deploymentId,
895
+ error: {
896
+ name: "TaskMetadataParseError",
897
+ message: "There was an error parsing the task metadata",
898
+ stack: JSON.stringify({ zodIssues: e.zodIssues, tasks: e.tasks })
899
+ }
900
+ });
901
+ } else if (e instanceof UncaughtExceptionError) {
872
902
  logger3.error("uncaught exception", { message: e.originalError.message });
873
903
  socket.emit("INDEXING_FAILED", {
874
904
  version: "v1",
@@ -5,7 +5,10 @@ import {
5
5
  TaskExecutor,
6
6
  ZodIpcConnection,
7
7
  DurableClock,
8
- clock
8
+ clock,
9
+ getEnvVar,
10
+ logLevels,
11
+ ZodSchemaParsedError
9
12
  } from "@trigger.dev/core/v3";
10
13
  import "source-map-support/register.js";
11
14
  import {
@@ -19,7 +22,7 @@ import {
19
22
  } from "@trigger.dev/core/v3";
20
23
 
21
24
  // package.json
22
- var version = "3.0.0-beta.2";
25
+ var version = "3.0.0-beta.4";
23
26
 
24
27
  // src/workers/prod/worker-facade.ts
25
28
  __WORKER_SETUP__;
@@ -30,10 +33,12 @@ var durableClock = new DurableClock();
30
33
  clock.setGlobalClock(durableClock);
31
34
  var tracer = new TriggerTracer({ tracer: otelTracer, logger: otelLogger });
32
35
  var consoleInterceptor = new ConsoleInterceptor(otelLogger);
36
+ var triggerLogLevel = getEnvVar("TRIGGER_LOG_LEVEL");
37
+ var configLogLevel = triggerLogLevel ? triggerLogLevel : importedConfig ? importedConfig.logLevel : __PROJECT_CONFIG__.logLevel;
33
38
  var otelTaskLogger = new OtelTaskLogger({
34
39
  logger: otelLogger,
35
40
  tracer,
36
- level: "info"
41
+ level: logLevels.includes(configLogLevel) ? configLogLevel : "log"
37
42
  });
38
43
  logger.setGlobalTaskLogger(otelTaskLogger);
39
44
  var TaskFileImports = {};
@@ -158,8 +163,13 @@ var prodRuntimeManager = new ProdRuntimeManager(zodIpc, {
158
163
  waitThresholdInMs: parseInt(process.env.TRIGGER_RUNTIME_WAIT_THRESHOLD_IN_MS ?? "30000", 10)
159
164
  });
160
165
  runtime.setGlobalRuntimeManager(prodRuntimeManager);
161
- zodIpc.send("TASKS_READY", { tasks: getTaskMetadata() }).catch((err) => {
162
- console.error("Failed to send TASKS_READY message", err);
166
+ var TASK_METADATA = getTaskMetadata();
167
+ zodIpc.send("TASKS_READY", { tasks: TASK_METADATA }).catch((err) => {
168
+ if (err instanceof ZodSchemaParsedError) {
169
+ zodIpc.send("TASKS_FAILED_TO_PARSE", { zodIssues: err.error.issues, tasks: TASK_METADATA });
170
+ } else {
171
+ console.error("Failed to send TASKS_READY message", err);
172
+ }
163
173
  });
164
174
  process.title = "trigger-prod-worker";
165
175
  async function asyncHeartbeat(initialDelayInSeconds = 30, intervalInSeconds = 5) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "trigger.dev",
3
- "version": "3.0.0-beta.2",
3
+ "version": "3.0.0-beta.4",
4
4
  "description": "A Command-Line Interface for Trigger.dev (v3) projects",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -54,8 +54,8 @@
54
54
  "typescript": "^5.3.3",
55
55
  "vitest": "^0.34.4",
56
56
  "xdg-app-paths": "^8.3.0",
57
- "@trigger.dev/core-apps": "3.0.0-beta.1",
58
- "@trigger.dev/tsconfig": "0.0.0"
57
+ "@trigger.dev/tsconfig": "0.0.0",
58
+ "@trigger.dev/core-apps": "3.0.0-beta.3"
59
59
  },
60
60
  "watch": {
61
61
  "build:prod-containerfile": "src/Containerfile.prod"
@@ -75,7 +75,7 @@
75
75
  "@opentelemetry/sdk-trace-base": "^1.22.0",
76
76
  "@opentelemetry/sdk-trace-node": "^1.22.0",
77
77
  "@opentelemetry/semantic-conventions": "^1.22.0",
78
- "@trigger.dev/core": "^3.0.0-beta.1",
78
+ "@trigger.dev/core": "^3.0.0-beta.3",
79
79
  "@types/degit": "^2.8.3",
80
80
  "chalk": "^5.2.0",
81
81
  "chokidar": "^3.5.3",