update to track spec changes
This commit is contained in:
parent
265ad071f7
commit
7636c63f39
1 changed files with 47 additions and 281 deletions
44
src/types.ts
44
src/types.ts
|
|
@ -837,10 +837,8 @@ export const ToolSchema = z
|
|||
})
|
||||
.passthrough(),
|
||||
/**
|
||||
* An optional JSON Schema object defining the structure of the tool's output.
|
||||
*
|
||||
* If set, a CallToolResult for this Tool MUST contain a structuredContent field whose contents validate against this schema.
|
||||
* If not set, a CallToolResult for this Tool MUST NOT contain a structuredContent field and MUST contain a content field.
|
||||
* An optional JSON Schema object defining the structure of the tool's output returned in
|
||||
* the structuredContent field of a CallToolResult.
|
||||
*/
|
||||
outputSchema: z.optional(
|
||||
z.object({
|
||||
|
|
@ -848,7 +846,7 @@ export const ToolSchema = z
|
|||
properties: z.optional(z.object({}).passthrough()),
|
||||
required: z.optional(z.array(z.string())),
|
||||
})
|
||||
.passthrough()
|
||||
.passthrough()
|
||||
),
|
||||
/**
|
||||
* Optional additional tool information.
|
||||
|
|
@ -873,25 +871,7 @@ export const ListToolsResultSchema = PaginatedResultSchema.extend({
|
|||
|
||||
/**
|
||||
* The server's response to a tool call.
|
||||
*
|
||||
* Any errors that originate from the tool SHOULD be reported inside the result
|
||||
* object, with `isError` set to true, _not_ as an MCP protocol-level error
|
||||
* response. Otherwise, the LLM would not be able to see that an error occurred
|
||||
* and self-correct.
|
||||
*
|
||||
* However, any errors in _finding_ the tool, an error indicating that the
|
||||
* server does not support tool calls, or any other exceptional conditions,
|
||||
* should be reported as an MCP error response.
|
||||
*/
|
||||
export const ContentListSchema = z.array(
|
||||
z.union([
|
||||
TextContentSchema,
|
||||
ImageContentSchema,
|
||||
AudioContentSchema,
|
||||
EmbeddedResourceSchema,
|
||||
]),
|
||||
);
|
||||
|
||||
export const CallToolResultSchema = ResultSchema.extend({
|
||||
/**
|
||||
* A list of content objects that represent the result of the tool call.
|
||||
|
|
@ -899,7 +879,13 @@ export const CallToolResultSchema = ResultSchema.extend({
|
|||
* If the Tool does not define an outputSchema, this field MUST be present in the result.
|
||||
* For backwards compatibility, this field is always present, but it may be empty.
|
||||
*/
|
||||
content: ContentListSchema.default([]),
|
||||
content: z.array(
|
||||
z.union([
|
||||
TextContentSchema,
|
||||
ImageContentSchema,
|
||||
AudioContentSchema,
|
||||
EmbeddedResourceSchema,
|
||||
])).default([]),
|
||||
|
||||
/**
|
||||
* An object containing structured tool output.
|
||||
|
|
@ -912,6 +898,15 @@ export const CallToolResultSchema = ResultSchema.extend({
|
|||
* Whether the tool call ended in an error.
|
||||
*
|
||||
* If not set, this is assumed to be false (the call was successful).
|
||||
*
|
||||
* Any errors that originate from the tool SHOULD be reported inside the result
|
||||
* object, with `isError` set to true, _not_ as an MCP protocol-level error
|
||||
* response. Otherwise, the LLM would not be able to see that an error occurred
|
||||
* and self-correct.
|
||||
*
|
||||
* However, any errors in _finding_ the tool, an error indicating that the
|
||||
* server does not support tool calls, or any other exceptional conditions,
|
||||
* should be reported as an MCP error response.
|
||||
*/
|
||||
isError: z.optional(z.boolean()),
|
||||
});
|
||||
|
|
@ -1366,7 +1361,6 @@ export type ToolAnnotations = Infer<typeof ToolAnnotationsSchema>;
|
|||
export type Tool = Infer<typeof ToolSchema>;
|
||||
export type ListToolsRequest = Infer<typeof ListToolsRequestSchema>;
|
||||
export type ListToolsResult = Infer<typeof ListToolsResultSchema>;
|
||||
export type ContentList = Infer<typeof ContentListSchema>;
|
||||
export type CallToolResult = Infer<typeof CallToolResultSchema>;
|
||||
export type CompatibilityCallToolResult = Infer<typeof CompatibilityCallToolResultSchema>;
|
||||
export type CallToolRequest = Infer<typeof CallToolRequestSchema>;
|
||||
|
|
|
|||
Loading…
Reference in a new issue