trigger.dev 3.0.0-beta.35 → 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.35";
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
  }
@@ -704,10 +688,14 @@ var TaskRunProcess = class {
704
688
  killChildProcess,
705
689
  killParentProcess
706
690
  });
707
- await this._ipc?.sendWithAck("CLEANUP", {
708
- flush: true,
709
- kill: killParentProcess
710
- });
691
+ await this._ipc?.sendWithAck(
692
+ "CLEANUP",
693
+ {
694
+ flush: true,
695
+ kill: killParentProcess
696
+ },
697
+ 3e4
698
+ );
711
699
  if (killChildProcess) {
712
700
  this._gracefulExitTimeoutElapsed = true;
713
701
  await this.kill("SIGKILL");
@@ -814,13 +802,13 @@ var TaskRunProcess = class {
814
802
 
815
803
  // src/workers/prod/entry-point.ts
816
804
  import { setTimeout as setTimeout2 } from "node:timers/promises";
817
- var HTTP_SERVER_PORT2 = Number(process.env.HTTP_SERVER_PORT || getRandomPortNumber());
805
+ var HTTP_SERVER_PORT = Number(process.env.HTTP_SERVER_PORT || getRandomPortNumber());
818
806
  var COORDINATOR_HOST = process.env.COORDINATOR_HOST || "127.0.0.1";
819
807
  var COORDINATOR_PORT = Number(process.env.COORDINATOR_PORT || 50080);
820
- var MACHINE_NAME2 = process.env.MACHINE_NAME || "local";
808
+ var MACHINE_NAME = process.env.MACHINE_NAME || "local";
821
809
  var POD_NAME = process.env.POD_NAME || "some-pod";
822
810
  var SHORT_HASH = process.env.TRIGGER_CONTENT_HASH.slice(0, 9);
823
- var logger2 = new SimpleLogger(`[${MACHINE_NAME2}][${SHORT_HASH}]`);
811
+ var logger = new SimpleLogger(`[${MACHINE_NAME}][${SHORT_HASH}]`);
824
812
  var ProdWorker = class {
825
813
  constructor(port, host = "0.0.0.0") {
826
814
  this.host = host;
@@ -850,24 +838,24 @@ var ProdWorker = class {
850
838
  #httpServer;
851
839
  #coordinatorSocket;
852
840
  async #handleSignal(signal) {
853
- logger2.log("Received signal", { signal });
841
+ logger.log("Received signal", { signal });
854
842
  if (signal === "SIGTERM") {
855
843
  let gracefulExitTimeoutElapsed = false;
856
844
  if (this.executing) {
857
845
  const terminationGracePeriodSeconds = 60 * 60;
858
- logger2.log("Waiting for attempt to complete before exiting", {
846
+ logger.log("Waiting for attempt to complete before exiting", {
859
847
  terminationGracePeriodSeconds
860
848
  });
861
849
  await setTimeout2(terminationGracePeriodSeconds * 1e3 - 5e3);
862
850
  gracefulExitTimeoutElapsed = true;
863
- logger2.log("Termination timeout reached, exiting gracefully.");
851
+ logger.log("Termination timeout reached, exiting gracefully.");
864
852
  } else {
865
- logger2.log("Not executing, exiting immediately.");
853
+ logger.log("Not executing, exiting immediately.");
866
854
  }
867
855
  await this.#exitGracefully(gracefulExitTimeoutElapsed);
868
856
  return;
869
857
  }
870
- logger2.log("Unhandled signal", { signal });
858
+ logger.log("Unhandled signal", { signal });
871
859
  }
872
860
  async #exitGracefully(gracefulExitTimeoutElapsed = false) {
873
861
  await this.#backgroundWorker.close(gracefulExitTimeoutElapsed);
@@ -890,7 +878,7 @@ var ProdWorker = class {
890
878
  "\n",
891
879
  ""
892
880
  );
893
- logger2.log("reconnecting", {
881
+ logger.log("reconnecting", {
894
882
  coordinatorHost: {
895
883
  fromEnv: COORDINATOR_HOST,
896
884
  fromVolume: coordinatorHost,
@@ -899,7 +887,7 @@ var ProdWorker = class {
899
887
  });
900
888
  }
901
889
  } catch (error) {
902
- logger2.error("taskinfo read error during reconnect", {
890
+ logger.error("taskinfo read error during reconnect", {
903
891
  error: error instanceof Error ? error.message : error
904
892
  });
905
893
  } finally {
@@ -928,7 +916,7 @@ var ProdWorker = class {
928
916
  this.#coordinatorSocket.socket.emit("READY_FOR_CHECKPOINT", { version: "v1" });
929
917
  });
930
918
  backgroundWorker.onCancelCheckpoint.attach(async (message) => {
931
- logger2.log("onCancelCheckpoint", { message });
919
+ logger.log("onCancelCheckpoint", { message });
932
920
  const { checkpointCanceled } = await this.#coordinatorSocket.socket.emitWithAck(
933
921
  "CANCEL_CHECKPOINT",
934
922
  {
@@ -936,7 +924,7 @@ var ProdWorker = class {
936
924
  reason: message.reason
937
925
  }
938
926
  );
939
- logger2.log("onCancelCheckpoint coordinator response", { checkpointCanceled });
927
+ logger.log("onCancelCheckpoint coordinator response", { checkpointCanceled });
940
928
  if (checkpointCanceled) {
941
929
  if (message.reason === "WAIT_FOR_DURATION") {
942
930
  this.paused = false;
@@ -947,7 +935,7 @@ var ProdWorker = class {
947
935
  backgroundWorker.checkpointCanceledNotification.post({ checkpointCanceled });
948
936
  });
949
937
  backgroundWorker.onCreateTaskRunAttempt.attach(async (message) => {
950
- logger2.log("onCreateTaskRunAttempt()", { message });
938
+ logger.log("onCreateTaskRunAttempt()", { message });
951
939
  const createAttempt = await this.#coordinatorSocket.socket.emitWithAck(
952
940
  "CREATE_TASK_RUN_ATTEMPT",
953
941
  {
@@ -975,7 +963,7 @@ var ProdWorker = class {
975
963
  });
976
964
  backgroundWorker.onWaitForDuration.attach(async (message) => {
977
965
  if (!this.attemptFriendlyId) {
978
- 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 });
979
967
  this.#emitUnrecoverableError(
980
968
  "NoAttemptId",
981
969
  "Attempt ID not set before waiting for duration"
@@ -993,7 +981,7 @@ var ProdWorker = class {
993
981
  });
994
982
  backgroundWorker.onWaitForTask.attach(async (message) => {
995
983
  if (!this.attemptFriendlyId) {
996
- 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 });
997
985
  this.#emitUnrecoverableError("NoAttemptId", "Attempt ID not set before waiting for task");
998
986
  return;
999
987
  }
@@ -1008,7 +996,7 @@ var ProdWorker = class {
1008
996
  });
1009
997
  backgroundWorker.onWaitForBatch.attach(async (message) => {
1010
998
  if (!this.attemptFriendlyId) {
1011
- 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 });
1012
1000
  this.#emitUnrecoverableError("NoAttemptId", "Attempt ID not set before waiting for batch");
1013
1001
  return;
1014
1002
  }
@@ -1024,7 +1012,7 @@ var ProdWorker = class {
1024
1012
  return backgroundWorker;
1025
1013
  }
1026
1014
  async #prepareForWait(reason, willCheckpointAndRestore) {
1027
- logger2.log(`prepare for ${reason}`, { willCheckpointAndRestore });
1015
+ logger.log(`prepare for ${reason}`, { willCheckpointAndRestore });
1028
1016
  this.#backgroundWorker.preCheckpointNotification.post({ willCheckpointAndRestore });
1029
1017
  if (willCheckpointAndRestore) {
1030
1018
  this.paused = true;
@@ -1036,10 +1024,10 @@ var ProdWorker = class {
1036
1024
  }
1037
1025
  }
1038
1026
  async #prepareForRetry(willCheckpointAndRestore, shouldExit) {
1039
- logger2.log("prepare for retry", { willCheckpointAndRestore, shouldExit });
1027
+ logger.log("prepare for retry", { willCheckpointAndRestore, shouldExit });
1040
1028
  if (shouldExit) {
1041
1029
  if (willCheckpointAndRestore) {
1042
- 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.");
1043
1031
  }
1044
1032
  await this.#exitGracefully();
1045
1033
  return;
@@ -1078,7 +1066,7 @@ var ProdWorker = class {
1078
1066
  // FIXME: If the the worker can't connect for a while, this runs MANY times - it should only run once
1079
1067
  #createCoordinatorSocket(host) {
1080
1068
  const extraHeaders = this.#returnValidatedExtraHeaders({
1081
- "x-machine-name": MACHINE_NAME2,
1069
+ "x-machine-name": MACHINE_NAME,
1082
1070
  "x-pod-name": POD_NAME,
1083
1071
  "x-trigger-content-hash": this.contentHash,
1084
1072
  "x-trigger-project-ref": this.projectRef,
@@ -1090,9 +1078,9 @@ var ProdWorker = class {
1090
1078
  if (this.attemptFriendlyId) {
1091
1079
  extraHeaders["x-trigger-attempt-friendly-id"] = this.attemptFriendlyId;
1092
1080
  }
1093
- logger2.log(`connecting to coordinator: ${host}:${COORDINATOR_PORT}`);
1094
- logger2.debug(`connecting with extra headers`, { extraHeaders });
1095
- 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({
1096
1084
  namespace: "prod-worker",
1097
1085
  host,
1098
1086
  port: COORDINATOR_PORT,
@@ -1102,21 +1090,21 @@ var ProdWorker = class {
1102
1090
  handlers: {
1103
1091
  RESUME_AFTER_DEPENDENCY: async ({ completions }) => {
1104
1092
  if (!this.paused) {
1105
- logger2.error("Failed to resume after dependency: Worker not paused");
1093
+ logger.error("Failed to resume after dependency: Worker not paused");
1106
1094
  return;
1107
1095
  }
1108
1096
  if (completions.length === 0) {
1109
- logger2.error("Failed to resume after dependency: No completions");
1097
+ logger.error("Failed to resume after dependency: No completions");
1110
1098
  return;
1111
1099
  }
1112
1100
  if (this.nextResumeAfter !== "WAIT_FOR_TASK" && this.nextResumeAfter !== "WAIT_FOR_BATCH") {
1113
- logger2.error("Failed to resume after dependency: Invalid next resume", {
1101
+ logger.error("Failed to resume after dependency: Invalid next resume", {
1114
1102
  nextResumeAfter: this.nextResumeAfter
1115
1103
  });
1116
1104
  return;
1117
1105
  }
1118
1106
  if (this.nextResumeAfter === "WAIT_FOR_TASK" && completions.length > 1) {
1119
- logger2.error(
1107
+ logger.error(
1120
1108
  "Failed to resume after dependency: Waiting for single task but got multiple completions",
1121
1109
  {
1122
1110
  completions
@@ -1136,13 +1124,13 @@ var ProdWorker = class {
1136
1124
  },
1137
1125
  RESUME_AFTER_DURATION: async (message) => {
1138
1126
  if (!this.paused) {
1139
- logger2.error("worker not paused", {
1127
+ logger.error("worker not paused", {
1140
1128
  attemptId: message.attemptId
1141
1129
  });
1142
1130
  return;
1143
1131
  }
1144
1132
  if (this.nextResumeAfter !== "WAIT_FOR_DURATION") {
1145
- logger2.error("not waiting to resume after duration", {
1133
+ logger.error("not waiting to resume after duration", {
1146
1134
  nextResumeAfter: this.nextResumeAfter
1147
1135
  });
1148
1136
  return;
@@ -1151,42 +1139,42 @@ var ProdWorker = class {
1151
1139
  },
1152
1140
  EXECUTE_TASK_RUN: async ({ executionPayload }) => {
1153
1141
  if (this.executing) {
1154
- logger2.error("dropping execute request, already executing");
1142
+ logger.error("dropping execute request, already executing");
1155
1143
  return;
1156
1144
  }
1157
1145
  if (this.completed.has(executionPayload.execution.attempt.id)) {
1158
- logger2.error("dropping execute request, already completed");
1146
+ logger.error("dropping execute request, already completed");
1159
1147
  return;
1160
1148
  }
1161
1149
  this.executing = true;
1162
1150
  this.attemptFriendlyId = executionPayload.execution.attempt.id;
1163
1151
  const completion = await this.#backgroundWorker.executeTaskRun(executionPayload);
1164
- logger2.log("completed", completion);
1152
+ logger.log("completed", completion);
1165
1153
  this.completed.add(executionPayload.execution.attempt.id);
1166
1154
  const { willCheckpointAndRestore, shouldExit } = await this.#coordinatorSocket.socket.emitWithAck("TASK_RUN_COMPLETED", {
1167
1155
  version: "v1",
1168
1156
  execution: executionPayload.execution,
1169
1157
  completion
1170
1158
  });
1171
- logger2.log("completion acknowledged", { willCheckpointAndRestore, shouldExit });
1159
+ logger.log("completion acknowledged", { willCheckpointAndRestore, shouldExit });
1172
1160
  this.#prepareForRetry(willCheckpointAndRestore, shouldExit);
1173
1161
  },
1174
1162
  EXECUTE_TASK_RUN_LAZY_ATTEMPT: async (message) => {
1175
1163
  if (this.executing) {
1176
- logger2.error("dropping execute request, already executing");
1164
+ logger.error("dropping execute request, already executing");
1177
1165
  return;
1178
1166
  }
1179
1167
  this.executing = true;
1180
1168
  try {
1181
1169
  const { completion, execution } = await this.#backgroundWorker.executeTaskRunLazyAttempt(message.lazyPayload);
1182
- logger2.log("completed", completion);
1170
+ logger.log("completed", completion);
1183
1171
  this.completed.add(execution.attempt.id);
1184
1172
  const { willCheckpointAndRestore, shouldExit } = await this.#coordinatorSocket.socket.emitWithAck("TASK_RUN_COMPLETED", {
1185
1173
  version: "v1",
1186
1174
  execution,
1187
1175
  completion
1188
1176
  });
1189
- logger2.log("completion acknowledged", { willCheckpointAndRestore, shouldExit });
1177
+ logger.log("completion acknowledged", { willCheckpointAndRestore, shouldExit });
1190
1178
  this.#prepareForRetry(willCheckpointAndRestore, shouldExit);
1191
1179
  } catch (error) {
1192
1180
  const completion = {
@@ -1213,15 +1201,15 @@ var ProdWorker = class {
1213
1201
  },
1214
1202
  REQUEST_ATTEMPT_CANCELLATION: async (message) => {
1215
1203
  if (!this.executing) {
1216
- logger2.log("dropping cancel request, not executing", { status: this.#status });
1204
+ logger.log("dropping cancel request, not executing", { status: this.#status });
1217
1205
  return;
1218
1206
  }
1219
- logger2.log("cancelling attempt", { attemptId: message.attemptId, status: this.#status });
1207
+ logger.log("cancelling attempt", { attemptId: message.attemptId, status: this.#status });
1220
1208
  await this.#backgroundWorker.cancelAttempt(message.attemptId);
1221
1209
  },
1222
1210
  REQUEST_EXIT: async (message) => {
1223
1211
  if (message.version === "v2" && message.delayInMs) {
1224
- logger2.log("exit requested with delay", { delayInMs: message.delayInMs });
1212
+ logger.log("exit requested with delay", { delayInMs: message.delayInMs });
1225
1213
  await setTimeout2(message.delayInMs);
1226
1214
  }
1227
1215
  this.#coordinatorSocket.close();
@@ -1238,15 +1226,15 @@ var ProdWorker = class {
1238
1226
  });
1239
1227
  }
1240
1228
  },
1241
- onConnection: async (socket, handler, sender, logger3) => {
1242
- logger3.log("connected to coordinator", { status: this.#status });
1229
+ onConnection: async (socket, handler, sender, logger2) => {
1230
+ logger2.log("connected to coordinator", { status: this.#status });
1243
1231
  if (this.waitForPostStart) {
1244
- logger3.log("skip connection handler, waiting for post start hook");
1232
+ logger2.log("skip connection handler, waiting for post start hook");
1245
1233
  return;
1246
1234
  }
1247
1235
  if (this.paused) {
1248
1236
  if (!this.nextResumeAfter) {
1249
- logger3.error("Missing next resume reason", { status: this.#status });
1237
+ logger2.error("Missing next resume reason", { status: this.#status });
1250
1238
  this.#emitUnrecoverableError(
1251
1239
  "NoNextResume",
1252
1240
  "Next resume reason not set while resuming from paused state"
@@ -1254,7 +1242,7 @@ var ProdWorker = class {
1254
1242
  return;
1255
1243
  }
1256
1244
  if (!this.attemptFriendlyId) {
1257
- logger3.error("Missing friendly ID", { status: this.#status });
1245
+ logger2.error("Missing friendly ID", { status: this.#status });
1258
1246
  this.#emitUnrecoverableError(
1259
1247
  "NoAttemptId",
1260
1248
  "Attempt ID not set while resuming from paused state"
@@ -1278,15 +1266,16 @@ var ProdWorker = class {
1278
1266
  supportsLazyAttempts: true
1279
1267
  });
1280
1268
  if (success) {
1281
- logger3.info("indexing done, shutting down..");
1269
+ logger2.info("indexing done, shutting down..");
1282
1270
  process.exit(0);
1283
1271
  } else {
1284
- logger3.info("indexing failure, shutting down..");
1272
+ logger2.info("indexing failure, shutting down..");
1285
1273
  process.exit(1);
1286
1274
  }
1287
1275
  } catch (e) {
1276
+ const stderr = this.#backgroundWorker.stderr.join("\n");
1288
1277
  if (e instanceof TaskMetadataParseError) {
1289
- logger3.error("tasks metadata parse error", {
1278
+ logger2.error("tasks metadata parse error", {
1290
1279
  zodIssues: e.zodIssues,
1291
1280
  tasks: e.tasks
1292
1281
  });
@@ -1296,16 +1285,18 @@ var ProdWorker = class {
1296
1285
  error: {
1297
1286
  name: "TaskMetadataParseError",
1298
1287
  message: "There was an error parsing the task metadata",
1299
- stack: JSON.stringify({ zodIssues: e.zodIssues, tasks: e.tasks })
1288
+ stack: JSON.stringify({ zodIssues: e.zodIssues, tasks: e.tasks }),
1289
+ stderr
1300
1290
  }
1301
1291
  });
1302
1292
  } else if (e instanceof UncaughtExceptionError) {
1303
1293
  const error = {
1304
1294
  name: e.originalError.name,
1305
1295
  message: e.originalError.message,
1306
- stack: e.originalError.stack
1296
+ stack: e.originalError.stack,
1297
+ stderr
1307
1298
  };
1308
- logger3.error("uncaught exception", { originalError: error });
1299
+ logger2.error("uncaught exception", { originalError: error });
1309
1300
  socket.emit("INDEXING_FAILED", {
1310
1301
  version: "v1",
1311
1302
  deploymentId: this.deploymentId,
@@ -1315,32 +1306,35 @@ var ProdWorker = class {
1315
1306
  const error = {
1316
1307
  name: e.name,
1317
1308
  message: e.message,
1318
- stack: e.stack
1309
+ stack: e.stack,
1310
+ stderr
1319
1311
  };
1320
- logger3.error("error", { error });
1312
+ logger2.error("error", { error });
1321
1313
  socket.emit("INDEXING_FAILED", {
1322
1314
  version: "v1",
1323
1315
  deploymentId: this.deploymentId,
1324
1316
  error
1325
1317
  });
1326
1318
  } else if (typeof e === "string") {
1327
- logger3.error("string error", { error: { message: e } });
1319
+ logger2.error("string error", { error: { message: e } });
1328
1320
  socket.emit("INDEXING_FAILED", {
1329
1321
  version: "v1",
1330
1322
  deploymentId: this.deploymentId,
1331
1323
  error: {
1332
1324
  name: "Error",
1333
- message: e
1325
+ message: e,
1326
+ stderr
1334
1327
  }
1335
1328
  });
1336
1329
  } else {
1337
- logger3.error("unknown error", { error: e });
1330
+ logger2.error("unknown error", { error: e });
1338
1331
  socket.emit("INDEXING_FAILED", {
1339
1332
  version: "v1",
1340
1333
  deploymentId: this.deploymentId,
1341
1334
  error: {
1342
1335
  name: "Error",
1343
- message: "Unknown error"
1336
+ message: "Unknown error",
1337
+ stderr
1344
1338
  }
1345
1339
  });
1346
1340
  }
@@ -1357,8 +1351,8 @@ var ProdWorker = class {
1357
1351
  totalCompletions: this.completed.size
1358
1352
  });
1359
1353
  },
1360
- onError: async (socket, err, logger3) => {
1361
- logger3.error("onError", {
1354
+ onError: async (socket, err, logger2) => {
1355
+ logger2.error("onError", {
1362
1356
  error: {
1363
1357
  name: err.name,
1364
1358
  message: err.message
@@ -1366,14 +1360,14 @@ var ProdWorker = class {
1366
1360
  });
1367
1361
  await this.#reconnect();
1368
1362
  },
1369
- onDisconnect: async (socket, reason, description, logger3) => {
1363
+ onDisconnect: async (socket, reason, description, logger2) => {
1370
1364
  }
1371
1365
  });
1372
1366
  return coordinatorConnection;
1373
1367
  }
1374
1368
  #createHttpServer() {
1375
1369
  const httpServer = createServer(async (req, res) => {
1376
- logger2.log(`[${req.method}]`, req.url);
1370
+ logger.log(`[${req.method}]`, req.url);
1377
1371
  const reply = new HttpReply(res);
1378
1372
  try {
1379
1373
  const url = new URL(req.url ?? "", `http://${req.headers.host}`);
@@ -1406,7 +1400,7 @@ var ProdWorker = class {
1406
1400
  case "/preStop": {
1407
1401
  const cause = PreStopCauses.safeParse(url.searchParams.get("cause"));
1408
1402
  if (!cause.success) {
1409
- logger2.error("Failed to parse cause", { cause });
1403
+ logger.error("Failed to parse cause", { cause });
1410
1404
  return reply.text("Failed to parse cause", 400);
1411
1405
  }
1412
1406
  switch (cause.data) {
@@ -1414,7 +1408,7 @@ var ProdWorker = class {
1414
1408
  break;
1415
1409
  }
1416
1410
  default: {
1417
- logger2.error("Unhandled cause", { cause: cause.data });
1411
+ logger.error("Unhandled cause", { cause: cause.data });
1418
1412
  break;
1419
1413
  }
1420
1414
  }
@@ -1423,7 +1417,7 @@ var ProdWorker = class {
1423
1417
  case "/postStart": {
1424
1418
  const cause = PostStartCauses.safeParse(url.searchParams.get("cause"));
1425
1419
  if (!cause.success) {
1426
- logger2.error("Failed to parse cause", { cause });
1420
+ logger.error("Failed to parse cause", { cause });
1427
1421
  return reply.text("Failed to parse cause", 400);
1428
1422
  }
1429
1423
  switch (cause.data) {
@@ -1438,7 +1432,7 @@ var ProdWorker = class {
1438
1432
  break;
1439
1433
  }
1440
1434
  default: {
1441
- logger2.error("Unhandled cause", { cause: cause.data });
1435
+ logger.error("Unhandled cause", { cause: cause.data });
1442
1436
  break;
1443
1437
  }
1444
1438
  }
@@ -1449,7 +1443,7 @@ var ProdWorker = class {
1449
1443
  }
1450
1444
  }
1451
1445
  } catch (error) {
1452
- logger2.error("HTTP server error", { error });
1446
+ logger.error("HTTP server error", { error });
1453
1447
  reply.empty(500);
1454
1448
  }
1455
1449
  });
@@ -1457,13 +1451,13 @@ var ProdWorker = class {
1457
1451
  socket.end("HTTP/1.1 400 Bad Request\r\n\r\n");
1458
1452
  });
1459
1453
  httpServer.on("listening", () => {
1460
- logger2.log("http server listening on port", this.#httpPort);
1454
+ logger.log("http server listening on port", this.#httpPort);
1461
1455
  });
1462
1456
  httpServer.on("error", async (error) => {
1463
1457
  if (error.code != "EADDRINUSE") {
1464
1458
  return;
1465
1459
  }
1466
- 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..`);
1467
1461
  this.#httpPort = getRandomPortNumber();
1468
1462
  await setTimeout2(100);
1469
1463
  this.start();
@@ -1526,7 +1520,7 @@ var ProdWorker = class {
1526
1520
  this.#httpServer.listen(this.#httpPort, this.host);
1527
1521
  }
1528
1522
  };
1529
- var prodWorker = new ProdWorker(HTTP_SERVER_PORT2);
1523
+ var prodWorker = new ProdWorker(HTTP_SERVER_PORT);
1530
1524
  prodWorker.start();
1531
1525
  function gatherProcessEnv() {
1532
1526
  const env = {
@@ -1,5 +1,5 @@
1
1
  // package.json
2
- var version = "3.0.0-beta.35";
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.35",
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,7 +53,7 @@
53
53
  "typescript": "^5.3.3",
54
54
  "vitest": "^0.34.4",
55
55
  "xdg-app-paths": "^8.3.0",
56
- "@trigger.dev/core-apps": "3.0.0-beta.35",
56
+ "@trigger.dev/core-apps": "3.0.0-beta.37",
57
57
  "@trigger.dev/tsconfig": "0.0.0"
58
58
  },
59
59
  "dependencies": {
@@ -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.35",
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",