trigger.dev 0.0.0-v3-canary-20240325172431 → 0.0.0-v3-pnpm-fix-20240403154252

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: {
@@ -1,7 +1,11 @@
1
1
  // src/workers/dev/worker-facade.ts
2
2
  import {
3
3
  TaskExecutor,
4
- preciseDateOriginNow
4
+ DurableClock,
5
+ clock,
6
+ logLevels,
7
+ getEnvVar,
8
+ ZodSchemaParsedError
5
9
  } from "@trigger.dev/core/v3";
6
10
  import {
7
11
  ConsoleInterceptor,
@@ -16,23 +20,25 @@ import {
16
20
  } from "@trigger.dev/core/v3";
17
21
 
18
22
  // package.json
19
- var version = "0.0.0-v3-canary-20240325172431";
23
+ var version = "0.0.0-v3-pnpm-fix-20240403154252";
20
24
 
21
25
  // src/workers/dev/worker-facade.ts
22
26
  __WORKER_SETUP__;
23
27
  __IMPORTED_PROJECT_CONFIG__;
24
28
  var otelTracer = tracingSDK.getTracer("trigger-dev-worker", version);
25
29
  var otelLogger = tracingSDK.getLogger("trigger-dev-worker", version);
26
- var preciseDateOrigin = preciseDateOriginNow();
30
+ var durableClock = new DurableClock();
31
+ clock.setGlobalClock(durableClock);
27
32
  var tracer = new TriggerTracer({ tracer: otelTracer, logger: otelLogger });
28
- var consoleInterceptor = new ConsoleInterceptor(otelLogger, preciseDateOrigin);
33
+ var consoleInterceptor = new ConsoleInterceptor(otelLogger);
29
34
  var devRuntimeManager = new DevRuntimeManager();
30
35
  runtime.setGlobalRuntimeManager(devRuntimeManager);
36
+ var triggerLogLevel = getEnvVar("TRIGGER_LOG_LEVEL");
37
+ var configLogLevel = triggerLogLevel ? triggerLogLevel : importedConfig ? importedConfig.logLevel : __PROJECT_CONFIG__.logLevel;
31
38
  var otelTaskLogger = new OtelTaskLogger({
32
39
  logger: otelLogger,
33
40
  tracer,
34
- level: "info",
35
- preciseDateOrigin
41
+ level: logLevels.includes(configLogLevel) ? configLogLevel : "log"
36
42
  });
37
43
  logger.setGlobalTaskLogger(otelTaskLogger);
38
44
  var TaskFileImports = {};
@@ -51,6 +57,7 @@ function getTasks() {
51
57
  filePath: taskFile.filePath,
52
58
  queue: task.__trigger.queue,
53
59
  retry: task.__trigger.retry,
60
+ machine: task.__trigger.machine,
54
61
  fns: task.__trigger.fns
55
62
  });
56
63
  }
@@ -150,8 +157,13 @@ var handler = new ZodMessageHandler({
150
157
  process.on("message", async (msg) => {
151
158
  await handler.handleMessage(msg);
152
159
  });
153
- sender.send("TASKS_READY", { tasks: getTaskMetadata() }).catch((err) => {
154
- 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
+ }
155
167
  });
156
168
  process.title = "trigger-dev-worker";
157
169
  async function asyncHeartbeat(initialDelayInSeconds = 30, intervalInSeconds = 5) {
@@ -1,6 +1,8 @@
1
1
  // src/workers/prod/entry-point.ts
2
2
  import {
3
3
  CoordinatorToProdWorkerMessages,
4
+ PostStartCauses,
5
+ PreStopCauses,
4
6
  ProdWorkerToCoordinatorMessages,
5
7
  ZodSocketConnection as ZodSocketConnection2
6
8
  } from "@trigger.dev/core/v3";
@@ -78,12 +80,12 @@ var MACHINE_NAME = process.env.MACHINE_NAME || "local";
78
80
  var PLATFORM_HOST = process.env.PLATFORM_HOST || "127.0.0.1";
79
81
  var PLATFORM_WS_PORT = process.env.PLATFORM_WS_PORT || 3030;
80
82
  var PLATFORM_SECRET = process.env.PLATFORM_SECRET || "provider-secret";
83
+ var SECURE_CONNECTION = ["1", "true"].includes(process.env.SECURE_CONNECTION ?? "false");
81
84
  var logger = new SimpleLogger(`[${MACHINE_NAME}]`);
82
85
 
83
86
  // src/workers/prod/entry-point.ts
84
87
  import { readFile } from "node:fs/promises";
85
88
  import { createServer } from "node:http";
86
- import { z } from "zod";
87
89
 
88
90
  // src/workers/prod/backgroundWorker.ts
89
91
  import {
@@ -106,6 +108,14 @@ var UncaughtExceptionError = class extends Error {
106
108
  this.name = "UncaughtExceptionError";
107
109
  }
108
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
+ };
109
119
 
110
120
  // src/workers/prod/backgroundWorker.ts
111
121
  var UnexpectedExitError = class extends Error {
@@ -204,6 +214,14 @@ var ProdBackgroundWorker = class {
204
214
  reject(new UncaughtExceptionError(message.error, message.origin));
205
215
  child.kill();
206
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
+ }
207
225
  }
208
226
  }
209
227
  });
@@ -245,6 +263,7 @@ var ProdBackgroundWorker = class {
245
263
  );
246
264
  if (!this._taskRunProcess) {
247
265
  const taskRunProcess = new TaskRunProcess(
266
+ payload.execution,
248
267
  this.path,
249
268
  {
250
269
  ...this.params.env,
@@ -356,7 +375,8 @@ var ProdBackgroundWorker = class {
356
375
  }
357
376
  };
358
377
  var TaskRunProcess = class {
359
- constructor(path, env, metadata, worker) {
378
+ constructor(execution, path, env, metadata, worker) {
379
+ this.execution = execution;
360
380
  this.path = path;
361
381
  this.env = env;
362
382
  this.metadata = metadata;
@@ -389,6 +409,7 @@ var TaskRunProcess = class {
389
409
  "ipc"
390
410
  ],
391
411
  env: {
412
+ ...this.execution.run.isTest ? { TRIGGER_LOG_LEVEL: "debug" } : {},
392
413
  ...this.env,
393
414
  OTEL_RESOURCE_ATTRIBUTES: JSON.stringify({
394
415
  [SemanticInternalAttributes.PROJECT_DIR]: this.worker.projectConfig.projectDir
@@ -866,7 +887,18 @@ var ProdWorker = class {
866
887
  process.exit(1);
867
888
  }
868
889
  } catch (e) {
869
- 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) {
870
902
  logger3.error("uncaught exception", { message: e.originalError.message });
871
903
  socket.emit("INDEXING_FAILED", {
872
904
  version: "v1",
@@ -992,20 +1024,13 @@ var ProdWorker = class {
992
1024
  return reply.text("Received ACK from coordinator");
993
1025
  }
994
1026
  case "/preStop": {
995
- const schema = z.enum(["index", "create", "restore"]);
996
- const cause = schema.safeParse(url.searchParams.get("cause"));
1027
+ const cause = PreStopCauses.safeParse(url.searchParams.get("cause"));
997
1028
  if (!cause.success) {
998
1029
  logger2.error("Failed to parse cause", { cause });
999
- return;
1030
+ return reply.text("Failed to parse cause", 400);
1000
1031
  }
1001
1032
  switch (cause.data) {
1002
- case "index": {
1003
- break;
1004
- }
1005
- case "create": {
1006
- break;
1007
- }
1008
- case "restore": {
1033
+ case "terminate": {
1009
1034
  break;
1010
1035
  }
1011
1036
  default: {
@@ -1017,11 +1042,10 @@ var ProdWorker = class {
1017
1042
  return reply.text("preStop ok");
1018
1043
  }
1019
1044
  case "/postStart": {
1020
- const schema = z.enum(["index", "create", "restore"]);
1021
- const cause = schema.safeParse(url.searchParams.get("cause"));
1045
+ const cause = PostStartCauses.safeParse(url.searchParams.get("cause"));
1022
1046
  if (!cause.success) {
1023
1047
  logger2.error("Failed to parse cause", { cause });
1024
- return;
1048
+ return reply.text("Failed to parse cause", 400);
1025
1049
  }
1026
1050
  switch (cause.data) {
1027
1051
  case "index": {
@@ -1076,11 +1100,7 @@ var ProdWorker = class {
1076
1100
  throw new Error(`Background Worker started without tasks`);
1077
1101
  }
1078
1102
  for (const task of this.#backgroundWorker.tasks) {
1079
- taskResources.push({
1080
- id: task.id,
1081
- filePath: task.filePath,
1082
- exportName: task.exportName
1083
- });
1103
+ taskResources.push(task);
1084
1104
  packageVersion = task.packageVersion;
1085
1105
  }
1086
1106
  if (!packageVersion) {
@@ -4,7 +4,11 @@ import {
4
4
  ProdWorkerToChildMessages,
5
5
  TaskExecutor,
6
6
  ZodIpcConnection,
7
- preciseDateOriginNow
7
+ DurableClock,
8
+ clock,
9
+ getEnvVar,
10
+ logLevels,
11
+ ZodSchemaParsedError
8
12
  } from "@trigger.dev/core/v3";
9
13
  import "source-map-support/register.js";
10
14
  import {
@@ -18,21 +22,23 @@ import {
18
22
  } from "@trigger.dev/core/v3";
19
23
 
20
24
  // package.json
21
- var version = "0.0.0-v3-canary-20240325172431";
25
+ var version = "0.0.0-v3-pnpm-fix-20240403154252";
22
26
 
23
27
  // src/workers/prod/worker-facade.ts
24
28
  __WORKER_SETUP__;
25
29
  __IMPORTED_PROJECT_CONFIG__;
26
30
  var otelTracer = tracingSDK.getTracer("trigger-prod-worker", version);
27
31
  var otelLogger = tracingSDK.getLogger("trigger-prod-worker", version);
28
- var preciseDateOrigin = preciseDateOriginNow();
32
+ var durableClock = new DurableClock();
33
+ clock.setGlobalClock(durableClock);
29
34
  var tracer = new TriggerTracer({ tracer: otelTracer, logger: otelLogger });
30
- var consoleInterceptor = new ConsoleInterceptor(otelLogger, preciseDateOrigin);
35
+ var consoleInterceptor = new ConsoleInterceptor(otelLogger);
36
+ var triggerLogLevel = getEnvVar("TRIGGER_LOG_LEVEL");
37
+ var configLogLevel = triggerLogLevel ? triggerLogLevel : importedConfig ? importedConfig.logLevel : __PROJECT_CONFIG__.logLevel;
31
38
  var otelTaskLogger = new OtelTaskLogger({
32
39
  logger: otelLogger,
33
40
  tracer,
34
- level: "info",
35
- preciseDateOrigin
41
+ level: logLevels.includes(configLogLevel) ? configLogLevel : "log"
36
42
  });
37
43
  logger.setGlobalTaskLogger(otelTaskLogger);
38
44
  var TaskFileImports = {};
@@ -51,6 +57,7 @@ function getTasks() {
51
57
  filePath: taskFile.filePath,
52
58
  queue: task.__trigger.queue,
53
59
  retry: task.__trigger.retry,
60
+ machine: task.__trigger.machine,
54
61
  fns: task.__trigger.fns
55
62
  });
56
63
  }
@@ -152,10 +159,17 @@ var zodIpc = new ZodIpcConnection({
152
159
  }
153
160
  }
154
161
  });
155
- var prodRuntimeManager = new ProdRuntimeManager(zodIpc);
162
+ var prodRuntimeManager = new ProdRuntimeManager(zodIpc, {
163
+ waitThresholdInMs: parseInt(process.env.TRIGGER_RUNTIME_WAIT_THRESHOLD_IN_MS ?? "30000", 10)
164
+ });
156
165
  runtime.setGlobalRuntimeManager(prodRuntimeManager);
157
- zodIpc.send("TASKS_READY", { tasks: getTaskMetadata() }).catch((err) => {
158
- 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
+ }
159
173
  });
160
174
  process.title = "trigger-prod-worker";
161
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": "0.0.0-v3-canary-20240325172431",
3
+ "version": "0.0.0-v3-pnpm-fix-20240403154252",
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": "0.0.0-v3-canary-20240325172431",
58
- "@trigger.dev/tsconfig": "0.0.0"
57
+ "@trigger.dev/tsconfig": "0.0.0",
58
+ "@trigger.dev/core-apps": "0.0.0-v3-pnpm-fix-20240403154252"
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": "0.0.0-v3-canary-20240325172431",
78
+ "@trigger.dev/core": "0.0.0-v3-pnpm-fix-20240403154252",
79
79
  "@types/degit": "^2.8.3",
80
80
  "chalk": "^5.2.0",
81
81
  "chokidar": "^3.5.3",
@@ -99,6 +99,7 @@
99
99
  "node-fetch": "^3.3.0",
100
100
  "npm-check-updates": "^16.12.2",
101
101
  "object-hash": "^3.0.0",
102
+ "p-debounce": "^4.0.0",
102
103
  "p-throttle": "^6.1.0",
103
104
  "partysocket": "^0.0.17",
104
105
  "proxy-agent": "^6.3.0",