Update inputSchema example usage (#136)

* Update Tool inputSchema in README example usage

* Update inputSchema usage in Tool tests
This commit is contained in:
Mattt 2025-06-12 02:57:04 -07:00 • committed by GitHub
commit 36865fb056
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 22 additions and 12 deletions

View file

@ -434,15 +434,19 @@ server.withMethodHandler(ListTools.self) { _ in
name: "weather",
description: "Get current weather for a location",
inputSchema: .object([
"location": .string("City name or coordinates"),
"units": .string("Units of measurement, e.g., metric, imperial")
"properties": .object([
"location": .string("City name or coordinates"),
"units": .string("Units of measurement, e.g., metric, imperial")
])
])
),
Tool(
name: "calculator",
description: "Perform calculations",
inputSchema: .object([
"expression": .string("Mathematical expression to evaluate")
"properties": .object([
"expression": .string("Mathematical expression to evaluate")
])
])
)
]

View file

@ -11,7 +11,9 @@ struct ToolTests {
name: "test_tool",
description: "A test tool",
inputSchema: .object([
"param1": .string("Test parameter")
"properties": .object([
"param1": .string("Test parameter")
])
])
)
@ -100,7 +102,9 @@ struct ToolTests {
name: "calculate",
description: "Performs calculations",
inputSchema: .object([
"expression": .string("Mathematical expression to evaluate")
"properties": .object([
"expression": .string("Mathematical expression to evaluate")
])
]),
annotations: annotations
)
@ -131,23 +135,23 @@ struct ToolTests {
do {
#expect(tool.annotations.isEmpty)
let encoder = JSONEncoder()
let data = try encoder.encode(tool)
// Verify that empty annotations are not included in the JSON
let jsonString = String(data: data, encoding: .utf8)!
#expect(!jsonString.contains("\"annotations\""))
}
do {
tool.annotations.title = "Test"
#expect(!tool.annotations.isEmpty)
let encoder = JSONEncoder()
let data = try encoder.encode(tool)
// Verify that empty annotations are not included in the JSON
let jsonString = String(data: data, encoding: .utf8)!
#expect(jsonString.contains("\"annotations\""))
@ -179,8 +183,10 @@ struct ToolTests {
name: "test_tool",
description: "Test tool description",
inputSchema: .object([
"param1": .string("String parameter"),
"param2": .int(42),
"properties": .object([
"param1": .string("String parameter"),
"param2": .int(42),
])
])
)