trigger.dev 0.0.0-re2-20250204143529 → 0.0.0-re2-20250312163355
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.
- package/README.md +31 -0
- package/dist/esm/apiClient.d.ts +32 -340
- package/dist/esm/apiClient.js +69 -27
- package/dist/esm/apiClient.js.map +1 -1
- package/dist/esm/build/buildWorker.d.ts +7 -7
- package/dist/esm/build/bundle.js +22 -4
- package/dist/esm/build/bundle.js.map +1 -1
- package/dist/esm/build/entryPoints.d.ts +2 -0
- package/dist/esm/build/entryPoints.js +27 -7
- package/dist/esm/build/entryPoints.js.map +1 -1
- package/dist/esm/build/packageModules.d.ts +0 -5
- package/dist/esm/build/packageModules.js +0 -45
- package/dist/esm/build/packageModules.js.map +1 -1
- package/dist/esm/cli/common.d.ts +2 -2
- package/dist/esm/cli/index.js +2 -0
- package/dist/esm/cli/index.js.map +1 -1
- package/dist/esm/commands/deploy.js +52 -10
- package/dist/esm/commands/deploy.js.map +1 -1
- package/dist/esm/commands/dev.d.ts +11 -2
- package/dist/esm/commands/dev.js +7 -1
- package/dist/esm/commands/dev.js.map +1 -1
- package/dist/esm/commands/list-profiles.d.ts +2 -2
- package/dist/esm/commands/login.d.ts +2 -2
- package/dist/esm/commands/logout.d.ts +2 -2
- package/dist/esm/commands/promote.d.ts +3 -0
- package/dist/esm/commands/promote.js +75 -0
- package/dist/esm/commands/promote.js.map +1 -0
- package/dist/esm/commands/switch.d.ts +2 -2
- package/dist/esm/commands/trigger.d.ts +4 -4
- package/dist/esm/commands/update.d.ts +2 -2
- package/dist/esm/commands/whoami.d.ts +2 -2
- package/dist/esm/config.js +15 -3
- package/dist/esm/config.js.map +1 -1
- package/dist/esm/deploy/buildImage.d.ts +3 -1
- package/dist/esm/deploy/buildImage.js +10 -5
- package/dist/esm/deploy/buildImage.js.map +1 -1
- package/dist/esm/dev/backgroundWorker.d.ts +2 -240
- package/dist/esm/dev/backgroundWorker.js +8 -304
- package/dist/esm/dev/backgroundWorker.js.map +1 -1
- package/dist/esm/dev/devOutput.js +11 -2
- package/dist/esm/dev/devOutput.js.map +1 -1
- package/dist/esm/dev/devSession.js +14 -4
- package/dist/esm/dev/devSession.js.map +1 -1
- package/dist/esm/dev/devSupervisor.js +266 -40
- package/dist/esm/dev/devSupervisor.js.map +1 -1
- package/dist/esm/dev/mcpServer.d.ts +10 -0
- package/dist/esm/dev/mcpServer.js +201 -0
- package/dist/esm/dev/mcpServer.js.map +1 -0
- package/dist/esm/dev/workerRuntime.d.ts +0 -1
- package/dist/esm/dev/workerRuntime.js +1 -270
- package/dist/esm/dev/workerRuntime.js.map +1 -1
- package/dist/esm/entryPoints/dev-run-controller.d.ts +19 -9
- package/dist/esm/entryPoints/dev-run-controller.js +148 -101
- package/dist/esm/entryPoints/dev-run-controller.js.map +1 -1
- package/dist/esm/entryPoints/dev-run-worker.js +39 -20
- package/dist/esm/entryPoints/dev-run-worker.js.map +1 -1
- package/dist/esm/entryPoints/managed-run-controller.js +15 -31
- package/dist/esm/entryPoints/managed-run-controller.js.map +1 -1
- package/dist/esm/entryPoints/managed-run-worker.js +16 -8
- package/dist/esm/entryPoints/managed-run-worker.js.map +1 -1
- package/dist/esm/executions/taskRunProcess.d.ts +1 -69
- package/dist/esm/executions/taskRunProcess.js +7 -10
- package/dist/esm/executions/taskRunProcess.js.map +1 -1
- package/dist/esm/indexing/indexWorkerManifest.d.ts +9 -6
- package/dist/esm/indexing/registerTasks.js +3 -0
- package/dist/esm/indexing/registerTasks.js.map +1 -1
- package/dist/esm/utilities/eventBus.d.ts +8 -5
- package/dist/esm/utilities/eventBus.js.map +1 -1
- package/dist/esm/utilities/githubActions.d.ts +4 -0
- package/dist/esm/utilities/githubActions.js +18 -0
- package/dist/esm/utilities/githubActions.js.map +1 -0
- package/dist/esm/utilities/logger.d.ts +1 -1
- package/dist/esm/version.js +1 -1
- package/package.json +10 -6
- package/dist/esm/dev/backgroundWorkerEngine2.d.ts +0 -21
- package/dist/esm/dev/backgroundWorkerEngine2.js +0 -68
- package/dist/esm/dev/backgroundWorkerEngine2.js.map +0 -1
- package/dist/esm/entryPoints/deploy-index-controller.d.ts +0 -1
- package/dist/esm/entryPoints/deploy-index-controller.js +0 -86
- package/dist/esm/entryPoints/deploy-index-controller.js.map +0 -1
- package/dist/esm/entryPoints/deploy-index-worker.d.ts +0 -1
- package/dist/esm/entryPoints/deploy-index-worker.js +0 -142
- package/dist/esm/entryPoints/deploy-index-worker.js.map +0 -1
- package/dist/esm/entryPoints/deploy-run-controller.d.ts +0 -1
- package/dist/esm/entryPoints/deploy-run-controller.js +0 -1102
- package/dist/esm/entryPoints/deploy-run-controller.js.map +0 -1
- package/dist/esm/entryPoints/deploy-run-worker.d.ts +0 -1
- package/dist/esm/entryPoints/deploy-run-worker.js +0 -367
- package/dist/esm/entryPoints/deploy-run-worker.js.map +0 -1
- package/dist/esm/entryPoints/unmanaged-index-controller.d.ts +0 -1
- package/dist/esm/entryPoints/unmanaged-index-controller.js +0 -86
- package/dist/esm/entryPoints/unmanaged-index-controller.js.map +0 -1
- package/dist/esm/entryPoints/unmanaged-index-worker.d.ts +0 -1
- package/dist/esm/entryPoints/unmanaged-index-worker.js +0 -128
- package/dist/esm/entryPoints/unmanaged-index-worker.js.map +0 -1
- package/dist/esm/entryPoints/unmanaged-run-controller.d.ts +0 -1
- package/dist/esm/entryPoints/unmanaged-run-controller.js +0 -147
- package/dist/esm/entryPoints/unmanaged-run-controller.js.map +0 -1
- package/dist/esm/entryPoints/unmanaged-run-worker.d.ts +0 -1
- package/dist/esm/entryPoints/unmanaged-run-worker.js +0 -360
- package/dist/esm/entryPoints/unmanaged-run-worker.js.map +0 -1
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
import polka from "polka";
|
|
2
|
+
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
3
|
+
import { SSEServerTransport } from "@modelcontextprotocol/sdk/server/sse.js";
|
|
4
|
+
import { z } from "zod";
|
|
5
|
+
import { logger } from "../utilities/logger.js";
|
|
6
|
+
import { ApiClient, RunStatus } from "@trigger.dev/core/v3";
|
|
7
|
+
import { eventBus } from "../utilities/eventBus.js";
|
|
8
|
+
let allTaskIds = [];
|
|
9
|
+
let projectRef;
|
|
10
|
+
let dashboardUrl;
|
|
11
|
+
// there is some overlap between `ApiClient` and `CliApiClient` which is not ideal
|
|
12
|
+
// we can address in this in the future, but for now we need keep using both
|
|
13
|
+
// as `ApiClient` exposes most of the methods needed for the MCP tools
|
|
14
|
+
let sdkApiClient;
|
|
15
|
+
let mcpTransport = null;
|
|
16
|
+
const server = new McpServer({
|
|
17
|
+
name: "trigger.dev",
|
|
18
|
+
version: "1.0.0",
|
|
19
|
+
});
|
|
20
|
+
// The `list-all-tasks` tool primarily helps to enable fuzzy matching of task IDs (names).
|
|
21
|
+
// This way, one doesn't need to specify the full task ID and rather let the LLM figure it out.
|
|
22
|
+
// This could be a good fit for the `resource` entity in MCP.
|
|
23
|
+
// Also, a custom `prompt` entity could be useful to instruct the LLM to prompt the user
|
|
24
|
+
// for selecting a task from a list of matching tasks, when the confidence for an exact match is low.
|
|
25
|
+
server.tool("list-all-tasks", "List all available task IDs in the worker.", async () => {
|
|
26
|
+
return {
|
|
27
|
+
content: [
|
|
28
|
+
{
|
|
29
|
+
text: JSON.stringify(allTaskIds, null, 2),
|
|
30
|
+
type: "text",
|
|
31
|
+
},
|
|
32
|
+
],
|
|
33
|
+
};
|
|
34
|
+
});
|
|
35
|
+
server.tool("trigger-task", "Trigger a task", {
|
|
36
|
+
id: z.string().describe("The ID of the task to trigger"),
|
|
37
|
+
payload: z
|
|
38
|
+
.string()
|
|
39
|
+
.transform((val, ctx) => {
|
|
40
|
+
try {
|
|
41
|
+
return JSON.parse(val);
|
|
42
|
+
}
|
|
43
|
+
catch {
|
|
44
|
+
ctx.addIssue({
|
|
45
|
+
code: z.ZodIssueCode.custom,
|
|
46
|
+
message: "The payload must be a valid JSON string",
|
|
47
|
+
});
|
|
48
|
+
return z.NEVER;
|
|
49
|
+
}
|
|
50
|
+
})
|
|
51
|
+
.describe("The payload to pass to the task run, must be a valid JSON"),
|
|
52
|
+
// TODO: expose more parameteres from the trigger options
|
|
53
|
+
}, async ({ id, payload }) => {
|
|
54
|
+
const result = await sdkApiClient.triggerTask(id, {
|
|
55
|
+
payload,
|
|
56
|
+
});
|
|
57
|
+
const taskRunUrl = `${dashboardUrl}/projects/v3/${projectRef}/runs/${result.id}`;
|
|
58
|
+
return {
|
|
59
|
+
content: [
|
|
60
|
+
{
|
|
61
|
+
type: "text",
|
|
62
|
+
text: JSON.stringify({ ...result, taskRunUrl }, null, 2),
|
|
63
|
+
},
|
|
64
|
+
],
|
|
65
|
+
};
|
|
66
|
+
});
|
|
67
|
+
server.tool("list-runs", "List task runs. This returns a paginated list which shows the details of the runs, e.g., status, attempts, cost, etc.", {
|
|
68
|
+
filters: z
|
|
69
|
+
.object({
|
|
70
|
+
status: RunStatus.optional().describe("The status of the run. Can be WAITING_FOR_DEPLOY, QUEUED, EXECUTING, REATTEMPTING, or FROZEN"),
|
|
71
|
+
taskIdentifier: z
|
|
72
|
+
.union([z.array(z.string()), z.string()])
|
|
73
|
+
.optional()
|
|
74
|
+
.describe("The identifier of the task that was run"),
|
|
75
|
+
version: z
|
|
76
|
+
.union([z.array(z.string()), z.string()])
|
|
77
|
+
.optional()
|
|
78
|
+
.describe("The version of the worker that executed the run"),
|
|
79
|
+
from: z
|
|
80
|
+
.union([z.date(), z.number()])
|
|
81
|
+
.optional()
|
|
82
|
+
.describe("Start date/time for filtering runs"),
|
|
83
|
+
to: z.union([z.date(), z.number()]).optional().describe("End date/time for filtering runs"),
|
|
84
|
+
period: z.string().optional().describe("Time period for filtering runs"),
|
|
85
|
+
bulkAction: z
|
|
86
|
+
.string()
|
|
87
|
+
.optional()
|
|
88
|
+
.describe("The bulk action ID to filter the runs by (e.g., bulk_1234)"),
|
|
89
|
+
tag: z
|
|
90
|
+
.union([z.array(z.string()), z.string()])
|
|
91
|
+
.optional()
|
|
92
|
+
.describe("The tags that are attached to the run"),
|
|
93
|
+
schedule: z
|
|
94
|
+
.string()
|
|
95
|
+
.optional()
|
|
96
|
+
.describe("The schedule ID to filter the runs by (e.g., schedule_1234)"),
|
|
97
|
+
isTest: z.boolean().optional().describe("Whether the run is a test run or not"),
|
|
98
|
+
batch: z.string().optional().describe("The batch identifier to filter runs by"),
|
|
99
|
+
})
|
|
100
|
+
.describe("Parameters for listing task runs"),
|
|
101
|
+
}, async ({ filters }) => {
|
|
102
|
+
const { data, pagination } = await sdkApiClient.listRuns(filters);
|
|
103
|
+
return {
|
|
104
|
+
content: [
|
|
105
|
+
{
|
|
106
|
+
type: "text",
|
|
107
|
+
text: JSON.stringify({ data, pagination }, null, 2),
|
|
108
|
+
},
|
|
109
|
+
],
|
|
110
|
+
};
|
|
111
|
+
});
|
|
112
|
+
server.tool("get-run", "Retrieve the details of a task run, e.g., status, attempts, cost, etc.", {
|
|
113
|
+
runId: z.string().describe("The ID of the task run to get"),
|
|
114
|
+
}, async ({ runId }) => {
|
|
115
|
+
const result = await sdkApiClient.retrieveRun(runId);
|
|
116
|
+
return {
|
|
117
|
+
content: [
|
|
118
|
+
{
|
|
119
|
+
type: "text",
|
|
120
|
+
text: JSON.stringify(result, null, 2),
|
|
121
|
+
},
|
|
122
|
+
],
|
|
123
|
+
};
|
|
124
|
+
});
|
|
125
|
+
server.tool("cancel-run", "Cancel an in-progress run. Runs that have already completed cannot be cancelled.", {
|
|
126
|
+
runId: z.string().describe("The ID of the task run to cancel"),
|
|
127
|
+
}, async ({ runId }) => {
|
|
128
|
+
const run = await sdkApiClient.retrieveRun(runId);
|
|
129
|
+
if (run?.status === "COMPLETED") {
|
|
130
|
+
return {
|
|
131
|
+
content: [
|
|
132
|
+
{
|
|
133
|
+
type: "text",
|
|
134
|
+
text: JSON.stringify({ message: "This run is already completed, no action taken.", run }, null, 2),
|
|
135
|
+
},
|
|
136
|
+
],
|
|
137
|
+
};
|
|
138
|
+
}
|
|
139
|
+
await sdkApiClient.cancelRun(runId);
|
|
140
|
+
// we could also skip fetching the run again, but it provides more context to the LLM
|
|
141
|
+
// and one extra API call is no big deal
|
|
142
|
+
const updatedRun = await sdkApiClient.retrieveRun(runId);
|
|
143
|
+
return {
|
|
144
|
+
content: [
|
|
145
|
+
{
|
|
146
|
+
type: "text",
|
|
147
|
+
text: JSON.stringify({
|
|
148
|
+
message: "Task run was cancelled",
|
|
149
|
+
previousStatus: run.status,
|
|
150
|
+
currentStatus: updatedRun.status,
|
|
151
|
+
updatedTaskRun: updatedRun,
|
|
152
|
+
}, null, 2),
|
|
153
|
+
},
|
|
154
|
+
],
|
|
155
|
+
};
|
|
156
|
+
});
|
|
157
|
+
server.tool("get-run-logs", "Retrieve the logs output of a task run.", {
|
|
158
|
+
runId: z.string().describe("The ID of the task run to get"),
|
|
159
|
+
}, async ({ runId }) => {
|
|
160
|
+
const result = await sdkApiClient.listRunEvents(runId);
|
|
161
|
+
return {
|
|
162
|
+
content: [
|
|
163
|
+
{
|
|
164
|
+
text: JSON.stringify(result, null, 2),
|
|
165
|
+
type: "text",
|
|
166
|
+
},
|
|
167
|
+
],
|
|
168
|
+
};
|
|
169
|
+
});
|
|
170
|
+
const app = polka();
|
|
171
|
+
app.get("/sse", (_req, res) => {
|
|
172
|
+
mcpTransport = new SSEServerTransport("/messages", res);
|
|
173
|
+
server.connect(mcpTransport);
|
|
174
|
+
});
|
|
175
|
+
app.post("/messages", (req, res) => {
|
|
176
|
+
if (mcpTransport) {
|
|
177
|
+
mcpTransport.handlePostMessage(req, res);
|
|
178
|
+
}
|
|
179
|
+
});
|
|
180
|
+
eventBus.on("backgroundWorkerInitialized", (worker) => {
|
|
181
|
+
allTaskIds = worker.manifest?.tasks.map((task) => task.id) ?? [];
|
|
182
|
+
});
|
|
183
|
+
export const startMcpServer = async (options) => {
|
|
184
|
+
const { apiURL, accessToken } = options.cliApiClient;
|
|
185
|
+
if (!accessToken) {
|
|
186
|
+
logger.error("No access token found in the API client, failed to start the MCP server");
|
|
187
|
+
return;
|
|
188
|
+
}
|
|
189
|
+
sdkApiClient = new ApiClient(apiURL, accessToken);
|
|
190
|
+
projectRef = options.devSession.projectRef;
|
|
191
|
+
dashboardUrl = options.devSession.dashboardUrl;
|
|
192
|
+
app.listen(options.port, () => {
|
|
193
|
+
logger.info(`Trigger.dev MCP Server is now running on port ${options.port} ✨`);
|
|
194
|
+
});
|
|
195
|
+
};
|
|
196
|
+
export const stopMcpServer = () => {
|
|
197
|
+
app.server?.close(() => {
|
|
198
|
+
logger.info(`Trigger.dev MCP Server is now stopped`);
|
|
199
|
+
});
|
|
200
|
+
};
|
|
201
|
+
//# sourceMappingURL=mcpServer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcpServer.js","sourceRoot":"","sources":["../../../src/dev/mcpServer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,271 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
import { ZodMessageHandler, ZodMessageSender, } from "@trigger.dev/core/v3/zodMessageHandler";
|
|
3
|
-
import { WebSocket } from "partysocket";
|
|
4
|
-
import { WebSocket as wsWebSocket } from "ws";
|
|
5
|
-
import { chalkError, chalkTask } from "../utilities/cliOutput.js";
|
|
6
|
-
import { resolveDotEnvVars } from "../utilities/dotEnv.js";
|
|
7
|
-
import { eventBus } from "../utilities/eventBus.js";
|
|
8
|
-
import { logger } from "../utilities/logger.js";
|
|
9
|
-
import { resolveSourceFiles } from "../utilities/sourceFiles.js";
|
|
10
|
-
import { BackgroundWorker, BackgroundWorkerCoordinator } from "./backgroundWorker.js";
|
|
11
|
-
import { sanitizeEnvVars } from "../utilities/sanitizeEnvVars.js";
|
|
12
|
-
import { VERSION } from "../version.js";
|
|
13
|
-
export async function startWorkerRuntime(options) {
|
|
14
|
-
const runtime = new DevWorkerRuntime(options);
|
|
15
|
-
await runtime.init();
|
|
16
|
-
return runtime;
|
|
17
|
-
}
|
|
18
|
-
class DevWorkerRuntime {
|
|
19
|
-
options;
|
|
20
|
-
websocket;
|
|
21
|
-
backgroundWorkerCoordinator;
|
|
22
|
-
sender;
|
|
23
|
-
websocketMessageHandler;
|
|
24
|
-
lastBuild;
|
|
25
|
-
constructor(options) {
|
|
26
|
-
this.options = options;
|
|
27
|
-
const websocketUrl = new URL(this.options.client.apiURL);
|
|
28
|
-
websocketUrl.protocol = websocketUrl.protocol.replace("http", "ws");
|
|
29
|
-
websocketUrl.pathname = `/ws`;
|
|
30
|
-
this.sender = new ZodMessageSender({
|
|
31
|
-
schema: clientWebsocketMessages,
|
|
32
|
-
sender: async (message) => {
|
|
33
|
-
this.websocket.send(JSON.stringify(message));
|
|
34
|
-
},
|
|
35
|
-
});
|
|
36
|
-
this.backgroundWorkerCoordinator = new BackgroundWorkerCoordinator();
|
|
37
|
-
this.backgroundWorkerCoordinator.onWorkerTaskRunHeartbeat.attach(async ({ worker, backgroundWorkerId, id }) => {
|
|
38
|
-
await this.sender.send("BACKGROUND_WORKER_MESSAGE", {
|
|
39
|
-
backgroundWorkerId,
|
|
40
|
-
data: {
|
|
41
|
-
type: "TASK_RUN_HEARTBEAT",
|
|
42
|
-
id,
|
|
43
|
-
},
|
|
44
|
-
});
|
|
45
|
-
});
|
|
46
|
-
this.backgroundWorkerCoordinator.onTaskCompleted.attach(async ({ backgroundWorkerId, completion, execution }) => {
|
|
47
|
-
await this.sender.send("BACKGROUND_WORKER_MESSAGE", {
|
|
48
|
-
backgroundWorkerId,
|
|
49
|
-
data: {
|
|
50
|
-
type: "TASK_RUN_COMPLETED",
|
|
51
|
-
completion,
|
|
52
|
-
execution,
|
|
53
|
-
},
|
|
54
|
-
});
|
|
55
|
-
});
|
|
56
|
-
this.backgroundWorkerCoordinator.onTaskFailedToRun.attach(async ({ backgroundWorkerId, completion }) => {
|
|
57
|
-
await this.sender.send("BACKGROUND_WORKER_MESSAGE", {
|
|
58
|
-
backgroundWorkerId,
|
|
59
|
-
data: {
|
|
60
|
-
type: "TASK_RUN_FAILED_TO_RUN",
|
|
61
|
-
completion,
|
|
62
|
-
},
|
|
63
|
-
});
|
|
64
|
-
});
|
|
65
|
-
this.backgroundWorkerCoordinator.onWorkerRegistered.attach(async ({ id, worker, record }) => {
|
|
66
|
-
await this.sender.send("READY_FOR_TASKS", {
|
|
67
|
-
backgroundWorkerId: id,
|
|
68
|
-
});
|
|
69
|
-
});
|
|
70
|
-
this.websocketMessageHandler = new ZodMessageHandler({
|
|
71
|
-
schema: serverWebsocketMessages,
|
|
72
|
-
messages: {
|
|
73
|
-
SERVER_READY: async (payload) => {
|
|
74
|
-
await this.#serverReady(payload);
|
|
75
|
-
},
|
|
76
|
-
BACKGROUND_WORKER_MESSAGE: async (payload) => {
|
|
77
|
-
await this.#backgroundWorkerMessage(payload);
|
|
78
|
-
},
|
|
79
|
-
},
|
|
80
|
-
});
|
|
81
|
-
this.websocket = new WebSocket(websocketUrl.href, [], {
|
|
82
|
-
WebSocket: WebsocketFactory(this.options.client.accessToken),
|
|
83
|
-
connectionTimeout: 10000,
|
|
84
|
-
maxRetries: 64,
|
|
85
|
-
minReconnectionDelay: 1000,
|
|
86
|
-
maxReconnectionDelay: 5000,
|
|
87
|
-
reconnectionDelayGrowFactor: 1.4,
|
|
88
|
-
maxEnqueuedMessages: 1250,
|
|
89
|
-
});
|
|
90
|
-
this.websocket.addEventListener("open", async (event) => {
|
|
91
|
-
logger.debug("WebSocket opened", { event });
|
|
92
|
-
});
|
|
93
|
-
this.websocket.addEventListener("close", (event) => {
|
|
94
|
-
logger.debug("WebSocket closed", { event });
|
|
95
|
-
});
|
|
96
|
-
this.websocket.addEventListener("error", (event) => {
|
|
97
|
-
logger.debug(`${chalkError("WebSocketError:")} ${event.error.message}`);
|
|
98
|
-
});
|
|
99
|
-
this.websocket.addEventListener("message", this.#handleWebsocketMessage.bind(this));
|
|
100
|
-
}
|
|
101
|
-
async init() {
|
|
102
|
-
logger.debug("initialized worker runtime", { options: this.options });
|
|
103
|
-
}
|
|
104
|
-
async shutdown() {
|
|
105
|
-
try {
|
|
106
|
-
if (this.websocket.readyState === WebSocket.OPEN ||
|
|
107
|
-
this.websocket.readyState === WebSocket.CONNECTING) {
|
|
108
|
-
this.websocket.close();
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
catch (error) {
|
|
112
|
-
logger.debug("Error while shutting down worker runtime", { error });
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
async initializeWorker(manifest, stop) {
|
|
116
|
-
if (this.lastBuild && this.lastBuild.contentHash === manifest.contentHash) {
|
|
117
|
-
eventBus.emit("workerSkipped");
|
|
118
|
-
stop();
|
|
119
|
-
return;
|
|
120
|
-
}
|
|
121
|
-
const env = await this.#getEnvVars();
|
|
122
|
-
const backgroundWorker = new BackgroundWorker(manifest, {
|
|
123
|
-
env,
|
|
124
|
-
cwd: this.options.config.workingDir,
|
|
125
|
-
stop,
|
|
126
|
-
});
|
|
127
|
-
await backgroundWorker.initialize();
|
|
128
|
-
if (!backgroundWorker.manifest) {
|
|
129
|
-
stop();
|
|
130
|
-
throw new Error("Could not initialize worker");
|
|
131
|
-
}
|
|
132
|
-
const issues = validateWorkerManifest(backgroundWorker.manifest);
|
|
133
|
-
if (issues.length > 0) {
|
|
134
|
-
issues.forEach((issue) => logger.error(issue));
|
|
135
|
-
stop();
|
|
136
|
-
return;
|
|
137
|
-
}
|
|
138
|
-
const sourceFiles = resolveSourceFiles(manifest.sources, backgroundWorker.manifest.tasks);
|
|
139
|
-
const backgroundWorkerBody = {
|
|
140
|
-
localOnly: true,
|
|
141
|
-
metadata: {
|
|
142
|
-
packageVersion: manifest.packageVersion,
|
|
143
|
-
cliPackageVersion: manifest.cliPackageVersion,
|
|
144
|
-
tasks: backgroundWorker.manifest.tasks,
|
|
145
|
-
contentHash: manifest.contentHash,
|
|
146
|
-
sourceFiles,
|
|
147
|
-
},
|
|
148
|
-
supportsLazyAttempts: true,
|
|
149
|
-
};
|
|
150
|
-
const backgroundWorkerRecord = await this.options.client.createBackgroundWorker(this.options.config.project, backgroundWorkerBody);
|
|
151
|
-
if (!backgroundWorkerRecord.success) {
|
|
152
|
-
stop();
|
|
153
|
-
throw new Error(backgroundWorkerRecord.error);
|
|
154
|
-
}
|
|
155
|
-
backgroundWorker.serverWorker = backgroundWorkerRecord.data;
|
|
156
|
-
this.backgroundWorkerCoordinator.registerWorker(backgroundWorker);
|
|
157
|
-
this.lastBuild = manifest;
|
|
158
|
-
// eventBus.emit("backgroundWorkerInitialized", backgroundWorker);
|
|
159
|
-
}
|
|
160
|
-
async #getEnvVars() {
|
|
161
|
-
const environmentVariablesResponse = await this.options.client.getEnvironmentVariables(this.options.config.project);
|
|
162
|
-
const processEnv = gatherProcessEnv();
|
|
163
|
-
const dotEnvVars = resolveDotEnvVars(undefined, this.options.args.envFile);
|
|
164
|
-
const OTEL_IMPORT_HOOK_INCLUDES = (this.options.config.instrumentedPackageNames ?? []).join(",");
|
|
165
|
-
return {
|
|
166
|
-
...sanitizeEnvVars(processEnv),
|
|
167
|
-
...sanitizeEnvVars(environmentVariablesResponse.success ? environmentVariablesResponse.data.variables : {}),
|
|
168
|
-
...sanitizeEnvVars(dotEnvVars),
|
|
169
|
-
TRIGGER_API_URL: this.options.client.apiURL,
|
|
170
|
-
TRIGGER_SECRET_KEY: this.options.client.accessToken,
|
|
171
|
-
OTEL_EXPORTER_OTLP_COMPRESSION: "none",
|
|
172
|
-
OTEL_RESOURCE_ATTRIBUTES: JSON.stringify({
|
|
173
|
-
[SemanticInternalAttributes.PROJECT_DIR]: this.options.config.workingDir,
|
|
174
|
-
}),
|
|
175
|
-
OTEL_IMPORT_HOOK_INCLUDES,
|
|
176
|
-
};
|
|
177
|
-
}
|
|
178
|
-
async #handleWebsocketMessage(event) {
|
|
179
|
-
try {
|
|
180
|
-
const data = JSON.parse(typeof event.data === "string" ? event.data : new TextDecoder("utf-8").decode(event.data));
|
|
181
|
-
await this.websocketMessageHandler.handleMessage(data);
|
|
182
|
-
}
|
|
183
|
-
catch (error) {
|
|
184
|
-
if (error instanceof Error) {
|
|
185
|
-
logger.error("Error while handling websocket message", { error: error.message });
|
|
186
|
-
}
|
|
187
|
-
else {
|
|
188
|
-
logger.error("Unkown error while handling websocket message, use `-l debug` for additional output");
|
|
189
|
-
logger.debug("Error while handling websocket message", { error });
|
|
190
|
-
}
|
|
191
|
-
}
|
|
192
|
-
}
|
|
193
|
-
async #serverReady(payload) {
|
|
194
|
-
for (const worker of this.backgroundWorkerCoordinator.currentWorkers) {
|
|
195
|
-
await this.sender.send("READY_FOR_TASKS", {
|
|
196
|
-
backgroundWorkerId: worker.id,
|
|
197
|
-
inProgressRuns: worker.worker.inProgressRuns,
|
|
198
|
-
});
|
|
199
|
-
}
|
|
200
|
-
}
|
|
201
|
-
async #backgroundWorkerMessage(payload) {
|
|
202
|
-
const message = payload.data;
|
|
203
|
-
logger.debug(`Received message from worker ${payload.backgroundWorkerId}`, JSON.stringify({ workerMessage: message }));
|
|
204
|
-
switch (message.type) {
|
|
205
|
-
case "CANCEL_ATTEMPT": {
|
|
206
|
-
// Need to cancel the attempt somehow here
|
|
207
|
-
this.backgroundWorkerCoordinator.cancelRun(payload.backgroundWorkerId, message.taskRunId);
|
|
208
|
-
break;
|
|
209
|
-
}
|
|
210
|
-
case "EXECUTE_RUN_LAZY_ATTEMPT": {
|
|
211
|
-
await this.#executeTaskRunLazyAttempt(payload.backgroundWorkerId, message.payload);
|
|
212
|
-
}
|
|
213
|
-
}
|
|
214
|
-
}
|
|
215
|
-
async #executeTaskRunLazyAttempt(id, payload) {
|
|
216
|
-
const attemptResponse = await this.options.client.createTaskRunAttempt(payload.runId);
|
|
217
|
-
if (!attemptResponse.success) {
|
|
218
|
-
throw new Error(`Failed to create task run attempt: ${attemptResponse.error}`);
|
|
219
|
-
}
|
|
220
|
-
const execution = attemptResponse.data;
|
|
221
|
-
logger.debug("Executing task run lazy attempt", { execution });
|
|
222
|
-
const completion = await this.backgroundWorkerCoordinator.executeTaskRun(id, { execution, traceContext: payload.traceContext, environment: payload.environment }, payload.messageId);
|
|
223
|
-
return { execution, completion };
|
|
224
|
-
}
|
|
225
|
-
}
|
|
226
|
-
function WebsocketFactory(apiKey) {
|
|
227
|
-
return class extends wsWebSocket {
|
|
228
|
-
constructor(address, options) {
|
|
229
|
-
super(address, {
|
|
230
|
-
...(options ?? {}),
|
|
231
|
-
headers: {
|
|
232
|
-
Authorization: `Bearer ${apiKey}`,
|
|
233
|
-
"User-Agent": `trigger.dev-cli/${VERSION}`,
|
|
234
|
-
},
|
|
235
|
-
});
|
|
236
|
-
}
|
|
237
|
-
};
|
|
238
|
-
}
|
|
239
|
-
function gatherProcessEnv() {
|
|
240
|
-
const $env = {
|
|
241
|
-
...process.env,
|
|
242
|
-
NODE_ENV: "development",
|
|
243
|
-
};
|
|
244
|
-
// Filter out undefined values
|
|
245
|
-
return Object.fromEntries(Object.entries($env).filter(([key, value]) => value !== undefined));
|
|
246
|
-
}
|
|
247
|
-
function validateWorkerManifest(manifest) {
|
|
248
|
-
const issues = [];
|
|
249
|
-
if (!manifest.tasks || manifest.tasks.length === 0) {
|
|
250
|
-
issues.push("No tasks defined. Make sure you are exporting tasks.");
|
|
251
|
-
}
|
|
252
|
-
// Check for any duplicate task ids
|
|
253
|
-
const taskIds = manifest.tasks.map((task) => task.id);
|
|
254
|
-
const duplicateTaskIds = taskIds.filter((id, index) => taskIds.indexOf(id) !== index);
|
|
255
|
-
if (duplicateTaskIds.length > 0) {
|
|
256
|
-
issues.push(createDuplicateTaskIdOutputErrorMessage(duplicateTaskIds, manifest.tasks));
|
|
257
|
-
}
|
|
258
|
-
return issues;
|
|
259
|
-
}
|
|
260
|
-
function createDuplicateTaskIdOutputErrorMessage(duplicateTaskIds, tasks) {
|
|
261
|
-
const duplicateTable = duplicateTaskIds
|
|
262
|
-
.map((id) => {
|
|
263
|
-
const $tasks = tasks.filter((task) => task.id === id);
|
|
264
|
-
return `\n\n${chalkTask(id)} was found in:${tasks
|
|
265
|
-
.map((task) => `\n${task.filePath} -> ${task.exportName}`)
|
|
266
|
-
.join("")}`;
|
|
267
|
-
})
|
|
268
|
-
.join("");
|
|
269
|
-
return `Duplicate ${chalkTask("task id")} detected:${duplicateTable}`;
|
|
270
|
-
}
|
|
1
|
+
export {};
|
|
271
2
|
//# sourceMappingURL=workerRuntime.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workerRuntime.js","sourceRoot":"","sources":["../../../src/dev/workerRuntime.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,uBAAuB,EAEvB,0BAA0B,EAC1B,uBAAuB,GAIxB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAEL,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,wCAAwC,CAAC;AAEhD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAiB,SAAS,IAAI,WAAW,EAAE,MAAM,IAAI,CAAC;AAG7D,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AACtF,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAexC,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,OAA6B;IACpE,MAAM,OAAO,GAAG,IAAI,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAE9C,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;IAErB,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,gBAAgB;IAOQ;IANpB,SAAS,CAAY;IACrB,2BAA2B,CAA8B;IACzD,MAAM,CAAmD;IACzD,uBAAuB,CAAoD;IAC3E,SAAS,CAA4B;IAE7C,YAA4B,OAA6B;QAA7B,YAAO,GAAP,OAAO,CAAsB;QACvD,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACzD,YAAY,CAAC,QAAQ,GAAG,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACpE,YAAY,CAAC,QAAQ,GAAG,KAAK,CAAC;QAE9B,IAAI,CAAC,MAAM,GAAG,IAAI,gBAAgB,CAAC;YACjC,MAAM,EAAE,uBAAuB;YAC/B,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;gBACxB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;YAC/C,CAAC;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,2BAA2B,GAAG,IAAI,2BAA2B,EAAE,CAAC;QAErE,IAAI,CAAC,2BAA2B,CAAC,wBAAwB,CAAC,MAAM,CAC9D,KAAK,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE,EAAE,EAAE,EAAE,EAAE;YAC3C,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,2BAA2B,EAAE;gBAClD,kBAAkB;gBAClB,IAAI,EAAE;oBACJ,IAAI,EAAE,oBAAoB;oBAC1B,EAAE;iBACH;aACF,CAAC,CAAC;QACL,CAAC,CACF,CAAC;QAEF,IAAI,CAAC,2BAA2B,CAAC,eAAe,CAAC,MAAM,CACrD,KAAK,EAAE,EAAE,kBAAkB,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,EAAE;YACtD,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,2BAA2B,EAAE;gBAClD,kBAAkB;gBAClB,IAAI,EAAE;oBACJ,IAAI,EAAE,oBAAoB;oBAC1B,UAAU;oBACV,SAAS;iBACV;aACF,CAAC,CAAC;QACL,CAAC,CACF,CAAC;QAEF,IAAI,CAAC,2BAA2B,CAAC,iBAAiB,CAAC,MAAM,CACvD,KAAK,EAAE,EAAE,kBAAkB,EAAE,UAAU,EAAE,EAAE,EAAE;YAC3C,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,2BAA2B,EAAE;gBAClD,kBAAkB;gBAClB,IAAI,EAAE;oBACJ,IAAI,EAAE,wBAAwB;oBAC9B,UAAU;iBACX;aACF,CAAC,CAAC;QACL,CAAC,CACF,CAAC;QAEF,IAAI,CAAC,2BAA2B,CAAC,kBAAkB,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE;YAC1F,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,EAAE;gBACxC,kBAAkB,EAAE,EAAE;aACvB,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,uBAAuB,GAAG,IAAI,iBAAiB,CAAC;YACnD,MAAM,EAAE,uBAAuB;YAC/B,QAAQ,EAAE;gBACR,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;oBAC9B,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;gBACnC,CAAC;gBACD,yBAAyB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;oBAC3C,MAAM,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC;gBAC/C,CAAC;aACF;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,SAAS,GAAG,IAAI,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,EAAE;YACpD,SAAS,EAAE,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,WAAY,CAAC;YAC7D,iBAAiB,EAAE,KAAK;YACxB,UAAU,EAAE,EAAE;YACd,oBAAoB,EAAE,IAAI;YAC1B,oBAAoB,EAAE,IAAI;YAC1B,2BAA2B,EAAE,GAAG;YAChC,mBAAmB,EAAE,IAAI;SAC1B,CAAC,CAAC;QAEH,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YACtD,MAAM,CAAC,KAAK,CAAC,kBAAkB,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YACjD,MAAM,CAAC,KAAK,CAAC,kBAAkB,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YACjD,MAAM,CAAC,KAAK,CAAC,GAAG,UAAU,CAAC,iBAAiB,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACtF,CAAC;IAED,KAAK,CAAC,IAAI;QACR,MAAM,CAAC,KAAK,CAAC,4BAA4B,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IACxE,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,IAAI,CAAC;YACH,IACE,IAAI,CAAC,SAAS,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI;gBAC5C,IAAI,CAAC,SAAS,CAAC,UAAU,KAAK,SAAS,CAAC,UAAU,EAClD,CAAC;gBACD,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;YACzB,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,0CAA0C,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QACtE,CAAC;IACH,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,QAAuB,EAAE,IAAgB;QAC9D,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,WAAW,KAAK,QAAQ,CAAC,WAAW,EAAE,CAAC;YAC1E,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YAC/B,IAAI,EAAE,CAAC;YACP,OAAO;QACT,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QAErC,MAAM,gBAAgB,GAAG,IAAI,gBAAgB,CAAC,QAAQ,EAAE;YACtD,GAAG;YACH,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU;YACnC,IAAI;SACL,CAAC,CAAC;QAEH,MAAM,gBAAgB,CAAC,UAAU,EAAE,CAAC;QAEpC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC;YAC/B,IAAI,EAAE,CAAC;YACP,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACjD,CAAC;QAED,MAAM,MAAM,GAAG,sBAAsB,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAEjE,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;YAC/C,IAAI,EAAE,CAAC;YACP,OAAO;QACT,CAAC;QAED,MAAM,WAAW,GAAG,kBAAkB,CAAC,QAAQ,CAAC,OAAO,EAAE,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAE1F,MAAM,oBAAoB,GAAsC;YAC9D,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE;gBACR,cAAc,EAAE,QAAQ,CAAC,cAAc;gBACvC,iBAAiB,EAAE,QAAQ,CAAC,iBAAiB;gBAC7C,KAAK,EAAE,gBAAgB,CAAC,QAAQ,CAAC,KAAK;gBACtC,WAAW,EAAE,QAAQ,CAAC,WAAW;gBACjC,WAAW;aACZ;YACD,oBAAoB,EAAE,IAAI;SAC3B,CAAC;QAEF,MAAM,sBAAsB,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,sBAAsB,CAC7E,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAC3B,oBAAoB,CACrB,CAAC;QAEF,IAAI,CAAC,sBAAsB,CAAC,OAAO,EAAE,CAAC;YACpC,IAAI,EAAE,CAAC;YACP,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;QAChD,CAAC;QAED,gBAAgB,CAAC,YAAY,GAAG,sBAAsB,CAAC,IAAI,CAAC;QAC5D,IAAI,CAAC,2BAA2B,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;QAClE,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAE1B,kEAAkE;IACpE,CAAC;IAED,KAAK,CAAC,WAAW;QACf,MAAM,4BAA4B,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,uBAAuB,CACpF,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAC5B,CAAC;QAEF,MAAM,UAAU,GAAG,gBAAgB,EAAE,CAAC;QACtC,MAAM,UAAU,GAAG,iBAAiB,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3E,MAAM,yBAAyB,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,wBAAwB,IAAI,EAAE,CAAC,CAAC,IAAI,CACzF,GAAG,CACJ,CAAC;QAEF,OAAO;YACL,GAAG,eAAe,CAAC,UAAU,CAAC;YAC9B,GAAG,eAAe,CAChB,4BAA4B,CAAC,OAAO,CAAC,CAAC,CAAC,4BAA4B,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CACxF;YACD,GAAG,eAAe,CAAC,UAAU,CAAC;YAC9B,eAAe,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM;YAC3C,kBAAkB,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,WAAY;YACpD,8BAA8B,EAAE,MAAM;YACtC,wBAAwB,EAAE,IAAI,CAAC,SAAS,CAAC;gBACvC,CAAC,0BAA0B,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU;aACzE,CAAC;YACF,yBAAyB;SAC1B,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,uBAAuB,CAAC,KAAmB;QAC/C,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CACrB,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,WAAW,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAC1F,CAAC;YAEF,MAAM,IAAI,CAAC,uBAAuB,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QACzD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;gBAC3B,MAAM,CAAC,KAAK,CAAC,wCAAwC,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YACnF,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,KAAK,CACV,qFAAqF,CACtF,CAAC;gBACF,MAAM,CAAC,KAAK,CAAC,wCAAwC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;YACpE,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,OAAiF;QAEjF,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,2BAA2B,CAAC,cAAc,EAAE,CAAC;YACrE,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,EAAE;gBACxC,kBAAkB,EAAE,MAAM,CAAC,EAAE;gBAC7B,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC,cAAc;aAC7C,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,KAAK,CAAC,wBAAwB,CAC5B,OAA8F;QAE9F,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;QAE7B,MAAM,CAAC,KAAK,CACV,gCAAgC,OAAO,CAAC,kBAAkB,EAAE,EAC5D,IAAI,CAAC,SAAS,CAAC,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC,CAC3C,CAAC;QAEF,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;YACrB,KAAK,gBAAgB,CAAC,CAAC,CAAC;gBACtB,0CAA0C;gBAC1C,IAAI,CAAC,2BAA2B,CAAC,SAAS,CAAC,OAAO,CAAC,kBAAkB,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;gBAC1F,MAAM;YACR,CAAC;YACD,KAAK,0BAA0B,CAAC,CAAC,CAAC;gBAChC,MAAM,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,kBAAkB,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;YACrF,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,0BAA0B,CAAC,EAAU,EAAE,OAA2C;QACtF,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,oBAAoB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAEtF,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,sCAAsC,eAAe,CAAC,KAAK,EAAE,CAAC,CAAC;QACjF,CAAC;QAED,MAAM,SAAS,GAAG,eAAe,CAAC,IAAI,CAAC;QAEvC,MAAM,CAAC,KAAK,CAAC,iCAAiC,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;QAE/D,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,2BAA2B,CAAC,cAAc,CACtE,EAAE,EACF,EAAE,SAAS,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,EACnF,OAAO,CAAC,SAAS,CAClB,CAAC;QAEF,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC;IACnC,CAAC;CACF;AAED,SAAS,gBAAgB,CAAC,MAAc;IACtC,OAAO,KAAM,SAAQ,WAAW;QAC9B,YAAY,OAAqB,EAAE,OAA2C;YAC5E,KAAK,CAAC,OAAO,EAAE;gBACb,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC;gBAClB,OAAO,EAAE;oBACP,aAAa,EAAE,UAAU,MAAM,EAAE;oBACjC,YAAY,EAAE,mBAAmB,OAAO,EAAE;iBAC3C;aACF,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB;IACvB,MAAM,IAAI,GAAG;QACX,GAAG,OAAO,CAAC,GAAG;QACd,QAAQ,EAAE,aAAa;KACxB,CAAC;IAEF,8BAA8B;IAC9B,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC;AAChG,CAAC;AAED,SAAS,sBAAsB,CAAC,QAAwB;IACtD,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnD,MAAM,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAC;IACtE,CAAC;IAED,mCAAmC;IACnC,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACtD,MAAM,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,KAAK,CAAC,CAAC;IAEtF,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChC,MAAM,CAAC,IAAI,CAAC,uCAAuC,CAAC,gBAAgB,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;IACzF,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,uCAAuC,CAC9C,gBAA+B,EAC/B,KAA0B;IAE1B,MAAM,cAAc,GAAG,gBAAgB;SACpC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;QACV,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QAEtD,OAAO,OAAO,SAAS,CAAC,EAAE,CAAC,iBAAiB,KAAK;aAC9C,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,CAAC,QAAQ,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC;aACzD,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;IAChB,CAAC,CAAC;SACD,IAAI,CAAC,EAAE,CAAC,CAAC;IAEZ,OAAO,aAAa,SAAS,CAAC,SAAS,CAAC,aAAa,cAAc,EAAE,CAAC;AACxE,CAAC"}
|
|
1
|
+
{"version":3,"file":"workerRuntime.js","sourceRoot":"","sources":["../../../src/dev/workerRuntime.ts"],"names":[],"mappings":""}
|
|
@@ -1,43 +1,53 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { DequeuedMessage, LogLevel } from "@trigger.dev/core/v3";
|
|
2
2
|
import { CliApiClient } from "../apiClient.js";
|
|
3
|
+
import { BackgroundWorker } from "../dev/backgroundWorker.js";
|
|
3
4
|
type DevRunControllerOptions = {
|
|
4
5
|
runFriendlyId: string;
|
|
5
|
-
|
|
6
|
-
buildManifest: BuildManifest;
|
|
7
|
-
envVars: Record<string, string>;
|
|
8
|
-
version: string;
|
|
6
|
+
worker: BackgroundWorker;
|
|
9
7
|
httpClient: CliApiClient;
|
|
8
|
+
logLevel: LogLevel;
|
|
10
9
|
heartbeatIntervalSeconds?: number;
|
|
10
|
+
onSubscribeToRunNotifications: (run: Run, snapshot: Snapshot) => void;
|
|
11
|
+
onUnsubscribeFromRunNotifications: (run: Run, snapshot: Snapshot) => void;
|
|
11
12
|
onFinished: () => void;
|
|
12
13
|
};
|
|
14
|
+
type Run = {
|
|
15
|
+
friendlyId: string;
|
|
16
|
+
attemptNumber?: number | null;
|
|
17
|
+
};
|
|
18
|
+
type Snapshot = {
|
|
19
|
+
friendlyId: string;
|
|
20
|
+
};
|
|
13
21
|
export declare class DevRunController {
|
|
14
22
|
private readonly opts;
|
|
15
23
|
private taskRunProcess?;
|
|
16
|
-
private
|
|
24
|
+
private readonly worker;
|
|
17
25
|
private readonly httpClient;
|
|
18
26
|
private readonly runHeartbeat;
|
|
19
27
|
private readonly heartbeatIntervalSeconds;
|
|
20
28
|
private readonly snapshotPoller;
|
|
21
29
|
private readonly snapshotPollIntervalSeconds;
|
|
22
|
-
private readonly envVars;
|
|
23
30
|
private state;
|
|
24
31
|
private enterRunPhase;
|
|
25
32
|
constructor(opts: DevRunControllerOptions);
|
|
33
|
+
private sigterm;
|
|
26
34
|
private updateRunPhase;
|
|
27
35
|
private onExitRunPhase;
|
|
28
36
|
private subscribeToRunNotifications;
|
|
29
37
|
private unsubscribeFromRunNotifications;
|
|
30
38
|
private get runFriendlyId();
|
|
31
39
|
private get snapshotFriendlyId();
|
|
40
|
+
get workerFriendlyId(): string;
|
|
32
41
|
private handleSnapshotChangeLock;
|
|
33
42
|
private handleSnapshotChange;
|
|
34
43
|
private startAndExecuteRunAttempt;
|
|
35
44
|
private executeRun;
|
|
36
45
|
private handleCompletionResult;
|
|
37
|
-
private handleWait;
|
|
38
46
|
private runFinished;
|
|
39
|
-
cancelAttempt
|
|
47
|
+
private cancelAttempt;
|
|
40
48
|
start(dequeueMessage: DequeuedMessage): Promise<void>;
|
|
41
49
|
stop(): Promise<void>;
|
|
50
|
+
getLatestSnapshot(): Promise<void>;
|
|
51
|
+
resubscribeToRunNotifications(): void;
|
|
42
52
|
}
|
|
43
53
|
export {};
|