trigger.dev 3.0.0-beta.36 → 3.0.0-beta.37

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.
@@ -8,7 +8,7 @@ import { ZodMessageSender } from "@trigger.dev/core/v3/zodMessageHandler";
8
8
  import "source-map-support/register.js";
9
9
 
10
10
  // package.json
11
- var version = "3.0.0-beta.36";
11
+ var version = "3.0.0-beta.37";
12
12
 
13
13
  // src/workers/dev/worker-setup.ts
14
14
  __SETUP_IMPORTED_PROJECT_CONFIG__;
@@ -5,7 +5,7 @@ import {
5
5
  PreStopCauses,
6
6
  ProdWorkerToCoordinatorMessages
7
7
  } from "@trigger.dev/core/v3";
8
- import { ZodSocketConnection as ZodSocketConnection2 } from "@trigger.dev/core/v3/zodSocket";
8
+ import { ZodSocketConnection } from "@trigger.dev/core/v3/zodSocket";
9
9
 
10
10
  // ../core-apps/src/http.ts
11
11
  var HttpReply = class {
@@ -65,24 +65,6 @@ var SimpleLogger = class {
65
65
  }
66
66
  };
67
67
 
68
- // ../core-apps/src/provider.ts
69
- import {
70
- ClientToSharedQueueMessages,
71
- clientWebsocketMessages,
72
- PlatformToProviderMessages,
73
- ProviderToPlatformMessages,
74
- SharedQueueToClientMessages
75
- } from "@trigger.dev/core/v3";
76
- import { ZodMessageSender } from "@trigger.dev/core/v3/zodMessageHandler";
77
- import { ZodSocketConnection } from "@trigger.dev/core/v3/zodSocket";
78
- var HTTP_SERVER_PORT = Number(process.env.HTTP_SERVER_PORT || getRandomPortNumber());
79
- var MACHINE_NAME = process.env.MACHINE_NAME || "local";
80
- var PLATFORM_HOST = process.env.PLATFORM_HOST || "127.0.0.1";
81
- var PLATFORM_WS_PORT = process.env.PLATFORM_WS_PORT || 3030;
82
- var PLATFORM_SECRET = process.env.PLATFORM_SECRET || "provider-secret";
83
- var SECURE_CONNECTION = ["1", "true"].includes(process.env.SECURE_CONNECTION ?? "false");
84
- var logger = new SimpleLogger(`[${MACHINE_NAME}]`);
85
-
86
68
  // src/workers/prod/entry-point.ts
87
69
  import { readFile } from "node:fs/promises";
88
70
  import { createServer } from "node:http";
@@ -171,6 +153,7 @@ var ProdBackgroundWorker = class {
171
153
  attemptCreatedNotification = Evt.create();
172
154
  _onClose = new Evt();
173
155
  tasks = [];
156
+ stderr = [];
174
157
  _taskRunProcess;
175
158
  _taskRunProcessesBeingKilled = /* @__PURE__ */ new Map();
176
159
  _closed = false;
@@ -234,6 +217,20 @@ var ProdBackgroundWorker = class {
234
217
  child.kill();
235
218
  reject(new Error("Worker timed out"));
236
219
  }, 1e4);
220
+ child.stdout?.on("data", (data) => {
221
+ console.log(data.toString());
222
+ });
223
+ child.stderr?.on("data", (data) => {
224
+ console.error(data.toString());
225
+ this.stderr.push(data.toString());
226
+ });
227
+ child.on("exit", (code) => {
228
+ if (!resolved) {
229
+ clearTimeout(timeout);
230
+ resolved = true;
231
+ reject(new Error(`Worker exited with code ${code}`));
232
+ }
233
+ });
237
234
  new ZodIpcConnection({
238
235
  listenSchema: ProdChildToWorkerMessages,
239
236
  emitSchema: ProdWorkerToChildMessages,
@@ -265,19 +262,6 @@ var ProdBackgroundWorker = class {
265
262
  }
266
263
  }
267
264
  });
268
- child.stdout?.on("data", (data) => {
269
- console.log(data.toString());
270
- });
271
- child.stderr?.on("data", (data) => {
272
- console.error(data.toString());
273
- });
274
- child.on("exit", (code) => {
275
- if (!resolved) {
276
- clearTimeout(timeout);
277
- resolved = true;
278
- reject(new Error(`Worker exited with code ${code}`));
279
- }
280
- });
281
265
  });
282
266
  this._initialized = true;
283
267
  }
@@ -818,13 +802,13 @@ var TaskRunProcess = class {
818
802
 
819
803
  // src/workers/prod/entry-point.ts
820
804
  import { setTimeout as setTimeout2 } from "node:timers/promises";
821
- var HTTP_SERVER_PORT2 = Number(process.env.HTTP_SERVER_PORT || getRandomPortNumber());
805
+ var HTTP_SERVER_PORT = Number(process.env.HTTP_SERVER_PORT || getRandomPortNumber());
822
806
  var COORDINATOR_HOST = process.env.COORDINATOR_HOST || "127.0.0.1";
823
807
  var COORDINATOR_PORT = Number(process.env.COORDINATOR_PORT || 50080);
824
- var MACHINE_NAME2 = process.env.MACHINE_NAME || "local";
808
+ var MACHINE_NAME = process.env.MACHINE_NAME || "local";
825
809
  var POD_NAME = process.env.POD_NAME || "some-pod";
826
810
  var SHORT_HASH = process.env.TRIGGER_CONTENT_HASH.slice(0, 9);
827
- var logger2 = new SimpleLogger(`[${MACHINE_NAME2}][${SHORT_HASH}]`);
811
+ var logger = new SimpleLogger(`[${MACHINE_NAME}][${SHORT_HASH}]`);
828
812
  var ProdWorker = class {
829
813
  constructor(port, host = "0.0.0.0") {
830
814
  this.host = host;
@@ -854,24 +838,24 @@ var ProdWorker = class {
854
838
  #httpServer;
855
839
  #coordinatorSocket;
856
840
  async #handleSignal(signal) {
857
- logger2.log("Received signal", { signal });
841
+ logger.log("Received signal", { signal });
858
842
  if (signal === "SIGTERM") {
859
843
  let gracefulExitTimeoutElapsed = false;
860
844
  if (this.executing) {
861
845
  const terminationGracePeriodSeconds = 60 * 60;
862
- logger2.log("Waiting for attempt to complete before exiting", {
846
+ logger.log("Waiting for attempt to complete before exiting", {
863
847
  terminationGracePeriodSeconds
864
848
  });
865
849
  await setTimeout2(terminationGracePeriodSeconds * 1e3 - 5e3);
866
850
  gracefulExitTimeoutElapsed = true;
867
- logger2.log("Termination timeout reached, exiting gracefully.");
851
+ logger.log("Termination timeout reached, exiting gracefully.");
868
852
  } else {
869
- logger2.log("Not executing, exiting immediately.");
853
+ logger.log("Not executing, exiting immediately.");
870
854
  }
871
855
  await this.#exitGracefully(gracefulExitTimeoutElapsed);
872
856
  return;
873
857
  }
874
- logger2.log("Unhandled signal", { signal });
858
+ logger.log("Unhandled signal", { signal });
875
859
  }
876
860
  async #exitGracefully(gracefulExitTimeoutElapsed = false) {
877
861
  await this.#backgroundWorker.close(gracefulExitTimeoutElapsed);
@@ -894,7 +878,7 @@ var ProdWorker = class {
894
878
  "\n",
895
879
  ""
896
880
  );
897
- logger2.log("reconnecting", {
881
+ logger.log("reconnecting", {
898
882
  coordinatorHost: {
899
883
  fromEnv: COORDINATOR_HOST,
900
884
  fromVolume: coordinatorHost,
@@ -903,7 +887,7 @@ var ProdWorker = class {
903
887
  });
904
888
  }
905
889
  } catch (error) {
906
- logger2.error("taskinfo read error during reconnect", {
890
+ logger.error("taskinfo read error during reconnect", {
907
891
  error: error instanceof Error ? error.message : error
908
892
  });
909
893
  } finally {
@@ -932,7 +916,7 @@ var ProdWorker = class {
932
916
  this.#coordinatorSocket.socket.emit("READY_FOR_CHECKPOINT", { version: "v1" });
933
917
  });
934
918
  backgroundWorker.onCancelCheckpoint.attach(async (message) => {
935
- logger2.log("onCancelCheckpoint", { message });
919
+ logger.log("onCancelCheckpoint", { message });
936
920
  const { checkpointCanceled } = await this.#coordinatorSocket.socket.emitWithAck(
937
921
  "CANCEL_CHECKPOINT",
938
922
  {
@@ -940,7 +924,7 @@ var ProdWorker = class {
940
924
  reason: message.reason
941
925
  }
942
926
  );
943
- logger2.log("onCancelCheckpoint coordinator response", { checkpointCanceled });
927
+ logger.log("onCancelCheckpoint coordinator response", { checkpointCanceled });
944
928
  if (checkpointCanceled) {
945
929
  if (message.reason === "WAIT_FOR_DURATION") {
946
930
  this.paused = false;
@@ -951,7 +935,7 @@ var ProdWorker = class {
951
935
  backgroundWorker.checkpointCanceledNotification.post({ checkpointCanceled });
952
936
  });
953
937
  backgroundWorker.onCreateTaskRunAttempt.attach(async (message) => {
954
- logger2.log("onCreateTaskRunAttempt()", { message });
938
+ logger.log("onCreateTaskRunAttempt()", { message });
955
939
  const createAttempt = await this.#coordinatorSocket.socket.emitWithAck(
956
940
  "CREATE_TASK_RUN_ATTEMPT",
957
941
  {
@@ -979,7 +963,7 @@ var ProdWorker = class {
979
963
  });
980
964
  backgroundWorker.onWaitForDuration.attach(async (message) => {
981
965
  if (!this.attemptFriendlyId) {
982
- logger2.error("Failed to send wait message, attempt friendly ID not set", { message });
966
+ logger.error("Failed to send wait message, attempt friendly ID not set", { message });
983
967
  this.#emitUnrecoverableError(
984
968
  "NoAttemptId",
985
969
  "Attempt ID not set before waiting for duration"
@@ -997,7 +981,7 @@ var ProdWorker = class {
997
981
  });
998
982
  backgroundWorker.onWaitForTask.attach(async (message) => {
999
983
  if (!this.attemptFriendlyId) {
1000
- logger2.error("Failed to send wait message, attempt friendly ID not set", { message });
984
+ logger.error("Failed to send wait message, attempt friendly ID not set", { message });
1001
985
  this.#emitUnrecoverableError("NoAttemptId", "Attempt ID not set before waiting for task");
1002
986
  return;
1003
987
  }
@@ -1012,7 +996,7 @@ var ProdWorker = class {
1012
996
  });
1013
997
  backgroundWorker.onWaitForBatch.attach(async (message) => {
1014
998
  if (!this.attemptFriendlyId) {
1015
- logger2.error("Failed to send wait message, attempt friendly ID not set", { message });
999
+ logger.error("Failed to send wait message, attempt friendly ID not set", { message });
1016
1000
  this.#emitUnrecoverableError("NoAttemptId", "Attempt ID not set before waiting for batch");
1017
1001
  return;
1018
1002
  }
@@ -1028,7 +1012,7 @@ var ProdWorker = class {
1028
1012
  return backgroundWorker;
1029
1013
  }
1030
1014
  async #prepareForWait(reason, willCheckpointAndRestore) {
1031
- logger2.log(`prepare for ${reason}`, { willCheckpointAndRestore });
1015
+ logger.log(`prepare for ${reason}`, { willCheckpointAndRestore });
1032
1016
  this.#backgroundWorker.preCheckpointNotification.post({ willCheckpointAndRestore });
1033
1017
  if (willCheckpointAndRestore) {
1034
1018
  this.paused = true;
@@ -1040,10 +1024,10 @@ var ProdWorker = class {
1040
1024
  }
1041
1025
  }
1042
1026
  async #prepareForRetry(willCheckpointAndRestore, shouldExit) {
1043
- logger2.log("prepare for retry", { willCheckpointAndRestore, shouldExit });
1027
+ logger.log("prepare for retry", { willCheckpointAndRestore, shouldExit });
1044
1028
  if (shouldExit) {
1045
1029
  if (willCheckpointAndRestore) {
1046
- logger2.log("WARNING: Will checkpoint but also requested exit. This won't end well.");
1030
+ logger.log("WARNING: Will checkpoint but also requested exit. This won't end well.");
1047
1031
  }
1048
1032
  await this.#exitGracefully();
1049
1033
  return;
@@ -1082,7 +1066,7 @@ var ProdWorker = class {
1082
1066
  // FIXME: If the the worker can't connect for a while, this runs MANY times - it should only run once
1083
1067
  #createCoordinatorSocket(host) {
1084
1068
  const extraHeaders = this.#returnValidatedExtraHeaders({
1085
- "x-machine-name": MACHINE_NAME2,
1069
+ "x-machine-name": MACHINE_NAME,
1086
1070
  "x-pod-name": POD_NAME,
1087
1071
  "x-trigger-content-hash": this.contentHash,
1088
1072
  "x-trigger-project-ref": this.projectRef,
@@ -1094,9 +1078,9 @@ var ProdWorker = class {
1094
1078
  if (this.attemptFriendlyId) {
1095
1079
  extraHeaders["x-trigger-attempt-friendly-id"] = this.attemptFriendlyId;
1096
1080
  }
1097
- logger2.log(`connecting to coordinator: ${host}:${COORDINATOR_PORT}`);
1098
- logger2.debug(`connecting with extra headers`, { extraHeaders });
1099
- const coordinatorConnection = new ZodSocketConnection2({
1081
+ logger.log(`connecting to coordinator: ${host}:${COORDINATOR_PORT}`);
1082
+ logger.debug(`connecting with extra headers`, { extraHeaders });
1083
+ const coordinatorConnection = new ZodSocketConnection({
1100
1084
  namespace: "prod-worker",
1101
1085
  host,
1102
1086
  port: COORDINATOR_PORT,
@@ -1106,21 +1090,21 @@ var ProdWorker = class {
1106
1090
  handlers: {
1107
1091
  RESUME_AFTER_DEPENDENCY: async ({ completions }) => {
1108
1092
  if (!this.paused) {
1109
- logger2.error("Failed to resume after dependency: Worker not paused");
1093
+ logger.error("Failed to resume after dependency: Worker not paused");
1110
1094
  return;
1111
1095
  }
1112
1096
  if (completions.length === 0) {
1113
- logger2.error("Failed to resume after dependency: No completions");
1097
+ logger.error("Failed to resume after dependency: No completions");
1114
1098
  return;
1115
1099
  }
1116
1100
  if (this.nextResumeAfter !== "WAIT_FOR_TASK" && this.nextResumeAfter !== "WAIT_FOR_BATCH") {
1117
- logger2.error("Failed to resume after dependency: Invalid next resume", {
1101
+ logger.error("Failed to resume after dependency: Invalid next resume", {
1118
1102
  nextResumeAfter: this.nextResumeAfter
1119
1103
  });
1120
1104
  return;
1121
1105
  }
1122
1106
  if (this.nextResumeAfter === "WAIT_FOR_TASK" && completions.length > 1) {
1123
- logger2.error(
1107
+ logger.error(
1124
1108
  "Failed to resume after dependency: Waiting for single task but got multiple completions",
1125
1109
  {
1126
1110
  completions
@@ -1140,13 +1124,13 @@ var ProdWorker = class {
1140
1124
  },
1141
1125
  RESUME_AFTER_DURATION: async (message) => {
1142
1126
  if (!this.paused) {
1143
- logger2.error("worker not paused", {
1127
+ logger.error("worker not paused", {
1144
1128
  attemptId: message.attemptId
1145
1129
  });
1146
1130
  return;
1147
1131
  }
1148
1132
  if (this.nextResumeAfter !== "WAIT_FOR_DURATION") {
1149
- logger2.error("not waiting to resume after duration", {
1133
+ logger.error("not waiting to resume after duration", {
1150
1134
  nextResumeAfter: this.nextResumeAfter
1151
1135
  });
1152
1136
  return;
@@ -1155,42 +1139,42 @@ var ProdWorker = class {
1155
1139
  },
1156
1140
  EXECUTE_TASK_RUN: async ({ executionPayload }) => {
1157
1141
  if (this.executing) {
1158
- logger2.error("dropping execute request, already executing");
1142
+ logger.error("dropping execute request, already executing");
1159
1143
  return;
1160
1144
  }
1161
1145
  if (this.completed.has(executionPayload.execution.attempt.id)) {
1162
- logger2.error("dropping execute request, already completed");
1146
+ logger.error("dropping execute request, already completed");
1163
1147
  return;
1164
1148
  }
1165
1149
  this.executing = true;
1166
1150
  this.attemptFriendlyId = executionPayload.execution.attempt.id;
1167
1151
  const completion = await this.#backgroundWorker.executeTaskRun(executionPayload);
1168
- logger2.log("completed", completion);
1152
+ logger.log("completed", completion);
1169
1153
  this.completed.add(executionPayload.execution.attempt.id);
1170
1154
  const { willCheckpointAndRestore, shouldExit } = await this.#coordinatorSocket.socket.emitWithAck("TASK_RUN_COMPLETED", {
1171
1155
  version: "v1",
1172
1156
  execution: executionPayload.execution,
1173
1157
  completion
1174
1158
  });
1175
- logger2.log("completion acknowledged", { willCheckpointAndRestore, shouldExit });
1159
+ logger.log("completion acknowledged", { willCheckpointAndRestore, shouldExit });
1176
1160
  this.#prepareForRetry(willCheckpointAndRestore, shouldExit);
1177
1161
  },
1178
1162
  EXECUTE_TASK_RUN_LAZY_ATTEMPT: async (message) => {
1179
1163
  if (this.executing) {
1180
- logger2.error("dropping execute request, already executing");
1164
+ logger.error("dropping execute request, already executing");
1181
1165
  return;
1182
1166
  }
1183
1167
  this.executing = true;
1184
1168
  try {
1185
1169
  const { completion, execution } = await this.#backgroundWorker.executeTaskRunLazyAttempt(message.lazyPayload);
1186
- logger2.log("completed", completion);
1170
+ logger.log("completed", completion);
1187
1171
  this.completed.add(execution.attempt.id);
1188
1172
  const { willCheckpointAndRestore, shouldExit } = await this.#coordinatorSocket.socket.emitWithAck("TASK_RUN_COMPLETED", {
1189
1173
  version: "v1",
1190
1174
  execution,
1191
1175
  completion
1192
1176
  });
1193
- logger2.log("completion acknowledged", { willCheckpointAndRestore, shouldExit });
1177
+ logger.log("completion acknowledged", { willCheckpointAndRestore, shouldExit });
1194
1178
  this.#prepareForRetry(willCheckpointAndRestore, shouldExit);
1195
1179
  } catch (error) {
1196
1180
  const completion = {
@@ -1217,15 +1201,15 @@ var ProdWorker = class {
1217
1201
  },
1218
1202
  REQUEST_ATTEMPT_CANCELLATION: async (message) => {
1219
1203
  if (!this.executing) {
1220
- logger2.log("dropping cancel request, not executing", { status: this.#status });
1204
+ logger.log("dropping cancel request, not executing", { status: this.#status });
1221
1205
  return;
1222
1206
  }
1223
- logger2.log("cancelling attempt", { attemptId: message.attemptId, status: this.#status });
1207
+ logger.log("cancelling attempt", { attemptId: message.attemptId, status: this.#status });
1224
1208
  await this.#backgroundWorker.cancelAttempt(message.attemptId);
1225
1209
  },
1226
1210
  REQUEST_EXIT: async (message) => {
1227
1211
  if (message.version === "v2" && message.delayInMs) {
1228
- logger2.log("exit requested with delay", { delayInMs: message.delayInMs });
1212
+ logger.log("exit requested with delay", { delayInMs: message.delayInMs });
1229
1213
  await setTimeout2(message.delayInMs);
1230
1214
  }
1231
1215
  this.#coordinatorSocket.close();
@@ -1242,15 +1226,15 @@ var ProdWorker = class {
1242
1226
  });
1243
1227
  }
1244
1228
  },
1245
- onConnection: async (socket, handler, sender, logger3) => {
1246
- logger3.log("connected to coordinator", { status: this.#status });
1229
+ onConnection: async (socket, handler, sender, logger2) => {
1230
+ logger2.log("connected to coordinator", { status: this.#status });
1247
1231
  if (this.waitForPostStart) {
1248
- logger3.log("skip connection handler, waiting for post start hook");
1232
+ logger2.log("skip connection handler, waiting for post start hook");
1249
1233
  return;
1250
1234
  }
1251
1235
  if (this.paused) {
1252
1236
  if (!this.nextResumeAfter) {
1253
- logger3.error("Missing next resume reason", { status: this.#status });
1237
+ logger2.error("Missing next resume reason", { status: this.#status });
1254
1238
  this.#emitUnrecoverableError(
1255
1239
  "NoNextResume",
1256
1240
  "Next resume reason not set while resuming from paused state"
@@ -1258,7 +1242,7 @@ var ProdWorker = class {
1258
1242
  return;
1259
1243
  }
1260
1244
  if (!this.attemptFriendlyId) {
1261
- logger3.error("Missing friendly ID", { status: this.#status });
1245
+ logger2.error("Missing friendly ID", { status: this.#status });
1262
1246
  this.#emitUnrecoverableError(
1263
1247
  "NoAttemptId",
1264
1248
  "Attempt ID not set while resuming from paused state"
@@ -1282,15 +1266,16 @@ var ProdWorker = class {
1282
1266
  supportsLazyAttempts: true
1283
1267
  });
1284
1268
  if (success) {
1285
- logger3.info("indexing done, shutting down..");
1269
+ logger2.info("indexing done, shutting down..");
1286
1270
  process.exit(0);
1287
1271
  } else {
1288
- logger3.info("indexing failure, shutting down..");
1272
+ logger2.info("indexing failure, shutting down..");
1289
1273
  process.exit(1);
1290
1274
  }
1291
1275
  } catch (e) {
1276
+ const stderr = this.#backgroundWorker.stderr.join("\n");
1292
1277
  if (e instanceof TaskMetadataParseError) {
1293
- logger3.error("tasks metadata parse error", {
1278
+ logger2.error("tasks metadata parse error", {
1294
1279
  zodIssues: e.zodIssues,
1295
1280
  tasks: e.tasks
1296
1281
  });
@@ -1300,16 +1285,18 @@ var ProdWorker = class {
1300
1285
  error: {
1301
1286
  name: "TaskMetadataParseError",
1302
1287
  message: "There was an error parsing the task metadata",
1303
- stack: JSON.stringify({ zodIssues: e.zodIssues, tasks: e.tasks })
1288
+ stack: JSON.stringify({ zodIssues: e.zodIssues, tasks: e.tasks }),
1289
+ stderr
1304
1290
  }
1305
1291
  });
1306
1292
  } else if (e instanceof UncaughtExceptionError) {
1307
1293
  const error = {
1308
1294
  name: e.originalError.name,
1309
1295
  message: e.originalError.message,
1310
- stack: e.originalError.stack
1296
+ stack: e.originalError.stack,
1297
+ stderr
1311
1298
  };
1312
- logger3.error("uncaught exception", { originalError: error });
1299
+ logger2.error("uncaught exception", { originalError: error });
1313
1300
  socket.emit("INDEXING_FAILED", {
1314
1301
  version: "v1",
1315
1302
  deploymentId: this.deploymentId,
@@ -1319,32 +1306,35 @@ var ProdWorker = class {
1319
1306
  const error = {
1320
1307
  name: e.name,
1321
1308
  message: e.message,
1322
- stack: e.stack
1309
+ stack: e.stack,
1310
+ stderr
1323
1311
  };
1324
- logger3.error("error", { error });
1312
+ logger2.error("error", { error });
1325
1313
  socket.emit("INDEXING_FAILED", {
1326
1314
  version: "v1",
1327
1315
  deploymentId: this.deploymentId,
1328
1316
  error
1329
1317
  });
1330
1318
  } else if (typeof e === "string") {
1331
- logger3.error("string error", { error: { message: e } });
1319
+ logger2.error("string error", { error: { message: e } });
1332
1320
  socket.emit("INDEXING_FAILED", {
1333
1321
  version: "v1",
1334
1322
  deploymentId: this.deploymentId,
1335
1323
  error: {
1336
1324
  name: "Error",
1337
- message: e
1325
+ message: e,
1326
+ stderr
1338
1327
  }
1339
1328
  });
1340
1329
  } else {
1341
- logger3.error("unknown error", { error: e });
1330
+ logger2.error("unknown error", { error: e });
1342
1331
  socket.emit("INDEXING_FAILED", {
1343
1332
  version: "v1",
1344
1333
  deploymentId: this.deploymentId,
1345
1334
  error: {
1346
1335
  name: "Error",
1347
- message: "Unknown error"
1336
+ message: "Unknown error",
1337
+ stderr
1348
1338
  }
1349
1339
  });
1350
1340
  }
@@ -1361,8 +1351,8 @@ var ProdWorker = class {
1361
1351
  totalCompletions: this.completed.size
1362
1352
  });
1363
1353
  },
1364
- onError: async (socket, err, logger3) => {
1365
- logger3.error("onError", {
1354
+ onError: async (socket, err, logger2) => {
1355
+ logger2.error("onError", {
1366
1356
  error: {
1367
1357
  name: err.name,
1368
1358
  message: err.message
@@ -1370,14 +1360,14 @@ var ProdWorker = class {
1370
1360
  });
1371
1361
  await this.#reconnect();
1372
1362
  },
1373
- onDisconnect: async (socket, reason, description, logger3) => {
1363
+ onDisconnect: async (socket, reason, description, logger2) => {
1374
1364
  }
1375
1365
  });
1376
1366
  return coordinatorConnection;
1377
1367
  }
1378
1368
  #createHttpServer() {
1379
1369
  const httpServer = createServer(async (req, res) => {
1380
- logger2.log(`[${req.method}]`, req.url);
1370
+ logger.log(`[${req.method}]`, req.url);
1381
1371
  const reply = new HttpReply(res);
1382
1372
  try {
1383
1373
  const url = new URL(req.url ?? "", `http://${req.headers.host}`);
@@ -1410,7 +1400,7 @@ var ProdWorker = class {
1410
1400
  case "/preStop": {
1411
1401
  const cause = PreStopCauses.safeParse(url.searchParams.get("cause"));
1412
1402
  if (!cause.success) {
1413
- logger2.error("Failed to parse cause", { cause });
1403
+ logger.error("Failed to parse cause", { cause });
1414
1404
  return reply.text("Failed to parse cause", 400);
1415
1405
  }
1416
1406
  switch (cause.data) {
@@ -1418,7 +1408,7 @@ var ProdWorker = class {
1418
1408
  break;
1419
1409
  }
1420
1410
  default: {
1421
- logger2.error("Unhandled cause", { cause: cause.data });
1411
+ logger.error("Unhandled cause", { cause: cause.data });
1422
1412
  break;
1423
1413
  }
1424
1414
  }
@@ -1427,7 +1417,7 @@ var ProdWorker = class {
1427
1417
  case "/postStart": {
1428
1418
  const cause = PostStartCauses.safeParse(url.searchParams.get("cause"));
1429
1419
  if (!cause.success) {
1430
- logger2.error("Failed to parse cause", { cause });
1420
+ logger.error("Failed to parse cause", { cause });
1431
1421
  return reply.text("Failed to parse cause", 400);
1432
1422
  }
1433
1423
  switch (cause.data) {
@@ -1442,7 +1432,7 @@ var ProdWorker = class {
1442
1432
  break;
1443
1433
  }
1444
1434
  default: {
1445
- logger2.error("Unhandled cause", { cause: cause.data });
1435
+ logger.error("Unhandled cause", { cause: cause.data });
1446
1436
  break;
1447
1437
  }
1448
1438
  }
@@ -1453,7 +1443,7 @@ var ProdWorker = class {
1453
1443
  }
1454
1444
  }
1455
1445
  } catch (error) {
1456
- logger2.error("HTTP server error", { error });
1446
+ logger.error("HTTP server error", { error });
1457
1447
  reply.empty(500);
1458
1448
  }
1459
1449
  });
@@ -1461,13 +1451,13 @@ var ProdWorker = class {
1461
1451
  socket.end("HTTP/1.1 400 Bad Request\r\n\r\n");
1462
1452
  });
1463
1453
  httpServer.on("listening", () => {
1464
- logger2.log("http server listening on port", this.#httpPort);
1454
+ logger.log("http server listening on port", this.#httpPort);
1465
1455
  });
1466
1456
  httpServer.on("error", async (error) => {
1467
1457
  if (error.code != "EADDRINUSE") {
1468
1458
  return;
1469
1459
  }
1470
- logger2.error(`port ${this.#httpPort} already in use, retrying with random port..`);
1460
+ logger.error(`port ${this.#httpPort} already in use, retrying with random port..`);
1471
1461
  this.#httpPort = getRandomPortNumber();
1472
1462
  await setTimeout2(100);
1473
1463
  this.start();
@@ -1530,7 +1520,7 @@ var ProdWorker = class {
1530
1520
  this.#httpServer.listen(this.#httpPort, this.host);
1531
1521
  }
1532
1522
  };
1533
- var prodWorker = new ProdWorker(HTTP_SERVER_PORT2);
1523
+ var prodWorker = new ProdWorker(HTTP_SERVER_PORT);
1534
1524
  prodWorker.start();
1535
1525
  function gatherProcessEnv() {
1536
1526
  const env = {
@@ -1,5 +1,5 @@
1
1
  // package.json
2
- var version = "3.0.0-beta.36";
2
+ var version = "3.0.0-beta.37";
3
3
 
4
4
  // src/workers/prod/worker-setup.ts
5
5
  import { taskCatalog } from "@trigger.dev/core/v3";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "trigger.dev",
3
- "version": "3.0.0-beta.36",
3
+ "version": "3.0.0-beta.37",
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",
@@ -53,8 +53,8 @@
53
53
  "typescript": "^5.3.3",
54
54
  "vitest": "^0.34.4",
55
55
  "xdg-app-paths": "^8.3.0",
56
- "@trigger.dev/tsconfig": "0.0.0",
57
- "@trigger.dev/core-apps": "3.0.0-beta.36"
56
+ "@trigger.dev/core-apps": "3.0.0-beta.37",
57
+ "@trigger.dev/tsconfig": "0.0.0"
58
58
  },
59
59
  "dependencies": {
60
60
  "@anatine/esbuild-decorators": "^0.2.19",
@@ -72,7 +72,7 @@
72
72
  "@opentelemetry/sdk-trace-base": "^1.22.0",
73
73
  "@opentelemetry/sdk-trace-node": "^1.22.0",
74
74
  "@opentelemetry/semantic-conventions": "^1.22.0",
75
- "@trigger.dev/core": "3.0.0-beta.36",
75
+ "@trigger.dev/core": "3.0.0-beta.37",
76
76
  "@types/degit": "^2.8.3",
77
77
  "chalk": "^5.2.0",
78
78
  "chokidar": "^3.5.3",