trigger.dev 4.0.0-v4-beta.28 → 4.0.1

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.
Files changed (102) hide show
  1. package/README.md +26 -30
  2. package/dist/esm/apiClient.d.ts +56 -1
  3. package/dist/esm/apiClient.js +56 -1
  4. package/dist/esm/apiClient.js.map +1 -1
  5. package/dist/esm/cli/common.js +1 -1
  6. package/dist/esm/cli/common.js.map +1 -1
  7. package/dist/esm/cli/index.js +13 -9
  8. package/dist/esm/cli/index.js.map +1 -1
  9. package/dist/esm/commands/deploy.js +1 -1
  10. package/dist/esm/commands/deploy.js.map +1 -1
  11. package/dist/esm/commands/dev.d.ts +17 -5
  12. package/dist/esm/commands/dev.js +47 -0
  13. package/dist/esm/commands/dev.js.map +1 -1
  14. package/dist/esm/commands/init.d.ts +8 -0
  15. package/dist/esm/commands/init.js +127 -63
  16. package/dist/esm/commands/init.js.map +1 -1
  17. package/dist/esm/commands/install-mcp.d.ts +50 -0
  18. package/dist/esm/commands/install-mcp.js +497 -0
  19. package/dist/esm/commands/install-mcp.js.map +1 -0
  20. package/dist/esm/commands/install-rules.d.ts +11 -0
  21. package/dist/esm/commands/install-rules.js +380 -0
  22. package/dist/esm/commands/install-rules.js.map +1 -0
  23. package/dist/esm/commands/login.d.ts +5 -0
  24. package/dist/esm/commands/login.js +1 -1
  25. package/dist/esm/commands/login.js.map +1 -1
  26. package/dist/esm/commands/mcp.d.ts +38 -0
  27. package/dist/esm/commands/mcp.js +82 -0
  28. package/dist/esm/commands/mcp.js.map +1 -0
  29. package/dist/esm/commands/update.d.ts +1 -0
  30. package/dist/esm/commands/update.js +6 -6
  31. package/dist/esm/commands/update.js.map +1 -1
  32. package/dist/esm/dev/devOutput.js +3 -3
  33. package/dist/esm/dev/devOutput.js.map +1 -1
  34. package/dist/esm/entryPoints/managed/env.d.ts +5 -5
  35. package/dist/esm/mcp/auth.d.ts +12 -0
  36. package/dist/esm/mcp/auth.js +146 -0
  37. package/dist/esm/mcp/auth.js.map +1 -0
  38. package/dist/esm/mcp/capabilities.d.ts +4 -0
  39. package/dist/esm/mcp/capabilities.js +22 -0
  40. package/dist/esm/mcp/capabilities.js.map +1 -0
  41. package/dist/esm/mcp/config.d.ts +77 -0
  42. package/dist/esm/mcp/config.js +82 -0
  43. package/dist/esm/mcp/config.js.map +1 -0
  44. package/dist/esm/mcp/context.d.ts +45 -0
  45. package/dist/esm/mcp/context.js +129 -0
  46. package/dist/esm/mcp/context.js.map +1 -0
  47. package/dist/esm/mcp/formatters.d.ts +5 -0
  48. package/dist/esm/mcp/formatters.js +310 -0
  49. package/dist/esm/mcp/formatters.js.map +1 -0
  50. package/dist/esm/mcp/logger.d.ts +11 -0
  51. package/dist/esm/mcp/logger.js +34 -0
  52. package/dist/esm/mcp/logger.js.map +1 -0
  53. package/dist/esm/mcp/mintlifyClient.d.ts +1 -0
  54. package/dist/esm/mcp/mintlifyClient.js +65 -0
  55. package/dist/esm/mcp/mintlifyClient.js.map +1 -0
  56. package/dist/esm/mcp/schemas.d.ts +324 -0
  57. package/dist/esm/mcp/schemas.js +144 -0
  58. package/dist/esm/mcp/schemas.js.map +1 -0
  59. package/dist/esm/mcp/tools/deploys.d.ts +174 -0
  60. package/dist/esm/mcp/tools/deploys.js +161 -0
  61. package/dist/esm/mcp/tools/deploys.js.map +1 -0
  62. package/dist/esm/mcp/tools/docs.d.ts +77 -0
  63. package/dist/esm/mcp/tools/docs.js +18 -0
  64. package/dist/esm/mcp/tools/docs.js.map +1 -0
  65. package/dist/esm/mcp/tools/orgs.d.ts +172 -0
  66. package/dist/esm/mcp/tools/orgs.js +172 -0
  67. package/dist/esm/mcp/tools/orgs.js.map +1 -0
  68. package/dist/esm/mcp/tools/previewBranches.d.ts +78 -0
  69. package/dist/esm/mcp/tools/previewBranches.js +28 -0
  70. package/dist/esm/mcp/tools/previewBranches.js.map +1 -0
  71. package/dist/esm/mcp/tools/runs.d.ts +254 -0
  72. package/dist/esm/mcp/tools/runs.js +119 -0
  73. package/dist/esm/mcp/tools/runs.js.map +1 -0
  74. package/dist/esm/mcp/tools/tasks.d.ts +200 -0
  75. package/dist/esm/mcp/tools/tasks.js +117 -0
  76. package/dist/esm/mcp/tools/tasks.js.map +1 -0
  77. package/dist/esm/mcp/tools.d.ts +2 -0
  78. package/dist/esm/mcp/tools.js +39 -0
  79. package/dist/esm/mcp/tools.js.map +1 -0
  80. package/dist/esm/mcp/types.d.ts +6 -0
  81. package/dist/esm/mcp/types.js +2 -0
  82. package/dist/esm/mcp/types.js.map +1 -0
  83. package/dist/esm/mcp/utils.d.ts +89 -0
  84. package/dist/esm/mcp/utils.js +95 -0
  85. package/dist/esm/mcp/utils.js.map +1 -0
  86. package/dist/esm/rules/install.d.ts +1 -0
  87. package/dist/esm/rules/install.js +2 -0
  88. package/dist/esm/rules/install.js.map +1 -0
  89. package/dist/esm/rules/manifest.d.ts +145 -0
  90. package/dist/esm/rules/manifest.js +110 -0
  91. package/dist/esm/rules/manifest.js.map +1 -0
  92. package/dist/esm/rules/types.d.ts +3 -0
  93. package/dist/esm/rules/types.js +3 -0
  94. package/dist/esm/rules/types.js.map +1 -0
  95. package/dist/esm/utilities/configFiles.d.ts +29 -0
  96. package/dist/esm/utilities/configFiles.js +51 -0
  97. package/dist/esm/utilities/configFiles.js.map +1 -1
  98. package/dist/esm/utilities/fileSystem.d.ts +6 -0
  99. package/dist/esm/utilities/fileSystem.js +41 -3
  100. package/dist/esm/utilities/fileSystem.js.map +1 -1
  101. package/dist/esm/version.js +1 -1
  102. package/package.json +11 -7
@@ -0,0 +1,78 @@
1
+ import { ToolMeta } from "../types.js";
2
+ export declare const listPreviewBranchesTool: {
3
+ name: string;
4
+ title: string;
5
+ description: string;
6
+ inputSchema: {
7
+ projectRef: import("zod").ZodOptional<import("zod").ZodString>;
8
+ configPath: import("zod").ZodOptional<import("zod").ZodString>;
9
+ };
10
+ handler: (input: unknown, extra: ToolMeta) => Promise<{
11
+ [x: string]: unknown;
12
+ content: ({
13
+ [x: string]: unknown;
14
+ type: "text";
15
+ text: string;
16
+ _meta?: {
17
+ [x: string]: unknown;
18
+ } | undefined;
19
+ } | {
20
+ [x: string]: unknown;
21
+ type: "image";
22
+ data: string;
23
+ mimeType: string;
24
+ _meta?: {
25
+ [x: string]: unknown;
26
+ } | undefined;
27
+ } | {
28
+ [x: string]: unknown;
29
+ type: "audio";
30
+ data: string;
31
+ mimeType: string;
32
+ _meta?: {
33
+ [x: string]: unknown;
34
+ } | undefined;
35
+ } | {
36
+ [x: string]: unknown;
37
+ type: "resource_link";
38
+ name: string;
39
+ uri: string;
40
+ description?: string | undefined;
41
+ title?: string | undefined;
42
+ _meta?: {
43
+ [x: string]: unknown;
44
+ } | undefined;
45
+ mimeType?: string | undefined;
46
+ } | {
47
+ [x: string]: unknown;
48
+ type: "resource";
49
+ resource: {
50
+ [x: string]: unknown;
51
+ text: string;
52
+ uri: string;
53
+ _meta?: {
54
+ [x: string]: unknown;
55
+ } | undefined;
56
+ mimeType?: string | undefined;
57
+ } | {
58
+ [x: string]: unknown;
59
+ uri: string;
60
+ blob: string;
61
+ _meta?: {
62
+ [x: string]: unknown;
63
+ } | undefined;
64
+ mimeType?: string | undefined;
65
+ };
66
+ _meta?: {
67
+ [x: string]: unknown;
68
+ } | undefined;
69
+ })[];
70
+ isError?: boolean | undefined;
71
+ _meta?: {
72
+ [x: string]: unknown;
73
+ } | undefined;
74
+ structuredContent?: {
75
+ [x: string]: unknown;
76
+ } | undefined;
77
+ }>;
78
+ };
@@ -0,0 +1,28 @@
1
+ import { ListPreviewBranchesInput } from "../schemas.js";
2
+ import { toolsMetadata } from "../config.js";
3
+ import { respondWithError, toolHandler } from "../utils.js";
4
+ export const listPreviewBranchesTool = {
5
+ name: toolsMetadata.list_preview_branches.name,
6
+ title: toolsMetadata.list_preview_branches.title,
7
+ description: toolsMetadata.list_preview_branches.description,
8
+ inputSchema: ListPreviewBranchesInput.shape,
9
+ handler: toolHandler(ListPreviewBranchesInput.shape, async (input, { ctx }) => {
10
+ ctx.logger?.log("calling list_preview_branches", { input });
11
+ if (ctx.options.devOnly) {
12
+ return respondWithError(`This MCP server is only available for the dev environment. `);
13
+ }
14
+ const projectRef = await ctx.getProjectRef({
15
+ projectRef: input.projectRef,
16
+ cwd: input.configPath,
17
+ });
18
+ const cliApiClient = await ctx.getCliApiClient();
19
+ const branches = await cliApiClient.listBranches(projectRef);
20
+ if (!branches.success) {
21
+ return respondWithError(branches.error);
22
+ }
23
+ return {
24
+ content: [{ type: "text", text: JSON.stringify(branches.data, null, 2) }],
25
+ };
26
+ }),
27
+ };
28
+ //# sourceMappingURL=previewBranches.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"previewBranches.js","sourceRoot":"","sources":["../../../../src/mcp/tools/previewBranches.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE5D,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,IAAI,EAAE,aAAa,CAAC,qBAAqB,CAAC,IAAI;IAC9C,KAAK,EAAE,aAAa,CAAC,qBAAqB,CAAC,KAAK;IAChD,WAAW,EAAE,aAAa,CAAC,qBAAqB,CAAC,WAAW;IAC5D,WAAW,EAAE,wBAAwB,CAAC,KAAK;IAC3C,OAAO,EAAE,WAAW,CAAC,wBAAwB,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE;QAC5E,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,+BAA+B,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAE5D,IAAI,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACxB,OAAO,gBAAgB,CAAC,6DAA6D,CAAC,CAAC;QACzF,CAAC;QAED,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,aAAa,CAAC;YACzC,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,GAAG,EAAE,KAAK,CAAC,UAAU;SACtB,CAAC,CAAC;QAEH,MAAM,YAAY,GAAG,MAAM,GAAG,CAAC,eAAe,EAAE,CAAC;QAEjD,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;QAE7D,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;YACtB,OAAO,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC1C,CAAC;QAED,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;SAC1E,CAAC;IACJ,CAAC,CAAC;CACH,CAAC"}
@@ -0,0 +1,254 @@
1
+ export declare const getRunDetailsTool: {
2
+ name: string;
3
+ title: string;
4
+ description: string;
5
+ inputSchema: {
6
+ projectRef: import("zod").ZodOptional<import("zod").ZodString>;
7
+ configPath: import("zod").ZodOptional<import("zod").ZodString>;
8
+ environment: import("zod").ZodDefault<import("zod").ZodEnum<["dev", "staging", "prod", "preview"]>>;
9
+ branch: import("zod").ZodOptional<import("zod").ZodString>;
10
+ } & {
11
+ runId: import("zod").ZodString;
12
+ } & {
13
+ maxTraceLines: import("zod").ZodOptional<import("zod").ZodNumber>;
14
+ };
15
+ handler: (input: unknown, extra: import("../types.js").ToolMeta) => Promise<{
16
+ [x: string]: unknown;
17
+ content: ({
18
+ [x: string]: unknown;
19
+ type: "text";
20
+ text: string;
21
+ _meta?: {
22
+ [x: string]: unknown;
23
+ } | undefined;
24
+ } | {
25
+ [x: string]: unknown;
26
+ type: "image";
27
+ data: string;
28
+ mimeType: string;
29
+ _meta?: {
30
+ [x: string]: unknown;
31
+ } | undefined;
32
+ } | {
33
+ [x: string]: unknown;
34
+ type: "audio";
35
+ data: string;
36
+ mimeType: string;
37
+ _meta?: {
38
+ [x: string]: unknown;
39
+ } | undefined;
40
+ } | {
41
+ [x: string]: unknown;
42
+ type: "resource_link";
43
+ name: string;
44
+ uri: string;
45
+ description?: string | undefined;
46
+ title?: string | undefined;
47
+ _meta?: {
48
+ [x: string]: unknown;
49
+ } | undefined;
50
+ mimeType?: string | undefined;
51
+ } | {
52
+ [x: string]: unknown;
53
+ type: "resource";
54
+ resource: {
55
+ [x: string]: unknown;
56
+ text: string;
57
+ uri: string;
58
+ _meta?: {
59
+ [x: string]: unknown;
60
+ } | undefined;
61
+ mimeType?: string | undefined;
62
+ } | {
63
+ [x: string]: unknown;
64
+ uri: string;
65
+ blob: string;
66
+ _meta?: {
67
+ [x: string]: unknown;
68
+ } | undefined;
69
+ mimeType?: string | undefined;
70
+ };
71
+ _meta?: {
72
+ [x: string]: unknown;
73
+ } | undefined;
74
+ })[];
75
+ isError?: boolean | undefined;
76
+ _meta?: {
77
+ [x: string]: unknown;
78
+ } | undefined;
79
+ structuredContent?: {
80
+ [x: string]: unknown;
81
+ } | undefined;
82
+ }>;
83
+ };
84
+ export declare const cancelRunTool: {
85
+ name: string;
86
+ title: string;
87
+ description: string;
88
+ inputSchema: {
89
+ projectRef: import("zod").ZodOptional<import("zod").ZodString>;
90
+ configPath: import("zod").ZodOptional<import("zod").ZodString>;
91
+ environment: import("zod").ZodDefault<import("zod").ZodEnum<["dev", "staging", "prod", "preview"]>>;
92
+ branch: import("zod").ZodOptional<import("zod").ZodString>;
93
+ } & {
94
+ runId: import("zod").ZodString;
95
+ };
96
+ handler: (input: unknown, extra: import("../types.js").ToolMeta) => Promise<{
97
+ [x: string]: unknown;
98
+ content: ({
99
+ [x: string]: unknown;
100
+ type: "text";
101
+ text: string;
102
+ _meta?: {
103
+ [x: string]: unknown;
104
+ } | undefined;
105
+ } | {
106
+ [x: string]: unknown;
107
+ type: "image";
108
+ data: string;
109
+ mimeType: string;
110
+ _meta?: {
111
+ [x: string]: unknown;
112
+ } | undefined;
113
+ } | {
114
+ [x: string]: unknown;
115
+ type: "audio";
116
+ data: string;
117
+ mimeType: string;
118
+ _meta?: {
119
+ [x: string]: unknown;
120
+ } | undefined;
121
+ } | {
122
+ [x: string]: unknown;
123
+ type: "resource_link";
124
+ name: string;
125
+ uri: string;
126
+ description?: string | undefined;
127
+ title?: string | undefined;
128
+ _meta?: {
129
+ [x: string]: unknown;
130
+ } | undefined;
131
+ mimeType?: string | undefined;
132
+ } | {
133
+ [x: string]: unknown;
134
+ type: "resource";
135
+ resource: {
136
+ [x: string]: unknown;
137
+ text: string;
138
+ uri: string;
139
+ _meta?: {
140
+ [x: string]: unknown;
141
+ } | undefined;
142
+ mimeType?: string | undefined;
143
+ } | {
144
+ [x: string]: unknown;
145
+ uri: string;
146
+ blob: string;
147
+ _meta?: {
148
+ [x: string]: unknown;
149
+ } | undefined;
150
+ mimeType?: string | undefined;
151
+ };
152
+ _meta?: {
153
+ [x: string]: unknown;
154
+ } | undefined;
155
+ })[];
156
+ isError?: boolean | undefined;
157
+ _meta?: {
158
+ [x: string]: unknown;
159
+ } | undefined;
160
+ structuredContent?: {
161
+ [x: string]: unknown;
162
+ } | undefined;
163
+ }>;
164
+ };
165
+ export declare const listRunsTool: {
166
+ name: string;
167
+ title: string;
168
+ description: string;
169
+ inputSchema: {
170
+ projectRef: import("zod").ZodOptional<import("zod").ZodString>;
171
+ configPath: import("zod").ZodOptional<import("zod").ZodString>;
172
+ environment: import("zod").ZodDefault<import("zod").ZodEnum<["dev", "staging", "prod", "preview"]>>;
173
+ branch: import("zod").ZodOptional<import("zod").ZodString>;
174
+ } & {
175
+ cursor: import("zod").ZodOptional<import("zod").ZodString>;
176
+ limit: import("zod").ZodOptional<import("zod").ZodNumber>;
177
+ status: import("zod").ZodOptional<import("zod").ZodEnum<["PENDING_VERSION", "QUEUED", "DEQUEUED", "EXECUTING", "WAITING", "COMPLETED", "CANCELED", "FAILED", "CRASHED", "SYSTEM_FAILURE", "DELAYED", "EXPIRED", "TIMED_OUT"]>>;
178
+ taskIdentifier: import("zod").ZodOptional<import("zod").ZodString>;
179
+ version: import("zod").ZodOptional<import("zod").ZodString>;
180
+ tag: import("zod").ZodOptional<import("zod").ZodString>;
181
+ from: import("zod").ZodOptional<import("zod").ZodString>;
182
+ to: import("zod").ZodOptional<import("zod").ZodString>;
183
+ period: import("zod").ZodOptional<import("zod").ZodString>;
184
+ machine: import("zod").ZodOptional<import("zod").ZodEnum<["micro", "small-1x", "small-2x", "medium-1x", "medium-2x", "large-1x", "large-2x"]>>;
185
+ };
186
+ handler: (input: unknown, extra: import("../types.js").ToolMeta) => Promise<{
187
+ [x: string]: unknown;
188
+ content: ({
189
+ [x: string]: unknown;
190
+ type: "text";
191
+ text: string;
192
+ _meta?: {
193
+ [x: string]: unknown;
194
+ } | undefined;
195
+ } | {
196
+ [x: string]: unknown;
197
+ type: "image";
198
+ data: string;
199
+ mimeType: string;
200
+ _meta?: {
201
+ [x: string]: unknown;
202
+ } | undefined;
203
+ } | {
204
+ [x: string]: unknown;
205
+ type: "audio";
206
+ data: string;
207
+ mimeType: string;
208
+ _meta?: {
209
+ [x: string]: unknown;
210
+ } | undefined;
211
+ } | {
212
+ [x: string]: unknown;
213
+ type: "resource_link";
214
+ name: string;
215
+ uri: string;
216
+ description?: string | undefined;
217
+ title?: string | undefined;
218
+ _meta?: {
219
+ [x: string]: unknown;
220
+ } | undefined;
221
+ mimeType?: string | undefined;
222
+ } | {
223
+ [x: string]: unknown;
224
+ type: "resource";
225
+ resource: {
226
+ [x: string]: unknown;
227
+ text: string;
228
+ uri: string;
229
+ _meta?: {
230
+ [x: string]: unknown;
231
+ } | undefined;
232
+ mimeType?: string | undefined;
233
+ } | {
234
+ [x: string]: unknown;
235
+ uri: string;
236
+ blob: string;
237
+ _meta?: {
238
+ [x: string]: unknown;
239
+ } | undefined;
240
+ mimeType?: string | undefined;
241
+ };
242
+ _meta?: {
243
+ [x: string]: unknown;
244
+ } | undefined;
245
+ })[];
246
+ isError?: boolean | undefined;
247
+ _meta?: {
248
+ [x: string]: unknown;
249
+ } | undefined;
250
+ structuredContent?: {
251
+ [x: string]: unknown;
252
+ } | undefined;
253
+ }>;
254
+ };
@@ -0,0 +1,119 @@
1
+ import { toolsMetadata } from "../config.js";
2
+ import { formatRun, formatRunList, formatRunTrace } from "../formatters.js";
3
+ import { CommonRunsInput, GetRunDetailsInput, ListRunsInput } from "../schemas.js";
4
+ import { respondWithError, toolHandler } from "../utils.js";
5
+ export const getRunDetailsTool = {
6
+ name: toolsMetadata.get_run_details.name,
7
+ title: toolsMetadata.get_run_details.title,
8
+ description: toolsMetadata.get_run_details.description,
9
+ inputSchema: GetRunDetailsInput.shape,
10
+ handler: toolHandler(GetRunDetailsInput.shape, async (input, { ctx }) => {
11
+ ctx.logger?.log("calling get_run_details", { input });
12
+ if (ctx.options.devOnly && input.environment !== "dev") {
13
+ return respondWithError(`This MCP server is only available for the dev environment. You tried to access the ${input.environment} environment. Remove the --dev-only flag to access other environments.`);
14
+ }
15
+ const projectRef = await ctx.getProjectRef({
16
+ projectRef: input.projectRef,
17
+ cwd: input.configPath,
18
+ });
19
+ const apiClient = await ctx.getApiClient({
20
+ projectRef,
21
+ environment: input.environment,
22
+ scopes: [`read:runs:${input.runId}`],
23
+ branch: input.branch,
24
+ });
25
+ const [runResult, traceResult] = await Promise.all([
26
+ apiClient.retrieveRun(input.runId),
27
+ apiClient.retrieveRunTrace(input.runId),
28
+ ]);
29
+ const formattedRun = formatRun(runResult);
30
+ const formattedTrace = formatRunTrace(traceResult.trace, input.maxTraceLines);
31
+ const runUrl = await ctx.getDashboardUrl(`/projects/v3/${projectRef}/runs/${runResult.id}`);
32
+ const content = [
33
+ "## Run Details",
34
+ formattedRun,
35
+ "",
36
+ "## Run Trace",
37
+ formattedTrace,
38
+ "",
39
+ `[View in dashboard](${runUrl})`,
40
+ ];
41
+ return {
42
+ content: [
43
+ {
44
+ type: "text",
45
+ text: content.join("\n"),
46
+ },
47
+ ],
48
+ };
49
+ }),
50
+ };
51
+ export const cancelRunTool = {
52
+ name: toolsMetadata.cancel_run.name,
53
+ title: toolsMetadata.cancel_run.title,
54
+ description: toolsMetadata.cancel_run.description,
55
+ inputSchema: CommonRunsInput.shape,
56
+ handler: toolHandler(CommonRunsInput.shape, async (input, { ctx }) => {
57
+ ctx.logger?.log("calling cancel_run", { input });
58
+ if (ctx.options.devOnly && input.environment !== "dev") {
59
+ return respondWithError(`This MCP server is only available for the dev environment. You tried to access the ${input.environment} environment. Remove the --dev-only flag to access other environments.`);
60
+ }
61
+ const projectRef = await ctx.getProjectRef({
62
+ projectRef: input.projectRef,
63
+ cwd: input.configPath,
64
+ });
65
+ const apiClient = await ctx.getApiClient({
66
+ projectRef,
67
+ environment: input.environment,
68
+ scopes: [`write:runs:${input.runId}`, `read:runs:${input.runId}`],
69
+ branch: input.branch,
70
+ });
71
+ await apiClient.cancelRun(input.runId);
72
+ const retrieveResult = await apiClient.retrieveRun(input.runId);
73
+ const runUrl = await ctx.getDashboardUrl(`/projects/v3/${projectRef}/runs/${retrieveResult.id}`);
74
+ return {
75
+ content: [{ type: "text", text: JSON.stringify({ ...retrieveResult, runUrl }, null, 2) }],
76
+ };
77
+ }),
78
+ };
79
+ export const listRunsTool = {
80
+ name: toolsMetadata.list_runs.name,
81
+ title: toolsMetadata.list_runs.title,
82
+ description: toolsMetadata.list_runs.description,
83
+ inputSchema: ListRunsInput.shape,
84
+ handler: toolHandler(ListRunsInput.shape, async (input, { ctx }) => {
85
+ ctx.logger?.log("calling list_runs", { input });
86
+ if (ctx.options.devOnly && input.environment !== "dev") {
87
+ return respondWithError(`This MCP server is only available for the dev environment. You tried to access the ${input.environment} environment. Remove the --dev-only flag to access other environments.`);
88
+ }
89
+ const projectRef = await ctx.getProjectRef({
90
+ projectRef: input.projectRef,
91
+ cwd: input.configPath,
92
+ });
93
+ const apiClient = await ctx.getApiClient({
94
+ projectRef,
95
+ environment: input.environment,
96
+ scopes: ["read:runs"],
97
+ branch: input.branch,
98
+ });
99
+ const $from = typeof input.from === "string" ? new Date(input.from) : undefined;
100
+ const $to = typeof input.to === "string" ? new Date(input.to) : undefined;
101
+ const result = await apiClient.listRuns({
102
+ after: input.cursor,
103
+ limit: input.limit,
104
+ status: input.status,
105
+ taskIdentifier: input.taskIdentifier,
106
+ version: input.version,
107
+ tag: input.tag,
108
+ from: $from,
109
+ to: $to,
110
+ period: input.period,
111
+ machine: input.machine,
112
+ });
113
+ const formattedRuns = formatRunList(result);
114
+ return {
115
+ content: [{ type: "text", text: formattedRuns }],
116
+ };
117
+ }),
118
+ };
119
+ //# sourceMappingURL=runs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runs.js","sourceRoot":"","sources":["../../../../src/mcp/tools/runs.ts"],"names":[],"mappings":"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"}