trigger.dev 4.0.0 → 4.0.2

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 (110) hide show
  1. package/dist/esm/apiClient.d.ts +56 -1
  2. package/dist/esm/apiClient.js +56 -1
  3. package/dist/esm/apiClient.js.map +1 -1
  4. package/dist/esm/cli/common.js +1 -1
  5. package/dist/esm/cli/common.js.map +1 -1
  6. package/dist/esm/cli/index.js +13 -9
  7. package/dist/esm/cli/index.js.map +1 -1
  8. package/dist/esm/commands/deploy.js +2 -2
  9. package/dist/esm/commands/deploy.js.map +1 -1
  10. package/dist/esm/commands/dev.d.ts +17 -5
  11. package/dist/esm/commands/dev.js +47 -0
  12. package/dist/esm/commands/dev.js.map +1 -1
  13. package/dist/esm/commands/init.d.ts +8 -0
  14. package/dist/esm/commands/init.js +127 -63
  15. package/dist/esm/commands/init.js.map +1 -1
  16. package/dist/esm/commands/install-mcp.d.ts +50 -0
  17. package/dist/esm/commands/install-mcp.js +497 -0
  18. package/dist/esm/commands/install-mcp.js.map +1 -0
  19. package/dist/esm/commands/install-rules.d.ts +11 -0
  20. package/dist/esm/commands/install-rules.js +381 -0
  21. package/dist/esm/commands/install-rules.js.map +1 -0
  22. package/dist/esm/commands/login.d.ts +5 -0
  23. package/dist/esm/commands/login.js +15 -5
  24. package/dist/esm/commands/login.js.map +1 -1
  25. package/dist/esm/commands/mcp.d.ts +38 -0
  26. package/dist/esm/commands/mcp.js +82 -0
  27. package/dist/esm/commands/mcp.js.map +1 -0
  28. package/dist/esm/commands/update.d.ts +1 -0
  29. package/dist/esm/commands/update.js +6 -6
  30. package/dist/esm/commands/update.js.map +1 -1
  31. package/dist/esm/dev/devOutput.js +3 -3
  32. package/dist/esm/dev/devOutput.js.map +1 -1
  33. package/dist/esm/entryPoints/managed/env.d.ts +5 -5
  34. package/dist/esm/mcp/auth.d.ts +12 -0
  35. package/dist/esm/mcp/auth.js +152 -0
  36. package/dist/esm/mcp/auth.js.map +1 -0
  37. package/dist/esm/mcp/capabilities.d.ts +4 -0
  38. package/dist/esm/mcp/capabilities.js +22 -0
  39. package/dist/esm/mcp/capabilities.js.map +1 -0
  40. package/dist/esm/mcp/config.d.ts +82 -0
  41. package/dist/esm/mcp/config.js +87 -0
  42. package/dist/esm/mcp/config.js.map +1 -0
  43. package/dist/esm/mcp/context.d.ts +45 -0
  44. package/dist/esm/mcp/context.js +129 -0
  45. package/dist/esm/mcp/context.js.map +1 -0
  46. package/dist/esm/mcp/formatters.d.ts +7 -0
  47. package/dist/esm/mcp/formatters.js +330 -0
  48. package/dist/esm/mcp/formatters.js.map +1 -0
  49. package/dist/esm/mcp/logger.d.ts +11 -0
  50. package/dist/esm/mcp/logger.js +34 -0
  51. package/dist/esm/mcp/logger.js.map +1 -0
  52. package/dist/esm/mcp/mintlifyClient.d.ts +1 -0
  53. package/dist/esm/mcp/mintlifyClient.js +65 -0
  54. package/dist/esm/mcp/mintlifyClient.js.map +1 -0
  55. package/dist/esm/mcp/schemas.d.ts +324 -0
  56. package/dist/esm/mcp/schemas.js +144 -0
  57. package/dist/esm/mcp/schemas.js.map +1 -0
  58. package/dist/esm/mcp/tools/deploys.d.ts +174 -0
  59. package/dist/esm/mcp/tools/deploys.js +161 -0
  60. package/dist/esm/mcp/tools/deploys.js.map +1 -0
  61. package/dist/esm/mcp/tools/docs.d.ts +77 -0
  62. package/dist/esm/mcp/tools/docs.js +18 -0
  63. package/dist/esm/mcp/tools/docs.js.map +1 -0
  64. package/dist/esm/mcp/tools/orgs.d.ts +172 -0
  65. package/dist/esm/mcp/tools/orgs.js +172 -0
  66. package/dist/esm/mcp/tools/orgs.js.map +1 -0
  67. package/dist/esm/mcp/tools/previewBranches.d.ts +78 -0
  68. package/dist/esm/mcp/tools/previewBranches.js +28 -0
  69. package/dist/esm/mcp/tools/previewBranches.js.map +1 -0
  70. package/dist/esm/mcp/tools/runs.d.ts +335 -0
  71. package/dist/esm/mcp/tools/runs.js +160 -0
  72. package/dist/esm/mcp/tools/runs.js.map +1 -0
  73. package/dist/esm/mcp/tools/tasks.d.ts +200 -0
  74. package/dist/esm/mcp/tools/tasks.js +117 -0
  75. package/dist/esm/mcp/tools/tasks.js.map +1 -0
  76. package/dist/esm/mcp/tools.d.ts +2 -0
  77. package/dist/esm/mcp/tools.js +40 -0
  78. package/dist/esm/mcp/tools.js.map +1 -0
  79. package/dist/esm/mcp/types.d.ts +6 -0
  80. package/dist/esm/mcp/types.js +2 -0
  81. package/dist/esm/mcp/types.js.map +1 -0
  82. package/dist/esm/mcp/utils.d.ts +89 -0
  83. package/dist/esm/mcp/utils.js +95 -0
  84. package/dist/esm/mcp/utils.js.map +1 -0
  85. package/dist/esm/rules/install.d.ts +1 -0
  86. package/dist/esm/rules/install.js +2 -0
  87. package/dist/esm/rules/install.js.map +1 -0
  88. package/dist/esm/rules/manifest.d.ts +145 -0
  89. package/dist/esm/rules/manifest.js +110 -0
  90. package/dist/esm/rules/manifest.js.map +1 -0
  91. package/dist/esm/rules/types.d.ts +3 -0
  92. package/dist/esm/rules/types.js +3 -0
  93. package/dist/esm/rules/types.js.map +1 -0
  94. package/dist/esm/utilities/accessTokens.d.ts +12 -0
  95. package/dist/esm/utilities/accessTokens.js +30 -0
  96. package/dist/esm/utilities/accessTokens.js.map +1 -0
  97. package/dist/esm/utilities/configFiles.d.ts +29 -0
  98. package/dist/esm/utilities/configFiles.js +51 -0
  99. package/dist/esm/utilities/configFiles.js.map +1 -1
  100. package/dist/esm/utilities/fileSystem.d.ts +6 -0
  101. package/dist/esm/utilities/fileSystem.js +41 -3
  102. package/dist/esm/utilities/fileSystem.js.map +1 -1
  103. package/dist/esm/utilities/session.d.ts +2 -0
  104. package/dist/esm/utilities/session.js +2 -0
  105. package/dist/esm/utilities/session.js.map +1 -1
  106. package/dist/esm/version.js +1 -1
  107. package/package.json +11 -7
  108. package/dist/esm/utilities/isPersonalAccessToken.d.ts +0 -4
  109. package/dist/esm/utilities/isPersonalAccessToken.js +0 -11
  110. package/dist/esm/utilities/isPersonalAccessToken.js.map +0 -1
@@ -0,0 +1,172 @@
1
+ import { toolsMetadata } from "../config.js";
2
+ import { CreateProjectInOrgInput, InitializeProjectInput } from "../schemas.js";
3
+ import { respondWithError, toolHandler } from "../utils.js";
4
+ import { loadConfig } from "../../config.js";
5
+ import { tryCatch } from "@trigger.dev/core/utils";
6
+ export const listOrgsTool = {
7
+ name: toolsMetadata.list_orgs.name,
8
+ title: toolsMetadata.list_orgs.title,
9
+ description: toolsMetadata.list_orgs.description,
10
+ inputSchema: {},
11
+ handler: async (input, { ctx }) => {
12
+ ctx.logger?.log("calling list_orgs", { input });
13
+ const cliApiClient = await ctx.getCliApiClient();
14
+ const orgs = await cliApiClient.getOrgs();
15
+ if (!orgs.success) {
16
+ return respondWithError(orgs.error);
17
+ }
18
+ ctx.logger?.log("list_orgs", { orgs: orgs.data });
19
+ const contents = orgs.data.map((org) => {
20
+ return `- ${org.title} (id=${org.id}) (slug=${org.slug}) (createdAt=${org.createdAt})`;
21
+ });
22
+ return {
23
+ content: [{ type: "text", text: contents.join("\n") }],
24
+ };
25
+ },
26
+ };
27
+ export const listProjectsTool = {
28
+ name: toolsMetadata.list_projects.name,
29
+ title: toolsMetadata.list_projects.title,
30
+ description: toolsMetadata.list_projects.description,
31
+ inputSchema: {},
32
+ handler: async (input, { ctx }) => {
33
+ ctx.logger?.log("calling list_projects", { input });
34
+ const cliApiClient = await ctx.getCliApiClient();
35
+ const projects = await cliApiClient.getProjects();
36
+ if (!projects.success) {
37
+ return respondWithError(projects.error);
38
+ }
39
+ ctx.logger?.log("list_projects", { projects: projects.data });
40
+ const groupedByOrg = projects.data.reduce((acc, project) => {
41
+ if (!project.organization) {
42
+ return acc;
43
+ }
44
+ acc[project.organization.id] = acc[project.organization.id] || {
45
+ organization: project.organization,
46
+ projects: [],
47
+ };
48
+ acc[project.organization.id].projects.push(project);
49
+ return acc;
50
+ }, {});
51
+ const contents = Object.values(groupedByOrg)
52
+ .map((org) => {
53
+ const parts = [
54
+ `## Organization ${org.organization.title} (id=${org.organization.id}) (slug=${org.organization.slug}) projects:`,
55
+ ];
56
+ for (const project of org.projects) {
57
+ parts.push(`- ${project.name} (projectRef=${project.externalRef}) (slug=${project.slug}) (createdAt=${project.createdAt})`);
58
+ }
59
+ return parts.join("\n");
60
+ })
61
+ .join("\n");
62
+ return {
63
+ content: [
64
+ {
65
+ type: "text",
66
+ text: contents,
67
+ },
68
+ ],
69
+ };
70
+ },
71
+ };
72
+ export const createProjectInOrgTool = {
73
+ name: toolsMetadata.create_project_in_org.name,
74
+ title: toolsMetadata.create_project_in_org.title,
75
+ description: toolsMetadata.create_project_in_org.description,
76
+ inputSchema: CreateProjectInOrgInput.shape,
77
+ handler: toolHandler(CreateProjectInOrgInput.shape, async (input, { ctx }) => {
78
+ ctx.logger?.log("calling create_project_in_org", { input });
79
+ const cliApiClient = await ctx.getCliApiClient();
80
+ const project = await cliApiClient.createProject(input.orgParam, {
81
+ name: input.name,
82
+ });
83
+ if (!project.success) {
84
+ return respondWithError(project.error);
85
+ }
86
+ ctx.logger?.log("create_project_in_org", { project: project.data });
87
+ const contents = [
88
+ `Project created successfully: ${project.data.name} (projectRef=${project.data.externalRef}) (slug=${project.data.slug}) (createdAt=${project.data.createdAt})`,
89
+ ];
90
+ return {
91
+ content: [{ type: "text", text: contents.join("\n") }],
92
+ };
93
+ }),
94
+ };
95
+ export const initializeProjectTool = {
96
+ name: toolsMetadata.initialize_project.name,
97
+ title: toolsMetadata.initialize_project.title,
98
+ description: toolsMetadata.initialize_project.description,
99
+ inputSchema: InitializeProjectInput.shape,
100
+ handler: toolHandler(InitializeProjectInput.shape, async (input, { ctx }) => {
101
+ ctx.logger?.log("calling initialize_project", { input });
102
+ let projectRef = input.projectRef;
103
+ if (!projectRef) {
104
+ const cwd = input.cwd ?? (await ctx.getCwd());
105
+ if (!cwd) {
106
+ return respondWithError("No current working directory found. Please provide a projectRef or a cwd.");
107
+ }
108
+ // Try to load the config file
109
+ const [_, config] = await tryCatch(loadConfig({ cwd }));
110
+ if (config?.configFile) {
111
+ if (typeof config.project === "string" && config.project.startsWith("proj_")) {
112
+ ctx.logger?.log("initialize_project existing project", {
113
+ config,
114
+ projectRef: config.project,
115
+ });
116
+ return {
117
+ content: [
118
+ {
119
+ type: "text",
120
+ text: `We found an existing trigger.config.ts file in the current working directory. Skipping initialization.`,
121
+ },
122
+ ],
123
+ };
124
+ }
125
+ else {
126
+ return respondWithError("Could not find the project ref in the config file. Please provide a projectRef.");
127
+ }
128
+ }
129
+ const cliApiClient = await ctx.getCliApiClient();
130
+ const project = await cliApiClient.createProject(input.orgParam, {
131
+ name: input.projectName,
132
+ });
133
+ if (!project.success) {
134
+ return respondWithError(`Failed to create project ${input.projectName} in organization ${input.orgParam}: ${project.error}`);
135
+ }
136
+ ctx.logger?.log("initialize_project new project", {
137
+ project: project.data,
138
+ });
139
+ projectRef = project.data.externalRef;
140
+ }
141
+ const cliApiClient = await ctx.getCliApiClient();
142
+ const projectEnv = await cliApiClient.getProjectEnv({
143
+ projectRef: projectRef,
144
+ env: "dev",
145
+ });
146
+ const manualSetupGuide = await getManualSetupGuide(projectRef, projectEnv.success ? projectEnv.data.apiKey : undefined, projectEnv.success ? projectEnv.data.apiUrl : undefined);
147
+ return {
148
+ content: [
149
+ {
150
+ type: "text",
151
+ text: manualSetupGuide,
152
+ },
153
+ ],
154
+ };
155
+ }),
156
+ };
157
+ async function getManualSetupGuide(projectRef, apiKey, apiUrl) {
158
+ const response = await fetch("https://trigger.dev/docs/manual-setup.md");
159
+ let text = await response.text();
160
+ text = text.replace("<your-project-ref>", projectRef);
161
+ text = text.replace("tr_dev_xxxxxxxxxx", apiKey ?? "tr_dev_xxxxxxxxxx");
162
+ text = text.replace("https://your-trigger-instance.com", apiUrl ?? "https://your-trigger-instance.com");
163
+ return `
164
+ Use the following manual setup guide to initialize Trigger.dev in your project. Make sure to use the correct project ref: ${projectRef}, and the following environment variables:
165
+
166
+ TRIGGER_PROJECT_REF=${projectRef}
167
+ TRIGGER_SECRET_KEY=${apiKey ?? "tr_dev_xxxxxxxxxx"}
168
+ ${apiUrl ? `TRIGGER_API_URL=${apiUrl}` : ""}
169
+
170
+ ${text}`;
171
+ }
172
+ //# sourceMappingURL=orgs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orgs.js","sourceRoot":"","sources":["../../../../src/mcp/tools/orgs.ts"],"names":[],"mappings":"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"}
@@ -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,335 @@
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 waitForRunToCompleteTool: {
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 cancelRunTool: {
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
+ runId: import("zod").ZodString;
176
+ };
177
+ handler: (input: unknown, extra: import("../types.js").ToolMeta) => Promise<{
178
+ [x: string]: unknown;
179
+ content: ({
180
+ [x: string]: unknown;
181
+ type: "text";
182
+ text: string;
183
+ _meta?: {
184
+ [x: string]: unknown;
185
+ } | undefined;
186
+ } | {
187
+ [x: string]: unknown;
188
+ type: "image";
189
+ data: string;
190
+ mimeType: string;
191
+ _meta?: {
192
+ [x: string]: unknown;
193
+ } | undefined;
194
+ } | {
195
+ [x: string]: unknown;
196
+ type: "audio";
197
+ data: string;
198
+ mimeType: string;
199
+ _meta?: {
200
+ [x: string]: unknown;
201
+ } | undefined;
202
+ } | {
203
+ [x: string]: unknown;
204
+ type: "resource_link";
205
+ name: string;
206
+ uri: string;
207
+ description?: string | undefined;
208
+ title?: string | undefined;
209
+ _meta?: {
210
+ [x: string]: unknown;
211
+ } | undefined;
212
+ mimeType?: string | undefined;
213
+ } | {
214
+ [x: string]: unknown;
215
+ type: "resource";
216
+ resource: {
217
+ [x: string]: unknown;
218
+ text: string;
219
+ uri: string;
220
+ _meta?: {
221
+ [x: string]: unknown;
222
+ } | undefined;
223
+ mimeType?: string | undefined;
224
+ } | {
225
+ [x: string]: unknown;
226
+ uri: string;
227
+ blob: string;
228
+ _meta?: {
229
+ [x: string]: unknown;
230
+ } | undefined;
231
+ mimeType?: string | undefined;
232
+ };
233
+ _meta?: {
234
+ [x: string]: unknown;
235
+ } | undefined;
236
+ })[];
237
+ isError?: boolean | undefined;
238
+ _meta?: {
239
+ [x: string]: unknown;
240
+ } | undefined;
241
+ structuredContent?: {
242
+ [x: string]: unknown;
243
+ } | undefined;
244
+ }>;
245
+ };
246
+ export declare const listRunsTool: {
247
+ name: string;
248
+ title: string;
249
+ description: string;
250
+ inputSchema: {
251
+ projectRef: import("zod").ZodOptional<import("zod").ZodString>;
252
+ configPath: import("zod").ZodOptional<import("zod").ZodString>;
253
+ environment: import("zod").ZodDefault<import("zod").ZodEnum<["dev", "staging", "prod", "preview"]>>;
254
+ branch: import("zod").ZodOptional<import("zod").ZodString>;
255
+ } & {
256
+ cursor: import("zod").ZodOptional<import("zod").ZodString>;
257
+ limit: import("zod").ZodOptional<import("zod").ZodNumber>;
258
+ status: import("zod").ZodOptional<import("zod").ZodEnum<["PENDING_VERSION", "QUEUED", "DEQUEUED", "EXECUTING", "WAITING", "COMPLETED", "CANCELED", "FAILED", "CRASHED", "SYSTEM_FAILURE", "DELAYED", "EXPIRED", "TIMED_OUT"]>>;
259
+ taskIdentifier: import("zod").ZodOptional<import("zod").ZodString>;
260
+ version: import("zod").ZodOptional<import("zod").ZodString>;
261
+ tag: import("zod").ZodOptional<import("zod").ZodString>;
262
+ from: import("zod").ZodOptional<import("zod").ZodString>;
263
+ to: import("zod").ZodOptional<import("zod").ZodString>;
264
+ period: import("zod").ZodOptional<import("zod").ZodString>;
265
+ machine: import("zod").ZodOptional<import("zod").ZodEnum<["micro", "small-1x", "small-2x", "medium-1x", "medium-2x", "large-1x", "large-2x"]>>;
266
+ };
267
+ handler: (input: unknown, extra: import("../types.js").ToolMeta) => Promise<{
268
+ [x: string]: unknown;
269
+ content: ({
270
+ [x: string]: unknown;
271
+ type: "text";
272
+ text: string;
273
+ _meta?: {
274
+ [x: string]: unknown;
275
+ } | undefined;
276
+ } | {
277
+ [x: string]: unknown;
278
+ type: "image";
279
+ data: string;
280
+ mimeType: string;
281
+ _meta?: {
282
+ [x: string]: unknown;
283
+ } | undefined;
284
+ } | {
285
+ [x: string]: unknown;
286
+ type: "audio";
287
+ data: string;
288
+ mimeType: string;
289
+ _meta?: {
290
+ [x: string]: unknown;
291
+ } | undefined;
292
+ } | {
293
+ [x: string]: unknown;
294
+ type: "resource_link";
295
+ name: string;
296
+ uri: string;
297
+ description?: string | undefined;
298
+ title?: string | undefined;
299
+ _meta?: {
300
+ [x: string]: unknown;
301
+ } | undefined;
302
+ mimeType?: string | undefined;
303
+ } | {
304
+ [x: string]: unknown;
305
+ type: "resource";
306
+ resource: {
307
+ [x: string]: unknown;
308
+ text: string;
309
+ uri: string;
310
+ _meta?: {
311
+ [x: string]: unknown;
312
+ } | undefined;
313
+ mimeType?: string | undefined;
314
+ } | {
315
+ [x: string]: unknown;
316
+ uri: string;
317
+ blob: string;
318
+ _meta?: {
319
+ [x: string]: unknown;
320
+ } | undefined;
321
+ mimeType?: string | undefined;
322
+ };
323
+ _meta?: {
324
+ [x: string]: unknown;
325
+ } | undefined;
326
+ })[];
327
+ isError?: boolean | undefined;
328
+ _meta?: {
329
+ [x: string]: unknown;
330
+ } | undefined;
331
+ structuredContent?: {
332
+ [x: string]: unknown;
333
+ } | undefined;
334
+ }>;
335
+ };