@mcp-b/webmcp-types 2.2.0 → 2.3.1
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/README.md +27 -25
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/json-schema.d.ts.map +1 -1
- package/dist/model-context.d.ts +50 -10
- package/dist/model-context.d.ts.map +1 -1
- package/dist/tool.d.ts +7 -2
- package/dist/tool.d.ts.map +1 -1
- package/package.json +30 -31
- package/src/index.ts +2 -1
- package/src/json-schema.ts +20 -18
- package/src/model-context.ts +87 -25
- package/src/tool.ts +8 -2
- package/dist/standard-schema.d.ts +0 -32
- package/dist/standard-schema.d.ts.map +0 -1
package/README.md
CHANGED
|
@@ -23,11 +23,11 @@ This package is the type-safety source of truth for WebMCP.
|
|
|
23
23
|
|
|
24
24
|
## Package Selection
|
|
25
25
|
|
|
26
|
-
| Package
|
|
27
|
-
|
|
|
28
|
-
| `@mcp-b/webmcp-types`
|
|
29
|
-
| `@mcp-b/webmcp-polyfill` | You need strict WebMCP core runtime behavior
|
|
30
|
-
| `@mcp-b/global`
|
|
26
|
+
| Package | Use When |
|
|
27
|
+
| ------------------------ | ----------------------------------------------------------------------------- |
|
|
28
|
+
| `@mcp-b/webmcp-types` | You only need compile-time types |
|
|
29
|
+
| `@mcp-b/webmcp-polyfill` | You need strict WebMCP core runtime behavior |
|
|
30
|
+
| `@mcp-b/global` | You want core + MCPB bridge extensions (`callTool`, prompts, resources, etc.) |
|
|
31
31
|
|
|
32
32
|
## Install
|
|
33
33
|
|
|
@@ -118,7 +118,7 @@ Use `as const satisfies JsonSchemaForInference` so TypeScript preserves literal
|
|
|
118
118
|
If schema types are widened (for example `InputSchema` loaded at runtime), inference intentionally falls back to:
|
|
119
119
|
|
|
120
120
|
```ts
|
|
121
|
-
Record<string, unknown
|
|
121
|
+
Record<string, unknown>;
|
|
122
122
|
```
|
|
123
123
|
|
|
124
124
|
### 2. Input inference rules
|
|
@@ -138,12 +138,12 @@ Other schema keywords are accepted as metadata but do not add new inferred struc
|
|
|
138
138
|
|
|
139
139
|
### 3. `additionalProperties` behavior
|
|
140
140
|
|
|
141
|
-
| Schema shape
|
|
142
|
-
|
|
|
143
|
-
| `additionalProperties: false`
|
|
144
|
-
| `additionalProperties` omitted/`true`
|
|
145
|
-
| `additionalProperties: { ... }` with no named `properties` | Map-like `Record<string, ...>`
|
|
146
|
-
| `additionalProperties: { ... }` with named `properties`
|
|
141
|
+
| Schema shape | Inferred extras |
|
|
142
|
+
| ---------------------------------------------------------- | -------------------------------------------------- |
|
|
143
|
+
| `additionalProperties: false` | No extra keys |
|
|
144
|
+
| `additionalProperties` omitted/`true` | Extra keys allowed as `unknown` |
|
|
145
|
+
| `additionalProperties: { ... }` with no named `properties` | Map-like `Record<string, ...>` |
|
|
146
|
+
| `additionalProperties: { ... }` with named `properties` | Named properties inferred, extras remain `unknown` |
|
|
147
147
|
|
|
148
148
|
### 4. Required keys depend on literal `required`
|
|
149
149
|
|
|
@@ -208,25 +208,27 @@ void result;
|
|
|
208
208
|
|
|
209
209
|
## Commonly Used Exports
|
|
210
210
|
|
|
211
|
-
| Export
|
|
212
|
-
|
|
|
213
|
-
| `ModelContext`
|
|
214
|
-
| `ToolDescriptor`
|
|
215
|
-
| `ToolDescriptorFromSchema`
|
|
216
|
-
| `JsonSchemaForInference`
|
|
217
|
-
| `InferArgsFromInputSchema`
|
|
218
|
-
| `ToolResultFromOutputSchema`
|
|
219
|
-
| `TypedModelContext`
|
|
220
|
-
| `CallToolResult`
|
|
221
|
-
| `ContentBlock` / `LooseContentBlock` | Strict and pragmatic content block typing
|
|
222
|
-
| `ModelContextClient`
|
|
211
|
+
| Export | Purpose |
|
|
212
|
+
| ------------------------------------ | ------------------------------------------------------------ |
|
|
213
|
+
| `ModelContext` | Strict core `navigator.modelContext` type |
|
|
214
|
+
| `ToolDescriptor` | Explicitly typed tool descriptor |
|
|
215
|
+
| `ToolDescriptorFromSchema` | Schema-driven descriptor with inferred args/result |
|
|
216
|
+
| `JsonSchemaForInference` | Supported JSON Schema subset for inference |
|
|
217
|
+
| `InferArgsFromInputSchema` | Derive args shape from a schema type |
|
|
218
|
+
| `ToolResultFromOutputSchema` | Derive `structuredContent` type from output schema |
|
|
219
|
+
| `TypedModelContext` | Name-aware typed `callTool`/`listTools` for known registries |
|
|
220
|
+
| `CallToolResult` | Tool response type |
|
|
221
|
+
| `ContentBlock` / `LooseContentBlock` | Strict and pragmatic content block typing |
|
|
222
|
+
| `ModelContextClient` | Tool execution client (`requestUserInteraction`) |
|
|
223
223
|
|
|
224
224
|
## Important Notes
|
|
225
225
|
|
|
226
226
|
- This package does not install any runtime behavior.
|
|
227
227
|
- Runtime validation/execution behavior depends on your WebMCP runtime package.
|
|
228
228
|
- `provideContext()` and `clearContext()` remain typed for compatibility, but are deprecated because the upstream WebMCP spec removed them on March 5, 2026.
|
|
229
|
-
-
|
|
229
|
+
- `unregisterTool(name)` is `@deprecated`. The April 23, 2026 WebMCP draft removed it from the spec in favor of an `AbortSignal` passed via `registerTool(tool, { signal })`. The type is retained for compatibility with older native previews and existing MCP-B wrappers; it will be removed in the next major version.
|
|
230
|
+
- `registerTool(tool, options?)` accepts a `ModelContextRegisterToolOptions` dictionary with an optional `signal: AbortSignal`. Aborting the signal unregisters the tool.
|
|
231
|
+
- `ToolAnnotations.untrustedContentHint` was added to the spec on April 23, 2026 to flag tools whose output may include externally-sourced content.
|
|
230
232
|
- `navigator.modelContextTesting` is typed as optional for compatibility with Chromium preview/testing surfaces.
|
|
231
233
|
|
|
232
234
|
## License
|
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { ModelContext, ModelContextTesting } from './model-context.js';
|
|
2
2
|
export type { AudioContent, BlobResourceContents, CallToolResult, ContentBlock, ElicitationFormParams, ElicitationParams, ElicitationResult, ElicitationUrlParams, EmbeddedResource, ImageContent, InputSchema, InputSchemaProperty, JsonObject, JsonPrimitive, JsonValue, LooseContentBlock, RegistrationHandle, ResourceContents, ResourceLink, TextContent, TextResourceContents, ToolResponse, } from './common.js';
|
|
3
3
|
export type { InferArgsFromInputSchema, InferJsonSchema, JsonSchemaArray, JsonSchemaBoolean, JsonSchemaEnumValue, JsonSchemaForInference, JsonSchemaMultiType, JsonSchemaNull, JsonSchemaNumber, JsonSchemaObject, JsonSchemaPrimitiveType, JsonSchemaString, JsonSchemaType, JsonSchemaTypeArray, } from './json-schema.js';
|
|
4
|
-
export type { AnyToolDescriptor, InferToolArgs, InferToolResult, ModelContext, ModelContextCore, ModelContextExtensions, ModelContextInput, ModelContextOptions, ModelContextTesting, ModelContextTestingExecuteToolOptions, ModelContextTestingPolyfillExtensions, ModelContextTestingToolInfo, ModelContextToolReference, ModelContextToolRegistrationHandle, ModelContextWithExtensions, ToolArgsByName, ToolByName, ToolCallEvent, ToolCallParams, ToolName, ToolResultByName, TypedModelContext, } from './model-context.js';
|
|
4
|
+
export type { AnyToolDescriptor, InferToolArgs, InferToolResult, ModelContext, ModelContextCore, ModelContextExtensions, ModelContextInput, ModelContextOptions, ModelContextRegisterToolOptions, ModelContextTesting, ModelContextTestingExecuteToolOptions, ModelContextTestingPolyfillExtensions, ModelContextTestingToolInfo, ModelContextToolReference, ModelContextToolRegistrationHandle, ModelContextWithExtensions, ToolArgsByName, ToolByName, ToolCallEvent, ToolCallParams, ToolName, ToolResultByName, TypedModelContext, } from './model-context.js';
|
|
5
5
|
export type { MaybePromise, ModelContextClient, ToolAnnotations, ToolDescriptor, ToolDescriptorFromSchema, ToolExecuteResult, ToolExecutionContext, ToolListItem, ToolRawResult, ToolResultFromOutputSchema, } from './tool.js';
|
|
6
6
|
declare global {
|
|
7
7
|
interface Navigator {
|
|
@@ -11,7 +11,7 @@ declare global {
|
|
|
11
11
|
modelContext: ModelContext;
|
|
12
12
|
/**
|
|
13
13
|
* Web Model Context testing API surface (Chromium early preview).
|
|
14
|
-
* @deprecated Prefer navigator.modelContext.callTool(...) and
|
|
14
|
+
* @deprecated Prefer navigator.modelContext.callTool(...) and toolchange events
|
|
15
15
|
* for in-page consumers. Chromium still exposes this API for testing flows.
|
|
16
16
|
*/
|
|
17
17
|
modelContextTesting?: ModelContextTesting;
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAG5E,YAAY,EACV,YAAY,EACZ,oBAAoB,EACpB,cAAc,EACd,YAAY,EACZ,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,EACpB,gBAAgB,EAChB,YAAY,EACZ,WAAW,EACX,mBAAmB,EACnB,UAAU,EACV,aAAa,EACb,SAAS,EACT,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,YAAY,EACZ,WAAW,EACX,oBAAoB,EACpB,YAAY,GACb,MAAM,aAAa,CAAC;AACrB,YAAY,EACV,wBAAwB,EACxB,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,sBAAsB,EACtB,mBAAmB,EACnB,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,uBAAuB,EACvB,gBAAgB,EAChB,cAAc,EACd,mBAAmB,GACpB,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EACV,iBAAiB,EACjB,aAAa,EACb,eAAe,EACf,YAAY,EACZ,gBAAgB,EAChB,sBAAsB,EACtB,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EACnB,qCAAqC,EACrC,qCAAqC,EACrC,2BAA2B,EAC3B,yBAAyB,EACzB,kCAAkC,EAClC,0BAA0B,EAC1B,cAAc,EACd,UAAU,EACV,aAAa,EACb,cAAc,EACd,QAAQ,EACR,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACV,YAAY,EACZ,kBAAkB,EAClB,eAAe,EACf,cAAc,EACd,wBAAwB,EACxB,iBAAiB,EACjB,oBAAoB,EACpB,YAAY,EACZ,aAAa,EACb,0BAA0B,GAC3B,MAAM,WAAW,CAAC;AAMnB,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,SAAS;QACjB;;WAEG;QACH,YAAY,EAAE,YAAY,CAAC;QAE3B;;;;WAIG;QACH,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;KAC3C;CACF"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAG5E,YAAY,EACV,YAAY,EACZ,oBAAoB,EACpB,cAAc,EACd,YAAY,EACZ,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,EACpB,gBAAgB,EAChB,YAAY,EACZ,WAAW,EACX,mBAAmB,EACnB,UAAU,EACV,aAAa,EACb,SAAS,EACT,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,YAAY,EACZ,WAAW,EACX,oBAAoB,EACpB,YAAY,GACb,MAAM,aAAa,CAAC;AACrB,YAAY,EACV,wBAAwB,EACxB,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,sBAAsB,EACtB,mBAAmB,EACnB,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,uBAAuB,EACvB,gBAAgB,EAChB,cAAc,EACd,mBAAmB,GACpB,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EACV,iBAAiB,EACjB,aAAa,EACb,eAAe,EACf,YAAY,EACZ,gBAAgB,EAChB,sBAAsB,EACtB,iBAAiB,EACjB,mBAAmB,EACnB,+BAA+B,EAC/B,mBAAmB,EACnB,qCAAqC,EACrC,qCAAqC,EACrC,2BAA2B,EAC3B,yBAAyB,EACzB,kCAAkC,EAClC,0BAA0B,EAC1B,cAAc,EACd,UAAU,EACV,aAAa,EACb,cAAc,EACd,QAAQ,EACR,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACV,YAAY,EACZ,kBAAkB,EAClB,eAAe,EACf,cAAc,EACd,wBAAwB,EACxB,iBAAiB,EACjB,oBAAoB,EACpB,YAAY,EACZ,aAAa,EACb,0BAA0B,GAC3B,MAAM,WAAW,CAAC;AAMnB,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,SAAS;QACjB;;WAEG;QACH,YAAY,EAAE,YAAY,CAAC;QAE3B;;;;WAIG;QACH,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;KAC3C;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"json-schema.d.ts","sourceRoot":"","sources":["../src/json-schema.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"json-schema.d.ts","sourceRoot":"","sources":["../src/json-schema.ts"],"names":[],"mappings":"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"}
|
package/dist/model-context.d.ts
CHANGED
|
@@ -29,18 +29,30 @@ export interface ModelContextTestingExecuteToolOptions {
|
|
|
29
29
|
signal?: AbortSignal;
|
|
30
30
|
}
|
|
31
31
|
/**
|
|
32
|
-
* Chromium
|
|
32
|
+
* Chromium testing API on navigator.modelContextTesting.
|
|
33
|
+
*
|
|
34
|
+
* The native runtime extends EventTarget and fires `toolchange` events.
|
|
33
35
|
*/
|
|
34
|
-
export interface ModelContextTesting {
|
|
36
|
+
export interface ModelContextTesting extends EventTarget {
|
|
35
37
|
listTools(): ModelContextTestingToolInfo[];
|
|
36
38
|
executeTool(toolName: string, inputArgsJson: string, options?: ModelContextTestingExecuteToolOptions): Promise<string | null>;
|
|
37
|
-
registerToolsChangedCallback(callback: () => void): void;
|
|
38
39
|
getCrossDocumentScriptToolResult(): Promise<string>;
|
|
40
|
+
ontoolchange: ((this: ModelContextTesting, ev: Event) => unknown) | null;
|
|
41
|
+
/**
|
|
42
|
+
* @deprecated Use `addEventListener('toolchange', ...)` instead.
|
|
43
|
+
*/
|
|
44
|
+
registerToolsChangedCallback?(callback: () => void): void;
|
|
39
45
|
}
|
|
40
46
|
/**
|
|
41
47
|
* Polyfill-only testing extensions layered on top of ModelContextTesting.
|
|
42
48
|
*/
|
|
43
49
|
export interface ModelContextTestingPolyfillExtensions {
|
|
50
|
+
/**
|
|
51
|
+
* Registers a callback invoked when the tool list changes.
|
|
52
|
+
* @deprecated Use `addEventListener('toolchange', ...)` on native runtimes.
|
|
53
|
+
* Kept for polyfill backward compatibility.
|
|
54
|
+
*/
|
|
55
|
+
registerToolsChangedCallback(callback: () => void): void;
|
|
44
56
|
getToolCalls(): Array<{
|
|
45
57
|
toolName: string;
|
|
46
58
|
arguments: Record<string, unknown>;
|
|
@@ -134,12 +146,20 @@ export interface ModelContextToolReference {
|
|
|
134
146
|
/**
|
|
135
147
|
* Non-standard compatibility handle returned by some runtimes after registerTool().
|
|
136
148
|
*
|
|
137
|
-
*
|
|
138
|
-
* This handle is kept only for compatibility with older non-standard runtimes.
|
|
149
|
+
* @deprecated Use `options.signal` on `registerTool(tool, options)`. Will be removed in the next major.
|
|
139
150
|
*/
|
|
140
151
|
export interface ModelContextToolRegistrationHandle {
|
|
141
152
|
unregister(): void;
|
|
142
153
|
}
|
|
154
|
+
/**
|
|
155
|
+
* @see {@link https://webmachinelearning.github.io/webmcp/#dictdef-modelcontextregistertooloptions}
|
|
156
|
+
*/
|
|
157
|
+
export interface ModelContextRegisterToolOptions {
|
|
158
|
+
/**
|
|
159
|
+
* An `AbortSignal` whose abortion unregisters the tool. A pre-aborted signal short-circuits registration.
|
|
160
|
+
*/
|
|
161
|
+
signal?: AbortSignal;
|
|
162
|
+
}
|
|
143
163
|
/**
|
|
144
164
|
* Strict WebMCP core interface on navigator.modelContext.
|
|
145
165
|
*/
|
|
@@ -155,25 +175,37 @@ export interface ModelContextCore {
|
|
|
155
175
|
* `execute(args)` is inferred from `inputSchema`, and when a literal object
|
|
156
176
|
* `outputSchema` is provided, `execute(...).structuredContent` is inferred too.
|
|
157
177
|
*/
|
|
158
|
-
registerTool<TInputSchema extends JsonSchemaForInference, TOutputSchema extends JsonSchemaForInference | undefined = undefined, TName extends string = string>(tool: ToolDescriptorFromSchema<TInputSchema, TOutputSchema, TName
|
|
178
|
+
registerTool<TInputSchema extends JsonSchemaForInference, TOutputSchema extends JsonSchemaForInference | undefined = undefined, TName extends string = string>(tool: ToolDescriptorFromSchema<TInputSchema, TOutputSchema, TName>, options?: ModelContextRegisterToolOptions): void;
|
|
159
179
|
/**
|
|
160
180
|
* Registers a dynamic tool with explicitly typed args/result.
|
|
161
181
|
*/
|
|
162
182
|
registerTool<TInputSchema extends InputSchema, TArgs extends Record<string, unknown> = Record<string, unknown>, TName extends string = string>(tool: ToolDescriptor<TArgs, ToolRawResult, TName> & {
|
|
163
183
|
inputSchema: TInputSchema;
|
|
164
|
-
} & (TInputSchema extends InputSchema ? string extends TInputSchema['type'] ? unknown : never : unknown)): void;
|
|
184
|
+
} & (TInputSchema extends InputSchema ? string extends TInputSchema['type'] ? unknown : never : unknown), options?: ModelContextRegisterToolOptions): void;
|
|
165
185
|
/**
|
|
166
186
|
* Registers a dynamic tool without an explicit inputSchema.
|
|
167
187
|
* Runtime defaults this to an empty object schema.
|
|
168
188
|
*/
|
|
169
189
|
registerTool<TArgs extends Record<string, unknown> = Record<string, unknown>, TName extends string = string>(tool: Omit<ToolDescriptor<TArgs, ToolRawResult, TName>, 'inputSchema'> & {
|
|
170
190
|
inputSchema?: undefined;
|
|
171
|
-
}): void;
|
|
191
|
+
}, options?: ModelContextRegisterToolOptions): void;
|
|
192
|
+
/**
|
|
193
|
+
* Lists currently registered producer tools using the native Chromium preview
|
|
194
|
+
* shape. Current Chromium returns JSON-stringified schemas here, matching
|
|
195
|
+
* ModelContextTesting.listTools().
|
|
196
|
+
*/
|
|
197
|
+
getTools(): ModelContextTestingToolInfo[];
|
|
198
|
+
/**
|
|
199
|
+
* Handler invoked when the producer tool list changes.
|
|
200
|
+
*/
|
|
201
|
+
ontoolchange: ((this: ModelContextCore, ev: Event) => unknown) | null;
|
|
202
|
+
addEventListener(type: 'toolchange', listener: () => void, options?: boolean | AddEventListenerOptions): void;
|
|
203
|
+
removeEventListener(type: 'toolchange', listener: () => void, options?: boolean | EventListenerOptions): void;
|
|
204
|
+
dispatchEvent(event: Event): boolean;
|
|
172
205
|
/**
|
|
173
206
|
* Unregisters a dynamic tool by name or tool reference.
|
|
174
207
|
*
|
|
175
|
-
*
|
|
176
|
-
* MCP-B compatibility runtimes may also accept the originally registered tool object.
|
|
208
|
+
* @deprecated Removed from the WebMCP spec on April 23, 2026. Use `registerTool(tool, { signal })`. Will be removed in the next major.
|
|
177
209
|
*/
|
|
178
210
|
unregisterTool(nameOrTool: string | ModelContextToolReference): void;
|
|
179
211
|
/**
|
|
@@ -205,6 +237,10 @@ export interface ModelContextExtensions {
|
|
|
205
237
|
/**
|
|
206
238
|
* Adds a listener for tool list changes.
|
|
207
239
|
*/
|
|
240
|
+
addEventListener(type: 'toolchange', listener: () => void, options?: boolean | AddEventListenerOptions): void;
|
|
241
|
+
/**
|
|
242
|
+
* @deprecated Use `'toolchange'` instead. Will be removed in the next major.
|
|
243
|
+
*/
|
|
208
244
|
addEventListener(type: 'toolschanged', listener: () => void, options?: boolean | AddEventListenerOptions): void;
|
|
209
245
|
/**
|
|
210
246
|
* Removes a listener for tool invocation events.
|
|
@@ -213,6 +249,10 @@ export interface ModelContextExtensions {
|
|
|
213
249
|
/**
|
|
214
250
|
* Removes a listener for tool list changes.
|
|
215
251
|
*/
|
|
252
|
+
removeEventListener(type: 'toolchange', listener: () => void, options?: boolean | EventListenerOptions): void;
|
|
253
|
+
/**
|
|
254
|
+
* @deprecated Use `'toolchange'` instead. Will be removed in the next major.
|
|
255
|
+
*/
|
|
216
256
|
removeEventListener(type: 'toolschanged', listener: () => void, options?: boolean | EventListenerOptions): void;
|
|
217
257
|
/**
|
|
218
258
|
* Dispatches an event.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model-context.d.ts","sourceRoot":"","sources":["../src/model-context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,KAAK,EACV,cAAc,EACd,wBAAwB,EACxB,YAAY,EACZ,aAAa,EACd,MAAM,WAAW,CAAC;AAMnB;;GAEG;AACH,MAAM,WAAW,iBAAiB,CAAC,MAAM,SAAS,SAAS,cAAc,EAAE,GAAG,cAAc,EAAE;IAC5F;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG,iBAAiB,CAAC;AAMpD;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,qCAAqC;IACpD,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED
|
|
1
|
+
{"version":3,"file":"model-context.d.ts","sourceRoot":"","sources":["../src/model-context.ts"],"names":[],"mappings":"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"}
|
package/dist/tool.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ import type { InferArgsFromInputSchema, InferJsonSchema, JsonSchemaForInference,
|
|
|
3
3
|
/**
|
|
4
4
|
* Annotations providing hints about tool behavior.
|
|
5
5
|
*
|
|
6
|
+
* @see {@link https://webmachinelearning.github.io/webmcp/#dictdef-toolannotations}
|
|
6
7
|
* @see {@link https://spec.modelcontextprotocol.io/specification/server/tools/}
|
|
7
8
|
*/
|
|
8
9
|
export interface ToolAnnotations {
|
|
@@ -14,6 +15,10 @@ export interface ToolAnnotations {
|
|
|
14
15
|
* Indicates the tool is read-only.
|
|
15
16
|
*/
|
|
16
17
|
readOnlyHint?: boolean | 'true' | 'false';
|
|
18
|
+
/**
|
|
19
|
+
* Indicates the tool's output may include content from outside the page's trust boundary.
|
|
20
|
+
*/
|
|
21
|
+
untrustedContentHint?: boolean | 'true' | 'false';
|
|
17
22
|
/**
|
|
18
23
|
* Indicates the tool may perform destructive actions.
|
|
19
24
|
*/
|
|
@@ -88,7 +93,7 @@ export interface ToolDescriptor<TArgs extends Record<string, unknown> = Record<s
|
|
|
88
93
|
/**
|
|
89
94
|
* Optional schema describing output payload shape.
|
|
90
95
|
*/
|
|
91
|
-
outputSchema?:
|
|
96
|
+
outputSchema?: JsonSchemaForInference;
|
|
92
97
|
/**
|
|
93
98
|
* Optional behavior hints for LLM planners.
|
|
94
99
|
*/
|
|
@@ -155,7 +160,7 @@ export interface ToolListItem<TName extends string = string> {
|
|
|
155
160
|
/**
|
|
156
161
|
* Optional JSON Schema describing output payload shape.
|
|
157
162
|
*/
|
|
158
|
-
outputSchema?:
|
|
163
|
+
outputSchema?: JsonSchemaForInference;
|
|
159
164
|
/**
|
|
160
165
|
* Optional behavior hints for LLM planners.
|
|
161
166
|
*/
|
package/dist/tool.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool.d.ts","sourceRoot":"","sources":["../src/tool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,WAAW,EACZ,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EACV,wBAAwB,EACxB,eAAe,EACf,sBAAsB,EACtB,gBAAgB,EACjB,MAAM,kBAAkB,CAAC;AAM1B
|
|
1
|
+
{"version":3,"file":"tool.d.ts","sourceRoot":"","sources":["../src/tool.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,35 +1,26 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mcp-b/webmcp-types",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.3.1",
|
|
4
4
|
"description": "Strict TypeScript type definitions for the WebMCP core API (navigator.modelContext)",
|
|
5
5
|
"keywords": [
|
|
6
|
-
"webmcp",
|
|
7
6
|
"model-context",
|
|
8
7
|
"navigator-modelcontext",
|
|
9
8
|
"types",
|
|
10
9
|
"typescript",
|
|
11
|
-
"web-standard"
|
|
10
|
+
"web-standard",
|
|
11
|
+
"webmcp"
|
|
12
12
|
],
|
|
13
13
|
"homepage": "https://docs.mcp-b.ai/packages/webmcp-types",
|
|
14
14
|
"bugs": {
|
|
15
15
|
"url": "https://github.com/WebMCP-org/npm-packages/issues"
|
|
16
16
|
},
|
|
17
|
+
"license": "MIT",
|
|
18
|
+
"author": "Alex Nahas",
|
|
17
19
|
"repository": {
|
|
18
20
|
"type": "git",
|
|
19
21
|
"url": "git+https://github.com/WebMCP-org/npm-packages.git",
|
|
20
22
|
"directory": "packages/webmcp-types"
|
|
21
23
|
},
|
|
22
|
-
"license": "MIT",
|
|
23
|
-
"author": "Alex Nahas",
|
|
24
|
-
"sideEffects": false,
|
|
25
|
-
"type": "module",
|
|
26
|
-
"exports": {
|
|
27
|
-
".": {
|
|
28
|
-
"types": "./dist/index.d.ts"
|
|
29
|
-
}
|
|
30
|
-
},
|
|
31
|
-
"main": "",
|
|
32
|
-
"types": "./dist/index.d.ts",
|
|
33
24
|
"files": [
|
|
34
25
|
"dist",
|
|
35
26
|
"src/common.ts",
|
|
@@ -38,30 +29,38 @@
|
|
|
38
29
|
"src/model-context.ts",
|
|
39
30
|
"src/tool.ts"
|
|
40
31
|
],
|
|
41
|
-
"
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
"
|
|
47
|
-
|
|
32
|
+
"type": "module",
|
|
33
|
+
"sideEffects": false,
|
|
34
|
+
"main": "",
|
|
35
|
+
"types": "./dist/index.d.ts",
|
|
36
|
+
"exports": {
|
|
37
|
+
".": {
|
|
38
|
+
"types": "./dist/index.d.ts"
|
|
39
|
+
}
|
|
48
40
|
},
|
|
49
41
|
"publishConfig": {
|
|
50
42
|
"access": "public",
|
|
51
43
|
"registry": "https://registry.npmjs.org/"
|
|
52
44
|
},
|
|
45
|
+
"devDependencies": {
|
|
46
|
+
"@vitest/coverage-v8": "^4.1.0",
|
|
47
|
+
"playwright": "^1.58.0",
|
|
48
|
+
"typescript": "^5.8.3",
|
|
49
|
+
"vite-plus": "latest",
|
|
50
|
+
"vitest": "npm:@voidzero-dev/vite-plus-test@latest"
|
|
51
|
+
},
|
|
53
52
|
"scripts": {
|
|
54
|
-
"build": "tsc -p tsconfig.build.json",
|
|
55
|
-
"check": "
|
|
56
|
-
"clean": "rm -rf dist
|
|
57
|
-
"format": "
|
|
58
|
-
"lint": "
|
|
53
|
+
"build": "rm -rf dist && tsc -p tsconfig.build.json",
|
|
54
|
+
"check": "vp check --fix",
|
|
55
|
+
"clean": "rm -rf dist",
|
|
56
|
+
"format": "vp fmt --write",
|
|
57
|
+
"lint": "vp lint --fix",
|
|
59
58
|
"publish:dry": "pnpm publish --access public --dry-run",
|
|
60
59
|
"publish:npm": "pnpm publish --access public",
|
|
61
|
-
"test": "
|
|
62
|
-
"test:browser": "
|
|
63
|
-
"test:browser:ui": "
|
|
64
|
-
"test:conformance": "
|
|
65
|
-
"typecheck": "tsc --noEmit &&
|
|
60
|
+
"test": "vp test run && pnpm run test:conformance",
|
|
61
|
+
"test:browser": "vp test run --config vitest.browser.config.ts --browser.headless",
|
|
62
|
+
"test:browser:ui": "vp test --config vitest.browser.config.ts --browser",
|
|
63
|
+
"test:conformance": "vp test run --config vitest.conformance.config.ts",
|
|
64
|
+
"typecheck": "tsc --noEmit && vp test run --typecheck --silent"
|
|
66
65
|
}
|
|
67
66
|
}
|
package/src/index.ts
CHANGED
|
@@ -50,6 +50,7 @@ export type {
|
|
|
50
50
|
ModelContextExtensions,
|
|
51
51
|
ModelContextInput,
|
|
52
52
|
ModelContextOptions,
|
|
53
|
+
ModelContextRegisterToolOptions,
|
|
53
54
|
ModelContextTesting,
|
|
54
55
|
ModelContextTestingExecuteToolOptions,
|
|
55
56
|
ModelContextTestingPolyfillExtensions,
|
|
@@ -91,7 +92,7 @@ declare global {
|
|
|
91
92
|
|
|
92
93
|
/**
|
|
93
94
|
* Web Model Context testing API surface (Chromium early preview).
|
|
94
|
-
* @deprecated Prefer navigator.modelContext.callTool(...) and
|
|
95
|
+
* @deprecated Prefer navigator.modelContext.callTool(...) and toolchange events
|
|
95
96
|
* for in-page consumers. Chromium still exposes this API for testing flows.
|
|
96
97
|
*/
|
|
97
98
|
modelContextTesting?: ModelContextTesting;
|
package/src/json-schema.ts
CHANGED
|
@@ -204,9 +204,10 @@ type AdditionalSchemaOf<TSchema> = TSchema extends { additionalProperties: infer
|
|
|
204
204
|
? TAdditional
|
|
205
205
|
: undefined;
|
|
206
206
|
|
|
207
|
-
type AdditionalPropsValue<TSchema> =
|
|
208
|
-
|
|
209
|
-
|
|
207
|
+
type AdditionalPropsValue<TSchema> =
|
|
208
|
+
AdditionalSchemaOf<TSchema> extends JsonSchemaForInference
|
|
209
|
+
? InferJsonSchema<AdditionalSchemaOf<TSchema>>
|
|
210
|
+
: unknown;
|
|
210
211
|
|
|
211
212
|
type AdditionalPropsOf<TSchema> = TSchema extends { additionalProperties: false }
|
|
212
213
|
? EmptyObject
|
|
@@ -250,9 +251,10 @@ type InferFromTypeOption<TSchema, TType extends JsonSchemaType> = TType extends
|
|
|
250
251
|
? null
|
|
251
252
|
: unknown;
|
|
252
253
|
|
|
253
|
-
type InferFromTypeKeyword<TSchema> =
|
|
254
|
-
|
|
255
|
-
|
|
254
|
+
type InferFromTypeKeyword<TSchema> =
|
|
255
|
+
TypeOptionsOf<TSchema> extends never
|
|
256
|
+
? unknown
|
|
257
|
+
: InferFromTypeOption<TSchema, TypeOptionsOf<TSchema>>;
|
|
256
258
|
|
|
257
259
|
type ApplyNullable<TSchema, TValue> = TSchema extends { nullable: true } ? TValue | null : TValue;
|
|
258
260
|
|
|
@@ -275,11 +277,12 @@ type IsWidenedTypeKeyword<TTypeKeyword> = string extends TTypeKeyword
|
|
|
275
277
|
: false
|
|
276
278
|
: false;
|
|
277
279
|
|
|
278
|
-
type IncludesObjectType<TSchema> =
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
280
|
+
type IncludesObjectType<TSchema> =
|
|
281
|
+
TypeOptionsOf<TSchema> extends never
|
|
282
|
+
? false
|
|
283
|
+
: 'object' extends TypeOptionsOf<TSchema>
|
|
284
|
+
? true
|
|
285
|
+
: false;
|
|
283
286
|
|
|
284
287
|
/**
|
|
285
288
|
* Infers tool argument types from a root `InputSchema`.
|
|
@@ -288,10 +291,9 @@ type IncludesObjectType<TSchema> = TypeOptionsOf<TSchema> extends never
|
|
|
288
291
|
* `InputSchema` loaded at runtime), this intentionally falls back to
|
|
289
292
|
* `Record<string, unknown>`.
|
|
290
293
|
*/
|
|
291
|
-
export type InferArgsFromInputSchema<TSchema> =
|
|
292
|
-
TypeKeywordOf<TSchema
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
: Record<string, unknown>;
|
|
294
|
+
export type InferArgsFromInputSchema<TSchema> =
|
|
295
|
+
IsWidenedTypeKeyword<TypeKeywordOf<TSchema>> extends true
|
|
296
|
+
? Record<string, unknown>
|
|
297
|
+
: IncludesObjectType<TSchema> extends true
|
|
298
|
+
? InferObject<TSchema>
|
|
299
|
+
: Record<string, unknown>;
|
package/src/model-context.ts
CHANGED
|
@@ -47,23 +47,35 @@ export interface ModelContextTestingExecuteToolOptions {
|
|
|
47
47
|
}
|
|
48
48
|
|
|
49
49
|
/**
|
|
50
|
-
* Chromium
|
|
50
|
+
* Chromium testing API on navigator.modelContextTesting.
|
|
51
|
+
*
|
|
52
|
+
* The native runtime extends EventTarget and fires `toolchange` events.
|
|
51
53
|
*/
|
|
52
|
-
export interface ModelContextTesting {
|
|
54
|
+
export interface ModelContextTesting extends EventTarget {
|
|
53
55
|
listTools(): ModelContextTestingToolInfo[];
|
|
54
56
|
executeTool(
|
|
55
57
|
toolName: string,
|
|
56
58
|
inputArgsJson: string,
|
|
57
59
|
options?: ModelContextTestingExecuteToolOptions
|
|
58
60
|
): Promise<string | null>;
|
|
59
|
-
registerToolsChangedCallback(callback: () => void): void;
|
|
60
61
|
getCrossDocumentScriptToolResult(): Promise<string>;
|
|
62
|
+
ontoolchange: ((this: ModelContextTesting, ev: Event) => unknown) | null;
|
|
63
|
+
/**
|
|
64
|
+
* @deprecated Use `addEventListener('toolchange', ...)` instead.
|
|
65
|
+
*/
|
|
66
|
+
registerToolsChangedCallback?(callback: () => void): void;
|
|
61
67
|
}
|
|
62
68
|
|
|
63
69
|
/**
|
|
64
70
|
* Polyfill-only testing extensions layered on top of ModelContextTesting.
|
|
65
71
|
*/
|
|
66
72
|
export interface ModelContextTestingPolyfillExtensions {
|
|
73
|
+
/**
|
|
74
|
+
* Registers a callback invoked when the tool list changes.
|
|
75
|
+
* @deprecated Use `addEventListener('toolchange', ...)` on native runtimes.
|
|
76
|
+
* Kept for polyfill backward compatibility.
|
|
77
|
+
*/
|
|
78
|
+
registerToolsChangedCallback(callback: () => void): void;
|
|
67
79
|
getToolCalls(): Array<{
|
|
68
80
|
toolName: string;
|
|
69
81
|
arguments: Record<string, unknown>;
|
|
@@ -91,24 +103,14 @@ export type AnyToolDescriptor = ToolDescriptor<never, unknown, string>;
|
|
|
91
103
|
/**
|
|
92
104
|
* Infers argument shape from a tool descriptor.
|
|
93
105
|
*/
|
|
94
|
-
export type InferToolArgs<TTool> =
|
|
95
|
-
infer TArgs,
|
|
96
|
-
infer _TResult,
|
|
97
|
-
infer _TName
|
|
98
|
-
>
|
|
99
|
-
? TArgs
|
|
100
|
-
: never;
|
|
106
|
+
export type InferToolArgs<TTool> =
|
|
107
|
+
TTool extends ToolDescriptor<infer TArgs, infer _TResult, infer _TName> ? TArgs : never;
|
|
101
108
|
|
|
102
109
|
/**
|
|
103
110
|
* Infers result shape from a tool descriptor.
|
|
104
111
|
*/
|
|
105
|
-
export type InferToolResult<TTool> =
|
|
106
|
-
infer _TArgs,
|
|
107
|
-
infer TResult,
|
|
108
|
-
infer _TName
|
|
109
|
-
>
|
|
110
|
-
? TResult
|
|
111
|
-
: never;
|
|
112
|
+
export type InferToolResult<TTool> =
|
|
113
|
+
TTool extends ToolDescriptor<infer _TArgs, infer TResult, infer _TName> ? TResult : never;
|
|
112
114
|
|
|
113
115
|
/**
|
|
114
116
|
* Union of tool names from a tuple/array of descriptors.
|
|
@@ -188,13 +190,22 @@ export interface ModelContextToolReference {
|
|
|
188
190
|
/**
|
|
189
191
|
* Non-standard compatibility handle returned by some runtimes after registerTool().
|
|
190
192
|
*
|
|
191
|
-
*
|
|
192
|
-
* This handle is kept only for compatibility with older non-standard runtimes.
|
|
193
|
+
* @deprecated Use `options.signal` on `registerTool(tool, options)`. Will be removed in the next major.
|
|
193
194
|
*/
|
|
194
195
|
export interface ModelContextToolRegistrationHandle {
|
|
195
196
|
unregister(): void;
|
|
196
197
|
}
|
|
197
198
|
|
|
199
|
+
/**
|
|
200
|
+
* @see {@link https://webmachinelearning.github.io/webmcp/#dictdef-modelcontextregistertooloptions}
|
|
201
|
+
*/
|
|
202
|
+
export interface ModelContextRegisterToolOptions {
|
|
203
|
+
/**
|
|
204
|
+
* An `AbortSignal` whose abortion unregisters the tool. A pre-aborted signal short-circuits registration.
|
|
205
|
+
*/
|
|
206
|
+
signal?: AbortSignal;
|
|
207
|
+
}
|
|
208
|
+
|
|
198
209
|
// ============================================================================
|
|
199
210
|
// Model Context
|
|
200
211
|
// ============================================================================
|
|
@@ -223,7 +234,10 @@ export interface ModelContextCore {
|
|
|
223
234
|
TInputSchema extends JsonSchemaForInference,
|
|
224
235
|
TOutputSchema extends JsonSchemaForInference | undefined = undefined,
|
|
225
236
|
TName extends string = string,
|
|
226
|
-
>(
|
|
237
|
+
>(
|
|
238
|
+
tool: ToolDescriptorFromSchema<TInputSchema, TOutputSchema, TName>,
|
|
239
|
+
options?: ModelContextRegisterToolOptions
|
|
240
|
+
): void;
|
|
227
241
|
|
|
228
242
|
/**
|
|
229
243
|
* Registers a dynamic tool with explicitly typed args/result.
|
|
@@ -239,7 +253,8 @@ export interface ModelContextCore {
|
|
|
239
253
|
? string extends TInputSchema['type']
|
|
240
254
|
? unknown
|
|
241
255
|
: never
|
|
242
|
-
: unknown)
|
|
256
|
+
: unknown),
|
|
257
|
+
options?: ModelContextRegisterToolOptions
|
|
243
258
|
): void;
|
|
244
259
|
|
|
245
260
|
/**
|
|
@@ -252,14 +267,40 @@ export interface ModelContextCore {
|
|
|
252
267
|
>(
|
|
253
268
|
tool: Omit<ToolDescriptor<TArgs, ToolRawResult, TName>, 'inputSchema'> & {
|
|
254
269
|
inputSchema?: undefined;
|
|
255
|
-
}
|
|
270
|
+
},
|
|
271
|
+
options?: ModelContextRegisterToolOptions
|
|
272
|
+
): void;
|
|
273
|
+
|
|
274
|
+
/**
|
|
275
|
+
* Lists currently registered producer tools using the native Chromium preview
|
|
276
|
+
* shape. Current Chromium returns JSON-stringified schemas here, matching
|
|
277
|
+
* ModelContextTesting.listTools().
|
|
278
|
+
*/
|
|
279
|
+
getTools(): ModelContextTestingToolInfo[];
|
|
280
|
+
|
|
281
|
+
/**
|
|
282
|
+
* Handler invoked when the producer tool list changes.
|
|
283
|
+
*/
|
|
284
|
+
ontoolchange: ((this: ModelContextCore, ev: Event) => unknown) | null;
|
|
285
|
+
|
|
286
|
+
addEventListener(
|
|
287
|
+
type: 'toolchange',
|
|
288
|
+
listener: () => void,
|
|
289
|
+
options?: boolean | AddEventListenerOptions
|
|
290
|
+
): void;
|
|
291
|
+
|
|
292
|
+
removeEventListener(
|
|
293
|
+
type: 'toolchange',
|
|
294
|
+
listener: () => void,
|
|
295
|
+
options?: boolean | EventListenerOptions
|
|
256
296
|
): void;
|
|
257
297
|
|
|
298
|
+
dispatchEvent(event: Event): boolean;
|
|
299
|
+
|
|
258
300
|
/**
|
|
259
301
|
* Unregisters a dynamic tool by name or tool reference.
|
|
260
302
|
*
|
|
261
|
-
*
|
|
262
|
-
* MCP-B compatibility runtimes may also accept the originally registered tool object.
|
|
303
|
+
* @deprecated Removed from the WebMCP spec on April 23, 2026. Use `registerTool(tool, { signal })`. Will be removed in the next major.
|
|
263
304
|
*/
|
|
264
305
|
unregisterTool(nameOrTool: string | ModelContextToolReference): void;
|
|
265
306
|
|
|
@@ -286,7 +327,10 @@ export interface ModelContextExtensions {
|
|
|
286
327
|
callTool<
|
|
287
328
|
TName extends string = string,
|
|
288
329
|
TArgs extends Record<string, unknown> = Record<string, unknown>,
|
|
289
|
-
>(params: {
|
|
330
|
+
>(params: {
|
|
331
|
+
name: TName;
|
|
332
|
+
arguments?: TArgs;
|
|
333
|
+
}): Promise<ToolResponse>;
|
|
290
334
|
|
|
291
335
|
// ==================== EVENTS ====================
|
|
292
336
|
|
|
@@ -302,6 +346,15 @@ export interface ModelContextExtensions {
|
|
|
302
346
|
/**
|
|
303
347
|
* Adds a listener for tool list changes.
|
|
304
348
|
*/
|
|
349
|
+
addEventListener(
|
|
350
|
+
type: 'toolchange',
|
|
351
|
+
listener: () => void,
|
|
352
|
+
options?: boolean | AddEventListenerOptions
|
|
353
|
+
): void;
|
|
354
|
+
|
|
355
|
+
/**
|
|
356
|
+
* @deprecated Use `'toolchange'` instead. Will be removed in the next major.
|
|
357
|
+
*/
|
|
305
358
|
addEventListener(
|
|
306
359
|
type: 'toolschanged',
|
|
307
360
|
listener: () => void,
|
|
@@ -320,6 +373,15 @@ export interface ModelContextExtensions {
|
|
|
320
373
|
/**
|
|
321
374
|
* Removes a listener for tool list changes.
|
|
322
375
|
*/
|
|
376
|
+
removeEventListener(
|
|
377
|
+
type: 'toolchange',
|
|
378
|
+
listener: () => void,
|
|
379
|
+
options?: boolean | EventListenerOptions
|
|
380
|
+
): void;
|
|
381
|
+
|
|
382
|
+
/**
|
|
383
|
+
* @deprecated Use `'toolchange'` instead. Will be removed in the next major.
|
|
384
|
+
*/
|
|
323
385
|
removeEventListener(
|
|
324
386
|
type: 'toolschanged',
|
|
325
387
|
listener: () => void,
|
package/src/tool.ts
CHANGED
|
@@ -18,6 +18,7 @@ import type {
|
|
|
18
18
|
/**
|
|
19
19
|
* Annotations providing hints about tool behavior.
|
|
20
20
|
*
|
|
21
|
+
* @see {@link https://webmachinelearning.github.io/webmcp/#dictdef-toolannotations}
|
|
21
22
|
* @see {@link https://spec.modelcontextprotocol.io/specification/server/tools/}
|
|
22
23
|
*/
|
|
23
24
|
export interface ToolAnnotations {
|
|
@@ -31,6 +32,11 @@ export interface ToolAnnotations {
|
|
|
31
32
|
*/
|
|
32
33
|
readOnlyHint?: boolean | 'true' | 'false';
|
|
33
34
|
|
|
35
|
+
/**
|
|
36
|
+
* Indicates the tool's output may include content from outside the page's trust boundary.
|
|
37
|
+
*/
|
|
38
|
+
untrustedContentHint?: boolean | 'true' | 'false';
|
|
39
|
+
|
|
34
40
|
/**
|
|
35
41
|
* Indicates the tool may perform destructive actions.
|
|
36
42
|
*/
|
|
@@ -126,7 +132,7 @@ export interface ToolDescriptor<
|
|
|
126
132
|
/**
|
|
127
133
|
* Optional schema describing output payload shape.
|
|
128
134
|
*/
|
|
129
|
-
outputSchema?:
|
|
135
|
+
outputSchema?: JsonSchemaForInference;
|
|
130
136
|
|
|
131
137
|
/**
|
|
132
138
|
* Optional behavior hints for LLM planners.
|
|
@@ -225,7 +231,7 @@ export interface ToolListItem<TName extends string = string> {
|
|
|
225
231
|
/**
|
|
226
232
|
* Optional JSON Schema describing output payload shape.
|
|
227
233
|
*/
|
|
228
|
-
outputSchema?:
|
|
234
|
+
outputSchema?: JsonSchemaForInference;
|
|
229
235
|
|
|
230
236
|
/**
|
|
231
237
|
* Optional behavior hints for LLM planners.
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import type { StandardJSONSchemaV1 as BaseStandardJSONSchemaV1, StandardSchemaV1 as BaseStandardSchemaV1, StandardTypedV1 } from '@standard-schema/spec';
|
|
2
|
-
import type { InputSchema } from './common.js';
|
|
3
|
-
/**
|
|
4
|
-
* Re-export of the official Standard Schema spec types.
|
|
5
|
-
*/
|
|
6
|
-
export type { BaseStandardJSONSchemaV1 as StandardJSONSchemaV1, BaseStandardSchemaV1 as StandardSchemaV1, StandardTypedV1, };
|
|
7
|
-
/**
|
|
8
|
-
* Standard Schema validator constrained to object-like tool args.
|
|
9
|
-
*/
|
|
10
|
-
export type StandardInputValidatorSchema = BaseStandardSchemaV1<Record<string, unknown>, Record<string, unknown>>;
|
|
11
|
-
/**
|
|
12
|
-
* Standard JSON Schema converter constrained to object-like tool args.
|
|
13
|
-
*/
|
|
14
|
-
export type StandardInputJsonSchema = BaseStandardJSONSchemaV1<Record<string, unknown>, Record<string, unknown>>;
|
|
15
|
-
/**
|
|
16
|
-
* Schema that supports both Standard Schema validation and JSON Schema conversion.
|
|
17
|
-
*/
|
|
18
|
-
export type StandardInputSchemaWithJson = StandardInputValidatorSchema & StandardInputJsonSchema;
|
|
19
|
-
/**
|
|
20
|
-
* Any input schema accepted by tool descriptors.
|
|
21
|
-
*
|
|
22
|
-
* Runtime adapters may normalize all inputs to a Standard Schema validator.
|
|
23
|
-
* When a schema implements both Standard Schema validation and Standard JSON
|
|
24
|
-
* Schema conversion, adapters may prefer JSON conversion to keep validation
|
|
25
|
-
* errors consistent across plain JSON Schema and Standard-compatible inputs.
|
|
26
|
-
*/
|
|
27
|
-
export type ToolInputSchema = InputSchema | StandardInputValidatorSchema | StandardInputJsonSchema;
|
|
28
|
-
/**
|
|
29
|
-
* Any output schema accepted by tool descriptors.
|
|
30
|
-
*/
|
|
31
|
-
export type ToolOutputSchema = InputSchema | StandardInputJsonSchema;
|
|
32
|
-
//# sourceMappingURL=standard-schema.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"standard-schema.d.ts","sourceRoot":"","sources":["../src/standard-schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,IAAI,wBAAwB,EAChD,gBAAgB,IAAI,oBAAoB,EACxC,eAAe,EAChB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C;;GAEG;AACH,YAAY,EACV,wBAAwB,IAAI,oBAAoB,EAChD,oBAAoB,IAAI,gBAAgB,EACxC,eAAe,GAChB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,4BAA4B,GAAG,oBAAoB,CAC7D,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACvB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CACxB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAAG,wBAAwB,CAC5D,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACvB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CACxB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,2BAA2B,GAAG,4BAA4B,GAAG,uBAAuB,CAAC;AAEjG;;;;;;;GAOG;AACH,MAAM,MAAM,eAAe,GAAG,WAAW,GAAG,4BAA4B,GAAG,uBAAuB,CAAC;AAEnG;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,WAAW,GAAG,uBAAuB,CAAC"}
|