trigger.dev
Version:
A Command-Line Interface for Trigger.dev projects
117 lines (116 loc) • 3.85 kB
TypeScript
import type { CallToolResult, ServerNotification } from "@modelcontextprotocol/sdk/types.js";
import { z } from "zod";
import { ToolMeta } from "./types.js";
export declare function respondWithError(error: unknown): CallToolResult;
export type ToolHandlerMeta = ToolMeta & {
createProgressTracker: (total: number) => ProgressTracker;
};
export declare function toolHandler<TInputShape extends z.ZodRawShape>(shape: TInputShape, handler: (input: z.output<z.ZodObject<TInputShape>>, meta: ToolHandlerMeta) => Promise<CallToolResult>): (input: unknown, extra: ToolMeta) => Promise<{
[x: string]: unknown;
content: ({
type: "text";
text: string;
annotations?: {
audience?: ("user" | "assistant")[] | undefined;
priority?: number | undefined;
lastModified?: string | undefined;
} | undefined;
_meta?: {
[x: string]: unknown;
} | undefined;
} | {
type: "image";
data: string;
mimeType: string;
annotations?: {
audience?: ("user" | "assistant")[] | undefined;
priority?: number | undefined;
lastModified?: string | undefined;
} | undefined;
_meta?: {
[x: string]: unknown;
} | undefined;
} | {
type: "audio";
data: string;
mimeType: string;
annotations?: {
audience?: ("user" | "assistant")[] | undefined;
priority?: number | undefined;
lastModified?: string | undefined;
} | undefined;
_meta?: {
[x: string]: unknown;
} | undefined;
} | {
uri: string;
name: string;
type: "resource_link";
description?: string | undefined;
mimeType?: string | undefined;
annotations?: {
audience?: ("user" | "assistant")[] | undefined;
priority?: number | undefined;
lastModified?: string | undefined;
} | undefined;
_meta?: {
[x: string]: unknown;
} | undefined;
icons?: {
src: string;
mimeType?: string | undefined;
sizes?: string[] | undefined;
}[] | undefined;
title?: string | undefined;
} | {
type: "resource";
resource: {
uri: string;
text: string;
mimeType?: string | undefined;
_meta?: {
[x: string]: unknown;
} | undefined;
} | {
uri: string;
blob: string;
mimeType?: string | undefined;
_meta?: {
[x: string]: unknown;
} | undefined;
};
annotations?: {
audience?: ("user" | "assistant")[] | undefined;
priority?: number | undefined;
lastModified?: string | undefined;
} | undefined;
_meta?: {
[x: string]: unknown;
} | undefined;
})[];
_meta?: {
[x: string]: unknown;
"io.modelcontextprotocol/related-task"?: {
[x: string]: unknown;
taskId: string;
} | undefined;
} | undefined;
structuredContent?: {
[x: string]: unknown;
} | undefined;
isError?: boolean | undefined;
}>;
declare class ProgressTracker {
#private;
private progress;
private progressToken;
private total;
private message;
private sendNotification;
constructor(total: number, sendNotification: (notification: ServerNotification) => Promise<void>, progressToken?: string | number);
updateProgress(progress: number, message?: string): Promise<void>;
incrementProgress(increment: number, message?: string): Promise<void>;
complete(message?: string): Promise<void>;
getProgress(): number;
}
export {};