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,277 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Widget helper utilities
|
|
3
|
+
*
|
|
4
|
+
* This module provides utility functions for widget registration, URI generation,
|
|
5
|
+
* and prop handling.
|
|
6
|
+
*/
|
|
7
|
+
import type { Hono as HonoType } from "hono";
|
|
8
|
+
import type { UIResourceContent, UIResourceDefinition, InputDefinition, WidgetProps } from "../types/index.js";
|
|
9
|
+
/**
|
|
10
|
+
* Generate a widget URI with optional build ID for cache busting
|
|
11
|
+
*
|
|
12
|
+
* @param widgetName - Widget name/identifier
|
|
13
|
+
* @param buildId - Optional build ID for cache busting
|
|
14
|
+
* @param extension - Optional file extension (e.g., '.html')
|
|
15
|
+
* @param suffix - Optional suffix (e.g., random ID for dynamic URIs)
|
|
16
|
+
* @returns Widget URI with build ID if available
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* ```typescript
|
|
20
|
+
* generateWidgetUri('kanban-board', 'abc123', '.html')
|
|
21
|
+
* // Returns: 'ui://widget/kanban-board-abc123.html'
|
|
22
|
+
* ```
|
|
23
|
+
*/
|
|
24
|
+
export declare function generateWidgetUri(widgetName: string, buildId: string | undefined, extension?: string, suffix?: string): string;
|
|
25
|
+
/**
|
|
26
|
+
* Convert widget props definition to tool input schema
|
|
27
|
+
*
|
|
28
|
+
* Transforms the widget props configuration into the format expected by
|
|
29
|
+
* the tool registration system, mapping types and handling defaults.
|
|
30
|
+
*
|
|
31
|
+
* @param props - Widget props configuration
|
|
32
|
+
* @returns Array of InputDefinition objects for tool registration
|
|
33
|
+
*
|
|
34
|
+
* @example
|
|
35
|
+
* ```typescript
|
|
36
|
+
* const props = {
|
|
37
|
+
* title: { type: 'string', required: true, description: 'Board title' },
|
|
38
|
+
* color: { type: 'string', default: 'blue' }
|
|
39
|
+
* };
|
|
40
|
+
* const inputs = convertPropsToInputs(props);
|
|
41
|
+
* // Returns: [
|
|
42
|
+
* // { name: 'title', type: 'string', required: true, description: 'Board title' },
|
|
43
|
+
* // { name: 'color', type: 'string', default: 'blue' }
|
|
44
|
+
* // ]
|
|
45
|
+
* ```
|
|
46
|
+
*/
|
|
47
|
+
export declare function convertPropsToInputs(props?: WidgetProps): InputDefinition[];
|
|
48
|
+
/**
|
|
49
|
+
* Apply default values to widget props
|
|
50
|
+
*
|
|
51
|
+
* Extracts default values from the props configuration to use when
|
|
52
|
+
* the resource is accessed without parameters.
|
|
53
|
+
*
|
|
54
|
+
* @param props - Widget props configuration
|
|
55
|
+
* @returns Object with default values for each prop
|
|
56
|
+
*
|
|
57
|
+
* @example
|
|
58
|
+
* ```typescript
|
|
59
|
+
* const props = {
|
|
60
|
+
* title: { type: 'string', default: 'My Board' },
|
|
61
|
+
* color: { type: 'string', default: 'blue' },
|
|
62
|
+
* size: { type: 'number' } // no default
|
|
63
|
+
* };
|
|
64
|
+
* const defaults = applyDefaultProps(props);
|
|
65
|
+
* // Returns: { title: 'My Board', color: 'blue' }
|
|
66
|
+
* ```
|
|
67
|
+
*/
|
|
68
|
+
export declare function applyDefaultProps(props?: WidgetProps): Record<string, any>;
|
|
69
|
+
/**
|
|
70
|
+
* Read build manifest file
|
|
71
|
+
*
|
|
72
|
+
* @returns Build manifest or null if not found
|
|
73
|
+
*
|
|
74
|
+
* @example
|
|
75
|
+
* ```typescript
|
|
76
|
+
* const manifest = await readBuildManifest();
|
|
77
|
+
* if (manifest) {
|
|
78
|
+
* console.log('Build ID:', manifest.buildId);
|
|
79
|
+
* console.log('Widgets:', manifest.widgets);
|
|
80
|
+
* }
|
|
81
|
+
* ```
|
|
82
|
+
*/
|
|
83
|
+
export declare function readBuildManifest(): Promise<{
|
|
84
|
+
includeInspector: boolean;
|
|
85
|
+
widgets: string[] | Record<string, any>;
|
|
86
|
+
buildTime?: string;
|
|
87
|
+
buildId?: string;
|
|
88
|
+
} | null>;
|
|
89
|
+
/**
|
|
90
|
+
* Server configuration for widget UI resource creation
|
|
91
|
+
*/
|
|
92
|
+
export interface WidgetServerConfig {
|
|
93
|
+
/** Server host */
|
|
94
|
+
serverHost: string;
|
|
95
|
+
/** Server port */
|
|
96
|
+
serverPort: number;
|
|
97
|
+
/** Server base URL (if configured) */
|
|
98
|
+
serverBaseUrl?: string;
|
|
99
|
+
/** Build ID for cache busting */
|
|
100
|
+
buildId?: string;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Create a UIResource object for a widget with the given parameters
|
|
104
|
+
*
|
|
105
|
+
* This function creates a consistent UIResource structure that can be rendered
|
|
106
|
+
* by MCP-UI compatible clients. It handles URL configuration, build IDs, and
|
|
107
|
+
* metadata merging.
|
|
108
|
+
*
|
|
109
|
+
* @param definition - UIResource definition
|
|
110
|
+
* @param params - Parameters to pass to the widget via URL
|
|
111
|
+
* @param serverConfig - Server configuration (host, port, baseUrl, buildId)
|
|
112
|
+
* @returns UIResource object compatible with MCP-UI
|
|
113
|
+
*
|
|
114
|
+
* @example
|
|
115
|
+
* ```typescript
|
|
116
|
+
* const serverConfig = {
|
|
117
|
+
* serverHost: 'localhost',
|
|
118
|
+
* serverPort: 3000,
|
|
119
|
+
* serverBaseUrl: 'http://localhost:3000',
|
|
120
|
+
* buildId: 'abc123'
|
|
121
|
+
* };
|
|
122
|
+
*
|
|
123
|
+
* const definition = {
|
|
124
|
+
* type: 'appsSdk',
|
|
125
|
+
* name: 'kanban-board',
|
|
126
|
+
* title: 'Kanban Board',
|
|
127
|
+
* htmlTemplate: '<div>...</div>',
|
|
128
|
+
* appsSdkMetadata: { ... }
|
|
129
|
+
* };
|
|
130
|
+
*
|
|
131
|
+
* const uiResource = await createWidgetUIResource(definition, { title: 'My Board' }, serverConfig);
|
|
132
|
+
* ```
|
|
133
|
+
*/
|
|
134
|
+
/**
|
|
135
|
+
* Get content type for a file based on its extension
|
|
136
|
+
*
|
|
137
|
+
* @param filename - The filename or path
|
|
138
|
+
* @returns MIME type string
|
|
139
|
+
*
|
|
140
|
+
* @example
|
|
141
|
+
* ```typescript
|
|
142
|
+
* getContentType('script.js') // Returns: 'application/javascript'
|
|
143
|
+
* getContentType('styles.css') // Returns: 'text/css'
|
|
144
|
+
* ```
|
|
145
|
+
*/
|
|
146
|
+
export declare function getContentType(filename: string): string;
|
|
147
|
+
/**
|
|
148
|
+
* Process widget HTML with base URL injection and path conversion
|
|
149
|
+
*
|
|
150
|
+
* @param html - Original HTML content
|
|
151
|
+
* @param widgetName - Widget identifier
|
|
152
|
+
* @param baseUrl - Server base URL
|
|
153
|
+
* @returns Processed HTML with injected base tag and absolute URLs
|
|
154
|
+
*
|
|
155
|
+
* @example
|
|
156
|
+
* ```typescript
|
|
157
|
+
* const html = '<html><head></head><body>...</body></html>';
|
|
158
|
+
* const processed = processWidgetHtml(html, 'kanban-board', 'http://localhost:3000');
|
|
159
|
+
* ```
|
|
160
|
+
*/
|
|
161
|
+
export declare function processWidgetHtml(html: string, widgetName: string, baseUrl: string): string;
|
|
162
|
+
/**
|
|
163
|
+
* Create a widget registration object with standard metadata
|
|
164
|
+
*
|
|
165
|
+
* @param widgetName - Widget identifier
|
|
166
|
+
* @param metadata - Widget metadata from file or manifest
|
|
167
|
+
* @param html - Processed HTML template
|
|
168
|
+
* @param serverConfig - Server configuration for CSP and URLs
|
|
169
|
+
* @param isDev - Whether this is development mode
|
|
170
|
+
* @returns Widget registration object
|
|
171
|
+
*
|
|
172
|
+
* @example
|
|
173
|
+
* ```typescript
|
|
174
|
+
* const registration = createWidgetRegistration(
|
|
175
|
+
* 'kanban-board',
|
|
176
|
+
* { title: 'Kanban Board', description: 'Task board' },
|
|
177
|
+
* '<html>...</html>',
|
|
178
|
+
* { serverBaseUrl: 'http://localhost:3000', cspUrls: [] },
|
|
179
|
+
* true
|
|
180
|
+
* );
|
|
181
|
+
* ```
|
|
182
|
+
*/
|
|
183
|
+
export declare function createWidgetRegistration(widgetName: string, metadata: any, html: string, serverConfig: {
|
|
184
|
+
serverBaseUrl: string;
|
|
185
|
+
cspUrls: string[];
|
|
186
|
+
}, isDev?: boolean): {
|
|
187
|
+
name: string;
|
|
188
|
+
title: string;
|
|
189
|
+
description: string;
|
|
190
|
+
type: "appsSdk";
|
|
191
|
+
props: any;
|
|
192
|
+
_meta: Record<string, any>;
|
|
193
|
+
htmlTemplate: string;
|
|
194
|
+
appsSdkMetadata: Record<string, any>;
|
|
195
|
+
};
|
|
196
|
+
export declare function createWidgetUIResource(definition: UIResourceDefinition, params: Record<string, any>, serverConfig: WidgetServerConfig): Promise<UIResourceContent>;
|
|
197
|
+
/**
|
|
198
|
+
* Ensure widget metadata has proper fallback values
|
|
199
|
+
*
|
|
200
|
+
* @param metadata - Widget metadata object
|
|
201
|
+
* @param widgetName - Widget identifier for fallback description
|
|
202
|
+
* @param widgetDescription - Optional custom description
|
|
203
|
+
* @returns Metadata with ensured description
|
|
204
|
+
*
|
|
205
|
+
* @example
|
|
206
|
+
* ```typescript
|
|
207
|
+
* const metadata = ensureWidgetMetadata({}, 'kanban-board');
|
|
208
|
+
* // Returns: { description: 'Widget: kanban-board' }
|
|
209
|
+
* ```
|
|
210
|
+
*/
|
|
211
|
+
export declare function ensureWidgetMetadata(metadata: any, widgetName: string, widgetDescription?: string): any;
|
|
212
|
+
/**
|
|
213
|
+
* Read widget HTML file with consistent error handling
|
|
214
|
+
*
|
|
215
|
+
* @param filePath - Path to the HTML file
|
|
216
|
+
* @param widgetName - Widget identifier for error messages
|
|
217
|
+
* @returns HTML content or empty string on error
|
|
218
|
+
*
|
|
219
|
+
* @example
|
|
220
|
+
* ```typescript
|
|
221
|
+
* const html = await readWidgetHtml('/path/to/widget/index.html', 'kanban-board');
|
|
222
|
+
* ```
|
|
223
|
+
*/
|
|
224
|
+
export declare function readWidgetHtml(filePath: string, widgetName: string): Promise<string>;
|
|
225
|
+
/**
|
|
226
|
+
* Register a widget from its HTML template and metadata
|
|
227
|
+
*
|
|
228
|
+
* This function encapsulates the common pattern of registering a widget:
|
|
229
|
+
* - Read and process HTML template
|
|
230
|
+
* - Ensure metadata has proper fallbacks
|
|
231
|
+
* - Create widget registration object
|
|
232
|
+
* - Call the registration callback
|
|
233
|
+
*
|
|
234
|
+
* @param widgetName - Widget identifier
|
|
235
|
+
* @param htmlPath - Path to the HTML template file
|
|
236
|
+
* @param metadata - Widget metadata
|
|
237
|
+
* @param serverConfig - Server configuration for CSP and URLs
|
|
238
|
+
* @param registerWidget - Callback to register the widget
|
|
239
|
+
* @param isDev - Whether this is development mode
|
|
240
|
+
* @returns Promise that resolves when widget is registered
|
|
241
|
+
*
|
|
242
|
+
* @example
|
|
243
|
+
* ```typescript
|
|
244
|
+
* await registerWidgetFromTemplate(
|
|
245
|
+
* 'kanban-board',
|
|
246
|
+
* './dist/resources/widgets/kanban-board/index.html',
|
|
247
|
+
* { title: 'Kanban Board' },
|
|
248
|
+
* serverConfig,
|
|
249
|
+
* registerWidget,
|
|
250
|
+
* false
|
|
251
|
+
* );
|
|
252
|
+
* ```
|
|
253
|
+
*/
|
|
254
|
+
export declare function registerWidgetFromTemplate(widgetName: string, htmlPath: string, metadata: any, serverConfig: {
|
|
255
|
+
serverBaseUrl: string;
|
|
256
|
+
cspUrls: string[];
|
|
257
|
+
}, registerWidget: (widgetDef: any) => void, isDev?: boolean): Promise<void>;
|
|
258
|
+
/**
|
|
259
|
+
* Setup static file serving routes for public files
|
|
260
|
+
*
|
|
261
|
+
* Creates an HTTP route to serve files from the public/ or dist/public/ directory.
|
|
262
|
+
* This function encapsulates the common pattern of serving static files.
|
|
263
|
+
*
|
|
264
|
+
* @param app - Hono app instance to mount routes on
|
|
265
|
+
* @param useDistDirectory - Whether to serve from dist/public (production) or public (dev)
|
|
266
|
+
*
|
|
267
|
+
* @example
|
|
268
|
+
* ```typescript
|
|
269
|
+
* // For development mode
|
|
270
|
+
* setupPublicRoutes(app, false);
|
|
271
|
+
*
|
|
272
|
+
* // For production mode
|
|
273
|
+
* setupPublicRoutes(app, true);
|
|
274
|
+
* ```
|
|
275
|
+
*/
|
|
276
|
+
export declare function setupPublicRoutes(app: HonoType, useDistDirectory?: boolean): void;
|
|
277
|
+
//# sourceMappingURL=widget-helpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"widget-helpers.d.ts","sourceRoot":"","sources":["../../../../src/server/widgets/widget-helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared type definitions for widget mounting and serving
|
|
3
|
+
*
|
|
4
|
+
* This module consolidates common types used across widget-related modules
|
|
5
|
+
* to avoid duplication and ensure consistency.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Server configuration for widget mounting
|
|
9
|
+
*
|
|
10
|
+
* Unified interface used by both development and production widget mounting,
|
|
11
|
+
* as well as static route setup.
|
|
12
|
+
*/
|
|
13
|
+
export interface ServerConfig {
|
|
14
|
+
/** Base URL of the server */
|
|
15
|
+
serverBaseUrl: string;
|
|
16
|
+
/** Server port (optional for production) */
|
|
17
|
+
serverPort?: number | string;
|
|
18
|
+
/** Additional CSP URLs for widget security */
|
|
19
|
+
cspUrls: string[];
|
|
20
|
+
/** Build ID from manifest for cache busting (optional) */
|
|
21
|
+
buildId?: string;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Widget mounting options
|
|
25
|
+
*
|
|
26
|
+
* Common options used for both development and production widget mounting.
|
|
27
|
+
*/
|
|
28
|
+
export interface MountWidgetsOptions {
|
|
29
|
+
/** Base route for widgets (defaults to '/mcp-use/widgets') */
|
|
30
|
+
baseRoute?: string;
|
|
31
|
+
/** Resources directory path (defaults to 'resources') */
|
|
32
|
+
resourcesDir?: string;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Widget registration callback function type
|
|
36
|
+
*
|
|
37
|
+
* Used to register discovered widgets with the MCP server.
|
|
38
|
+
*/
|
|
39
|
+
export type RegisterWidgetCallback = (widgetDefinition: {
|
|
40
|
+
name: string;
|
|
41
|
+
title: string;
|
|
42
|
+
description: string;
|
|
43
|
+
type: "appsSdk";
|
|
44
|
+
props: any;
|
|
45
|
+
_meta: Record<string, any>;
|
|
46
|
+
htmlTemplate: string;
|
|
47
|
+
appsSdkMetadata: Record<string, any>;
|
|
48
|
+
}) => void;
|
|
49
|
+
//# sourceMappingURL=widget-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"widget-types.d.ts","sourceRoot":"","sources":["../../../../src/server/widgets/widget-types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;GAKG;AACH,MAAM,WAAW,YAAY;IAC3B,6BAA6B;IAC7B,aAAa,EAAE,MAAM,CAAC;IACtB,4CAA4C;IAC5C,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,8CAA8C;IAC9C,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,0DAA0D;IAC1D,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,8DAA8D;IAC9D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yDAAyD;IACzD,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;GAIG;AACH,MAAM,MAAM,sBAAsB,GAAG,CAAC,gBAAgB,EAAE;IACtD,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,EAAE,GAAG,CAAC;IACX,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACtC,KAAK,IAAI,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import {
|
|
2
|
+
createElicitMethod,
|
|
3
|
+
createEnhancedContext,
|
|
4
|
+
createReportProgressMethod,
|
|
5
|
+
createSampleMethod,
|
|
6
|
+
findSessionContext,
|
|
7
|
+
parseElicitParams,
|
|
8
|
+
sendProgressNotification,
|
|
9
|
+
withTimeout
|
|
10
|
+
} from "./chunk-KHTTBIRP.js";
|
|
11
|
+
import "./chunk-KUEVOU4M.js";
|
|
12
|
+
import "./chunk-MTHLLDCX.js";
|
|
13
|
+
import "./chunk-3GQAWCBQ.js";
|
|
14
|
+
export {
|
|
15
|
+
createElicitMethod,
|
|
16
|
+
createEnhancedContext,
|
|
17
|
+
createReportProgressMethod,
|
|
18
|
+
createSampleMethod,
|
|
19
|
+
findSessionContext,
|
|
20
|
+
parseElicitParams,
|
|
21
|
+
sendProgressNotification,
|
|
22
|
+
withTimeout
|
|
23
|
+
};
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mcp-use",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "1.9.
|
|
4
|
+
"version": "1.9.1-canary.0",
|
|
5
5
|
"description": "Opinionated MCP Framework for TypeScript (@modelcontextprotocol/sdk compatible) - Build MCP Agents, Clients and Servers with support for ChatGPT Apps, Code Mode, OAuth, Notifications, Sampling, Observability and more.",
|
|
6
6
|
"author": "mcp-use, Inc.",
|
|
7
7
|
"license": "MIT",
|
|
@@ -105,15 +105,16 @@
|
|
|
105
105
|
"@hono/node-server": "^1.19.6",
|
|
106
106
|
"@langchain/core": "^1.1.0",
|
|
107
107
|
"@mcp-ui/server": "^5.15.0",
|
|
108
|
-
"@modelcontextprotocol/sdk": "https://pkg.pr.new/modelcontextprotocol/typescript-sdk/@modelcontextprotocol/sdk@
|
|
108
|
+
"@modelcontextprotocol/sdk": "https://pkg.pr.new/modelcontextprotocol/typescript-sdk/@modelcontextprotocol/sdk@1209",
|
|
109
|
+
"express": "^5.2.0",
|
|
109
110
|
"hono": "^4.10.7",
|
|
110
111
|
"jose": "^6.1.2",
|
|
111
112
|
"langchain": "^1.1.1",
|
|
112
113
|
"posthog-node": "^5.14.1",
|
|
113
114
|
"ws": "^8.18.3",
|
|
114
115
|
"zod": "^4.1.13",
|
|
115
|
-
"@mcp-use/cli": "2.4.
|
|
116
|
-
"@mcp-use/inspector": "0.11.
|
|
116
|
+
"@mcp-use/cli": "2.4.9-canary.0",
|
|
117
|
+
"@mcp-use/inspector": "0.11.1-canary.0"
|
|
117
118
|
},
|
|
118
119
|
"optionalDependencies": {
|
|
119
120
|
"chalk": "^5.6.2",
|
|
@@ -193,7 +194,7 @@
|
|
|
193
194
|
"example:server:sampling": "tsx examples/server/sampling/src/server.ts",
|
|
194
195
|
"example:client:sampling": "tsx examples/client/sampling-client.ts",
|
|
195
196
|
"example:server:elicitation": "tsx examples/server/elicitation/src/server.ts",
|
|
196
|
-
"example:sampling": "lsof -ti:
|
|
197
|
+
"example:sampling": "lsof -ti:3000 | xargs kill -9 2>/dev/null; tsx examples/server/sampling/src/server.ts & sleep 3 && tsx examples/client/sampling-client.ts",
|
|
197
198
|
"example:server:oauth:supabase": "tsx examples/server/oauth/supabase/src/server.ts",
|
|
198
199
|
"example:client:oauth:auth0": "tsx examples/server/oauth/auth0/src/server.ts",
|
|
199
200
|
"example:client:oauth:workos": "tsx examples/server/oauth/workos/src/server.ts",
|