mcp-use 1.9.0-canary.3 → 1.9.1-canary.0
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/dist/.tsbuildinfo +1 -1
- package/dist/chunk-2EYAMIT3.js +76 -0
- package/dist/chunk-362PI25Z.js +110 -0
- package/dist/chunk-5URNFWCQ.js +25 -0
- package/dist/chunk-KHTTBIRP.js +280 -0
- package/dist/context-storage-TXQ4DVSS.js +11 -0
- package/dist/conversion-5MA4VY3B.js +7 -0
- package/dist/conversion-OTRZZBUU.js +7 -0
- package/dist/src/server/endpoints/index.d.ts +7 -0
- package/dist/src/server/endpoints/index.d.ts.map +1 -0
- package/dist/src/server/endpoints/mount-mcp.d.ts +21 -0
- package/dist/src/server/endpoints/mount-mcp.d.ts.map +1 -0
- package/dist/src/server/index.cjs +3738 -3940
- package/dist/src/server/index.d.ts +4 -3
- package/dist/src/server/index.d.ts.map +1 -1
- package/dist/src/server/index.js +3223 -3039
- package/dist/src/server/inspector/index.d.ts +5 -0
- package/dist/src/server/inspector/index.d.ts.map +1 -0
- package/dist/src/server/inspector/mount.d.ts +33 -0
- package/dist/src/server/inspector/mount.d.ts.map +1 -0
- package/dist/src/server/logging.d.ts.map +1 -1
- package/dist/src/server/mcp-server.d.ts +71 -780
- package/dist/src/server/mcp-server.d.ts.map +1 -1
- package/dist/src/server/notifications/index.d.ts +7 -0
- package/dist/src/server/notifications/index.d.ts.map +1 -0
- package/dist/src/server/notifications/notification-registration.d.ts +82 -0
- package/dist/src/server/notifications/notification-registration.d.ts.map +1 -0
- package/dist/src/server/oauth/index.d.ts +1 -0
- package/dist/src/server/oauth/index.d.ts.map +1 -1
- package/dist/src/server/oauth/setup.d.ts +28 -0
- package/dist/src/server/oauth/setup.d.ts.map +1 -0
- package/dist/src/server/prompts/conversion.d.ts +22 -0
- package/dist/src/server/prompts/conversion.d.ts.map +1 -0
- package/dist/src/server/prompts/index.d.ts +60 -0
- package/dist/src/server/prompts/index.d.ts.map +1 -0
- package/dist/src/server/resources/conversion.d.ts +20 -0
- package/dist/src/server/resources/conversion.d.ts.map +1 -0
- package/dist/src/server/resources/index.d.ts +116 -0
- package/dist/src/server/resources/index.d.ts.map +1 -0
- package/dist/src/server/roots/index.d.ts +7 -0
- package/dist/src/server/roots/index.d.ts.map +1 -0
- package/dist/src/server/roots/roots-registration.d.ts +56 -0
- package/dist/src/server/roots/roots-registration.d.ts.map +1 -0
- package/dist/src/server/sessions/index.d.ts +6 -0
- package/dist/src/server/sessions/index.d.ts.map +1 -0
- package/dist/src/server/sessions/notifications.d.ts +25 -0
- package/dist/src/server/sessions/notifications.d.ts.map +1 -0
- package/dist/src/server/sessions/session-manager.d.ts +41 -0
- package/dist/src/server/sessions/session-manager.d.ts.map +1 -0
- package/dist/src/server/tools/index.d.ts +10 -0
- package/dist/src/server/tools/index.d.ts.map +1 -0
- package/dist/src/server/tools/schema-helpers.d.ts +54 -0
- package/dist/src/server/tools/schema-helpers.d.ts.map +1 -0
- package/dist/src/server/tools/tool-execution-helpers.d.ts +97 -0
- package/dist/src/server/tools/tool-execution-helpers.d.ts.map +1 -0
- package/dist/src/server/tools/tool-registration.d.ts +85 -0
- package/dist/src/server/tools/tool-registration.d.ts.map +1 -0
- package/dist/src/server/types/common.d.ts +24 -0
- package/dist/src/server/types/common.d.ts.map +1 -1
- package/dist/src/server/types/index.d.ts +5 -4
- package/dist/src/server/types/index.d.ts.map +1 -1
- package/dist/src/server/types/prompt.d.ts +61 -6
- package/dist/src/server/types/prompt.d.ts.map +1 -1
- package/dist/src/server/types/resource.d.ts +83 -8
- package/dist/src/server/types/resource.d.ts.map +1 -1
- package/dist/src/server/types/tool-context.d.ts +236 -0
- package/dist/src/server/types/tool-context.d.ts.map +1 -0
- package/dist/src/server/types/tool.d.ts +62 -5
- package/dist/src/server/types/tool.d.ts.map +1 -1
- package/dist/src/server/utils/hono-proxy.d.ts +21 -0
- package/dist/src/server/utils/hono-proxy.d.ts.map +1 -0
- package/dist/src/server/utils/index.d.ts +3 -0
- package/dist/src/server/utils/index.d.ts.map +1 -1
- package/dist/src/server/utils/jsonrpc-helpers.d.ts +94 -0
- package/dist/src/server/utils/jsonrpc-helpers.d.ts.map +1 -0
- package/dist/src/server/utils/response-helpers.d.ts +115 -3
- package/dist/src/server/utils/response-helpers.d.ts.map +1 -1
- package/dist/src/server/utils/server-helpers.d.ts +78 -0
- package/dist/src/server/utils/server-helpers.d.ts.map +1 -0
- package/dist/src/server/utils/server-lifecycle.d.ts +52 -0
- package/dist/src/server/utils/server-lifecycle.d.ts.map +1 -0
- package/dist/src/server/utils/session-helpers.d.ts +55 -0
- package/dist/src/server/utils/session-helpers.d.ts.map +1 -0
- package/dist/src/server/widgets/index.d.ts +30 -0
- package/dist/src/server/widgets/index.d.ts.map +1 -0
- package/dist/src/server/widgets/mcp-ui-adapter.d.ts.map +1 -0
- package/dist/src/server/widgets/mount-widgets-dev.d.ts +28 -0
- package/dist/src/server/widgets/mount-widgets-dev.d.ts.map +1 -0
- package/dist/src/server/widgets/mount-widgets-production.d.ts +27 -0
- package/dist/src/server/widgets/mount-widgets-production.d.ts.map +1 -0
- package/dist/src/server/widgets/setup-widget-routes.d.ts +23 -0
- package/dist/src/server/widgets/setup-widget-routes.d.ts.map +1 -0
- package/dist/src/server/widgets/ui-resource-registration.d.ts +75 -0
- package/dist/src/server/widgets/ui-resource-registration.d.ts.map +1 -0
- package/dist/src/server/widgets/widget-helpers.d.ts +277 -0
- package/dist/src/server/widgets/widget-helpers.d.ts.map +1 -0
- package/dist/src/server/widgets/widget-types.d.ts +49 -0
- package/dist/src/server/widgets/widget-types.d.ts.map +1 -0
- package/dist/tool-execution-helpers-IVUDHXMK.js +23 -0
- package/package.json +6 -5
- package/dist/chunk-F4UHAA5L.js +0 -854
- package/dist/oauth-U4NNKN4B.js +0 -30
- package/dist/src/server/adapters/mcp-ui-adapter.d.ts.map +0 -1
- /package/dist/src/server/{adapters → widgets}/mcp-ui-adapter.d.ts +0 -0
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Schema helper utilities for tool registration
|
|
3
|
+
*
|
|
4
|
+
* This module provides utilities for converting between different schema formats
|
|
5
|
+
* used in tool registration.
|
|
6
|
+
*/
|
|
7
|
+
import { z } from "zod";
|
|
8
|
+
/**
|
|
9
|
+
* Convert a Zod object schema to the internal Record<string, z.ZodSchema> format
|
|
10
|
+
*
|
|
11
|
+
* @param zodSchema - Zod object schema to convert
|
|
12
|
+
* @returns Object mapping parameter names to Zod validation schemas
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* ```typescript
|
|
16
|
+
* const schema = z.object({
|
|
17
|
+
* name: z.string(),
|
|
18
|
+
* age: z.number().optional()
|
|
19
|
+
* });
|
|
20
|
+
* const params = convertZodSchemaToParams(schema);
|
|
21
|
+
* // Returns: { name: z.string(), age: z.number().optional() }
|
|
22
|
+
* ```
|
|
23
|
+
*/
|
|
24
|
+
export declare function convertZodSchemaToParams(zodSchema: z.ZodObject<any>): Record<string, z.ZodSchema>;
|
|
25
|
+
/**
|
|
26
|
+
* Input definition for tool parameters
|
|
27
|
+
*/
|
|
28
|
+
export interface InputDefinition {
|
|
29
|
+
name: string;
|
|
30
|
+
type: string;
|
|
31
|
+
required?: boolean;
|
|
32
|
+
description?: string;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Create input schema for tools
|
|
36
|
+
*
|
|
37
|
+
* Converts tool input definitions into Zod validation schemas for runtime validation.
|
|
38
|
+
* Supports common data types (string, number, boolean, object, array) and optional
|
|
39
|
+
* parameters. Used internally when registering tools with the MCP server.
|
|
40
|
+
*
|
|
41
|
+
* @param inputs - Array of input parameter definitions with name, type, and optional flag
|
|
42
|
+
* @returns Object mapping parameter names to Zod validation schemas
|
|
43
|
+
*
|
|
44
|
+
* @example
|
|
45
|
+
* ```typescript
|
|
46
|
+
* const schema = createParamsSchema([
|
|
47
|
+
* { name: 'query', type: 'string', required: true, description: 'Search query' },
|
|
48
|
+
* { name: 'limit', type: 'number', required: false }
|
|
49
|
+
* ])
|
|
50
|
+
* // Returns: { query: z.string().describe('Search query'), limit: z.number().optional() }
|
|
51
|
+
* ```
|
|
52
|
+
*/
|
|
53
|
+
export declare function createParamsSchema(inputs: InputDefinition[]): Record<string, z.ZodSchema>;
|
|
54
|
+
//# sourceMappingURL=schema-helpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema-helpers.d.ts","sourceRoot":"","sources":["../../../../src/server/tools/schema-helpers.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,GAC1B,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,CAgB7B;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,eAAe,EAAE,GACxB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,CAsC7B"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tool Execution Helpers
|
|
3
|
+
*
|
|
4
|
+
* Helper functions for tool execution context enhancement.
|
|
5
|
+
* Extracted from tool-registration.ts to reduce duplication and improve maintainability.
|
|
6
|
+
*/
|
|
7
|
+
import type { z } from "zod";
|
|
8
|
+
import type { Context } from "hono";
|
|
9
|
+
import type { CreateMessageRequest, CreateMessageResult, ElicitRequestFormParams, ElicitRequestURLParams, ElicitResult } from "@modelcontextprotocol/sdk/types.js";
|
|
10
|
+
import type { SampleOptions, ElicitOptions, ElicitFormParams, ElicitUrlParams } from "../types/index.js";
|
|
11
|
+
/**
|
|
12
|
+
* Session data for tool context
|
|
13
|
+
*/
|
|
14
|
+
export interface SessionData {
|
|
15
|
+
transport: any;
|
|
16
|
+
lastAccessedAt: number;
|
|
17
|
+
context?: Context;
|
|
18
|
+
progressToken?: number;
|
|
19
|
+
sendNotification?: (notification: {
|
|
20
|
+
method: string;
|
|
21
|
+
params: Record<string, any>;
|
|
22
|
+
}) => Promise<void>;
|
|
23
|
+
expressRes?: any;
|
|
24
|
+
honoContext?: Context;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Result of session context lookup
|
|
28
|
+
*/
|
|
29
|
+
export interface SessionContextResult {
|
|
30
|
+
requestContext: Context | undefined;
|
|
31
|
+
session: SessionData | undefined;
|
|
32
|
+
progressToken: number | undefined;
|
|
33
|
+
sendNotification: ((notification: {
|
|
34
|
+
method: string;
|
|
35
|
+
params: Record<string, any>;
|
|
36
|
+
}) => Promise<void>) | undefined;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Find session context from sessions map
|
|
40
|
+
* Combines session lookup, context matching, and metadata extraction in one pass
|
|
41
|
+
*/
|
|
42
|
+
export declare function findSessionContext(sessions: Map<string, SessionData>, initialRequestContext: Context | undefined, extraProgressToken?: number, extraSendNotification?: (notification: {
|
|
43
|
+
method: string;
|
|
44
|
+
params: Record<string, any>;
|
|
45
|
+
}) => Promise<void>): SessionContextResult;
|
|
46
|
+
/**
|
|
47
|
+
* Send a progress notification
|
|
48
|
+
*/
|
|
49
|
+
export declare function sendProgressNotification(sendNotification: ((notification: {
|
|
50
|
+
method: string;
|
|
51
|
+
params: Record<string, any>;
|
|
52
|
+
}) => Promise<void>) | undefined, progressToken: number | undefined, progress: number, total: number | undefined, message: string | undefined): Promise<void>;
|
|
53
|
+
/**
|
|
54
|
+
* Wrap a promise with a timeout
|
|
55
|
+
*/
|
|
56
|
+
export declare function withTimeout<T>(promise: Promise<T>, timeout: number | undefined, errorMessage: string): Promise<T>;
|
|
57
|
+
/**
|
|
58
|
+
* Parsed elicit parameters
|
|
59
|
+
*/
|
|
60
|
+
export interface ParsedElicitParams {
|
|
61
|
+
sdkParams: ElicitRequestFormParams | ElicitRequestURLParams;
|
|
62
|
+
zodSchema: z.ZodObject<any> | null;
|
|
63
|
+
options: ElicitOptions | undefined;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Parse elicit() method parameters handling multiple overload signatures
|
|
67
|
+
*/
|
|
68
|
+
export declare function parseElicitParams(messageOrParams: string | ElicitFormParams | ElicitUrlParams, schemaOrUrlOrOptions?: z.ZodObject<any> | string | ElicitOptions, maybeOptions?: ElicitOptions): ParsedElicitParams;
|
|
69
|
+
/**
|
|
70
|
+
* Create the sample() method for enhanced context
|
|
71
|
+
*/
|
|
72
|
+
export declare function createSampleMethod(createMessage: (params: CreateMessageRequest["params"], options?: any) => Promise<CreateMessageResult>, progressToken: number | undefined, sendNotification: ((notification: {
|
|
73
|
+
method: string;
|
|
74
|
+
params: Record<string, any>;
|
|
75
|
+
}) => Promise<void>) | undefined): {
|
|
76
|
+
(prompt: string, options?: SampleOptions): Promise<CreateMessageResult>;
|
|
77
|
+
(sampleParams: CreateMessageRequest["params"], options?: SampleOptions): Promise<CreateMessageResult>;
|
|
78
|
+
};
|
|
79
|
+
/**
|
|
80
|
+
* Create the elicit() method for enhanced context
|
|
81
|
+
*/
|
|
82
|
+
export declare function createElicitMethod(elicitInput: (params: any, options?: any) => Promise<ElicitResult>): (messageOrParams: string | ElicitFormParams | ElicitUrlParams, schemaOrUrlOrOptions?: z.ZodObject<any> | string | ElicitOptions, maybeOptions?: ElicitOptions) => Promise<ElicitResult>;
|
|
83
|
+
/**
|
|
84
|
+
* Create the reportProgress() method for enhanced context
|
|
85
|
+
*/
|
|
86
|
+
export declare function createReportProgressMethod(progressToken: number | undefined, sendNotification: ((notification: {
|
|
87
|
+
method: string;
|
|
88
|
+
params: Record<string, any>;
|
|
89
|
+
}) => Promise<void>) | undefined): ((progress: number, total?: number, message?: string) => Promise<void>) | undefined;
|
|
90
|
+
/**
|
|
91
|
+
* Create enhanced context with sample, elicit, and reportProgress methods
|
|
92
|
+
*/
|
|
93
|
+
export declare function createEnhancedContext(baseContext: Context | undefined, createMessage: (params: CreateMessageRequest["params"], options?: any) => Promise<CreateMessageResult>, elicitInput: (params: any, options?: any) => Promise<ElicitResult>, progressToken: number | undefined, sendNotification: ((notification: {
|
|
94
|
+
method: string;
|
|
95
|
+
params: Record<string, any>;
|
|
96
|
+
}) => Promise<void>) | undefined): any;
|
|
97
|
+
//# sourceMappingURL=tool-execution-helpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-execution-helpers.d.ts","sourceRoot":"","sources":["../../../../src/server/tools/tool-execution-helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tool Registration
|
|
3
|
+
*
|
|
4
|
+
* This module handles the registration of tools with the MCP server.
|
|
5
|
+
* Tools are functions that can be called by clients with parameters.
|
|
6
|
+
*/
|
|
7
|
+
import type { z } from "zod";
|
|
8
|
+
import type { CreateMessageRequest, CreateMessageResult, ElicitResult } from "@modelcontextprotocol/sdk/types.js";
|
|
9
|
+
import type { ToolDefinition, ToolCallback, InferToolInput, InferToolOutput } from "../types/index.js";
|
|
10
|
+
import { type SessionData } from "./tool-execution-helpers.js";
|
|
11
|
+
/**
|
|
12
|
+
* Interface representing the server context needed for tool registration
|
|
13
|
+
*/
|
|
14
|
+
export interface ToolServerContext<_HasOAuth extends boolean = false> {
|
|
15
|
+
/** Official MCP Server instance */
|
|
16
|
+
server: {
|
|
17
|
+
registerTool: (name: string, config: any, handler: (params: any, extra?: any) => Promise<any>) => void;
|
|
18
|
+
server: {
|
|
19
|
+
createMessage: (params: any, options?: any) => Promise<CreateMessageResult>;
|
|
20
|
+
elicitInput: (params: any, options?: any) => Promise<ElicitResult>;
|
|
21
|
+
};
|
|
22
|
+
};
|
|
23
|
+
/** Sessions map */
|
|
24
|
+
sessions: Map<string, SessionData>;
|
|
25
|
+
/** Registered tools list */
|
|
26
|
+
registeredTools: string[];
|
|
27
|
+
/** Convert Zod schema to params */
|
|
28
|
+
convertZodSchemaToParams(schema: z.ZodObject<any>): Record<string, z.ZodSchema>;
|
|
29
|
+
/** Create params schema from inputs */
|
|
30
|
+
createParamsSchema(inputs: any[]): Record<string, z.ZodSchema>;
|
|
31
|
+
/** Create message for sampling */
|
|
32
|
+
createMessage(params: CreateMessageRequest["params"], options?: any): Promise<CreateMessageResult>;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Define a tool that can be called by clients
|
|
36
|
+
*
|
|
37
|
+
* Registers a tool with the MCP server that clients can invoke with parameters.
|
|
38
|
+
* Tools are functions that perform actions, computations, or operations and
|
|
39
|
+
* return results. They accept structured input parameters and return structured output.
|
|
40
|
+
*
|
|
41
|
+
* Supports Apps SDK metadata for ChatGPT integration via the _meta field.
|
|
42
|
+
*
|
|
43
|
+
* @param toolDefinition - Configuration object containing tool metadata and handler function
|
|
44
|
+
* @param toolDefinition.name - Unique identifier for the tool
|
|
45
|
+
* @param toolDefinition.description - Optional human-readable description of what the tool does
|
|
46
|
+
* @param toolDefinition.inputs - Array of input parameter definitions (legacy, use schema instead)
|
|
47
|
+
* @param toolDefinition.schema - Zod object schema for input validation (preferred)
|
|
48
|
+
* @param toolDefinition.outputSchema - Zod object schema for structured output validation
|
|
49
|
+
* @param toolDefinition.cb - Async callback function that executes the tool logic with provided parameters
|
|
50
|
+
* @param toolDefinition._meta - Optional metadata for the tool (e.g. Apps SDK metadata)
|
|
51
|
+
* @param callback - Optional separate callback function (alternative to cb property)
|
|
52
|
+
* @returns The server instance for method chaining
|
|
53
|
+
*
|
|
54
|
+
* @example
|
|
55
|
+
* ```typescript
|
|
56
|
+
* // Using Zod schema (preferred)
|
|
57
|
+
* server.tool({
|
|
58
|
+
* name: 'calculate',
|
|
59
|
+
* description: 'Performs mathematical calculations',
|
|
60
|
+
* schema: z.object({
|
|
61
|
+
* expression: z.string(),
|
|
62
|
+
* precision: z.number().optional()
|
|
63
|
+
* }),
|
|
64
|
+
* cb: async ({ expression, precision = 2 }) => {
|
|
65
|
+
* const result = eval(expression)
|
|
66
|
+
* return text(`Result: ${result.toFixed(precision)}`)
|
|
67
|
+
* }
|
|
68
|
+
* })
|
|
69
|
+
*
|
|
70
|
+
* // Using legacy inputs array
|
|
71
|
+
* server.tool({
|
|
72
|
+
* name: 'greet',
|
|
73
|
+
* inputs: [{ name: 'name', type: 'string', required: true }],
|
|
74
|
+
* cb: async ({ name }) => text(`Hello, ${name}!`)
|
|
75
|
+
* })
|
|
76
|
+
*
|
|
77
|
+
* // With separate callback for better typing
|
|
78
|
+
* server.tool({
|
|
79
|
+
* name: 'add',
|
|
80
|
+
* schema: z.object({ a: z.number(), b: z.number() })
|
|
81
|
+
* }, async ({ a, b }) => text(`${a + b}`))
|
|
82
|
+
* ```
|
|
83
|
+
*/
|
|
84
|
+
export declare function toolRegistration<T extends ToolDefinition<any, any, boolean>, TContext extends ToolServerContext<boolean>>(this: TContext, toolDefinition: T, callback?: ToolCallback<InferToolInput<T>, InferToolOutput<T>, boolean>): TContext;
|
|
85
|
+
//# sourceMappingURL=tool-registration.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-registration.d.ts","sourceRoot":"","sources":["../../../../src/server/tools/tool-registration.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,EACV,oBAAoB,EACpB,mBAAmB,EACnB,YAAY,EACb,MAAM,oCAAoC,CAAC;AAE5C,OAAO,KAAK,EACV,cAAc,EACd,YAAY,EACZ,cAAc,EACd,eAAe,EAChB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,KAAK,WAAW,EAGjB,MAAM,6BAA6B,CAAC;AAErC;;GAEG;AACH,MAAM,WAAW,iBAAiB,CAAC,SAAS,SAAS,OAAO,GAAG,KAAK;IAClE,mCAAmC;IACnC,MAAM,EAAE;QACN,YAAY,EAAE,CACZ,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,GAAG,EACX,OAAO,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,KAChD,IAAI,CAAC;QACV,MAAM,EAAE;YACN,aAAa,EAAE,CACb,MAAM,EAAE,GAAG,EACX,OAAO,CAAC,EAAE,GAAG,KACV,OAAO,CAAC,mBAAmB,CAAC,CAAC;YAClC,WAAW,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,GAAG,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;SACpE,CAAC;KACH,CAAC;IACF,mBAAmB;IACnB,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACnC,4BAA4B;IAC5B,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,mCAAmC;IACnC,wBAAwB,CACtB,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,GACvB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC;IAC/B,uCAAuC;IACvC,kBAAkB,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC;IAC/D,kCAAkC;IAClC,aAAa,CACX,MAAM,EAAE,oBAAoB,CAAC,QAAQ,CAAC,EACtC,OAAO,CAAC,EAAE,GAAG,GACZ,OAAO,CAAC,mBAAmB,CAAC,CAAC;CACjC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AACH,wBAAgB,gBAAgB,CAC9B,CAAC,SAAS,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,EAC3C,QAAQ,SAAS,iBAAiB,CAAC,OAAO,CAAC,EAE3C,IAAI,EAAE,QAAQ,EACd,cAAc,EAAE,CAAC,EACjB,QAAQ,CAAC,EAAE,YAAY,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,GACtE,QAAQ,CA6EV"}
|
|
@@ -2,6 +2,30 @@
|
|
|
2
2
|
* Common type definitions shared across different MCP components
|
|
3
3
|
*/
|
|
4
4
|
import type { OAuthProvider } from "../oauth/providers/types.js";
|
|
5
|
+
import type { z } from "zod";
|
|
6
|
+
/**
|
|
7
|
+
* Converts Zod optional fields to TypeScript optional properties.
|
|
8
|
+
* Transforms { field: T | undefined } to { field?: T }
|
|
9
|
+
*
|
|
10
|
+
* This utility enables natural destructuring patterns in callbacks:
|
|
11
|
+
* - async ({message}) => ... (without type annotation)
|
|
12
|
+
* - async ({message = "default"}) => ... (with default value)
|
|
13
|
+
*
|
|
14
|
+
* Without this, Zod's z.string().optional() produces { message: string | undefined }
|
|
15
|
+
* which requires the property to be present (though it can be undefined).
|
|
16
|
+
* This type makes it truly optional: { message?: string }
|
|
17
|
+
*
|
|
18
|
+
* Used across all callback types: tools, prompts, and resources.
|
|
19
|
+
*/
|
|
20
|
+
export type OptionalizeUndefinedFields<T> = {
|
|
21
|
+
[K in keyof T as undefined extends T[K] ? K : never]?: Exclude<T[K], undefined>;
|
|
22
|
+
} & {
|
|
23
|
+
[K in keyof T as undefined extends T[K] ? never : K]: T[K];
|
|
24
|
+
};
|
|
25
|
+
/**
|
|
26
|
+
* Infer input type from a Zod schema with proper optional field handling
|
|
27
|
+
*/
|
|
28
|
+
export type InferZodInput<S> = S extends z.ZodTypeAny ? OptionalizeUndefinedFields<z.infer<S>> : Record<string, any>;
|
|
5
29
|
export interface ServerConfig {
|
|
6
30
|
name: string;
|
|
7
31
|
version: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../../src/server/types/common.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../../src/server/types/common.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAE7B;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,0BAA0B,CAAC,CAAC,IAAI;KACzC,CAAC,IAAI,MAAM,CAAC,IAAI,SAAS,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,EAAE,OAAO,CAC5D,CAAC,CAAC,CAAC,CAAC,EACJ,SAAS,CACV;CACF,GAAG;KACD,CAAC,IAAI,MAAM,CAAC,IAAI,SAAS,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAC3D,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,UAAU,GACjD,0BAA0B,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GACtC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAExB,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACH,4BAA4B,CAAC,EAAE,OAAO,CAAC;IACvC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4CG;IACH,KAAK,CAAC,EAAE,aAAa,CAAC;CACvB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,CAAC;IAC3D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,GAAG,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,CAAC,MAAM,GAAG,WAAW,CAAC,EAAE,CAAC;IACpC,kEAAkE;IAClE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,wDAAwD;IACxD,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Centralized type exports for MCP server
|
|
3
3
|
*/
|
|
4
|
-
export { ServerConfig, InputDefinition, ResourceAnnotations, } from "./common.js";
|
|
4
|
+
export { ServerConfig, InputDefinition, ResourceAnnotations, OptionalizeUndefinedFields, InferZodInput, } from "./common.js";
|
|
5
5
|
export { McpContext } from "./context.js";
|
|
6
|
-
export {
|
|
7
|
-
export {
|
|
8
|
-
export {
|
|
6
|
+
export { ToolContext, SampleOptions, ElicitOptions, ElicitFormParams, ElicitUrlParams, } from "./tool-context.js";
|
|
7
|
+
export { ReadResourceCallback, ReadResourceTemplateCallback, ResourceTemplateConfig, ResourceTemplateDefinition, ResourceTemplateDefinitionWithoutCallback, ResourceDefinition, ResourceDefinitionWithoutCallback, EnhancedResourceContext, UIResourceContent, WidgetProps, UIEncoding, RemoteDomFramework, UIResourceDefinition, ExternalUrlUIResource, RawHtmlUIResource, RemoteDomUIResource, AppsSdkUIResource, WidgetConfig, WidgetManifest, DiscoverWidgetsOptions, AppsSdkMetadata, AppsSdkToolMetadata, } from "./resource.js";
|
|
8
|
+
export { ToolCallback, ToolCallbackWithContext, ToolDefinition, InferToolInput, InferToolOutput, EnhancedToolContext, } from "./tool.js";
|
|
9
|
+
export { PromptCallback, PromptDefinition, PromptDefinitionWithoutCallback, InferPromptInput, EnhancedPromptContext, } from "./prompt.js";
|
|
9
10
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/server/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EACL,YAAY,EACZ,eAAe,EACf,mBAAmB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/server/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EACL,YAAY,EACZ,eAAe,EACf,mBAAmB,EACnB,0BAA0B,EAC1B,aAAa,GACd,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG1C,OAAO,EACL,WAAW,EACX,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,eAAe,GAChB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,oBAAoB,EACpB,4BAA4B,EAC5B,sBAAsB,EACtB,0BAA0B,EAC1B,yCAAyC,EACzC,kBAAkB,EAClB,iCAAiC,EACjC,uBAAuB,EAEvB,iBAAiB,EACjB,WAAW,EACX,UAAU,EACV,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,EACrB,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,EACjB,YAAY,EACZ,cAAc,EACd,sBAAsB,EAEtB,eAAe,EACf,mBAAmB,GACpB,MAAM,eAAe,CAAC;AAGvB,OAAO,EACL,YAAY,EACZ,uBAAuB,EACvB,cAAc,EACd,cAAc,EACd,eAAe,EACf,mBAAmB,GACpB,MAAM,WAAW,CAAC;AAGnB,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,+BAA+B,EAC/B,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,aAAa,CAAC"}
|
|
@@ -1,16 +1,71 @@
|
|
|
1
|
-
import type { GetPromptResult,
|
|
2
|
-
import type { InputDefinition } from "./common.js";
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import type { GetPromptResult, CallToolResult } from "@modelcontextprotocol/sdk/types.js";
|
|
2
|
+
import type { InputDefinition, OptionalizeUndefinedFields } from "./common.js";
|
|
3
|
+
import type { z } from "zod";
|
|
4
|
+
import type { TypedCallToolResult } from "../utils/response-helpers.js";
|
|
5
|
+
import type { McpContext } from "./context.js";
|
|
6
|
+
/**
|
|
7
|
+
* Enhanced Prompt Context that provides access to request context.
|
|
8
|
+
*
|
|
9
|
+
* This unified context provides:
|
|
10
|
+
* - `auth` - Authentication info (when OAuth is configured)
|
|
11
|
+
* - `req` - Hono request object
|
|
12
|
+
* - All other Hono Context properties and methods
|
|
13
|
+
*
|
|
14
|
+
* @template HasOAuth - Whether OAuth is configured (affects auth availability)
|
|
15
|
+
*/
|
|
16
|
+
export type EnhancedPromptContext<HasOAuth extends boolean = false> = McpContext<HasOAuth>;
|
|
17
|
+
/**
|
|
18
|
+
* Extract input type from a prompt definition's schema
|
|
19
|
+
*/
|
|
20
|
+
export type InferPromptInput<T> = T extends {
|
|
21
|
+
schema: infer S;
|
|
22
|
+
} ? S extends z.ZodTypeAny ? OptionalizeUndefinedFields<z.infer<S>> : Record<string, any> : Record<string, any>;
|
|
23
|
+
/**
|
|
24
|
+
* Helper interface that uses method signature syntax to enable bivariant parameter checking.
|
|
25
|
+
* @internal
|
|
26
|
+
*/
|
|
27
|
+
interface PromptCallbackBivariant<TInput, HasOAuth extends boolean> {
|
|
28
|
+
bivarianceHack(params: TInput, ctx: EnhancedPromptContext<HasOAuth>): Promise<CallToolResult | GetPromptResult | TypedCallToolResult<any>>;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Callback type for prompt execution - supports both CallToolResult (from helpers) and GetPromptResult (old API).
|
|
32
|
+
* Uses bivariant parameter checking for flexible destructuring patterns.
|
|
33
|
+
*
|
|
34
|
+
* @template TInput - Input parameters type
|
|
35
|
+
* @template HasOAuth - Whether OAuth is configured (affects ctx.auth availability)
|
|
36
|
+
*/
|
|
37
|
+
export type PromptCallback<TInput = Record<string, any>, HasOAuth extends boolean = false> = PromptCallbackBivariant<TInput, HasOAuth>["bivarianceHack"];
|
|
38
|
+
/**
|
|
39
|
+
* Prompt definition with cb callback (old API)
|
|
40
|
+
*/
|
|
41
|
+
export interface PromptDefinition<TInput = Record<string, any>, HasOAuth extends boolean = false> {
|
|
5
42
|
/** Unique identifier for the prompt */
|
|
6
43
|
name: string;
|
|
7
44
|
/** Human-readable title for the prompt */
|
|
8
45
|
title?: string;
|
|
9
46
|
/** Description of what the prompt does */
|
|
10
47
|
description?: string;
|
|
11
|
-
/** Argument definitions */
|
|
48
|
+
/** Argument definitions (legacy, use schema instead) */
|
|
12
49
|
args?: InputDefinition[];
|
|
50
|
+
/** Zod schema for input validation (preferred) */
|
|
51
|
+
schema?: z.ZodObject<any>;
|
|
13
52
|
/** Async callback function that generates the prompt */
|
|
14
|
-
cb: PromptCallback
|
|
53
|
+
cb: PromptCallback<TInput, HasOAuth>;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Prompt definition without cb callback (new API with separate callback parameter)
|
|
57
|
+
*/
|
|
58
|
+
export interface PromptDefinitionWithoutCallback {
|
|
59
|
+
/** Unique identifier for the prompt */
|
|
60
|
+
name: string;
|
|
61
|
+
/** Human-readable title for the prompt */
|
|
62
|
+
title?: string;
|
|
63
|
+
/** Description of what the prompt does */
|
|
64
|
+
description?: string;
|
|
65
|
+
/** Argument definitions (legacy, use schema instead) */
|
|
66
|
+
args?: InputDefinition[];
|
|
67
|
+
/** Zod schema for input validation (preferred) */
|
|
68
|
+
schema?: z.ZodObject<any>;
|
|
15
69
|
}
|
|
70
|
+
export {};
|
|
16
71
|
//# sourceMappingURL=prompt.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../../../../src/server/types/prompt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,
|
|
1
|
+
{"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../../../../src/server/types/prompt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACf,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EAAE,eAAe,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAC/E,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/C;;;;;;;;;GASG;AACH,MAAM,MAAM,qBAAqB,CAAC,QAAQ,SAAS,OAAO,GAAG,KAAK,IAChE,UAAU,CAAC,QAAQ,CAAC,CAAC;AAEvB;;GAEG;AACH,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,GAC3D,CAAC,SAAS,CAAC,CAAC,UAAU,GACpB,0BAA0B,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GACtC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACrB,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAExB;;;GAGG;AACH,UAAU,uBAAuB,CAAC,MAAM,EAAE,QAAQ,SAAS,OAAO;IAChE,cAAc,CACZ,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,qBAAqB,CAAC,QAAQ,CAAC,GACnC,OAAO,CAAC,cAAc,GAAG,eAAe,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC;CACzE;AAED;;;;;;GAMG;AACH,MAAM,MAAM,cAAc,CACxB,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC5B,QAAQ,SAAS,OAAO,GAAG,KAAK,IAC9B,uBAAuB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,gBAAgB,CAAC,CAAC;AAEhE;;GAEG;AACH,MAAM,WAAW,gBAAgB,CAC/B,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC5B,QAAQ,SAAS,OAAO,GAAG,KAAK;IAEhC,uCAAuC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,0CAA0C;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0CAA0C;IAC1C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,wDAAwD;IACxD,IAAI,CAAC,EAAE,eAAe,EAAE,CAAC;IACzB,kDAAkD;IAClD,MAAM,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAC1B,wDAAwD;IACxD,EAAE,EAAE,cAAc,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;CACtC;AAED;;GAEG;AACH,MAAM,WAAW,+BAA+B;IAC9C,uCAAuC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,0CAA0C;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0CAA0C;IAC1C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,wDAAwD;IACxD,IAAI,CAAC,EAAE,eAAe,EAAE,CAAC;IACzB,kDAAkD;IAClD,MAAM,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;CAC3B"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
import type { ReadResourceResult } from "@modelcontextprotocol/sdk/types.js";
|
|
1
|
+
import type { ReadResourceResult, CallToolResult } from "@modelcontextprotocol/sdk/types.js";
|
|
2
2
|
import type { ResourceAnnotations } from "./common.js";
|
|
3
3
|
import type { AdaptersConfig } from "@mcp-ui/server";
|
|
4
|
+
import type { TypedCallToolResult } from "../utils/response-helpers.js";
|
|
5
|
+
import type { McpContext } from "./context.js";
|
|
4
6
|
export type UIResourceContent = {
|
|
5
7
|
type: "resource";
|
|
6
8
|
resource: {
|
|
@@ -68,8 +70,45 @@ export interface AppsSdkToolMetadata extends Record<string, unknown> {
|
|
|
68
70
|
/** Whether this tool result can produce a widget */
|
|
69
71
|
"openai/resultCanProduceWidget"?: boolean;
|
|
70
72
|
}
|
|
71
|
-
|
|
72
|
-
|
|
73
|
+
/**
|
|
74
|
+
* Enhanced Resource Context that provides access to request context.
|
|
75
|
+
*
|
|
76
|
+
* This unified context provides:
|
|
77
|
+
* - `auth` - Authentication info (when OAuth is configured)
|
|
78
|
+
* - `req` - Hono request object
|
|
79
|
+
* - All other Hono Context properties and methods
|
|
80
|
+
*
|
|
81
|
+
* @template HasOAuth - Whether OAuth is configured (affects auth availability)
|
|
82
|
+
*/
|
|
83
|
+
export type EnhancedResourceContext<HasOAuth extends boolean = false> = McpContext<HasOAuth>;
|
|
84
|
+
/**
|
|
85
|
+
* Helper interface for bivariant parameter checking on resource callbacks.
|
|
86
|
+
* @internal
|
|
87
|
+
*/
|
|
88
|
+
interface ReadResourceCallbackBivariant<HasOAuth extends boolean> {
|
|
89
|
+
bivarianceHack(ctx: EnhancedResourceContext<HasOAuth>): Promise<CallToolResult | ReadResourceResult | TypedCallToolResult<any>>;
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Helper interface for bivariant parameter checking on resource template callbacks.
|
|
93
|
+
* @internal
|
|
94
|
+
*/
|
|
95
|
+
interface ReadResourceTemplateCallbackBivariant<HasOAuth extends boolean> {
|
|
96
|
+
bivarianceHack(uri: URL, params: Record<string, any>, ctx: EnhancedResourceContext<HasOAuth>): Promise<CallToolResult | ReadResourceResult | TypedCallToolResult<any>>;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Callback type for reading a static resource.
|
|
100
|
+
* Supports both CallToolResult (from helpers) and ReadResourceResult (old API).
|
|
101
|
+
*
|
|
102
|
+
* @template HasOAuth - Whether OAuth is configured (affects ctx.auth availability)
|
|
103
|
+
*/
|
|
104
|
+
export type ReadResourceCallback<HasOAuth extends boolean = false> = ReadResourceCallbackBivariant<HasOAuth>["bivarianceHack"];
|
|
105
|
+
/**
|
|
106
|
+
* Callback type for reading a resource template with parameters.
|
|
107
|
+
* Supports both CallToolResult (from helpers) and ReadResourceResult (old API).
|
|
108
|
+
*
|
|
109
|
+
* @template HasOAuth - Whether OAuth is configured (affects ctx.auth availability)
|
|
110
|
+
*/
|
|
111
|
+
export type ReadResourceTemplateCallback<HasOAuth extends boolean = false> = ReadResourceTemplateCallbackBivariant<HasOAuth>["bivarianceHack"];
|
|
73
112
|
/**
|
|
74
113
|
* Configuration for a resource template
|
|
75
114
|
*/
|
|
@@ -83,16 +122,33 @@ export interface ResourceTemplateConfig {
|
|
|
83
122
|
/** Description of the resource */
|
|
84
123
|
description?: string;
|
|
85
124
|
}
|
|
86
|
-
|
|
125
|
+
/**
|
|
126
|
+
* Resource template definition with readCallback (old API)
|
|
127
|
+
*/
|
|
128
|
+
export interface ResourceTemplateDefinition<HasOAuth extends boolean = false> {
|
|
129
|
+
name: string;
|
|
130
|
+
resourceTemplate: ResourceTemplateConfig;
|
|
131
|
+
title?: string;
|
|
132
|
+
description?: string;
|
|
133
|
+
annotations?: ResourceAnnotations;
|
|
134
|
+
readCallback: ReadResourceTemplateCallback<HasOAuth>;
|
|
135
|
+
_meta?: Record<string, unknown>;
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Resource template definition without readCallback (new API with separate callback parameter)
|
|
139
|
+
*/
|
|
140
|
+
export interface ResourceTemplateDefinitionWithoutCallback {
|
|
87
141
|
name: string;
|
|
88
142
|
resourceTemplate: ResourceTemplateConfig;
|
|
89
143
|
title?: string;
|
|
90
144
|
description?: string;
|
|
91
145
|
annotations?: ResourceAnnotations;
|
|
92
|
-
readCallback: ReadResourceTemplateCallback;
|
|
93
146
|
_meta?: Record<string, unknown>;
|
|
94
147
|
}
|
|
95
|
-
|
|
148
|
+
/**
|
|
149
|
+
* Resource definition with readCallback (old API)
|
|
150
|
+
*/
|
|
151
|
+
export interface ResourceDefinition<HasOAuth extends boolean = false> {
|
|
96
152
|
/** Unique identifier for the resource */
|
|
97
153
|
name: string;
|
|
98
154
|
/** URI pattern for accessing the resource (e.g., 'config://app-settings') */
|
|
@@ -101,12 +157,31 @@ export interface ResourceDefinition {
|
|
|
101
157
|
title?: string;
|
|
102
158
|
/** Optional description of the resource */
|
|
103
159
|
description?: string;
|
|
104
|
-
/** MIME type of the resource content (required) */
|
|
160
|
+
/** MIME type of the resource content (required for old API) */
|
|
105
161
|
mimeType: string;
|
|
106
162
|
/** Optional annotations for the resource */
|
|
107
163
|
annotations?: ResourceAnnotations;
|
|
108
164
|
/** Async callback function that returns the resource content */
|
|
109
|
-
readCallback: ReadResourceCallback
|
|
165
|
+
readCallback: ReadResourceCallback<HasOAuth>;
|
|
166
|
+
_meta?: Record<string, unknown>;
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* Resource definition without readCallback (new API with separate callback parameter)
|
|
170
|
+
* MIME type is optional when using response helpers - it's inferred from the helper
|
|
171
|
+
*/
|
|
172
|
+
export interface ResourceDefinitionWithoutCallback {
|
|
173
|
+
/** Unique identifier for the resource */
|
|
174
|
+
name: string;
|
|
175
|
+
/** URI pattern for accessing the resource (e.g., 'config://app-settings') */
|
|
176
|
+
uri: string;
|
|
177
|
+
/** Optional title for the resource */
|
|
178
|
+
title?: string;
|
|
179
|
+
/** Optional description of the resource */
|
|
180
|
+
description?: string;
|
|
181
|
+
/** MIME type (optional - inferred from response helpers like text(), object(), etc.) */
|
|
182
|
+
mimeType?: string;
|
|
183
|
+
/** Optional annotations for the resource */
|
|
184
|
+
annotations?: ResourceAnnotations;
|
|
110
185
|
_meta?: Record<string, unknown>;
|
|
111
186
|
}
|
|
112
187
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource.d.ts","sourceRoot":"","sources":["../../../../src/server/types/resource.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"resource.d.ts","sourceRoot":"","sources":["../../../../src/server/types/resource.ts"],"names":[],"mappings":"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"}
|