@mcp-b/webmcp-types 4.0.0 → 5.0.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/index.d.ts CHANGED
@@ -1,36 +1,52 @@
1
1
  import type { ModelContext, ModelContextTesting } from './model-context.js';
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
- 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, ModelContextRegisterToolOptions, ModelContextTesting, ModelContextTestingExecuteToolOptions, ModelContextTestingPolyfillExtensions, ModelContextTestingToolInfo, ModelContextToolInfo, ModelContextToolReference, ModelContextToolRegistrationHandle, ModelContextWithExtensions, ToolArgsByName, ToolByName, ToolCallEvent, ToolCallParams, ToolName, ToolResultByName, TypedModelContext, } from './model-context.js';
5
- export type { MaybePromise, ModelContextClient, ToolAnnotations, ToolDescriptor, ToolDescriptorFromSchema, ToolExecuteResult, ToolExecutionContext, ToolListItem, ToolRawResult, ToolResultFromOutputSchema, } from './tool.js';
2
+ export type { CallToolResult, ContentBlock, InputSchema, JsonObject, JsonValue, RegistrationHandle, TextContent, WebMcpToolInput, } from './common.js';
3
+ export type { InferArgsFromInputSchema, InferJsonSchema, JsonSchemaForInference, } from './json-schema.js';
4
+ export type { ChromeModelContext, ChromeModelContextExecuteToolOptions, ChromeModelContextExtensions, ModelContext, ModelContextExtensions, ModelContextGetToolOptions, ModelContextRegisterToolOptions, ModelContextTesting, ModelContextTestingToolInfo, ModelContextWithExtensions, RegisteredTool, } from './model-context.js';
5
+ export type { MaybePromise, ModelContextTool, ToolAnnotations, ToolDescriptor, ToolDescriptorFromSchema, ToolListItem, ToolResultFromOutputSchema, WebMcpToolAnnotations, } from './tool.js';
6
6
  declare global {
7
+ /**
8
+ * Web IDL interface object used for branding and `instanceof`.
9
+ *
10
+ * Absent unless the document's realm implements WebMCP, so guard with
11
+ * `typeof ModelContext !== 'undefined'` before referencing it. A bare
12
+ * reference to an undeclared global throws `ReferenceError`.
13
+ */
14
+ var ModelContext: (Function & {
15
+ readonly prototype: ModelContext;
16
+ [Symbol.hasInstance](value: unknown): value is ModelContext;
17
+ }) | undefined;
7
18
  interface Document {
8
19
  /**
9
- * Web Model Context API strict core surface.
20
+ * Canonical WebMCP API for this document.
10
21
  *
11
- * Per WebMCP spec PR webmachinelearning/webmcp#184, each Document owns its
12
- * associated ModelContext. This is the canonical install location as of
13
- * Chrome 150. Prefer `document.modelContext` for new code.
22
+ * Optional because no browser ships WebMCP unflagged: Chromium exposes it
23
+ * only under `--enable-features=WebMCP`, and elsewhere the property is
24
+ * genuinely absent (`'modelContext' in document === false`). Feature-detect
25
+ * it, or install `@mcp-b/webmcp-polyfill`.
14
26
  */
15
- readonly modelContext: ModelContext;
27
+ readonly modelContext?: ModelContext;
16
28
  }
17
29
  interface Navigator {
30
+ /** @deprecated Use `document.modelContext`. */
31
+ readonly modelContext?: ModelContext;
32
+ /** @deprecated Compatibility surface for older Chromium previews. */
33
+ modelContextTesting?: ModelContextTesting;
34
+ }
35
+ interface SubmitEvent {
18
36
  /**
19
- * Web Model Context API strict core surface.
37
+ * True when a declarative WebMCP tool initiated this submission.
20
38
  *
21
- * @deprecated The modelContext getter moved from Navigator to Document in
22
- * Chrome 150 (see webmachinelearning/webmcp#173 / PR #184). Use
23
- * `document.modelContext` instead. `navigator.modelContext` is kept as a
24
- * backward-compatible alias and will be removed in a future Chrome release.
39
+ * Optional because declarative forms are explainer-only: this attribute is
40
+ * in neither the WebMCP specification nor WPT's `webmcp.idl`, and no
41
+ * browser implements it. `@mcp-b/webmcp-polyfill` installs it.
25
42
  */
26
- readonly modelContext: ModelContext;
43
+ readonly agentInvoked?: boolean;
27
44
  /**
28
- * Web Model Context testing API surface (Chromium early preview).
29
- * @deprecated Chromium still exposes this API for testing flows. Producer
30
- * discovery/execution should prefer document.modelContext.getTools() and
31
- * document.modelContext.executeTool(...).
45
+ * Associates an intercepted form submission result with the invoking agent.
46
+ *
47
+ * Optional for the same reason as {@link SubmitEvent.agentInvoked}.
32
48
  */
33
- modelContextTesting?: ModelContextTesting;
49
+ respondWith?(agentResponse: Promise<unknown>): void;
34
50
  }
35
51
  }
36
52
  //# sourceMappingURL=index.d.ts.map
@@ -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,+BAA+B,EAC/B,mBAAmB,EACnB,qCAAqC,EACrC,qCAAqC,EACrC,2BAA2B,EAC3B,oBAAoB,EACpB,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,QAAQ;QAChB;;;;;;WAMG;QACH,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;KACrC;IAED,UAAU,SAAS;QACjB;;;;;;;WAOG;QACH,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;QAEpC;;;;;WAKG;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;AAE5E,YAAY,EACV,cAAc,EACd,YAAY,EACZ,WAAW,EACX,UAAU,EACV,SAAS,EACT,kBAAkB,EAClB,WAAW,EACX,eAAe,GAChB,MAAM,aAAa,CAAC;AACrB,YAAY,EACV,wBAAwB,EACxB,eAAe,EACf,sBAAsB,GACvB,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EACV,kBAAkB,EAClB,oCAAoC,EACpC,4BAA4B,EAC5B,YAAY,EACZ,sBAAsB,EACtB,0BAA0B,EAC1B,+BAA+B,EAC/B,mBAAmB,EACnB,2BAA2B,EAC3B,0BAA0B,EAC1B,cAAc,GACf,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACV,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,wBAAwB,EACxB,YAAY,EACZ,0BAA0B,EAC1B,qBAAqB,GACtB,MAAM,WAAW,CAAC;AAEnB,OAAO,CAAC,MAAM,CAAC;IACb;;;;;;OAMG;IACH,IAAI,YAAY,EACZ,CAAC,QAAQ,GAAG;QACV,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAC;QACjC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,YAAY,CAAC;KAC7D,CAAC,GACF,SAAS,CAAC;IAEd,UAAU,QAAQ;QAChB;;;;;;;WAOG;QACH,QAAQ,CAAC,YAAY,CAAC,EAAE,YAAY,CAAC;KACtC;IAED,UAAU,SAAS;QACjB,+CAA+C;QAC/C,QAAQ,CAAC,YAAY,CAAC,EAAE,YAAY,CAAC;QAErC,qEAAqE;QACrE,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;KAC3C;IAED,UAAU,WAAW;QACnB;;;;;;WAMG;QACH,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;QAEhC;;;;WAIG;QACH,WAAW,CAAC,CAAC,aAAa,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;KACrD;CACF"}
@@ -1,196 +1,52 @@
1
- import type { JsonPrimitive, JsonValue } from './common.js';
2
- /**
3
- * Primitive JSON Schema `type` values supported by the MVP inference layer.
4
- */
5
- export type JsonSchemaPrimitiveType = 'string' | 'number' | 'integer' | 'boolean' | 'null';
6
- /**
7
- * JSON Schema `type` values supported by the MVP inference layer.
8
- */
9
- export type JsonSchemaType = JsonSchemaPrimitiveType | 'object' | 'array';
10
- /**
11
- * JSON Schema multi-type tuple (for example `["string", "null"]`).
12
- */
13
- export type JsonSchemaTypeArray = readonly [JsonSchemaType, ...JsonSchemaType[]];
14
- /**
15
- * Literal values supported in JSON Schema `enum`/`const`.
16
- */
17
- export type JsonSchemaEnumValue = JsonPrimitive | JsonValue;
18
- /**
19
- * Extra JSON Schema keywords tolerated by the inference layer.
20
- *
21
- * These keys are intentionally accepted as opaque metadata. Inference only uses
22
- * the core MVP keywords and ignores these fields.
23
- */
24
- interface SupplementalJsonSchemaKeywords {
25
- $defs?: unknown;
26
- $ref?: unknown;
27
- additionalItems?: unknown;
28
- allOf?: unknown;
29
- anyOf?: unknown;
30
- contains?: unknown;
31
- definitions?: unknown;
32
- dependentRequired?: unknown;
33
- dependentSchemas?: unknown;
34
- format?: unknown;
35
- if?: unknown;
36
- maxContains?: unknown;
37
- minContains?: unknown;
38
- not?: unknown;
39
- oneOf?: unknown;
40
- patternProperties?: unknown;
41
- prefixItems?: unknown;
42
- propertyNames?: unknown;
43
- then?: unknown;
44
- unevaluatedItems?: unknown;
45
- unevaluatedProperties?: unknown;
46
- }
47
- /**
48
- * Non-validation metadata accepted by the MVP inference subset.
49
- */
50
- interface JsonSchemaMetadata extends SupplementalJsonSchemaKeywords {
51
- default?: JsonValue;
52
- description?: string;
53
- examples?: readonly JsonValue[];
54
- /**
55
- * OpenAPI-compatible nullability marker.
56
- */
57
- nullable?: boolean;
58
- title?: string;
59
- }
60
- /**
61
- * JSON Schema for `type: "string"`.
62
- */
63
- export interface JsonSchemaString extends JsonSchemaMetadata {
64
- const?: string;
65
- enum?: readonly string[];
66
- maxLength?: number;
67
- minLength?: number;
68
- pattern?: string;
69
- type: 'string';
70
- }
71
- /**
72
- * JSON Schema for `type: "number"` and `type: "integer"`.
73
- */
74
- export interface JsonSchemaNumber extends JsonSchemaMetadata {
75
- const?: number;
76
- enum?: readonly number[];
77
- exclusiveMaximum?: number;
78
- exclusiveMinimum?: number;
79
- maximum?: number;
80
- minimum?: number;
81
- multipleOf?: number;
82
- type: 'number' | 'integer';
83
- }
84
- /**
85
- * JSON Schema for `type: "boolean"`.
86
- */
87
- export interface JsonSchemaBoolean extends JsonSchemaMetadata {
88
- const?: boolean;
89
- enum?: readonly boolean[];
90
- type: 'boolean';
91
- }
92
- /**
93
- * JSON Schema for `type: "null"`.
94
- */
95
- export interface JsonSchemaNull extends JsonSchemaMetadata {
96
- const?: null;
97
- enum?: readonly null[];
98
- type: 'null';
99
- }
100
- /**
101
- * JSON Schema for `type: "array"`.
102
- */
103
- export interface JsonSchemaArray extends JsonSchemaMetadata {
104
- items: JsonSchemaForInference;
105
- maxItems?: number;
106
- minItems?: number;
107
- type: 'array';
108
- uniqueItems?: boolean;
109
- }
110
- /**
111
- * JSON Schema for `type: "object"`.
112
- */
113
- export interface JsonSchemaObject extends JsonSchemaMetadata {
114
- additionalProperties?: boolean | JsonSchemaForInference;
115
- maxProperties?: number;
116
- minProperties?: number;
117
- properties?: Readonly<Record<string, JsonSchemaForInference>>;
118
- required?: readonly string[];
119
- type: 'object';
120
- }
121
- /**
122
- * JSON Schema for multi-type unions via `type: [...]`.
123
- */
124
- export interface JsonSchemaMultiType extends JsonSchemaMetadata {
125
- additionalProperties?: boolean | JsonSchemaForInference;
126
- const?: JsonSchemaEnumValue;
127
- enum?: readonly JsonSchemaEnumValue[];
128
- items?: JsonSchemaForInference;
129
- properties?: Readonly<Record<string, JsonSchemaForInference>>;
130
- required?: readonly string[];
131
- type: JsonSchemaTypeArray;
132
- }
133
- /**
134
- * JSON Schema subset supported by the MVP type inference layer.
135
- */
136
- export type JsonSchemaForInference = JsonSchemaArray | JsonSchemaBoolean | JsonSchemaMultiType | JsonSchemaNull | JsonSchemaNumber | JsonSchemaObject | JsonSchemaString;
1
+ import type { InputSchema, WebMcpToolInput } from './common.js';
2
+ import type { JsonSchemaType as McpJsonSchema } from '@modelcontextprotocol/server';
3
+ /** JSON Schema Draft 2020-12 accepted by the inference helpers. */
4
+ export type JsonSchemaForInference = McpJsonSchema;
5
+ type JsonSchemaType = 'string' | 'number' | 'integer' | 'boolean' | 'null' | 'object' | 'array';
137
6
  type Simplify<T> = {
138
7
  [K in keyof T]: T[K];
139
8
  } & {};
140
9
  type EmptyObject = Record<never, never>;
141
- type EnumLiteral<TSchema> = TSchema extends {
142
- enum: infer TEnum extends readonly unknown[];
143
- } ? Extract<TEnum[number], JsonSchemaEnumValue> : never;
144
- type ConstLiteral<TSchema> = TSchema extends {
145
- const: infer TConst;
146
- } ? Extract<TConst, JsonSchemaEnumValue> : never;
147
- type PropertiesOf<TSchema> = TSchema extends {
148
- properties: infer TProperties extends Readonly<Record<string, JsonSchemaForInference>>;
10
+ type ConstValue<TSchema> = TSchema extends {
11
+ const: infer TValue;
12
+ } ? TValue : never;
13
+ type EnumValue<TSchema> = TSchema extends {
14
+ enum: readonly (infer TValue)[];
15
+ } ? TValue : never;
16
+ type Properties<TSchema> = TSchema extends {
17
+ properties: infer TProperties extends Readonly<Record<string, unknown>>;
149
18
  } ? TProperties : EmptyObject;
150
- type RequiredKeysOf<TSchema, TProperties extends Record<string, unknown>> = TSchema extends {
151
- required: readonly (infer TRequired)[];
152
- } ? string extends TRequired ? never : Extract<TRequired, keyof TProperties & string> : never;
153
- type RequiredProps<TProperties extends Record<string, JsonSchemaForInference>, TRequiredKeys extends string> = {
154
- [K in keyof TProperties as K extends TRequiredKeys ? K : never]-?: InferJsonSchema<TProperties[K]>;
155
- };
156
- type OptionalProps<TProperties extends Record<string, JsonSchemaForInference>, TRequiredKeys extends string> = {
157
- [K in keyof TProperties as K extends TRequiredKeys ? never : K]?: InferJsonSchema<TProperties[K]>;
158
- };
159
- type PropertyKeysOf<TSchema> = keyof PropertiesOf<TSchema> & string;
160
- type AdditionalSchemaOf<TSchema> = TSchema extends {
161
- additionalProperties: infer TAdditional;
162
- } ? TAdditional : undefined;
163
- type AdditionalPropsValue<TSchema> = AdditionalSchemaOf<TSchema> extends JsonSchemaForInference ? InferJsonSchema<AdditionalSchemaOf<TSchema>> : unknown;
164
- type AdditionalPropsOf<TSchema> = TSchema extends {
19
+ type RequiredKeys<TSchema> = TSchema extends {
20
+ required: readonly (infer TKey extends string)[];
21
+ } ? string extends TKey ? never : Extract<TKey, keyof Properties<TSchema>> : never;
22
+ type AdditionalProperties<TSchema> = TSchema extends {
165
23
  additionalProperties: false;
166
- } ? EmptyObject : AdditionalSchemaOf<TSchema> extends JsonSchemaForInference ? PropertyKeysOf<TSchema> extends never ? Record<string, AdditionalPropsValue<TSchema>> : Record<string, unknown> : Record<string, unknown>;
167
- type InferObject<TSchema> = Simplify<RequiredProps<PropertiesOf<TSchema>, RequiredKeysOf<TSchema, PropertiesOf<TSchema>>> & OptionalProps<PropertiesOf<TSchema>, RequiredKeysOf<TSchema, PropertiesOf<TSchema>>> & AdditionalPropsOf<TSchema>>;
168
- type TypeKeywordOf<TSchema> = TSchema extends {
169
- type?: infer TType;
170
- } ? 'type' extends keyof TSchema ? TType : undefined : undefined;
171
- type TypeOptionsOf<TSchema> = [TypeKeywordOf<TSchema>] extends [undefined] ? 'object' : TypeKeywordOf<TSchema> extends readonly unknown[] ? Extract<TypeKeywordOf<TSchema>[number], JsonSchemaType> : Extract<TypeKeywordOf<TSchema>, JsonSchemaType>;
172
- type InferFromTypeOption<TSchema, TType extends JsonSchemaType> = TType extends 'object' ? InferObject<TSchema> : TType extends 'array' ? TSchema extends {
24
+ } ? keyof Properties<TSchema> extends never ? Record<string, never> : EmptyObject : keyof Properties<TSchema> extends never ? TSchema extends {
25
+ additionalProperties: infer TAdditional extends object;
26
+ } ? Record<string, InferJsonSchema<TAdditional>> : Record<string, unknown> : Record<string, unknown>;
27
+ type InferObject<TSchema> = Simplify<{
28
+ -readonly [K in keyof Properties<TSchema> as K extends RequiredKeys<TSchema> ? K : never]-?: InferJsonSchema<Properties<TSchema>[K]>;
29
+ } & {
30
+ -readonly [K in keyof Properties<TSchema> as K extends RequiredKeys<TSchema> ? never : K]?: InferJsonSchema<Properties<TSchema>[K]>;
31
+ } & AdditionalProperties<TSchema>>;
32
+ type TypeKeyword<TSchema> = TSchema extends {
33
+ type: infer TType;
34
+ } ? TType : TSchema extends {
35
+ properties: unknown;
36
+ } | {
37
+ required: unknown;
38
+ } | {
39
+ additionalProperties: unknown;
40
+ } ? 'object' : never;
41
+ type TypeOptions<TSchema> = TypeKeyword<TSchema> extends readonly unknown[] ? Extract<TypeKeyword<TSchema>[number], JsonSchemaType> : Extract<TypeKeyword<TSchema>, JsonSchemaType>;
42
+ type InferType<TSchema, TType extends JsonSchemaType> = TType extends 'object' ? InferObject<TSchema> : TType extends 'array' ? TSchema extends {
173
43
  items: infer TItems;
174
44
  } ? InferJsonSchema<TItems>[] : unknown[] : TType extends 'string' ? string : TType extends 'number' | 'integer' ? number : TType extends 'boolean' ? boolean : TType extends 'null' ? null : unknown;
175
- type InferFromTypeKeyword<TSchema> = TypeOptionsOf<TSchema> extends never ? unknown : InferFromTypeOption<TSchema, TypeOptionsOf<TSchema>>;
176
- type ApplyNullable<TSchema, TValue> = TSchema extends {
177
- nullable: true;
178
- } ? TValue | null : TValue;
179
- /**
180
- * Infers a TypeScript type from the supported JSON Schema subset.
181
- *
182
- * `const` and `enum` take precedence when present.
183
- */
184
- export type InferJsonSchema<TSchema> = [ConstLiteral<TSchema>] extends [never] ? [EnumLiteral<TSchema>] extends [never] ? ApplyNullable<TSchema, InferFromTypeKeyword<TSchema>> : ApplyNullable<TSchema, EnumLiteral<TSchema>> : ApplyNullable<TSchema, ConstLiteral<TSchema>>;
185
- type IsWidenedTypeKeyword<TTypeKeyword> = string extends TTypeKeyword ? true : TTypeKeyword extends readonly unknown[] ? string extends TTypeKeyword[number] ? true : false : false;
186
- type IncludesObjectType<TSchema> = TypeOptionsOf<TSchema> extends never ? false : 'object' extends TypeOptionsOf<TSchema> ? true : false;
187
- /**
188
- * Infers tool argument types from a root `InputSchema`.
189
- *
190
- * If the schema is not a literal object schema (for example a widened
191
- * `InputSchema` loaded at runtime), this intentionally falls back to
192
- * `Record<string, unknown>`.
193
- */
194
- export type InferArgsFromInputSchema<TSchema> = IsWidenedTypeKeyword<TypeKeywordOf<TSchema>> extends true ? Record<string, unknown> : IncludesObjectType<TSchema> extends true ? InferObject<TSchema> : Record<string, unknown>;
45
+ /** Infers a TypeScript value from the supported JSON Schema keywords. */
46
+ export type InferJsonSchema<TSchema> = TSchema extends false ? never : TSchema extends true ? unknown : [InputSchema] extends [TSchema] ? unknown : [ConstValue<TSchema>] extends [never] ? [EnumValue<TSchema>] extends [never] ? TypeOptions<TSchema> extends never ? unknown : InferType<TSchema, TypeOptions<TSchema>> : EnumValue<TSchema> : ConstValue<TSchema>;
47
+ /** Infers the object or array passed to a WebMCP tool callback. */
48
+ export type InferArgsFromInputSchema<TSchema> = [
49
+ Extract<Exclude<InferJsonSchema<TSchema>, null | undefined>, WebMcpToolInput>
50
+ ] extends [never] ? WebMcpToolInput : Extract<Exclude<InferJsonSchema<TSchema>, null | undefined>, WebMcpToolInput>;
195
51
  export {};
196
52
  //# sourceMappingURL=json-schema.d.ts.map
@@ -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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"}