@mcp-b/webmcp-ts-sdk 2.0.1 → 2.0.3
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 +7 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +34 -10
- package/dist/index.js.map +1 -1
- package/package.json +3 -3
package/dist/index.d.ts
CHANGED
|
@@ -36,6 +36,13 @@ declare class BrowserMcpServer extends McpServer {
|
|
|
36
36
|
private get _parentTools();
|
|
37
37
|
private get _parentResources();
|
|
38
38
|
private get _parentPrompts();
|
|
39
|
+
/**
|
|
40
|
+
* Converts a schema (Zod or plain JSON Schema) to a transport-ready JSON Schema.
|
|
41
|
+
* When `requireObjectType` is true (the default, for inputSchema), empty `{}` schemas
|
|
42
|
+
* are normalized to `{ type: "object", properties: {} }` and schemas missing a root
|
|
43
|
+
* `type` get `type: "object"` prepended — per MCP spec requirements.
|
|
44
|
+
* When false (for outputSchema), no object-type normalization is applied.
|
|
45
|
+
*/
|
|
39
46
|
private toTransportSchema;
|
|
40
47
|
private isZodSchema;
|
|
41
48
|
private getNativeToolsApi;
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":[],"sources":["../src/browser-server.ts","../src/no-op-validator.ts","../src/polyfill-validator.ts","../src/index.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;UAgJiB,uBAAA,SAAgC;WACtC;;;AADX;AAoCA;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../src/browser-server.ts","../src/no-op-validator.ts","../src/polyfill-validator.ts","../src/index.ts"],"sourcesContent":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -4435,14 +4435,41 @@ var BrowserMcpServer = class extends McpServer {
|
|
|
4435
4435
|
get _parentPrompts() {
|
|
4436
4436
|
return this._registeredPrompts;
|
|
4437
4437
|
}
|
|
4438
|
-
|
|
4439
|
-
|
|
4438
|
+
/**
|
|
4439
|
+
* Converts a schema (Zod or plain JSON Schema) to a transport-ready JSON Schema.
|
|
4440
|
+
* When `requireObjectType` is true (the default, for inputSchema), empty `{}` schemas
|
|
4441
|
+
* are normalized to `{ type: "object", properties: {} }` and schemas missing a root
|
|
4442
|
+
* `type` get `type: "object"` prepended — per MCP spec requirements.
|
|
4443
|
+
* When false (for outputSchema), no object-type normalization is applied.
|
|
4444
|
+
*/
|
|
4445
|
+
toTransportSchema(schema, requireObjectType = true) {
|
|
4446
|
+
if (!schema || typeof schema !== "object") {
|
|
4447
|
+
if (requireObjectType) {
|
|
4448
|
+
console.warn(`[BrowserMcpServer] toTransportSchema received non-object schema (${typeof schema}), using default`);
|
|
4449
|
+
return DEFAULT_INPUT_SCHEMA;
|
|
4450
|
+
}
|
|
4451
|
+
return {};
|
|
4452
|
+
}
|
|
4440
4453
|
const normalized = normalizeObjectSchema(schema);
|
|
4441
|
-
|
|
4454
|
+
const jsonSchema = normalized ? toJsonSchemaCompat(normalized, {
|
|
4442
4455
|
strictUnions: true,
|
|
4443
4456
|
pipeStrategy: "input"
|
|
4444
|
-
});
|
|
4445
|
-
|
|
4457
|
+
}) : schema;
|
|
4458
|
+
if (Object.keys(jsonSchema).length === 0) {
|
|
4459
|
+
if (requireObjectType) {
|
|
4460
|
+
console.warn("[BrowserMcpServer] toTransportSchema received empty {} schema, normalizing to default object schema");
|
|
4461
|
+
return DEFAULT_INPUT_SCHEMA;
|
|
4462
|
+
}
|
|
4463
|
+
return jsonSchema;
|
|
4464
|
+
}
|
|
4465
|
+
if (requireObjectType && jsonSchema.type === void 0) {
|
|
4466
|
+
console.warn("[BrowserMcpServer] toTransportSchema received schema without root type, prepending type:\"object\"");
|
|
4467
|
+
return {
|
|
4468
|
+
type: "object",
|
|
4469
|
+
...jsonSchema
|
|
4470
|
+
};
|
|
4471
|
+
}
|
|
4472
|
+
return jsonSchema;
|
|
4446
4473
|
}
|
|
4447
4474
|
isZodSchema(schema) {
|
|
4448
4475
|
if (!schema || typeof schema !== "object") return false;
|
|
@@ -4456,10 +4483,7 @@ var BrowserMcpServer = class extends McpServer {
|
|
|
4456
4483
|
return candidate;
|
|
4457
4484
|
}
|
|
4458
4485
|
registerToolInServer(tool) {
|
|
4459
|
-
const inputSchema =
|
|
4460
|
-
type: "object",
|
|
4461
|
-
...tool.inputSchema
|
|
4462
|
-
} : tool.inputSchema : DEFAULT_INPUT_SCHEMA;
|
|
4486
|
+
const inputSchema = this.toTransportSchema(tool.inputSchema);
|
|
4463
4487
|
super.registerTool(tool.name, {
|
|
4464
4488
|
description: tool.description,
|
|
4465
4489
|
inputSchema,
|
|
@@ -4584,7 +4608,7 @@ var BrowserMcpServer = class extends McpServer {
|
|
|
4584
4608
|
description: tool.description ?? "",
|
|
4585
4609
|
inputSchema: this.toTransportSchema(tool.inputSchema ?? DEFAULT_INPUT_SCHEMA)
|
|
4586
4610
|
};
|
|
4587
|
-
if (tool.outputSchema) item.outputSchema = this.toTransportSchema(tool.outputSchema);
|
|
4611
|
+
if (tool.outputSchema) item.outputSchema = this.toTransportSchema(tool.outputSchema, false);
|
|
4588
4612
|
if (tool.annotations) item.annotations = tool.annotations;
|
|
4589
4613
|
return item;
|
|
4590
4614
|
});
|