trigger.dev 0.0.0-prerelease-20240410151927 → 0.0.0-v2-prerelease-20240524135558

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,92 +2,59 @@
2
2
  import {
3
3
  ProdChildToWorkerMessages,
4
4
  ProdWorkerToChildMessages,
5
+ clock,
6
+ taskCatalog
7
+ } from "@trigger.dev/core/v3";
8
+ import {
5
9
  TaskExecutor,
6
- ZodIpcConnection,
7
10
  DurableClock,
8
- clock,
9
11
  getEnvVar,
10
12
  logLevels,
11
- ZodSchemaParsedError
12
- } from "@trigger.dev/core/v3";
13
+ OtelTaskLogger,
14
+ ConsoleInterceptor
15
+ } from "@trigger.dev/core/v3/workers";
16
+ import { ZodIpcConnection } from "@trigger.dev/core/v3/zodIpc";
17
+ import { ZodSchemaParsedError } from "@trigger.dev/core/v3/zodMessageHandler";
13
18
  import "source-map-support/register.js";
14
19
  import {
15
- ConsoleInterceptor,
16
- OtelTaskLogger,
17
- ProdRuntimeManager,
18
20
  TaskRunErrorCodes,
19
21
  TriggerTracer,
20
22
  logger,
21
23
  runtime
22
24
  } from "@trigger.dev/core/v3";
23
-
24
- // package.json
25
- var version = "0.0.0-prerelease-20240410151927";
26
-
27
- // src/workers/prod/worker-facade.ts
25
+ import { ProdRuntimeManager } from "@trigger.dev/core/v3/prod";
28
26
  __WORKER_SETUP__;
29
27
  __IMPORTED_PROJECT_CONFIG__;
30
- var otelTracer = tracingSDK.getTracer("trigger-prod-worker", version);
31
- var otelLogger = tracingSDK.getLogger("trigger-prod-worker", version);
32
28
  var durableClock = new DurableClock();
33
29
  clock.setGlobalClock(durableClock);
34
30
  var tracer = new TriggerTracer({ tracer: otelTracer, logger: otelLogger });
35
- var consoleInterceptor = new ConsoleInterceptor(otelLogger);
31
+ var consoleInterceptor = new ConsoleInterceptor(otelLogger, true);
36
32
  var triggerLogLevel = getEnvVar("TRIGGER_LOG_LEVEL");
37
33
  var configLogLevel = triggerLogLevel ? triggerLogLevel : importedConfig ? importedConfig.logLevel : __PROJECT_CONFIG__.logLevel;
38
34
  var otelTaskLogger = new OtelTaskLogger({
39
35
  logger: otelLogger,
40
36
  tracer,
41
- level: logLevels.includes(configLogLevel) ? configLogLevel : "log"
37
+ level: logLevels.includes(configLogLevel) ? configLogLevel : "info"
42
38
  });
43
39
  logger.setGlobalTaskLogger(otelTaskLogger);
44
40
  var TaskFileImports = {};
45
41
  var TaskFiles = {};
46
42
  __TASKS__;
47
- function getTasks() {
48
- const result = [];
43
+ (() => {
49
44
  for (const [importName, taskFile] of Object.entries(TaskFiles)) {
50
45
  const fileImports = TaskFileImports[importName];
51
46
  for (const [exportName, task] of Object.entries(fileImports ?? {})) {
52
- if (task.__trigger) {
53
- result.push({
54
- id: task.__trigger.id,
55
- exportName,
56
- packageVersion: task.__trigger.packageVersion,
57
- filePath: taskFile.filePath,
58
- queue: task.__trigger.queue,
59
- retry: task.__trigger.retry,
60
- machine: task.__trigger.machine,
61
- fns: task.__trigger.fns
62
- });
47
+ if (typeof task === "object" && task !== null && "id" in task && typeof task.id === "string") {
48
+ if (taskCatalog.taskExists(task.id)) {
49
+ taskCatalog.registerTaskFileMetadata(task.id, {
50
+ exportName,
51
+ filePath: taskFile.filePath
52
+ });
53
+ }
63
54
  }
64
55
  }
65
56
  }
66
- return result;
67
- }
68
- function getTaskMetadata() {
69
- const result = getTasks();
70
- return result.map((task) => {
71
- const { fns, ...metadata } = task;
72
- return metadata;
73
- });
74
- }
75
- var tasks = getTasks();
76
- runtime.registerTasks(tasks);
77
- var taskExecutors = /* @__PURE__ */ new Map();
78
- for (const task of tasks) {
79
- taskExecutors.set(
80
- task.id,
81
- new TaskExecutor(task, {
82
- tracer,
83
- tracingSDK,
84
- consoleInterceptor,
85
- projectConfig: __PROJECT_CONFIG__,
86
- importedConfig,
87
- handleErrorFn: handleError
88
- })
89
- );
90
- }
57
+ })();
91
58
  var _execution;
92
59
  var _isRunning = false;
93
60
  var zodIpc = new ZodIpcConnection({
@@ -102,7 +69,7 @@ var zodIpc = new ZodIpcConnection({
102
69
  execution,
103
70
  result: {
104
71
  ok: false,
105
- id: execution.attempt.id,
72
+ id: execution.run.id,
106
73
  error: {
107
74
  type: "INTERNAL_ERROR",
108
75
  code: TaskRunErrorCodes.TASK_ALREADY_RUNNING
@@ -112,14 +79,14 @@ var zodIpc = new ZodIpcConnection({
112
79
  return;
113
80
  }
114
81
  process.title = `trigger-prod-worker: ${execution.task.id} ${execution.run.id}`;
115
- const executor = taskExecutors.get(execution.task.id);
116
- if (!executor) {
117
- console.error(`Could not find executor for task ${execution.task.id}`);
82
+ const task = taskCatalog.getTask(execution.task.id);
83
+ if (!task) {
84
+ console.error(`Could not find task ${execution.task.id}`);
118
85
  await sender.send("TASK_RUN_COMPLETED", {
119
86
  execution,
120
87
  result: {
121
88
  ok: false,
122
- id: execution.attempt.id,
89
+ id: execution.run.id,
123
90
  error: {
124
91
  type: "INTERNAL_ERROR",
125
92
  code: TaskRunErrorCodes.COULD_NOT_FIND_EXECUTOR
@@ -128,6 +95,14 @@ var zodIpc = new ZodIpcConnection({
128
95
  });
129
96
  return;
130
97
  }
98
+ const executor = new TaskExecutor(task, {
99
+ tracer,
100
+ tracingSDK,
101
+ consoleInterceptor,
102
+ projectConfig: __PROJECT_CONFIG__,
103
+ importedConfig,
104
+ handleErrorFn: handleError
105
+ });
131
106
  try {
132
107
  _execution = execution;
133
108
  _isRunning = true;
@@ -145,11 +120,25 @@ var zodIpc = new ZodIpcConnection({
145
120
  prodRuntimeManager.resumeTask(completion, execution);
146
121
  },
147
122
  WAIT_COMPLETED_NOTIFICATION: async () => {
148
- prodRuntimeManager.resumeAfterRestore();
123
+ prodRuntimeManager.resumeAfterDuration();
149
124
  },
150
125
  CLEANUP: async ({ flush, kill }, sender) => {
151
126
  if (kill) {
152
127
  await tracingSDK.flush();
128
+ if (_execution) {
129
+ await sender.send("TASK_RUN_COMPLETED", {
130
+ execution: _execution,
131
+ result: {
132
+ ok: false,
133
+ id: _execution.run.id,
134
+ error: {
135
+ type: "INTERNAL_ERROR",
136
+ code: TaskRunErrorCodes.GRACEFUL_EXIT_TIMEOUT,
137
+ message: "Worker process killed while attempt in progress."
138
+ }
139
+ }
140
+ });
141
+ }
153
142
  await sender.send("READY_TO_DISPOSE", void 0);
154
143
  } else {
155
144
  if (flush) {
@@ -159,11 +148,13 @@ var zodIpc = new ZodIpcConnection({
159
148
  }
160
149
  }
161
150
  });
151
+ process.on("SIGTERM", async () => {
152
+ });
162
153
  var prodRuntimeManager = new ProdRuntimeManager(zodIpc, {
163
154
  waitThresholdInMs: parseInt(process.env.TRIGGER_RUNTIME_WAIT_THRESHOLD_IN_MS ?? "30000", 10)
164
155
  });
165
156
  runtime.setGlobalRuntimeManager(prodRuntimeManager);
166
- var TASK_METADATA = getTaskMetadata();
157
+ var TASK_METADATA = taskCatalog.getAllTaskMetadata();
167
158
  zodIpc.send("TASKS_READY", { tasks: TASK_METADATA }).catch((err) => {
168
159
  if (err instanceof ZodSchemaParsedError) {
169
160
  zodIpc.send("TASKS_FAILED_TO_PARSE", { zodIssues: err.error.issues, tasks: TASK_METADATA });
@@ -1,35 +1,23 @@
1
+ // package.json
2
+ var version = "3.0.0-beta.33";
3
+
1
4
  // src/workers/prod/worker-setup.ts
2
- import { Resource } from "@opentelemetry/resources";
5
+ import { taskCatalog } from "@trigger.dev/core/v3";
3
6
  import {
4
- SemanticInternalAttributes,
5
- TracingSDK
6
- } from "@trigger.dev/core/v3";
7
+ TracingSDK,
8
+ StandardTaskCatalog
9
+ } from "@trigger.dev/core/v3/workers";
7
10
  __SETUP_IMPORTED_PROJECT_CONFIG__;
8
11
  var tracingSDK = new TracingSDK({
9
12
  url: process.env.OTEL_EXPORTER_OTLP_ENDPOINT ?? "http://0.0.0.0:4318",
10
- resource: new Resource({
11
- [SemanticInternalAttributes.CLI_VERSION]: "3.0.0"
12
- }),
13
13
  instrumentations: setupImportedConfig?.instrumentations ?? [],
14
14
  diagLogLevel: process.env.OTEL_LOG_LEVEL ?? "none"
15
15
  });
16
- process.on("uncaughtException", (error, origin) => {
17
- process.send?.({
18
- type: "EVENT",
19
- message: {
20
- type: "UNCAUGHT_EXCEPTION",
21
- payload: {
22
- error: {
23
- name: error.name,
24
- message: error.message,
25
- stack: error.stack
26
- },
27
- origin
28
- },
29
- version: "v1"
30
- }
31
- });
32
- });
16
+ var otelTracer = tracingSDK.getTracer("trigger-prod-worker", version);
17
+ var otelLogger = tracingSDK.getLogger("trigger-prod-worker", version);
18
+ taskCatalog.setGlobalTaskCatalog(new StandardTaskCatalog());
33
19
  export {
20
+ otelLogger,
21
+ otelTracer,
34
22
  tracingSDK
35
23
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "trigger.dev",
3
- "version": "0.0.0-prerelease-20240410151927",
3
+ "version": "0.0.0-v2-prerelease-20240524135558",
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",
@@ -32,103 +32,57 @@
32
32
  "type": "module",
33
33
  "exports": "./dist/index.js",
34
34
  "bin": {
35
- "triggerdev": "./dist/index.js"
35
+ "trigger-v3-cli": "./dist/index.js"
36
36
  },
37
37
  "devDependencies": {
38
38
  "@types/gradient-string": "^1.1.2",
39
39
  "@types/mock-fs": "^4.13.1",
40
- "@types/node": "18",
41
- "@types/object-hash": "^3.0.6",
42
- "@types/react": "^18.2.48",
43
- "@types/semver": "^7.3.13",
40
+ "@types/node": "16",
41
+ "@types/node-fetch": "^2.6.2",
44
42
  "@types/ws": "^8.5.3",
45
- "cpy-cli": "^5.0.0",
46
- "npm-run-all": "^4.1.5",
47
- "npm-watch": "^0.11.0",
48
43
  "open": "^10.0.3",
49
44
  "p-retry": "^6.1.0",
50
45
  "rimraf": "^3.0.2",
51
- "tsup": "^8.0.1",
46
+ "tsup": "^6.5.0",
52
47
  "type-fest": "^3.6.0",
53
- "typescript": "^5.3.3",
48
+ "typescript": "^4.9.5",
54
49
  "vitest": "^0.34.4",
55
50
  "xdg-app-paths": "^8.3.0",
56
- "@trigger.dev/core-apps": "0.0.0-prerelease-20240410151927",
51
+ "@trigger.dev/core": "0.0.0-v2-prerelease-20240524135558",
57
52
  "@trigger.dev/tsconfig": "0.0.0"
58
53
  },
59
- "watch": {
60
- "build:prod-containerfile": "src/Containerfile.prod"
61
- },
62
54
  "dependencies": {
63
55
  "@clack/prompts": "^0.7.0",
64
- "@depot/cli": "0.0.1-cli.2.55.0",
65
- "@opentelemetry/api": "^1.8.0",
66
- "@opentelemetry/api-logs": "^0.49.1",
67
- "@opentelemetry/exporter-logs-otlp-http": "^0.49.1",
68
- "@opentelemetry/exporter-trace-otlp-http": "^0.49.1",
69
- "@opentelemetry/instrumentation": "^0.49.1",
70
- "@opentelemetry/instrumentation-fetch": "^0.49.1",
71
- "@opentelemetry/resources": "^1.22.0",
72
- "@opentelemetry/sdk-logs": "^0.49.1",
73
- "@opentelemetry/sdk-node": "^0.49.1",
74
- "@opentelemetry/sdk-trace-base": "^1.22.0",
75
- "@opentelemetry/sdk-trace-node": "^1.22.0",
76
- "@opentelemetry/semantic-conventions": "^1.22.0",
77
- "@trigger.dev/core": "0.0.0-prerelease-20240410151927",
78
56
  "@types/degit": "^2.8.3",
79
57
  "chalk": "^5.2.0",
80
58
  "chokidar": "^3.5.3",
81
59
  "cli-table3": "^0.6.3",
82
60
  "commander": "^9.4.1",
83
61
  "degit": "^2.8.4",
84
- "dotenv": "^16.4.4",
85
- "esbuild": "^0.19.11",
86
- "evt": "^2.4.13",
87
- "execa": "^8.0.0",
88
- "find-up": "^7.0.0",
89
- "glob": "^10.3.10",
62
+ "dotenv": "^16.3.1",
63
+ "execa": "^7.0.0",
90
64
  "gradient-string": "^2.0.2",
91
- "import-meta-resolve": "^4.0.0",
92
- "ink": "^4.4.1",
93
- "jsonc-parser": "^3.2.1",
94
65
  "liquidjs": "^10.9.2",
95
66
  "mock-fs": "^5.2.0",
96
67
  "nanoid": "^4.0.2",
97
68
  "node-fetch": "^3.3.0",
98
69
  "npm-check-updates": "^16.12.2",
99
- "object-hash": "^3.0.0",
100
- "p-debounce": "^4.0.0",
101
- "p-throttle": "^6.1.0",
102
- "partysocket": "^0.0.17",
70
+ "posthog-node": "^3.1.1",
103
71
  "proxy-agent": "^6.3.0",
104
- "react": "^18.2.0",
105
- "react-error-boundary": "^4.0.12",
106
- "semver": "^7.5.0",
107
72
  "simple-git": "^3.19.0",
108
- "socket.io-client": "^4.7.4",
109
- "source-map-support": "^0.5.21",
110
- "terminal-link": "^3.0.0",
111
- "tiny-invariant": "^1.2.0",
112
- "tsconfig-paths": "^4.2.0",
113
73
  "update-check": "^1.5.4",
114
74
  "url": "^0.11.1",
115
- "ws": "^8.12.0",
75
+ "ws": "^8.11.0",
116
76
  "zod": "3.22.3",
117
- "zod-validation-error": "^1.5.0"
77
+ "@trigger.dev/core": "0.0.0-v2-prerelease-20240524135558"
118
78
  },
119
79
  "engines": {
120
80
  "node": ">=18.0.0"
121
81
  },
122
82
  "scripts": {
123
- "typecheck": "tsc -p tsconfig.check.json",
124
- "build": "npm run clean && run-p build:**",
125
- "build:main": "tsup",
126
- "build:workers": "tsup --config tsup.workers.config.ts",
127
- "build:prod-containerfile": "cpy --flat src/Containerfile.prod dist/",
128
- "dev": "npm run clean && run-p dev:**",
129
- "dev:main": "tsup --watch",
130
- "dev:workers": "tsup --config tsup.workers.config.ts --watch",
131
- "dev:prod-containerfile": "npm-watch",
83
+ "typecheck": "tsc",
84
+ "build": "tsup",
85
+ "dev": "tsup --watch",
132
86
  "clean": "rimraf dist",
133
87
  "start": "node dist/index.js",
134
88
  "test": "vitest"